大数跨境
0
0

Google的深度学习强在哪?且听谷歌首席科学家一一道来(上)

Google的深度学习强在哪?且听谷歌首席科学家一一道来(上) 点融黑帮
2016-04-05
2
导读:解析深度学习的魅力!
前言


点融黑帮于三月份发布了粉丝董飞老师的一篇来稿,对阿法狗的科技进行了细致讲解,反响强烈。本次我们将发布董老师的另一篇文章,了解Google的深度学习的强悍之处。




本文作者:董飞,知乎达人,毕业于杜克大学计算机系,曾就职于Amazon,Linkedin,百度等公司,对垂直搜索领域,百度云计算平台研发和广告系统的架构有深入了解。




2016年3月7日,谷歌首席科学家,MapReduce、BigTable等系统的创造者,Jeff Dean受邀韩国大学,演讲主题《大规模深度学习》,这里部分来自highscalability的文字和笔者Youtube上的听录。刚好演讲在AlphaGo和李世石比赛之前,观众也问了他的预测,他只是说训练了5个月的机器跟顶尖高手的差距不好说;还有人问道他喜欢的编程语言(C++爱恨交织,喜欢Go的简洁,Sawzall才是真爱);在Google作为首席一天是怎么过的(要吃好早饭,到处闲逛闲聊,找到那些每个领域专家一起攻克难题)





整合意味着理解
如果你不理解信息中的奥秘,那么你也很难去组织它。


Jeff Dean是Google系统架构组院士,在讲座:“大规模深度学习构建智能计算机系统”中提到这句和Google的使命:整合全球信息,使人人皆可访问并从中受益。早期他们通过收集,清理,存储,索引,汇报,检索数据完成“整合”的工作,当Google完成这个使命,就去迎接下一个挑战。


理解到底是什么含义


看到这张图,你马上知道是小宝宝抱着泰迪熊睡觉。而看到下张街景,马上意识到纪念品店里面有打折信息。其实直到最近,计算机才可以提取图片中的信息。


如果想从图像去解释物理世界,计算机需要去选择跟那些感兴趣的点,阅读文字并去真正理解。

像下面的文字“car parts for sale(卖汽车配件)”,传统的Google通过关键字匹配来给出结果,但更好的匹配是第二个。这是一个需求深度理解的过程,而不能停留在字面,要去做一个优秀搜索和语言理解产品。

Google的深度神经网络历史


Google跟其他公司的不同是,2011年就开始Google大脑计划,当时想通过使用神经网络来提升技术水准,但并没有把研究做成像大学象牙塔那种,而是结合安卓,Gmail,图片去改进产品解决真正问题。这对其他公司也是很好的借鉴,把研究和员工工作结合起来。

神经网络老早就开始研究,上世纪60年代发明,在80年代和90年代早期也流行过,后来又不火了。两个原因:1)缺少计算能力去训练数据模型这样也不能用来做更大规模的问题;2)缺少大量有效的数据集而Google通过算法的力量,在加上他们强大的基础架构,海量数据集创造了AI的绝佳温床。


深度学习一开始从少数的产品组开始,一段时间后反响很好,能解决之前不能做的,就更多的团队开始采纳。使用深度学习的产品有:安卓,Apps,药品发现,Gmail,图片理解,地图,自然语言,图片,机器人,语音翻译等。



深度学习能应用到很多领域原因是那些通用模块:语音,文字,搜索词,图片,视频,标签,实体,短语,音频特性。输入一类信息,决定你想要的输出,收集训练数据作为你想要计算的潜在函数,然后就放手不管了。



模型很赞的原因是因为灌了很多原始形式的数据你不需要教工程师很多特征点,模型的力量在于从观察一些例子就能自动识别数据中的有用信息。


深度神经网络是什么

神经网络就是一些从数据提炼的复杂函数。从一个空间输入在转化为另一个空间的输出。这里的函数不是像平方,而是真正复杂的函数。当你给出一些原始像素,比如猫,而输出就是对象的类别。



深度学习中的深度”指的是 神经网络中的层数这个系统的良好性质是一组简单的可以训练的数学函数集合。深度神经网络适用于很多机器学习风格。

比如你给输入一张猫的图片,输出是人工标记的猫图片,这是 监督学习。你把很多这样监督样本给系统,让它去学习近似的函数,如同从监督样本中观察出来的。

还有一种是非监督学习,给出一个图片,你也不知道里面是啥,系统可以学习去寻找在很多图片中出现的模式。这样即使不认识图片,它也能识别所有的图片中都有一只猫。

增强学习也适用,这也是AlphaGo用到的技术。

什么是深度学习

深度网络模型是类似于大脑行为的原理。但不是具体模拟神经元如何工作。而是一种简单抽象的神经元版本。



神经元有一组输入。真正神经元会有不同的强度的输入。在人工智能网中试图去学习到这些边上的权重,去加强不同输入的联系。真正神经元通过输入和强度的组合去决定要不要生成脉冲。

