文档章节

Expander-基于Graph的机器学习软件

openthings
 openthings
发布于 2016/10/08 14:35
字数 2464
阅读 71
收藏 0
点赞 0
评论 0

      近来机器学习突飞猛进使计算机系统能够解决现实世界中的复杂问题。其中之一便是谷歌的大规模、基于图的机器学习平台。这一技术使用了半监督式学习方法,目前已经在谷歌大量的产品中得到应用,其中就包括内置在谷歌最新手机Pixel中的聊天应用Allo。谷歌研究团队最近发表了两篇论文介绍这一技术。

  近来机器学习突飞猛进使计算机系统能够解决现实世界中的复杂问题。其中之一便是谷歌的大规模、基于图的机器学习平台,这是由 Google Research 的 Expander 团队制作的。很多你日常使用的谷歌产品及功能背后,都有基于图的机器学习,这是一种强大的工具,能够用于收件箱提醒、Allo 智能信息回复等功能,基于图的机器学习和深度神经网络一起,为 Google Photos 最新的图像识别系统提供动力。

  

  在最低的监督下学习

  深度学习和机器学习近来的成功主要可以归功于这样一些模型,它们在经过大规模(通常几百万的)带标签的数据训练以后,展现出了极高的预测能力。我们把这种机器学习模型叫做“监督学习”,因为它需要监督,也就是由人加了标签的数据进行训练。(相对的,直接在原始数据上运作,不需要任何监督的机器学习方法则被称为无监督学习。)

  但是,任务越是困难,越是难以找到足够多的带有标签的高质量数据。实际上,对于每个新的任务都采集带标签数据是一件不可能的事情,需要花费超出想象的时间和精力。由此,Expander 团队才有了开发新技术,用最少的监督支持大规模机器学习应用的想法。

  Expander 团队的技术受人类如何在已有知识(带标签数据)和全新、未知的观察结果(不带标签的数据)之间架起理解的桥梁的启发。被称为“半监督”学习的这种方法,使系统能够在稀疏数据集上训练。基于图的半监督学习方法重要的优势在于,系统在学习的时候同时吸收带有标签的和不带标签的数据,这样有助于改善数据的底层结构,此外,多种不同的信号能很轻松地混合在一起(比如带有原始特征的知识图谱相关信息),用单一的图表示,系统可以一次性学习。相比之下,神经网络方法一般是先使用带标签的数据训练,然后再向系统输入不带标签的数据。

  图学习:它是如何工作的? 

  在其核心,Expander的平台结合了半监督机器学习和大规模基于图的学习, 通过建立一个多图数据表征,这些数据表征上的节点分别对应于某个物体或者概念以及边,连接着具有相似性的概念。

  图一般包含标签数据(带有已知输出种类或者标签的节点)以及非标签数据(没有标签的节点)。Expander的框架随后执行的是半监督学习,通过在图中传播标签信息,来联合性地标注所有节点。

  说起来容易做起来难。研究者必须要1)在最少的监督下(比如,只用少量的标签数据),进行大规模的高效学习,2)在多模式的数据中进行操作(比如,异构表征或者多源数据)以及3)解决难度较高的预测任务(比如,大型的、复杂的输出空间),涉及到高维数据,这些数据可能会是噪声数据。

  在整个学习进程中,其中一个最要的要素是图以及连接的选择。图有各种各样的大小和形状,能与多种来源进行结合。研究者观察发现,从结合来自多种类表征数据(比如,图像像素、物体种类 和聊天反应信息,例如Allo中的PhotoReply)的信息进行多图学习,会带来很好的效果。Expander 团队的图学习平台可以直接从数据中自动地生成图,这些数据都是基于推断或者已知的数据要素间关系的。数据可以是结构的(比如,推理数据)或者非结构的(比如,从原始数据中提取的稀疏或者密集特征表示)。

  为了理解Expander的系统是如何学习的,可以思考下面的图像例子:

  

  在图中,有两种类型的节点:“灰色”代表非标签数据,同时彩色节点代表的是标签数据。节点数据间的关系通过边进行表示,每一个边的粗细程度代表的是连接的强度。在这一个图表上,我们能明确地表示出半监督学习的难题:预测图表中每一个节点的颜色(红或者蓝)。需要说明的是,图的结构和颜色选择是根据任务作出的。比如,在研究团队最近发表的论文中,研究者开发了一个收件箱智能回复功能,邮件信息就被表示为节点,而颜色则代表着用户回复的语义类型,(比如 对,太好了,很有趣)。

  Expander 图学习框架把这一任务当成一种优化问题进行解决。在最简单的层次,它学习图像中每一个节点的颜色标签,这样,相邻的标签就能基于相互之间连接的强度来分配相似的颜色。一个较为幼稚的办法是尝试一次性全部学完标签分配,这种方法并不能扩展到大型的图上。另一个方法是,通过把标签节点的颜色传递给相邻节点,然后重复这一过程,这一问题可以得到正式的优化。在每一步中,通过观察其相邻的节点颜色,一个非标签的节点可以被分配一个标签。研究者可以通过这个方法升级每一个节点,反复操作,一直到整个图都变成彩色。这一过程在优化相似的难题时非常有效,并且,循环的次序也被转化为一个独特的解决方案。在图传播最后的解决方案看起来像这样:

  实际上,我们使用了复杂的优化函数来定义整个图的结构,其中包含了半监督图学习的额外信息和限制条件,最终导向难度更大的非凸问题。

  为了解决这一挑战,在去年发表的论文“ Large Scale Distributed Semi-Supervised Learning Using Streaming Approximation”(使用流近似的大规模分布式半监督学习)中,研究者描述了一种全新的方法。论文介绍了一种流算法( streaming algorithm),以分布式的方法,处理相邻的节点中传播的信息,这使得在大规模的图中进行工作成为可能。此外,它还解决了另一个实际的问题,特别是,它保证了空间的复杂性或者系统的内存要求保持在一个稳定的状态,不管任务有多难。比如,不管预测标签的数量是2(正如上面的例子 )或者100万或者10亿,整个系统使用的都是相同数量的内存。这让大范围的采用成为可能,比如自然语言理解、机器感知、用户建模,甚至是涉及多模型的学习任务,例如文字、图片和视频的输入。基于图的语言学习能通过剩余词汇发现情感类型(比入, ROTFL的标签是“有趣”,因为这个多次反射的词与“笑”这个词有关)。

  学会幽默的语言图(Language Graph)

  

  基于图的机器学习的一个使用样例是情绪标记(emotion labeling),邮箱智能回复(Smart Reply for Inbox)里也有这项语言理解任务,目标是要将自然语言文本根据细微的情绪分类。首先,一个神经网络被用于一个语料库,学会词嵌入(word embeddings),也就是一个对每个词含义的数学向量表征。然后,用稠密嵌入向量构建一个稀疏图,节点代表单词,连接(边)代表词与词之间的语义关系。用类似的嵌入向量计算出边的强度,忽略掉其中相似度很低的边。

  基于图的机器学习的应用

  Expander 团队的机器学习系统如今被用于超大规模的图(含有几十亿个节点和几万亿条边),进行识别和概念理解,对象包括自然语言、图像、视频和问询(queries),驱动了提醒、问题回答、语言翻译、视觉物体识别、对话理解等应用。

  Allo 发布以后,千千万万用户都体验到了 Expander 团队开发的系统提供的智能消息技术。此外,这种技术不仅仅用于云当中的大规模模型,比如 Android Wear 上周开放的 on-device 智能回复功能,在今后我们还希望将其用于解决互联网规模的问题。

