作者| 田煦阳

编辑| 傅博

HBO的热门喜剧《硅谷》已经火了整整四季,这部相较之下最为贴近硅谷真实动态的情景喜剧为我们带来无穷欢乐的同时,也引发了我们对于硅谷,对于科技生态的思考。

而现在,《硅谷》也终于迎来了自己的周边产品:

并不是魔笛手团队身着的T恤,也不是Richard或者Elrich的人偶,而是第四季第四集中,由杨靖和巴赫曼带领的See Food Inc开发出的“不是热狗(Not Hotdog)”应用程序。这一app现在已登录iOS和安卓平台。

必须要感叹一句,HBO深谙观众的口味,以最硅谷最nerd的方式又给自己做了一波免费宣传。

虽然这个傻傻的app看上去似乎没有任何卵用(我们自己难道没法分辨出来么?),但其可是有着纯正的硅谷极客血统,实打实地应用了最新潮的人工智能技术。

甫一推出,热狗app就在网络上引爆了舆论。

在 Hacker News上,网友们对 Not Hotdog 展开了热烈的讨论,一些网友表示这样的应用(需要用到卷积神经网络)在 TensorFlow 上经过约 15 万张图片的训练即可实现。

而 Not Hotdog 的制作者在 Github 中宣称他们只用到了著名图像数据集 ImageNet 中 1857 张不同热狗的图片,以及 4024 张不是热狗的图片进行训练。(不过根据他们最新的更新,确实应用到了15万张图片进行训练,不得不佩服网友的智慧是无穷的)

咦,仅经过这么少的训练做出来的应用,真的可靠么?

我们专门从应用商店下载了这个应用,决定亲自试验一下。

Not Hotdog界面

Snapchat界面,是不是觉得十分相似呢?

点开app后,扑面而来的就是一个神似Snapchat的极简风格界面,甚至只有三个按键。左上为闪光灯,右上为打开相册引入其中的照片进行测试,中间下方的黄色按键为拍照键。

热狗app使用起来极其简单,通过导入照片或利用手机进行拍照,之后app将自动分析照片中物体是否为热狗。最后该应用程序给出“Yes”或“No”的结论,你可以选择将结果分享。

纸上来得终觉浅,让我们开始实验吧!

首先是检验网上找到的热狗和皮鞋的图片。嗯,它准确无误地闯过了第一关。看来它对于这种简单的任务还是得心应手的。

不过话说回来,要是这都判断不对,真的还好意思叫“人工智能”么?

既然热狗是长条形的,那它是否会被别的长条形物体迷惑住呢?我们找来了牙膏进行测验。表现不错,这一次也没有被欺骗到。

看来它还是有点聪明啊,这大大地激发了笔者的好奇心,脑洞大开起地思索起来如何才能瞒过人工智能呢?

长条形物体这个概述还是太简陋了,笔者决定从热狗的结构下手。嗯…两片面包夹着一根香肠?笔者找来了手边的文具,摆出了热狗的造型。

唉,又让它闯过了一关。

是不是刚才的“热狗”颜色不太对,让人工智能看着太没有食欲了呢?那这次,我们换个颜色试试看好了。

哈哈哈哈,耍了个小聪明就成功击败了“人工智障”!

不难发现,这张图中两根红色的笔实际完全不同,但这一简陋的组合对付起初级的人工智能还是相当绰绰有余了。

不过这次能这么顺利地击败“人工智能”,一定程度也多亏了研发人员和“不是热狗”一起偷懒,没有刻苦学习,在知识面上吃了大亏。

虽然这个app看上去没有那么灵光,但却是一个帮助我们了解人工智能应用研发及重要技术细节的宝贵案例。

开发“不是热狗”的工程师Tim Anglade在一篇博客中,详细记叙了开发这一产品中的技术难题及需要认真考虑的细节,可谓干货满满。

简单来说,工程师们设计了一个可以直接在手机上运行的定制神经网络,并用Google提供的机器学习开源框架Tensorflow,Keras和Nvidia的GPU对其进行训练。

虽然这个应用的使用场景十分滑稽,但却是一个同时应用深度学习和边缘计算的范例。

所有的AI工作包括图片的处理在内都在用户的设备内完成,这使整个处理过程变得更为迅速,可离线使用且有着更好的隐私。而对于开发者来说,采取这种模式的最大优点当属哪怕有超过百万的用户,应用的维护成本都可以被压低到零元;在省钱这方面,可比传统的云端AI方法不知道高到哪里去了。

这一app完美地诠释了什么叫做“易学难精”。工作人员仅用了一个周末的时间,便在了谷歌云平台提供的 Vision API和 React Native的帮助下构造出其原型;但随后花了数周的时间来对其进行训练,提高准确性,乃至优化iOS和安卓用户的使用体验。

一开始的原型由搭载了Transfer Learning的Inception Arcitecture搭建;而这一模型失败后,Tim Anglade选择了更为精简的网络系统SqueezeNet,进行了大量的训练。

但是这个版本的模型依然无法准确捕捉到热狗的特质所在,会将所有涂有番茄酱的物体当成美味的热狗,颇令人哭笑不得。

喂,我的胳膊可不是热狗肠啊

好在这时,Google发表了他们名为MobileNets的论文,提出了在移动设备上运行神经网络的新方法。该方法成功地在体积巨大的Inception和功能疲软的SqueezeNet间找到了平衡点,得以兼顾运算的速度及结果的准确性。

Anglade从GitHub上找到了一个名为Keras的开源工具作为基石,做了一系列针对于模型和用户体验的优化。

最终的模型经历了15万照片的试炼,其中有3000张为形态各异的热狗,另外的14万7千张都是用来造成混乱,提高“不是热狗”迅速做出正确判断的图片、

不难看出,一个小小的带有戏谑性质的AI app,都需要经历如此漫长复杂的开发过程,而且尚未能达到100%的准确性(还记得前文用两根红笔和一根荧光笔欺骗AI的故事么?)。我们不难想象开发Alpha Go这样功能强大得多的项目,会耗费全体研究人员多少的时间和心血。

如何寻找到最为合适的工具来进行开发?如何进行优化提升用户体验?如何降低维护成本?……

想法设法攻克这些问题,已然成为每一个人工智能开发者的必修课。

或许几年后的AI开发者,随着整个行业的迅猛发展,将再也不需要闯过这一道又一道的关卡。

但是现在AI还处于起步阶段,我们只有不断地深入钻研,取得成果,那一天才有可能到来。

美剧《硅谷》中的热狗识别app引爆评论, 功能有点“弱智”, 但AI干货满满

发表评论

电子邮件地址不会被公开。 必填项已用*标注