[转]基于图的机器学习技术:谷歌众多产品和服务背后的智能

近来机器学习领域实现了很多重大的进展,这些进展让计算机系统具备了解决复杂的真实世界问题的能力。其中,谷歌的机器学习又是怎样的 ?

近来机器学习领域实现了很多重大的进展,这些进展让计算机系统具备了解决复杂的真实世界问题的能力。其中之一是谷歌的大规模的、基于图(graph-based)的机器学习平台,该平台由Google Research的Expander团队打造。

基于图的机器学习支持着你可能每天都在使用的谷歌产品和功能,这项技术是一种强大的工具,可以被用于驱动Inbox的提醒功能和Allo的智能回复,或者与深度神经网络联合使用以驱动Google Photos最新的图像识别系统。

用最少的监督进行学习

深度学习以及广义上的机器学习领域内的许多近来的进步都可归功于经过了在有标注的大数据集上的训练之后具有高度预测能力的模型——其训练样本数量往往数以亿计。这常常被称为监督学习(supervised learning),因为它需要监督(以有标注数据的形式)来训练机器学习系统。(相对地,一些机器学习方法则是直接运行在原始数据上,不需要任何监督,这种范式被称为无监督学习(unsupervised learning)。)

但是,任务越困难,获得足够的高质量有标注数据的难度就越大。为每一个新问题都收集足够的有标注数据在人力消耗和时间消耗上都是让人无法接受的。这促使了Expander研究团队研发只需最少的监督就能驱动大规模机器学习应用的新技术。

Expander的技术灵感来自于人类学习归纳和将从未见过的新信息(无标注的信息)与他们已经知道的信息(有标注的信息)联系起来的方式。这被称为半监督学习(semi-supervised learning),这种强大的技术让我们可以打造出能工作在训练数据可能很稀疏的情况下的系统。基于图的半监督机器学习(graph-based semi-supervised machine learning)方法这一进步的关键是:

(a) 利用数据中的底层结构,可以在学习过程中对有标注和无标注数据联合建模;

(b) 可以轻松地将多种类型的信号(如来自知识图谱的关系信息和数据的原始特征)结合成一个单一的图表征(graph representation)并在那些数据上进行学习。

这与神经网络等其它机器学习方法不一样——其它方法通常是首先先使用带有特征的有标注数据训练出一个系统,然后将训练出的系统应用于无标注数据。

图学习:工作方式

在 Expander 的平台的核心,它通过构建数据的一个多图表征(multi-graph representation)而将半监督机器学习和大规模的基于图的学习结合到了一起;在这个多图表征中,节点(node)对应于物体或概念,边(edge)则对应于具有相似之处的概念之间的连接。这种图(graph)通常既包含了有标注数据(与已知输出类别和标签关联的节点)和无标注数据(没有被提供标签的节点)。然后Expander的框架执行半监督学习以通过在整个图中传播标签信息而联合地给所有的节点进行标注。

但是,说起来比做起来容易!我们必须:

1. 使用最少的监督(即:极少有标注数据)实现有效的规模化学习;

2. 运行在多模态数据上(即:异构的表征和各种类型的数据源);

3. 解决涉及可能带有噪声的高维数据的高难度预测任务(即:大而复杂的输出空间)。

整个学习过程中的一个主要成分是图和连接的选择。图有各种规模大小和形状,可以从多个数据源结合而成。我们已经观察到从结合了多种数据表征(如:图像像素、物体类别和用于Allo中PhotoReply的聊天回应信息)的信息的多图(multi-graphs)中学习往往是有利的。Expander团队的图学习平台可以基于数据元素之间推理出的和已知的关系直接从数据中自动生成图。其数据可以是结构化的(如关系数据),也可以是非结构化的(如从原始数据集提取出的稀疏或稠密的特征表征)。

要理解Expander的系统的学习方式,让我们思考一下下面这个例子。

