当前端遇到机器学习?听 TensorFlow.js 负责人怎么说

简介: 第十四届 D2 前端技术论坛将于12月14日拉开帷幕,其中, Google TensorFlow.js 团队的负责人 Ping Yu 将作为「智能化」专场的嘉宾,为我们讲解 TensorFlow.js 生态系统,以及如何将现有的机器学习模型植入到前端。

第十四届 D2 前端技术论坛将于12月14日拉开帷幕,其中, Google TensorFlow.js 团队的负责人 Ping Yu 将作为「智能化」专场的嘉宾,为我们讲解 TensorFlow.js 生态系统,以及如何将现有的机器学习模型植入到前端。

image.png

PingYu——Google Brain 工程师,TensorFlow.js 项目负责人。致力于将机器学习平台带给 Web 以及 JavaScript 开发者。前 Google Attribution 平台的技术主管。PingYu 拥有清华大学理学学士学位,马里兰大学帕克分校理学硕士学位。


得益于人工、数据、计算成本的降低,人工智能(AI)在最近的一个十年得到了爆发式的发展,其中,要数「机器学习」流派首屈一指[1]。放眼全球,在 AI 这个赛道上,遥遥领先的领路人,非 Google 莫属,而 Google 又将机器学习作为其在 AI 领域的工作重心[2]。他们开发并维护着 TensorFlow, 旨在帮助他人解决重要问题[3]。

提起 TensorFlow, 很多人会觉得这是个十分遥远的、可望而不可及的东西,我从搞算法的朋友那里听来一句调侃——能在电脑上安装并运行 TensorFlow, 你已经跑赢了 80% 的算法工程师。虽然是句玩笑话,但也从侧面说明了 TensorFlow 的门槛之高——连算法工程师都不一定搞得定。那作为前端工程师的我们,是不是只能望其项背了呢?

答案是 No~ No~ No~

因为在 Google 有这么一群人,早已帮我们解决了这个问题。他们看准了前端在机器学习领域的潜力,研发出了 TensorFlow.js——专门服务于前端的机器学习平台。

为了让大家对演讲主题更好的理解, 下面是 PingYu 的专访,一起来听听他对前端与机器学习的见解。

采访内容

Q:Hi, Ping Yu, 可否向中国的朋友们介绍一下您和您目前的工作?

Ping Yu:我在 Google 的 TensorFlow 团队中负责 TensorFlow.js 的开源项目。TensorFlow.js 是一个针对前端开发者机器学习平台,它不光提供建模,训练到推理的一套完整的 API, 还有一个结合实际应用场景的模型库。我们的目标是降低前端开发者使用机器学习的门槛,从而激发他们的创造力。

Q:我们知道,人工智能往往伴随着复杂的数据、模型和运算,而很多人认为 JavaScript 太弱了,不适合做人工智能,甚至说前端就不该趟 AI 这趟水,您怎么看待这个「老生常谈」的说法?

Ping Yu:这个问题可以从两个方面去看。首先,JavaScript 作为一个解释执行的语言,确实缺乏纯计算能力,但语言本身的计算速度并不决定它是否适合机器学习。比如 Python 同样作为解释执行的语言,速度并不是它的强项,甚至它比 JavaScript 的 V8 引擎要慢多了,这并没有妨碍它成为当今最受欢迎的机器学习语言。因为它并不需要直接解决速度的问题,它可以利用其他更底层的语言来获得计算速度的提升。TensorFlow Python 就是利用 binding C library 提供 CPU 上的加速,通过 cuDNN 的绑定获得了 GPU 提速。这都是 Javascript 可以做的事情。比如说 TensorFlow.js 通过 WebGL 的 Fragment Shader 来获得 GPU 加速,通过 Web Assembly 来获得 CPU 的加速等等。

另外作为一个机器学习 API Level 的语言,易用性才是真正吸引用户的地方。Python 的崛起很大程度上得益于一个非常受欢迎的数值运算库 numpy. 其实 Javascript 在易用性上并不逊色于 Python, 十几年来,从网页到后台,再到 iOT 设备,Javascript 无处不在。它跨平台的特性能很好的解决模型部署的任务。

我和很多工业界还有研究部门的伙伴了解的时候发现,他们现在共同的困境就是,缺乏人才能够真正把 AI 研究结果很好的落地。我们相信这个离不开前端工程师,但是需要有一套完善的工程解决方案。TensorFlow.js 只是一个开始,希望有更多的前端开发者可以加入我们的行列。

Q:那请问 TensorFlow.js 目前都有哪些应用场景、效果如何?如果没有足够的数据量能接入吗?

Ping Yu:TensorFlow.js 支持许多 Javascript 可以运行的环境,前端的浏览器,无线端的小程序,React Native 平台,中后台的 Node.js 等等。

不同的运行环境,应用场景也不尽相同。无线端多以实时人机交互模型为主,不论是视频还是语音,对模型的大小和执行速度的要求都很高。最近欧莱雅使用 TensorFlow.js 在微信小程序里推出了实时试妆,模型执行速度达到 25FPS, 但模型只有 800K. 在浏览器中的 Web App, 它的 AI 应用场景多以图形或文字模型为主。在中后台,应用场景会更丰富一些。TensorFlow.js 在 Node.js 里的执行速度和 TensorFlow Python 旗鼓相当,让 server 端的模型推理可以融入到现有的 BFF 架构内。