© 著作权归作者所有

共有 人打赏支持
openthings
粉丝 240
博文 871
码字总数 454086
作品 1
东城
架构师
论文笔记之:Large Scale Distributed Semi-Supervised Learning Using Streaming Approximation

Large Scale Distributed Semi-Supervised Learning Using Streaming Approximation   Google 2016.10.06   官方 Blog 链接:https://research.googleblog.com/2016/10/graph-powered-m......

wangxiaocvpr ⋅ 2016/10/09 ⋅ 0

Google大规模图学习(Graph Learning)平台简介

Google大规模图学习(Graph Learning)平台简介 摘自:http://mp.weixin.qq.com/s?biz=MzI3MTA0MTk1MA==&mid=2651987743&idx=1&sn=e586f85e2655f75941b6a92343362491&chksm=f1216beec656e2f8f......

geowangsh ⋅ 2016/10/07 ⋅ 0

知物由学 | 机器学习在信息安全领域的五大典型应用

机器学习(Mashine Learning)顾名思义就是“让计算机具备自主学习的能力”。机器学习的过程:首先需要在大规模数据集上使用数学方法进行模型训练,然后利用获得的模型进行预测分类工作。例如...

网易云易盾 ⋅ 06/04 ⋅ 0

Intel允许发布4004芯片集的完整细节

具有历史意义的Intel 4004处理器是世界上第一款微处理器,于1971年11月15日发布。为了纪念其诞生38周年,英特尔法律部门向Intel 4004逆向工程团队发送信函,允许他们公开4004和MCS-4家族的完...

红薯 ⋅ 2009/11/17 ⋅ 0

easyUI detailview 展开部分IE错位解决方案