该图中有两种类型的节点:“灰色”代表无标注数据,而其它颜色则代表有标注数据。节点数据之间的关系通过边表示,每条边的厚度代表连接的强度。我们可以将这个简单图的半监督学习问题描述成:预测图中每个节点的颜色(红色或蓝色)。注意:图的结构和颜色的特定选择是根据任务确定的。比如,正如我们在研究论文《Smart Reply: Automated Response Suggestion for Email》中提到的,我们为Inbox的Smart Reply功能构建的图可将电子邮件信息表示成节点,而颜色则可代表用户回应的语义类别(如,“yes”、“awesome”、“funny”)。

Expander图学习框架通过将这个标注任务当作是一个优化问题进行处理而解决了这个问题。从最简单的层面上讲,它会为图的每个节点分配一个颜色标签,并根据节点之间的连接强度给相邻的节点分配相似的颜色。解决这个问题的一种天真的方式是尝试一次性为所有节点学习一个标签分配——但这种方法无法扩展到大型的图。相反,我们可以通过将有标注节点的颜色传播到它们的相邻节点,并不断重复这个过程来优化这个问题的形式。在每一步中,都会通过检查一个无标注节点的相邻节点的颜色配置而给其分配一个标签。我们可以以这种方式更新每一个节点的标签,并不断迭代直到整个图都被标注上颜色。在优化这种问题上,这个过程是一种远远更为有效的方法;而且在这个案例中,迭代的序列会收敛成一个特定的解决方案。在图传播的最后的解决方案看起来像是这样的:

在一个图上的半监督学习

实际上,我们可以使用根据图结构定义的复杂优化函数,其整合了额外的信息和限制,使半监督学习可以应对困难的非凸问题。但是,真正的难题是将其有效地扩展到包含了数十亿个节点和数万亿条边,用于处理涉及到数十亿不同标签类型的复杂任务的图。

为了解决这一难题,我们创造了一种被称为“使用流逼近的大规模分布式半监督学习(Large Scale Distributed Semi-Supervised Learning Using Streaming Approximation)”的方法,该论文发表于去年。它介绍了一种流算法(streaming algorithm),该算法可以以一种分布式的方式处理从相邻节点传播来的信息,这种方式使其能够工作在非常大型的图上。此外,它还能解决其它实际的问题,其中值得注意的是它能够确保系统的空间复杂性或内存需求保持恒定,而且不论任务的难度如何都可以;即:不论预测标签的数量是2(如上面示意的图)还是100万甚至是10亿,整个系统所使用的内存量都一样。这能使自然语言处理、机器感知、用户建模和甚至联合多模态学习在涉及文本、图像和视频输入等多模态数据的任务上的广泛应用成为现实。

用于学习幽默的语言图

