【重磅】谷歌推出 Wide Deep Learning,开源 TensorFlow API

【新智元导读】今天(美国加州当地时间29日),资深软件工程师 Heng-Tze Cheng 在 Google Research 发表博文,宣布谷歌研究所最新推出 Wide & Deep Learning,并将 TensorFlow API 开源,欢迎开发者使用这款最新的工具。新智元为大家提供全文翻译如下。

像行家一样学会规则,然后像艺术家一样破坏它们。

—— 毕加索

(文/Heng-Tze Cheng)人类大脑是个不断学习的精密机器,通过记忆日常事件形成规则 (“麻雀能飞”,“鸽子能飞”),并且把学到的规则推广到我们没有见过的事物 (“有翅膀的动物能飞”)。可能更强大的方面是,记忆让我们可以通过加入例外情形来精细调节规则 (“企鹅不能飞”)。在探索如何推动机器智能前进的过程中,我们问了自己这样一个问题——能不能让电脑结合记忆和推广这两种能力,从而能像人类一样学习?

这不是个容易回答的问题,但是通过联合训练一个宽广线性模型 (用于记忆) 和一个深度神经网络 (用于推广,或曰泛化),可以结合两者的能力让我们离目标更进一步。在 Google,我们称这个模型 Wide & Deep Learning。这个模型适用于一般的、输入具有稀疏性的 (分类特征可以取大量不同的值) 大规模回归和分类问题,比如推荐系统、搜索、排名等问题。

点击查看大图

今天我们开源了我们对 Wide & Deep Learning 的实现,作为 TF.Learn 应用程序接口的一部分,这样你也能自己训练模型了。你可以看看基于 TensorFlow 的线性模型和 Wide & Deep Learning 的入门指南(详见后文),以及我们的研究论文(在新智元后台回复“0630”下载)。

谷歌资深软件工程师 Heng-Tze Cheng 介绍 Wide & Deep Learning及其使用方法

“深广学习”如何工作

设想有天你一觉醒来想到一个主意,你要做一个叫 FoodIO 的 app。用户只需要说出他/她想吃什么样的食物 (请求内容),然后这个 app 就能魔法般地推测出用户最喜欢的菜品,并且把这道菜 (物品) 送到用户的门前。你的关键评价指标是消费率 —— 如果用户吃了这道菜,得分为 1;否则得分为 0 (标签)。