红色部分为修改部分,设定显示部分高度 忽略JQuery的兼容问题 var detailview = $.extend({}, $.fn.datagrid.defaults.view, { render: function(target, container, frozen){ var state = ......

为梦而来 ⋅ 2015/10/22 ⋅ 0

怎么在ext.grid.rowexpander里显示另一张表的数据

我使用的是Extjs 3.3.1 版本,我怎么在ext.grid.rowexpander行扩展里显示跟grid里显示的不是一张表的数据?网上找了好多方法都不行,求助各位大神。 想要实现的功能是在位置 1 显示另一张表的...

ubuntuvim ⋅ 2015/04/09 ⋅ 0

谷歌人工智能专家:机器学习存在全新挑战

谷歌研究主管、知名人工智能专家Peter Norvig在MIT的EmTech Digital,探讨机器学习的挑战。 谷歌研究(Google Research)主管、知名人工智能专家Peter Norvig最近在出席MIT的EmTech Digital大...

行者武松 ⋅ 03/02 ⋅ 0

继续聊WPF——Expander控件(2)

上一篇文章简单说了一下Expander控件,本文将编写一个自义模板的Expander控件,如下图所示: 原文链接:http://blog.csdn.net/tcjiaan/article/details/6984670...

junwong ⋅ 2012/04/18 ⋅ 0

谷歌宣布开源 Swift for TensorFlow,新编程模型

今年三月,谷歌在 TensorFlow 开发者峰会上公开演示了 Swift for TensorFlow,近日,TensorFlow 官网宣布 Swift for TensorFlow 现已开源。 Swift for TensorFlow 为 TensorFlow 提供了一种新...

周其 ⋅ 04/30 ⋅ 3

整体 or 局部?阿里 CVPR 论文用全新几何角度构建 GAN 模型

雷锋网 AI 科技评论按:本论文由阿里巴巴达摩院机器智能技术实验室华先胜团队与 UCF 齐国君教授领导的 UCF MAPLE 实验室合作完成,被 CVPR 2018 收录为 poster 论文。 从学术开发和企业活动上...

奕欣 ⋅ 06/06 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 55分钟前 ⋅ 0

Spring JavaConfig 注解

JavaConfig注解允许开发者将Bean的定义和配置放在Java类中。它是除使用XML文件定义和配置Bean外的另一种方案。 配置: 如一个Bean如果在XML文件可以这样配置: <bean id="helloBean" class="...

霍淇滨 ⋅ 今天 ⋅ 0

Spring clound 组件

Spring Cloud技术应用从场景上可以分为两大类:润物无声类和独挑大梁类。 润物无声,融合在每个微服务中、依赖其它组件并为其提供服务。 Ribbon,客户端负载均衡,特性有区域亲和、重试机制。...

英雄有梦没死就别停 ⋅ 今天 ⋅ 0

Confluence 6 重新获得站点备份文件

Confluence 将会创建备份,同时压缩 XML 文件后存储熬你的 <home-directory>/backups> 目录中。你需要自己访问你安装的 Confluence 服务器,并且从服务器上获得这个文件。 运行从 Confluence...

honeymose ⋅ 今天 ⋅ 0

informix的常用SQL语句

1、创建数据库 eg1. 创建不记录日志的库testdb,参考语句如下: CREATE DATABASE testdb; eg2. 创建带缓冲式的记录日志的数据库testdb(SQL语句不一定在事务之中,拥有者名字不被用于对象的解...

wangxuwei ⋅ 今天 ⋅ 0

matplotlib画图

最简单的入门是从类 MATLAB API 开始,它被设计成兼容 MATLAB 绘图函数。 from pylab import *from numpy import *x = linspace(0, 5, 10)y = x ** 2figure()plot(x, y, 'r')...

Dr_hu ⋅ 今天 ⋅ 0

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot ⋅ 今天 ⋅ 0

JAVA实现仿微信红包分配规则

最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指教。 算法介绍 一、红包金额限制 对于微...

小致dad ⋅ 今天 ⋅ 0

Python 数电表格格式化 xlutils xlwt xlrd的使用

需要安装 xlutils xlwt xlrd 格式化前 格式化后 代码 先copy读取的表格,然后按照一定的规则修改,将昵称中的学号提取出来替换昵称即可 from xlrd import open_workbookfrom xlutils.copy ...

阿豪boy ⋅ 今天 ⋅ 0

面试题:使用rand5()生成rand7()

前言 读研究生这3 年,思维与本科相比变化挺大的,这几年除了看论文、设计方案,更重要的是学会注重先思考、再实现,感觉更加成熟吧,不再像个小P孩,人年轻时总会心高气傲。有1 道面试题:给...

初雪之音 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部