人工神经元不会产生脉冲,但会生成一个数值。神经元的函数就是通过非线性函数计算输入的加权乘以权重之和。

典型的非线性函数就是整形线性单元(max(0, x)),在90年代很多非线性函数是很平缓的sigmoid()函数或者tanh()函数。但对于神经元来说产生的数值是不是更接近0对优化系统更有利。比如如果神经元有3个输入 X1, X1, X3,权重分别是 -0.21, 0.3, 0.7,计算就是

y = max(0, -.0.21*x1 + 0.3*x2 + 0.7*x3)。

为了决定图片到底是猫还是狗,这个图片要经过很多层。这些神经元根据输入来产生下一步。

最低层的神经元会查看像素的小块。更高层的神经元会看下层神经元的输出再决定是否生产。

这个模型也会错,比如说这里是猫,但事实上是狗。那么做错误决定的信号就会返回到系统中做调整,让剩余的模型在下一次查看图片时候,更可能输出狗。这就是神经网络的目标,通过模型小步调整边的权重让它更可能去得到正确答案。你可以通过所有样本去聚合,这样可以降低错误率。

学习算法其实比较简单如下:

  1. 选择随机训练样本“(输入,标签)”,比如上面猫图和想要的输出标签,‘猫’;

  2. 运行神经网络,在输入上去查看它产生的;

  3. 调整边的权重让最后输出更接近于“标签”上的。


在Google深度学习有哪些强大应用
1
语音识别


第一个部署深度神经网络的小组。他们实现的新模型基于神经网络而不是隐马尔可夫模型。这个问题是把从150毫秒的语音去预测中间10毫秒吞掉的声音。比如到底是ba还是ka的声音。你得到一个预测的序列,再通过语言模型去理解用户所说。

一开始的版本就把识别错误率降低了30%,确实非常厉害。后来就研究一些复杂模型去加强网络,进一步降低错误率。现在当你对着电话说话,语音识别比五年前强多了。

2
ImageNet挑战


ImageNet是6年前公布的。里面有100万张图片,算是计算机视觉领域最大的。图片中包含1000种不同分类,每一类有1000张图片。比如里面有上千张不同的豹子,摩托车等,一个麻烦的是不是所有的标签都是对的。


在神经网络使用之前,最好的错误记录是26%,2014年 Google错误率暴降到6.66%取得冠军,然后到了2015年错误率下降到3.46%。这是什么概念,大家注意到Andrej人类的错误率也有5.1%(他还是花了24小时训练后的结果)。

总之这是个又大又深的模型,每个盒子就像神经元的一层去进行卷积操作。

3
图片类别识别


计算机在花卉识别上很强大,这是非常好的模型,能够识别细微差别。



一般的效果,比如在菜品识别。



计算机也有犯错的时候,关于错误敏感性看一看上面的,比如左边鼻涕虫当成蛇,右边也不知道是什么鬼。


4
Google图片搜索



理解图片中像素的能力,Google图片团队开发了不用标签就可以搜索图片的功能。比如你可以去找雕像,素描,水,而不需提前标注。

5
街景图像

在街景中如何识别里面的文字。首先要找到文字部分,模型能够去有效预测像素中热点图,那些含有文字的像素点。训练的数据就是包含文字划分的多边形。

因为训练数据中包括不同的字符集,这样在多语言下也没问题。也要考虑大小字体,远近,不同颜色。训练的模型相对容易,就是卷积神经网络尝试去预测每个像素是否包括文字。

6
Google搜索RankBrain

RankBrain 2015年启动,在搜索排名(前100位排第三),里面难点是搜索排序需要了解模型,要理解为什么要做某个决定。当系统发生错误为什么做那个。

调试工具准备好,需要足够的理解能力嵌入模型,去避免主观。总体上是不想手工调参数。你需要尝试理解模型中的预测,去理解训练数据是否相关,是否跟问题无关?你需要训练数据并应用到别的上面。通过搜索查询的分布你能得到每天的变化,事件发生后改变也随时发生。你要看分布是否稳定,比如语音识别,一般人不会改变音色。当查询和文档内容频繁变化,你要保证模型是新的。我们要搭建通用工具去理解神经网络里面发生了什么,解释什么导致这个预测。

未完待续!

篇幅有限, 明天我们将继续讨论深度思考的问题!


着点融网新一轮融资,点融网即将开始大规模的扩张,需要各种优秀人才的加入,如果你觉得自己够优秀,欢迎加入我们!获取更多职位信息,请关注点融黑帮。

【声明】内容源于网络
0
0
点融黑帮
点融黑帮——一个充满激情和梦想的技术团队,吸引了来自金融及信息科技领域的顶尖人才。我们正在用技术创新改变传统金融。
内容 374
粉丝 0
点融黑帮 点融黑帮——一个充满激情和梦想的技术团队,吸引了来自金融及信息科技领域的顶尖人才。我们正在用技术创新改变传统金融。
总阅读624
粉丝0
内容374