情绪标注(emotion labeling)是基于图的机器学习的一个应用案例,这也是Inbox的Smart Reply功能的一个语言理解任务,其目标是使用它们经过精细调节的情绪分类标记自然语言文本中出现的词。首先是在文本语料库上应用一个神经网络模型来学习词嵌入(word embeddings),这是每个词的含义的数学向量表示。然后这个稠密的嵌入向量被用于构建一个稀疏的图,其中的节点对应于词,而边对应于词之间的语义关系。边的强度通过嵌入向量之间的相似度计算得到——忽略低相似度的边。我们使用先前已知的几个节点的情绪标签(例如:laugh被标注为“funny”)作为图的基础,然后在整个图上应用半监督学习来发现剩余词的情绪类别(如:ROTFL(滚地大笑)被标注为“funny”,因为它有与“laugh”的多跳语义连接(multi-hop semantic connection)。

使用构建于词嵌入向量的图学习情绪关联

对于涉及大型数据集或稠密表征(可被观察到(如图像的像素)或使用神经网络学习到(如嵌入向量))的应用而言,计算所有物体之间的成对的相似度来构建图中的边是不可行的。Expander团队通过利用近似的线性时间图构建算法(linear-time graph construction algorithms)解决了这个问题。

基于图的机器智能在行动

Expander团队的机器学习系统现在已经被用在了大型图(包含数十亿节点和数万亿边)上,以识别和理解自然语言、图像、视频和查询中的概念,并支撑着谷歌的许多应用和产品,其中包括:提醒、问答、语言翻译、视觉物体世界、对话理解等等。

随着近期Allo的发布,数百万聊天用户现在已经可以体验Expander团队的系统所驱动的智能消息技术了,这些技术可以理解和协助多种语言的聊天会话。另外,这项技术不只被用在了云端的大规模模型中——正如上周宣布的那样,Android Wear已经向开发者开放了设备本地的Smart Reply功能,让开发者可以为任何消息应用提供智能回复。我们很期待在未来几年内通过Expander解决更多充满挑战性的互联网规模级的问题。

转载于:https://www.cnblogs.com/Crysaty/p/6098600.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/456875.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装mysql后在安装目录下只有my-default.ini没有my.ini文件 解决-The MySQL server is running with the --secure-file-priv

WIN10 系统环境 安装mysql后在安装目录下只有my-default.ini没有my.ini文件 。 mysql报错 ---------- The MySQL server is running with the --secure-file-priv option so it cannot execute this statement -------- 但是更改或想要查找配置文件就需要如下操作 在 安装…

loewe测试软件,实测Loewe三角包 最轻的小包最贴心的设计

原标题:实测Loewe三角包 最轻的小包最贴心的设计导语:每周一期的“包治百病”又跟大家见面来啦!“包治百病”全方位评测包包的容量、重量、背法、在不同身高妹子身上的效果、各种惊人的小细节以及可能存在的问题,为有意购买这些包…

hadoop集群的搭建(分布式安装)

集群 计算机集群是一种计算机系统,他通过一组松散集成的计算机软件和硬件连接起来高度紧密地协同完成计算工作。集群系统中的单个计算机通常称为节点,通常通过局域网连接。集群技术的特点:1、通过多台计算机完成同一个工作。达到更高的效率 2…

解决:Error establishing a database connection阿里云修改数据库密码

今天闲来无事想把所有的二级密码改成一致的,所以就把阿里云的mysql数据库的密码改了,结果,打开页面报错了,下边的截图是我问题解决后,重新复现的。如果修复这个问题后wordpress登录页面白板,此时不要着急&a…

机器学习各算法思想(极简版)

读到的一篇不错的文章,拿来和大家分享一下。 转自–头条公众号–极数蜗牛 (1)线性回归 回归最早是由高尔顿研究子女身高与父母身高遗传关系提出的,发现子女平均身高总是向中心回归而得名。其实“一分辛苦一分才”中就蕴含了线性…

斯坦福计算机录取难吗,申请斯坦福究竟有多难? 什么样条件的人才能被斯坦福录取?斯坦福大学直播!...

原标题:申请斯坦福究竟有多难? 什么样条件的人才能被斯坦福录取?斯坦福大学直播!申请斯坦福究竟有多难? 什么样条件的人才能被斯坦福录取?斯坦福大学直播!西海岸小哈佛之称的斯坦福大学&#xf…

解决:building 'twisted.test.raiser' extension安装scrapy报错

解决:building twisted.test.raiser extension error: Microsoft Visual C 14.0 is required. Get it with "Microsoft Visual C Build Tools": https://visualstudio.microsoft.com/downloads/ 安装scrapy报错,在Twisted安装部分 解决方案…

Linux配置网络出现Eroor adding default gateway的解决方案

最近在学习有关大数据方面的东西,刚开始要搭建模拟的虚拟机集群。用的是Minimal CentOS6.7版本Linux下的系统。因为我要为各个虚拟机设置静态IP,所以就参考网上博客说的进行如下操作: 一、安装完系统后先配置网络: cd /etc/sysconfig/netwo…

揭秘8大自媒体平台注册方法,通过率百分之九十

写在前面:准备材料:手机号,邮箱,手持照,辅助材料(非必选项),邀请码(非必选项)。辅助材料万能公式:方法①新浪博客16级博客发8篇相关的文章,昵称、描述、头像都与所注册自媒体号对应&…

计算机表格怎么求面积,在wps表格中怎么把数据生成面积图?

面积图强调数量随时间而变化的程度,适用于显示有限数量的若干组数据。可以利用面积图来分析销售的数据。在这里我用3种品牌的手提电脑在 2010年四个季度的销售量作为数据源,使用“堆积面积图”来显示各种手提电脑销售量所占大小并随时间变化的趋势。那么…

机器学习如何解决问题

原文 http://tech.meituan.com/mt-mlinaction-how-to-ml.html 前言 前言 随着大数据时代的到来,机器学习成为解决问题的一种重要且关键的工具。不管是工业界还是学术界,机器学习都是一个炙手可热的方向,但是学术界和工业界对机器学习的研究…

Linux中python2和python3的pip设置 及清华安装源

启动python2,我们可以直接在命令行输入:python2 启动python3,我们可以在命令行输入:python或者python3. 但是pip没有设置的话,在命令行输入 pip --version 或者 pip2 --version,指向的都是python2. 现在…

java 循环 基本类型

1.基本if选择结构 格式&#xff1a;if&#xff08;布尔表达式&#xff09;{ 表达式结果为true&#xff0c;则执行此代码块 } 例&#xff1a;if(week <5 ){ System.out.println(“上班”) } 2.if else结构 格式&#xff1a;if(布尔表达式){ 表达式结果为true&#xff0c;则执…

计算机最佳参数,对使用者来说,学会计算机性能参数提取,给出性能评价很重要...

对计算机进行系统信息提取&#xff0c;并且给出性能评价&#xff0c;可以这样做先看思维导图&#xff1a;对计算机进行系统信息提取&#xff0c;并且给出性能评价&#xff0c;可以通过软件测试实现&#xff01;一、 关于硬件健康的问题&#xff0c;避免买到二手配件。硬盘的使用…

word如何在任意页开始添加页码

第一步&#xff0c;将光标定位到需要插入页码的前一页末尾。就是说&#xff0c;如果你想从第二页开始添加页码&#xff0c;那么你就将光标定位到第一页末尾&#xff0c;如图&#xff1a; 然后按照图中标出的提示&#xff0c;选择“页面布局”选项卡&#xff0c;点击“分隔符…

跨越请求,关于后端session会话丢失的解决办法(转载)

目前使用前后端分离的模式开发&#xff0c;后端提供跨域接口、前端jsonp调用&#xff0c;绑定数据&#xff0c;但是在该站点下有个人中心模块存在的情况下&#xff0c;服务端的session会话会被跨域请求覆盖改掉 大家都知道tomcat使用cookie中jsessionid来区分客户端session会话…

钉钉开发笔记(一)

钉钉开发分为&#xff1a;1、移动客户端。2、PC端。3、服务端。三个平台的开发。 1、移动端&#xff1a;面对钉钉手机用户和企业用户。 2、同上主要面向PC端的用户和企业。 3、服务端&#xff0c;用于用户和企业内部管理的平台方向&#xff0c;例如OA网站。 本人主要从事移动端…

import导入模块

面试题: import module与from module import * 两种模块导入有何区别 1. import module 引用共享变量时&#xff0c;要使用module.变量名,而from module import * 直接使用变量名即可 2. import module方式 本地不会创…

在启动HDFS时,针对集群中namenode无法识别datanode的问题的解决方法

最近由于重装了系统&#xff0c;需要对之前搭建的集群要做些改动。在对每个虚拟机的网络进行正确的配置之后&#xff0c;重新执行hadoop/sbin/start-dfs.sh命令来启动HDFS&#xff0c;然而namenode却无法识别datanode。 后来通过对之前学过的知识进行回顾和梳理发现了问题的所…

HBase的基础知识

1.HBase(NoSQL&#xff1a;不是关系型数据库)的逻辑数据模型 HBase – Hadoop Database&#xff0c;是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统&#xff0c;利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统…