Google I/O大会是一年一度的科技盛会,2019年的Google IO大会已经于5月7日到5月9日在美国举行,距现在已经过去了二十多天。可惜的是,因为一些特殊原因,国内报道很少,也没法看直播视频。当然一些科技媒体也进行了报道,主要是一些大众关注的主题,比如新手机Pixel 3a / Pixel 3a XL、Google Lens、Google Assistant等等。其实Google I/O大会有众多的主题演讲,除了主会场的演讲之外,还有许多专题演讲。这届主题大会上AI关键词出现的频率很高,而AI专题演讲则高达13场,足以说明AI化是未来的趋势。本文将带你回顾一下本届大会上的AI专题演讲。
专题演讲主要面向开发者,会展现更多的技术细节,通过代码演示、讲解以及实例,听众需要有一定的技术基础才能听懂。当然考虑到演讲的受众和时间,不太会出现复杂的示例。值得一提的是,本次大会演讲PPT中频频出现二维码,扫码就可以亲自尝试示例代码。
写在前面的话:
Google I/O大会的视频发布在YouTube上,访问需要科学上网,有英文字幕。我到国内各大网站搜索了一番,没有发现。某几个视频网站声称有Google I/O 2019的完整直播视频,但那是主会场的演讲,并非本文所谈到的专题演讲。无法科学上网的朋友,可以在公众号后台回复:google io 2019 ,可以从我的百度网盘下载本文所谈到的全部视频。但是请注意,视频无字幕,英文好的朋友可以试试,权当作听力练习。
终端设备上进行机器学习:可选方法
随着终端设备处理器的飞速发展,越来越多的开发人员在利用机器学习来增强他们的移动应用程序和边缘设备。在边缘设备上使用机器学习的可选方法很多。在本次演讲上,Google的工程师通过示例展示了从机器学习模型训练到部署到移动终端的完整流程,并给出了三种可选方法:
MLKit
TensorFlow Lite
TensorFow js
后面还演示了微控制器上的机器学习,一个仅用纽扣电池供电的SparkFun edge开发板,可以用作热词唤醒,模型只有几十K。
最后,简要介绍了Google新推出的边缘计算设备,Coral Edge,一款采用Google TPU的人工智能装备,包括开发板和USB stick两种形态。
TensorFlow 2.0入门
TensorFlow 2.0是一个重大里程版本,目前仍处在紧张的开发中,已经发布了alpha版本,预期今年年底推出正式版本。但是TensorFlow 2.0和1.0并不兼容。在本次演讲中,Google工程师分享了一些面向初学者和资深开发者的TensorFlow 2.0例子,展示了TensorFlow 2.0的一些优点,并介绍了TensorFlow 1.0和2.0之间的一些差异,并给出了升级建议。
Swift for TensorFlow
我没接触过IOS上的编程,这部视频我没看,从官方网站上找到的资料。
Swift for TensorFlow是下一代机器学习的平台,它利用一流的创新技术将深度神经网络与传统软件开发无缝集成。通过本演讲,你可以了解Swift for TensorFlow如何使先进的机器学习研究更容易,以及为什么Jeremy Howard的fast.ai选择它作为他们深度学习课程的最新版本。
适用于移动和物联网设备的AI:TensorFlow Lite
在前面的演讲终端设备上进行机器学习中有谈到TensorFlow Lite,这个演讲则专门围绕TensorFlow Lite而展开,从中你可以了解到TensorFlow Lite的优点,TensorFlow Lite项目的开发和部署流程,以及TensorFlow团队在优化、增加更多Ops等等方面的努力。
TensorFlow Lite不仅用在手机终端上,在资源更加受限的微控制器(MCU)上也可部署,可用在分布广泛的IoT设备上。
演讲中的两个演示项目给我留下了很深的印象,一个是姿势检测在辅助舞蹈训练上的应用,一个项目是一个神奇的镜子,可以实时改变头发颜色、戴眼镜等等。
JavaScript应用程序中神奇的机器学习
本演讲介绍了TensorFlow.js,一个用于在浏览器和Node.js中训练和部署ML模型的库,用实例演示了如何将现有ML模型引入JS应用程序,以及使用自己的数据重新训练模型。最后介绍了TensorFlow.js的一些实际应用,包括在服务器端和桌面应用中的应用,这其中最值得关注的是TensorFlow.js开始支持微信小程序,演讲中演示了一个用头部动作控制吃豆人的微信小游戏。
联合学习:分散数据的机器学习
本演讲介绍了联合学习,一种能使多台智能手机以协作的形式,学习共享的预测模型,与此同时,所有的训练数据保存在终端设备,这样可以增强数据隐私。演讲中举了一个联合学习的例子:GBoard。随后讲解了该技术如何在Google产品的生产中部署,以及TensorFlow Federated如何使研究人员能够在自己的数据集上模拟联合学习。
Cloud TPU Pods:AI超级计算,可解决大型ML问题
本演讲介绍了Cloud Tensor Processing Unit (TPU) ,由Google设计的用于神经网络处理的ASIC。 TPU具有特定于域的架构,专门用于加速TensorFlow训练和预测工作负载,并为机器学习产品应用提供性能优势。演讲详细讲解了Cloud TPU和Cloud TPU Pod的技术细节,以及TensorFlow的新功能,这些功能可实现并行训练大规模的深度学习模型。
机器学习从零到英雄
本演讲面向编写程序但不一定了解机器学习的程序员,阐述了传统编程和机器学习编程的本质区别,通过一个石头、剪刀、布手势识别的例子,讲述了机器学习中的主要概念,比如模型训练、推理、优化器、损失函数,并分析了卷积运算的处理过程。
在高级部分,以词汇嵌入为例,说明了在keras中如何自定义模型,此外还涵盖了TensorBoard、多GPU、TensorFlow Serving等主题。
TF-Agents:TensorFlow的灵活强化学习库
本演讲介绍了深度强化学习的最新进展,并展示了TF-Agents如何快速启动项目,还讲解了如何混合、匹配和扩展TF-Agent库组件以实现新的强化学习算法。
尖端TensorFlow:新技术
本演讲讲解了Keras tuner、TensorFlow ranking、TensorFlow probability以及Tensorflow Graphics四项最新技术。前面三项技术与模型调优有关,比较高深,Keras Tuner是用于自动选择最优超参数,TensorFlow probability一种概率编程工具箱,用于机器学习研究人员和其他从业人员快速可靠地利用最先进硬件构建复杂模型。TF-Ranking是一个基于tensorflow的框架,它支持在深度学习场景中实现TLR方法。该框架包括实现流行的TLR技术,如成对pairwise或列表listwise损失函数、多项目评分、排名指标优化和无偏学习排名。
TensorFlow graphics则为TensorFlow带来3D功能,演讲中的3D建模给我留下了深刻印象。
Google Coral介绍:构建设备上的AI
该演讲介绍了Google的最新AI计算边缘设备:Google Coral,它可以应用在广泛的IoT设备上。工程师演示了其ML加速功能,并给出了三种部署模型到Coral终端设备的方式。
Google的目标是打造一个生态系统,所以除了Coral board,还有Coral USB、Coral SOM,以及丰富的摄像头、传感器等外设,通过GPIO口可以和RasPi外设兼容。
考虑到时间和兴趣因素,还有几个演讲视频还未观看,也就没有作出介绍,有兴趣的朋友可以自行观看。在本次Google I/O大会上,隐私这个词被反复提及,然后不论是TensorFlow Lite,还是TensorFlow.js,都提及到边缘AI计算的重要性。随着科技的进步,终端处理的能力将越来越强,终端上的机器学习应该大有可为。