另外 TensorFlow.js 也支持模型训练,这意味着前端可以通过转移学习的方法为每个用户提供定制的模型。

Q:有人说,AI 技术的大进步,往往不是算法本身,而是源自人机交互的改进,您认同这个看法吗?目前(至少国内)已落地的人工智能大多是「人工人工智能」,请问国外面临这个窘境吗?您认为有何解法?

Ping Yu:这个问题涉及面有点广,但看法我是基本认同的。我理解这句话原意是,人机交互界面的改进,为 AI 技术提供的场景和契机。AI 的基础是数据,而前端技术可以帮助研究者更快更好地理解数据。虽然现在 AI 发展日新月异,新模型、新架构层出不穷,但当模型落地时候,如果并没有和前端实现一个闭环,也就会出现「人工人工智能」的现象。谷歌推出的联邦学习和 TFX 机器学习的框架,通过 AI 和前端的结合,就能够做到连续的验证和调整模型。

Q:您认为前端智能化未来会往什么方向发展?对于想做人工智能的前端工程师有什么学习建议?

Ping Yu:虽然前端有许多成功的框架,但总体来说还是有不少手工的工作。(我认为未来的考虑将是)如何将 AI 的能力融入到这些框架中,进一步减少前端工程师工作中低端的手工部分,从而进一步解放他们的创造力。

对于前端工程师而言,要对常用的模型和框架要有一定的认识,了解他们的特点和使用场景。要具备一定的 AI 工程方面的知识,比如模型加速和压缩,模型加密,端上和服务器上推理方案,这可以为模型落地提供切实可行的途径。

Q:请问参加您这次的分享需要准备什么前置知识?您将与国内开发者进行什么方面的交流?

Ping Yu:这次分享(我将)通过一些实例来介绍 TensorFlow.js 平台的能力,进一步探讨 AI 在前端落地的场景。目标受众就是前端工程师,没有特殊的前置知识。


本次专访是否解答你对于前端与机器学习的疑惑呢?本届 D2 上,Ping Yu 还将与我们探讨 TensorFlow.js 进一步优化的方式,以及未来发展的方向。

由于大家购票热情太高,我们本届大会的早鸟票及早鸟拼团票已提前售罄,还未购票的同学可以选择购买普通票(559元/张),若一次性购买 3 张及以上,更可每张立减 100, 享受早鸟票价格459元/张哦!余票不多,心动不如赶快行动,我在 D2 智能化专场等你!

附 :D2 智能化专场介绍

机器学习和人工智能在前端领域如何应用?智能化将如何改变前端的工作方式?目前机器学习和人工智能在前端的应用成果有哪些?在工程和业务领域借助智能化创造技术价值?本届 D2 的前端智能化专场通过行业的应用案例和实践经验的风向,让大家对智能化改变前端有切实的感受,同时还邀请了谷歌 TensorFlow.js 等行业知名的前端智能化团队,带来前端智能化发展趋势的最新信息。让我们在机器学习改变行业的今天,携手弄潮于技术之巅。

参考文章

[1] 你真的了解人工智能吗?——聊聊AI的碰壁和冬天
(http://blog.memect.cn/?p=341)

[2] 谷歌确立AI first战略一年后成果如何?这里有答案(https://tech.qq.com/a/20171201/015609.htm)

[3] Google AI 负责人:机器学习是解释 AI 的最好方法
(https://www.ithome.com/0/432/590.htm)

更多技术干货,关注「淘系技术」微信公众号!

二维码.png

相关文章
|
算法框架/工具 机器学习/深度学习 算法
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(三)(2)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(三)
28 0
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(三)(2)
|
9天前
|
机器学习/深度学习 运维 监控
TensorFlow分布式训练:加速深度学习模型训练
【4月更文挑战第17天】TensorFlow分布式训练加速深度学习模型训练,通过数据并行和模型并行利用多机器资源,减少训练时间。优化策略包括配置计算资源、优化数据划分和减少通信开销。实际应用需关注调试监控、系统稳定性和容错性,以应对分布式训练挑战。
|
11天前
|
机器学习/深度学习 人工智能 算法框架/工具
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(八)(4)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(八)
26 0
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(八)(4)
|
11天前
|
机器学习/深度学习 算法框架/工具 TensorFlow
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)(4)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)
45 0
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)(4)
|
机器学习/深度学习 算法 算法框架/工具
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)(3)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)
13 0
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)(3)
|
11天前
|
机器学习/深度学习 算法框架/工具 自然语言处理
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)(1)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(七)
29 0
|
10天前
|
机器学习/深度学习 算法框架/工具 TensorFlow
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(五)(3)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(五)
9 0
|
机器学习/深度学习 算法框架/工具 Python
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(五)(2)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(五)
26 0
|
11天前
|
机器学习/深度学习 算法框架/工具 Python
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(五)(1)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(五)
34 0
|
机器学习/深度学习 算法框架/工具 API
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(四)(1)
Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(四)
9 0