2016年3月,“李世石对AlphaGo”人机大战让全世界都知道了人工智能的威力。这场大战半年前,谷歌就已经把它的人工智能底层能力开放给了全世界。
2015年11月9日,谷歌正式对外开源了机器学习框架TensorFlow,到2018年11月正好3年。TensorFlow这三年一直保持着更新,2019年即将布2.0版本。应用方面也没落下,谷歌用TensorFlow优化了旗下许多产品。
借助TensorFlow,谷歌让产品更智能
在Gmail里写邮件,系统会智能建议下一个单词或完整的句子。在Google Photos里浏览时如果看到一张偏暗的照片,系统会自动提示你调整曝光,让照片更亮一点。在谷歌翻译里写入一个句子,系统可以对整个句子进行翻译而非逐字翻译,大幅提高翻译精确度和流畅度。跟谷歌的人工智能助理Google Assistant对话,再也不用一次次说出唤醒词“Hey, Google”,一次唤醒就能持续多轮对话......
谷歌内部超过80%的软件项目都采用了基于TensorFlow的机器学习,最新案例是可以自己打电话的AI系统——Duplex。
谷歌在2018年的Google I/O大会上发布的Duplex,具备语言理解、交互、时间控制、语言生成方面的能力,可以帮你打电话给发廊、餐厅等消费场所,询问信息或预定。在和店员交谈中,它还能模仿人类的语调,在说话间停顿、拉长,甚至使用“嗯“、”呃“一类语气助词。
将TensorFlow用于自己产品智能化,这是再也常规不过的操作了。在一些有足够标注数据的垂直行业,TensorFlow可以发挥出更大的潜能。
上能发现“第二个太阳系”,下能预测余震位置
2017年12月,谷歌和得克萨斯大学奥斯丁分校合作,用TensorFlow分析开普勒望远镜获取的数据,成功发现了两颗新的地外行星:开普勒-90i和开普勒-80g,其中开普勒-90i所在的星系开普勒90,更是太阳系之外首个已知的八行星星系。
众所周知,天文是一个数据量非常庞大的领域。前不久退役的开普勒天文望远镜,一直在用凌星测光法收集数据。
凌星测光法的原理是,当行星从恒星前方经过,会遮挡住一部分光线,开普勒望远镜就能探测到恒星光线减弱,体现在光变曲线中有一个“U”型下沉。
原理很简单,但开普勒望远镜收集的数据实在太多,若逐一进行人工检查,实在太耗时耗力。而且有的行星很小、很黯淡,对应的恒星却非常明亮、巨大,观察起来非常困难,就像在聚光灯下寻找一只萤火虫一样难。
谷歌的AI科学家想到,这个问题和Google Photos给照片分类十分类似,于是在TensorFlow的基础上搭建了一个机器学习模型,对15000个已经被标注过的地外行星数据进行神经网络训练,判断开普勒望远镜接收到的信号是否来自某颗地外行星。经过训练后,该模型的判断准确率达到了96%。
成功运作后,这个模型被用在了实战中,很快从670颗恒星周围找到了两颗地外行星,分别是开普勒90星系中的开普勒-90i和开普勒80星系中的-80g。
得益于开普勒-90i的发现,开普勒90星系成为太阳系之外首个已知的八行星星系。
天文学界的共识是,一个和太阳系近似的星系中,可能有和地球类似的行星,生命存在的可能性较高。遗憾的是,开普勒-90i离太阳太近了,一年只有14.4天,地表温度约427摄氏度,几乎不可能有碳基生命存在。
TensorFlow不仅可以处理天上的事情,还能解决地面的麻烦,比如地震。地震造成破坏不可避免,但如果可以及时营救,能最大程度减少损失。
每次主震之后,灾难并没有完全过去,还可能有余震维持数月,继续摧残着被主震动摇的建筑物。地震学家一直致力于通过数据预测余震发生的时间、规模和地点,以安排及时的营救。
但是,地震学领域的数据非常复杂,每次地震事件都有很多变量,如不同区域地表的构成元素、地震模块之间的交互、地震波传递能量的方式,单纯靠人工在数据中找到联系、继而预测余震成本很高。基于过去的经验定律和模型,地震学家们已经可以较好预测余震发生的时间和规模,但预测位置则相对困难。
为此,谷歌和哈佛大学的研究人员利用TensorFlow开发了一个深度学习模型,并且用包含超过13万次主要地震的数据集去训练。这个深度学习模型引入了一种以前常用于冶金术的冯·米赛斯屈服准则,以更好地找到复杂地震数据间的相关性,从而对余震位置进行预测。
这个模型目前还只能应用于静态应力(更好预测),对于动态应力还有心无力。但正如哈佛研究团队里的领队Phoebe DeVries所说:“完全准确预测出余震位置还有很长的路要走,但我想机器学习在这方面有很大的潜力。”
行医济世,AI For Good
医学一直是TensorFlow应用的重点领域,目前在检测糖尿病视网膜病变、检测转移性乳腺癌、心血管疾病评估、癌症检测和分析病历中小有成果。
以检测糖尿病视网膜病变为例。全球范围内有4.15亿糖尿病患者面临视网膜病变的风险,若是发现及时可被治愈的,但若是未能及时诊断,则可能导致不可逆转的失明。
专科医生检测糖尿病视网膜病变最常用的方法之一,是用眼球后部的扫描片进行分析,观察是否有病变的征兆(例如微动脉瘤、出血、硬性渗出等),并判断其严重程度。但世界上许多糖尿病高发的地区,并没有足够的专业医疗人士去检测该疾病。这个问题在南亚地区尤为严重。
为此,谷歌于2016年和美国、印度医生合作,创建了一个包含12.8万张眼底扫描图片的数据集,用于训练一个检基于TensorFlow的深度神经网络。谷歌把神经网络的诊断结果,和7个专业医生的诊断结果对比,结果表明前者的结果与眼科医生小组的诊断相当。
2016年这个研究公布后,深受医学界好评。哈佛医学院的安德鲁·比姆和艾萨克·柯汉表示,“这一研究展示了医学新世界的样子。”
目前,谷歌在医学领域最新的消息是,新成立Google Health部门,并把一手缔造了AlphaGo的DeepMind的健康业务纳入其中。
实用之余,还会画画
别看TensorFlow“一本正经”,又是发现行星、预测余震,又是诊断糖尿病视网膜病变的,其实搞起艺术来也有两把刷子。像AutoDraw,能帮助你将自己的一些涂鸦转变成规整的画作。
操作步骤也很简单,点击左侧第二个按钮,启动机器学习识别模式,再随便涂上几笔。AutoDraw会即时识别这是什么,并给出一些图形供你选择,点击一下即可替换。
AutoDraw之所以能猜出你画的是什么,得益于一个名为“Quick, Draw!”的项目。这个项目采用众包的模式来搜集成千上万的涂鸦,组成数据集后用于训练模型。模型能理解人们在绘制涂鸦时是在何时起笔、走笔方向、何时停笔,以及画的是什么?
这个项目后来在中国也落地了,被做成一个叫“猜画小歌”的小程序。7月份刚出来的时候,这个小程序火过一段时间。
(题图来自Wired)