返回 登录
0

如何让机器获得幽默感——Google图学习技术揭秘

原文: Graph-powered Machine Learning at Google
作者: Sujith Ravi 译者: KK4SBB
责编:何永灿,关注人工智能,投稿请联系heyc@csdn.net或微信号289416419

近些年来,机器学习技术取得了巨大的进步,使得计算机系统能够解决复杂的现实问题。其中一项先进技术就是由Google研究院的Expander组开发的大规模、基于图的机器学习平台。基于图的机器学习是一款功能强大的工具,被广泛用于我们日常接触到的Google产品和功能,比如用于收件箱的提醒功能和Allo的智能消息,或是用于深度神经网络来支持Google Photos的最新图像识别系统。

最少监督的学习

近期大多数在深度学习和机器学习领域取得的进展,都可以归因于较好预测能力的模型,这些模型是在大量有标记数据集上训练得到,通常有上百万的训练样本。由于需要监督式的训练机器学习模型,即用人工标记过的训练数据,因此这种方法也被称为“监督式学习”。(相反的,有些机器学习方法直接处理原始数据,不存在监督,它们被称为非监督式学习。)

然而,待完成的任务越复杂,则越难获取足够多的高质量标记数据。每遇到一个新问题,往往需要投入大量的人力和时间来标记数据。这促使了Expander团队投入研发新的技术来驱动大规模的机器学习应用,以尽可能减少人工监督。

Expander团队的技术是受到人类概况和推演的启发,将已知的知识(已标记数据)与新鲜的、不熟知的观察内容(未标记数据)相联系。这个强大的技术称作“半监督式学习”,它可以让我们利用稀疏的训练数据搭建系统。基于图的半监督式学习的主要优势之一就是(a)它可以在学习阶段对已标记的数据和未标记的数据共同建模,利用数据的底层结构,(b)可以便捷地组合多类信号(例如原始特征与知识图谱的关系信息相结合)形成一个独立的图表示,基于此来学习。这有别于与其它的传统机器学习方法,比如神经网络方法,后者是用标记的训练数据和特征训练得到一个模型,然后将模型用于预测未标记的数据。

图学习的原理

在其核心部分,Expander的平台构建了数据的一个多图表达,各个节点对应于物体和概念,相似的概念节点之间有边相连,因此它将半监督式学习与大规模基于图的学习结合在一起。图往往包含了标记数据(输出类别或标签已知的节点)和未标记数据(没有标签的节点)。接着,Expander的框架在图上传播标签信息,用半监督式的学习方法给所有节点打上标记。

然而,说起来容易做起来难!我们需要:
(1)用最少的监督来有效率地学习(即极少量的标记数据);
(2)处理多种形态的数据(即数据的异形表达和多种数据源);
(3)解决高维数据的预测难题(高维、复杂的输出空间),数据可能还含有噪音。

整个学习过程中的关键成分就是图与节点的连接方式。图的形状、尺寸千变万化。我们注意到,用多种数据源的不同表达形式组合而成的信息构建多图结构,这样的效果比较好(比如,Allo的PhotoReply采用了图片像素、物体类别和对话反馈信息等)。Expander团队的图学习平台基于数据间推测或已知的关系直接自动地生成关系图。数据可以是结构化的(如关系型数据)或是非结构化数据(如,从原始数据中提取的稀疏或稠密特征表达)。

为了理解Expander的系统如何学习,我们来看一下下图所示的例子。

图中有两类节点:“灰色”表示未标记数据,彩色的是标记过的数据。节点之间的关系用边来表示,边的粗细表示关系的强弱。我们可以这样来刻画这个半监督式学习问题:预测图中每个节点的颜色(“红色”或“蓝色”)。注意,图的结构和节点颜色需要根据实际任务而定。举个例子,在我们最近发表的一篇文章中,我们为收件箱智能回复功能设计的图的节点是邮件信息,颜色表示用户回复的语义类别(比如,“是的”,“好棒”,“有意思”)。