一开始你想了一些简单的规则,比如,返回与请求内容字数匹配最多的物品,然后你发布了这个 app。可惜,你发现消费率相当低,因为匹配太粗糙了 (用户要“炸鸡” (fried chicken),结果得到的是“鸡肉炒饭” (chicken fried rice),因此你决定添加机器学习算法来从数据中学习。

广度模型

在你 App 的第二版,你希望记住对每个请求内容匹配最好的物品。于是,你用 TensorFlow 训练了一个线性模型,通过宽广的交叉乘积特征变换来获取“请求-物品二元组”如何与目标标签 (是否被吃了) 相关的信息。这个模型对每个物品计算出消费概率 P (消费 | 请求,物品),然后你的 app 送出最高消费概率的菜品。例如,模型学到请求=“炸鸡” (fried chicken) 并且物品="鸡肉华夫饼" (chicken and waffles) 概率很高,而请求=“炸鸡” (fried chicken) 并且物品=“鸡肉炒饭” (chicken fried rice) 的概率较低,尽管后者的字符匹配数更多。换句话说,FoodIO 2.0 在记忆用户的喜好上面表现不错,于是你的 app 得到更多认同。

点击查看大图

深度模型

然后,许多用户说他们厌倦了 app 的推荐。他们想发现类似但不同的菜品,希望得到惊喜。于是你再次动用你的 TensorFlow 工具包,为 FoodIO 3.0 训练了一个深度前馈神经网络。通过深度模型,你为每个请求和物品找到了低维稠密表示 (通常称为嵌入矢量)。这样,FoodIO 能够通过在嵌入空间中对请求内容进行近邻匹配来推广。例如,你发现请求“炸鸡”的人不介意也来个“汉堡”。

点击查看大图

结合深度和广度,在 TensorFlow 上做得更好

然而,你发现深度神经网络有时候推广得过头了,会推荐一些无关的菜品。你去历史数据中看了看,发现实际上有两种“请求-物品”关系。

第一种是目标明确的。当一个人说“加冰的脱因拿铁咖啡,用脱脂牛奶”,他/她要的就是这个,不是别的。仅仅因为这个物品在嵌入空间中与“热拿铁咖啡加全脂牛奶”接近不意味着后者可以接受。在许多这样的情形嵌入的传递性 (transitivity) 带来的坏处大于好处。另一方面,像“海味”或者“意大利食物”这样的请求内容就可能允许较多的推广,允许发现许多不同的相关物品。明白这些之后,你有了个顿悟,为什么必须在广度模型和深度模型里二选一呢?为什么不都用上?

点击查看大图

最后,你用 TensorFlow 里的 Wide & Deep Learning 构造了 FoodIO 4.0。如上图所示,像“炸鸡”这样的请求和“鸡肉炒饭”这样的物品都属于稀疏特征,被用于广度 (左边) 和深度 (右边) 部分。在训练过程中,通过把预测误差回传到两边来训练模型参数。广度模块中的交叉特征变换可以记忆所有那些稀疏的特定规则,而深度模块通过嵌入进行相似物品推广。

我们很高兴分享 Wide & Deep Learning 的 TensorFlow API,这样你也能尝试你自己的想法,然后你也可以分享你的发现。作为开始,你可以看 GitHub 的源代码,以及基于 TensorFlow 的线性模型(Linear Models)和 Wide & Deep Learning 入门(Wide & Deep Learning)指南。

致谢

把 Wide & Deep Learning 从想法变成研究再到实现,是个巨大的团体努力。我们感谢这些为项目做出贡献或给我们建议的人,包括:

Heng-Tze Cheng, Mustafa Ispir, Zakaria Haque, Lichan Hong, Rohan Anil, Denis Baylor, Vihan Jain, Salem Haykal, Robson Araujo, Xiaobing Liu, Yonghui Wu, Thomas Strohmann, Tal Shaked, Jeremiah Harmsen, Greg Corrado, Glen Anderson, D. Sculley, Tushar Chandra, Ed Chi, Rajat Monga, Rob von Behren, Jarek Wilkiewicz, Christine Robson, Illia Polosukhin, Martin Wicke, Gus Katsiapis, Alexandre Passos, Olivier Chapelle, Levent Koc, Akshay Naresh Modi, Wei Chai, Hrishi Aradhye, Othar Hansson, Xinran He, Martin Zinkevich, Joe Toth, Anton Rusanov, Hemal Shah, Petros Mol, Frank Li, Yutaka Suematsu, Sameer Ahuja, Eugene Brevdo, Philip Tucker, Shanqing Cai, Kester Tong, and more.

来源:https://research.googleblog.com/2016/06/wide-deep-learning-better-together-with.html

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2016-06-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏思影科技

《大话脑成像》系列之二:不同模态脑网络的构建

接上回 只见孔乙己涨红了脸,额上的青筋条条绽出,争辩道,“这不能算报错……是BUG!……写代码的事,能算错么?”接连便是难懂的话,什么“涡旋噪声”、“敏捷开发...

35060
来自专栏思影科技

EEG和fNIRS同步研究揭示年龄和神经反馈对运动想象信号的影响

注释:这篇文章相当长,请耐心看完。 来自德国奥尔登堡大学心理学部的Catharina Zich等人在Neurobiology of Aging杂志上发表了一项基...

40860
来自专栏量化投资与机器学习

【HMM研究实例】运用HMM模型的择时策略

下面拿A股市场来做检验。 模型的设定如下: 隐藏状态数目:6 输入变量:当日对数收益率,五日对数收益率,当日对数高低价差(其他备选因素成交量、成交额等大家可以自...

41970
来自专栏CVer

CVPR 2018 收录论文名单全公布

本文将介绍 CVPR 2018 所有录用论文的标题, 包括每篇论文属于 oral, spotlight还是 poster的情况. 大家可以根据论文的标题去 go...

20820
来自专栏企鹅号快讯

2017年度盘点:Github上十大有趣的机器学习项目

目录: 1 AlphaZero-Gomoku 2 OpenPose 3 Face Recognition 4 Magenta 5 YOLOv2 6 MUSE 7...

64280
来自专栏量子位

谷歌与Verily发布新研究,可通过视网膜图像用AI检测心脏病

安妮 编译整理 量子位 出品 | 公众号 QbitAI 心脏病是一种常见的高发疾病。传统的治疗方法通常依赖于心电图、超声、X射线等大型仪器,可能不久后,会有一种...

31360
来自专栏机器之心

业界 | 谷歌展示全新医疗诊断范式:深度学习+AR显微镜=实时检测癌症

选自Google Research Blog 作者:Martin Stumpe、Craig Mermel 机器之心编译 参与:路、刘晓坤 今天,谷歌在美国癌症研...

34460
来自专栏思影科技

基于局部脑血流量和工作记忆表现预测2年内血压变化

贝叶斯推荐你关注思影科技 来自美国匹兹堡大学精神病与心理学部的J.Richard Jennings等人在Hypertension杂志上发文指出,基于ASL成像的...

33960
来自专栏AI科技大本营的专栏

AI 技术讲座精选:TensorFlow 图像识别功能在树莓派上的应用

【AI100 导读】上周 TensorFlow 1.0 的发布使之成为最有前景的深度学习框架,也在中国 AI 社区中掀起了学习 TensorFlow 的热潮,不...

51680
来自专栏BestSDK

谷歌用深度机器算法检测癌症,准确率高过医学博士!

在检查患者的生物组织样品后, 病理学家的报告通常是许多疾病的黄金诊断标准。特别是对于癌症,病理学家的诊断对患者的治疗具有深远的影响。病理切片审查是一个非常复杂的...

33650

扫码关注云+社区

领取腾讯云代金券