Expander图学习框架把这类标记问题当做优化问题来处理。在最简单的层面,它学会根据每个节点的周边节点颜色和连接强度来给所有节点指定颜色。一种简单的方法是一次性处理所有的节点数据 —— 这种方法无法扩展到大图上。我们可以对此问题做优化,将已标记节点的颜色信息传播到它们的邻居节点,然后重复这个过程。在每一步中,未标记节点会根据其邻居节点中的颜色标记上颜色。我们可以反复迭代这个过程,直到所有的节点都被打上标记。这个方法的效率非常高,在本例中,迭代的结果最终是收敛的,结果如图所示。

基于图的半监督式学习

实际上,我们基于图结构设计了复杂的优化函数,其中包括了额外的信息和限制,形成了复杂的非凸问题。然而,正在的挑战在于将这种方法高效地推广到包含几十亿节点、几百亿边的大规模图模型中,乃至包含上亿种不同标签的复杂问题。

为了解决这一问题,我们创造了一种分布式流式方法,去年发表了论文Large Scale Distributed Semi-Supervised Learning Using Streaming Approximation。此文介绍的流式算法可以快速处理非常大的图数据。此文,它还解决了其它实际问题,它保证了系统的空间复杂度和内存需求保持恒定,与任务的难度无关,即无论是两个标签还是成千上万个标签,整个系统使用的内存量都不变。它推动了图技术广泛地应用与自然语言理解、机器感知、用户建模,甚至文本、图像、语音糅合的多态学习任务。

言语幽默的图表达

我们举一个基于图的机器学习方法在语言理解方面的应用案例,比如收件箱智能回复功能中的情感识别,它的目标是给文本中的词语标记上细粒度的情感类别。首先,使用神经网络模型在文本集上训练得到词向量表达,即每个词的意思都用一个向量表示。然后,用词向量构建一个稀疏的图,每个节点表示一个词语,边表示词语之间的语义联系。边的权值通过词向量的相似度计算得到 —— 舍弃相似度过低的边。我们先给其中一小部分节点打上情感标记(比如,“笑”被标记为“有趣”),然后在整个图上应用半监督式学习方法,给剩余的词语都标记上合适的类别(ROTFL由于与“笑”语义上比较接近,也被标记为“有趣”的类别)。


用词向量和图结构方法学习词语的情感关系

对于大数据集的应用产品,比如观察到的数据(如图像的像素值)或者通过神经网络学到的表达(如词向量),不可能直接计算图上两两节点之间的相似度。Expander团队采用近似计算的方法来解决这一问题。

基于图方法的实践应用

Expander团队的机器学习系统如今已经被广泛应用于大规模的图数据上(十亿级节点和百亿级边),用于识别和理解自然语言、图像、视频、搜索词等,支持Google的众多产品,比如问答翻译物体识别对话理解等等。

随着最近Allo的版本升级,几百万的聊天用户都能体验到由Expander团队的系统所支持的对话助手功能。而且,这种技术不仅仅用于云端的大规模模型,也能用于安卓系统的智能移动设备。我们期待未来几年内Expander能够解决更多挑战性的问题。

评论

基于图的传播方法早在十多年前就被人广为使用。Google的贡献在于将这一的方法推广到海量数据集,使得用有限的空间和计算资源能够处理几十亿节点和几百亿关联的巨型图。而且,半监督式的学习方法只需要少量的标记数据,解决了传统机器学习方法面临的人工标注大量数据的问题。因此,我们可以充分利用大数据时代在各个渠道生产的各种结构和类型的数据。

文中介绍了这套系统已经应用于Allo的智能回复功能,它可以自动分析前后对话和对方发送的图片,自动帮用户生成要回复的话语。本人比较好奇的是基于图的方法在个性化回复方面有什么改进,系统如何针对用户的聊天习惯生产回复内容,在庞大数据的前提下它能多像使用者。


想了解人工智能背后的那些人、技术和故事,欢迎关注人工智能头条:
图片描述

评论