0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

《硅谷》里使用深度学习识别热狗的软件Not Hotdog正式获得艾美奖提名!

DPVg_AI_era 来源:未知 作者:李倩 2018-07-16 09:46 次阅读

《硅谷》中演示了一款识别热狗的软件Not Hotdog,可以在安卓和IOS下载

AI制作动画人物、创作剧本、编辑电影之后,今天,一款AI软件正式获得黄金时段艾美奖提名:热播电视剧《硅谷》中一个使用深度学习自动识别热狗的软件再度走入公众视野,使用TensorFlow英伟达GPU开发。

不知道你有没有看过热播美剧《硅谷》。作为近年来最佳职场喜剧之一,《硅谷》为我们展现了程序员不为人知的一面。《硅谷》在嬉笑怒骂间描绘了一部IT业创业辛酸史,不仅如此,人工智能机器学习、加密货币……剧集的主题一直紧跟现实硅谷圈的潮流。

其中,在第四季第四集就出现了一个使用深度学习算法识别热狗的APP Not Hotdog,而且现在这款APP也能在安卓和iOS下载。

AI软件正式获得黄金时段艾美奖提名!

今天,制作这款的APP的Tim Anglade(是的,这款APP是他一个人制作的,当然得到了很多人的帮助)在Twitter上宣布,这款AI软件正式获得了黄金时段艾美奖提名!

实际上,在剧集播出后,这款APP就在硅谷掀起了一股话题热潮,因为当时正是图像识别的热度达到巅峰时期。

《硅谷》剧组决定在剧集里做一个能够在手机上运行的热狗识别软件。实现这一目标,Tim Anglade他们设计了一个直接在手机上运行的定制神经架构,并使用Tensorflow,Keras和Nvidia GPU进行训练。

虽然只是用来识别热狗(或者不是热狗),但这款APP无疑是深度学习和边缘计算的一个亲切使用案例。所有的AI工作都由用户的设备100%供电,处理图像时无需离开手机。这为用户提供了更快捷的体验(无需往返云端),离线可用性和更好的隐私。

要知道,那时候还没有TensorFlow Lite,100%在手机端实现物体识别还算是相对超前的概念。

这也使得整个APP能以0美元的成本运行,即使在100万用户的负载下,与传统的基于云的AI方法相比,可以节省大量成本。

这款APP是由一个开发人员自己在内部开发的,用一台笔记本电脑和附加GPU运行,使用手工收集的数据。

作者的开发环境,就是这样简单!

作为一款从剧集中诞生的衍生品,着实火热了一把,还在苹果开发者大会得到了宣传。

作者Tim Anglade在Medium上超详细地介绍了这款APP的设计、开发,从原型到产品的过程,可以阅读原文了解详情。

下面,我们将摘选介绍这款APP的技术细节,使用了什么架构、如何训练,有什么要点。

对非技术公司,个人开发人员和业余爱好者等时间和资源有限的人,构建自己的深度学习APP,是再好不过的上手材料。

Deepdogs架构:受谷歌MobileNet论文推动

他们的最终架构在很大程度上受谷歌在2017年4月17日发布的论文MobileNet的推动,这种新的神经网络架构具有类似Inception的准确性,但只有4M左右的参数

部分代码截图

之前团队考虑过SqueezeNet,但SqueezeNet对于他们想要实现的目标来说又太简单了,Inception或VGG则不能在手机上运行。MobileNet更适宜在移动端运行,这在当时是他们的首要考虑因素。

距离APP发布还有不到一个月的时间,团队正在努力重现该论文的结果。但是,在MobileNet论文发表后的一天之内,伊斯坦布尔技术大学的学生Refik Can Malli已经在GitHub上公开提供了Keras实现代码。深度学习社区的开放性和活跃性令人赞叹。

团队的最终架构叫做Deepdogs,与MobileNets架构有很大不同,特别是:

没有在深度和逐点卷积(depthwise and pointwise)使用批量标准化(BN)和激活,因为XCeption论文似乎表明这样做会导致这种类型的体系结构的准确性降低。同时,这样还具有减小网络规模的好处。

使用了ELU而不是ReLU。与SqueezeNet实验一样,激活函数使用ELU比ReLU提供了卓越的收敛速度和最终精度。

没有使用PELU。虽然这种方法不错,但只要我们尝试使用它,这个激活函数似乎就会陷入二元状态,网络准确性不会逐步提高,而是从一批到下一批在~0%到100%之间交替。目前还不清楚为什么会发生这种情况。

没有使用SELU。我们简单做了个调查,iOS和Android版本之间使用SELU导致结果与PELU非常相似。我们怀疑SELU不应该作为激活函数被单独使用,而是正如其论文的标题所暗示的那样,作为狭义(narrowly-defined)SNN架构的一部分。

使用ELU维持BN。有许多迹象表明BN应该是不必要的,但是,在没有BN的情况下运行的每个实验都完全无法收敛。这可能是由于架构很小造成的。

在激活之前使用了BN。虽然现在关于这一点有所争议,但他们的小型网络在激活后做BN的实验也未能收敛。

为了优化网络,使用了Cyclical Learning Rates和Brad Kenstler的Keras实现。

在训练时,团队做了细致的数据增强和处理工作,解决了一些由闪光灯(如下)等造成的图像扭曲等问题。

数据集的最终构成是150k图像,其中只有3k是热狗——热狗再多花样就那么几种,但是长的像热狗而不是热狗的东西则太多了。这个比例 49:1的不平衡通过设置Keras的权重为49:1来解决。在剩余的147k图像中,大多数都是食物,只有3k张非食物照片,这是为了帮助网络更多地概括,如果图像中出现红色服装中的人物,就不会被欺骗去将其识别为热狗。

闪光灯和moiré 造成的扭曲变形

最终的训练学习率和精度是这样的:

APP遇到番茄酱的情况还是会失效(但你要这样在手臂上挤番茄酱也真没办法)

最神秘的部分:100%在手机端运行并识别热狗

设计出了一个相对紧凑的神经体系结构,并且训练它来处理在移动环境中可能发现的情况,但是,仍然还需要做很多工作才能使其正常在手机上运行。

关于如何让Deepdog在手机上运行,可能是这个项目中最神秘的部分。因为在当时能找到在移动设备上运行商用深度学习APP的资料还相当匮乏。于是,他们咨询了Tensorflow团队,得到了特别是Pete Warden,Andrew Harp和Chad Whipkey的文档以及慷慨帮助。

舍入网络的权重有助于将网络压缩到其大小的约25%。本质上,不是使用从训练中派生的任意stock value,而是优化选择N个最常见的值,并将网络中的所有参数设置为这些值,从而大大减少压缩后网络的大小。但是,这对未压缩的APP大小或内存使用量没有影响。不过,团队没有使用这项优化,因为他们的网络足够小。

商用开发编译时,使用-Os来优化TensorFlow库

从TensorFlow库中删除不必要的操作:TensorFlow在某些方面就像是一个虚拟机,从中移除不必要的操作,可以节省大量的权重(和内存)。

团队不是在iOS上使用TensorFlow,而是使用苹果的内置深度学习库(BNNS,MPSCNN和更高版本的CoreML)。他们在Keras中设计网络,使用TensorFlow进行训练,导出所有权重值,使用BNNS或MPSCNN重新实现网络(或通过CoreML导入),并将参数加载到新的实现当中。

通过动态注入神经网络来改变APP行为

如果你觉得动态地将JavaScript注入到应用程序中很酷,那就试试在应用程序中注入神经网络吧!

他们使用的最后一个产品技巧是利用CodePush和苹果相对宽松的服务条款,在提交给应用商店后实时注入我们的神经网络的新版本。虽然这主要是为了帮助在发布后快速地向用户提供准确的改进,但是你可以使用这种方法来大幅扩展或改变应用程序的特性集,而不必再通过应用程序商店的审查。

教训总结和改进

有很多事情没有成功,或者我们没有时间去做,这些就是我们将来要研究的想法:

更仔细地调整我们的数据增强参数。

端到端测量准确性,即应用程序最终确定抽象事项,例如我们的程序是否有2个或更多的类别,Hotdog识别的最终阈值是什么(我们最终让应用程序说“Hotdog”,如果识别在权重四舍五入后,等于0.90而不是默认值0.5)

在应用中建立一个反馈机制——如果结果是错误的,让用户发泄不满,或者积极改进神经网络。

用一个更大的分辨率而不是224 x 224像素识别图像——本质上使用MobileNetsρ值> 1.0

UX/DX,偏见,以及人工智能的神秘谷

最后,不得不指出用户体验、开发人员体验和内置偏见对开发人工智能应用明显和重要的影响。这三件事在我们的经验中有非常具体的影响:

用户体验(User Experience)在人工智能应用开发的每个阶段都比传统应用更重要。目前还没有深度学习算法能够给你带来完美的结果,但在很多情况下,深度学习+用户体验的正确组合将导致无法区分完美的结果。当开发人员设置正确的路径来设计他们的神经网络,在用户使用应用程序时设置正确的期望,以及优雅地处理不可避免的AI故障时,正确的UX期望是不可替代的。在没有用户体验第一思维模式的情况下构建AI应用程序就像训练没有随机梯度下降的神经网络:在构建完美的AI用例的过程中,最终会陷入Uncanny Valley的局部最小值。

DX(开发人员体验)也非常重要,因为深度学习训练时间是等待程序编译时的新内容。我们建议您首先使用DX(因此使用了Keras),因为总是可以为以后的运行优化运行时间(手工的GPU并行化、多进程数据增强、TensorFlow pipeline,甚至是咖啡因2 / pyTorch的重新实现)。

即使是使用相对迟钝的API和文档(如TensorFlow)的项目,也可以通过为训练和运行神经网络提供一个经过高度测试、高度使用、维护良好的环境来大大改进DX。

出于同样的原因,很难同时拥有自己的本地GPU进行开发的成本和灵活性。能够在本地查看/编辑图像,用您喜欢的工具编辑代码而不延迟,这极大地提高了人工智能项目的开发质量和速度。

大多数人工智能应用程序将比我们的应用程序受到更严重的文化偏见,举个例子,我们在初始数据集中引发了内置偏见,这使得应用程序无法识别法国式Hotdog、亚洲Hotdog等等我们没见过的东西。

重要的是要记住,人工智能并不比人类做出“更好”的决定——他们通过人类提供的训练集感染了我们人类的偏见。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4572

    浏览量

    98747
  • 硅谷
    +关注

    关注

    1

    文章

    121

    浏览量

    16426
  • 深度学习
    +关注

    关注

    73

    文章

    5237

    浏览量

    119908

原文标题:美剧《硅谷》深度学习APP获艾美奖提名:使用TensorFlow和GPU开发

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    赛灵思Zynq-7000 All Programmable SoC获年度最具潜力新技术奖提名

    赛灵思公司宣布,其业界首款Zynq-7000 All Programmable SoC获得2012年电子成就奖(ACE Awards)之年度最具潜力新技术奖提名。此次提名是对Zynq-7000 All Programmable
    发表于 01-24 09:01 1048次阅读

    2017中国IoT技术创新奖提名:Renesas Synergy™ 平台

    。Synergy平台卓越的设计理念,为产品提供从商业化实时操作系统到协议栈、到开发编译环境等核心软件的一站式服务,均是首次出现在嵌入式MCU软件领域,因此获得2017中国IOT技术创新奖提名
    发表于 08-08 15:43 1242次阅读

    2017中国IoT技术创新奖提名:兆易创新GD32系列ARM Cortex-M内核微控制器

    市场的主流之选。兆易创新(GigaDevice) GD32系列MCU凭借高质量的产品和杰出的市场表现,获得了2017中国IoT技术创新奖提名
    发表于 08-21 16:43 1871次阅读

    技术产品创新奖提名 | 2017中国IoT大会(持续更新中...)

    业化实时操作系统到协议栈、到开发编译环境等核心软件的一站式服务,均是首次出现在嵌入式MCU软件领域,因此获得2017中国IOT技术创新奖提名。2.赛普拉斯双核微控制器架构PSoC 6
    发表于 08-09 10:19

    Nanopi深度学习之路(1)深度学习框架分析

    着手,使用Nanopi2部署已训练好的检测模型,例如硅谷电视剧的 Not Hotdog 检测器应用,会在复杂的深度学习历程中有些成就感。 目前已有几十种流行的
    发表于 06-04 22:32

    这里简直就是网络硅谷

    这里简直就是网络硅谷
    发表于 06-11 00:23

    labview测试tensorflow深度学习SSD模型识别物体

    文件调用labview深度学习推理函数完成识别以上是识别动物和人等物体的labview识别效果。龙哥手把手教您LabVIEW视觉设计课程火热
    发表于 08-16 17:21

    什么是深度学习?使用FPGA进行深度学习的好处?

    什么是深度学习为了解释深度学习,有必要了解神经网络。神经网络是一种模拟人脑的神经元和神经网络的计算模型。作为具体示例,让我们考虑一个输入图像并识别
    发表于 02-17 16:56

    《幻想装置》,《阿波罗11号》及其他游戏获得Viveport开发者大奖提名

    从十月份起,HTC便开始了Viveport开发者大奖的提名工作,分四批宣布获得奖项提名的作品。首先揭晓的八名提名者分别是Penrose工作室的《Allumette》;Futuretow
    发表于 11-14 14:56 591次阅读

    在某些事情上机器人可能比你更懂

    在美剧《硅谷》中,曾出现一个基于深度学习识别热狗的 app : Not Hotdog ,可过去
    发表于 06-17 15:20 2552次阅读

    艾美奖提名是苹果旗舰系列第二次获得重大提名

    艾美奖提名是苹果旗舰系列第二次获得重大提名,这是继早间晨报在今年早些时候在金球奖上获得三项最佳戏曲提名以及詹妮弗·安妮斯顿和里斯·威瑟斯彭
    的头像 发表于 07-29 17:15 1471次阅读

    基于深度学习的行为识别算法及其应用

    基于深度学习的行为识别算法及其应用
    发表于 06-16 14:56 20次下载

    基于迁移深度学习的雷达信号分选识别

    基于迁移深度学习的雷达信号分选识别   来源:《软件学报》 ,作者王功明等   摘要:  针对当前雷达信号分选识别算法普遍存在的低信噪比下
    发表于 03-02 17:35 993次阅读

    深度学习在语音识别中的应用及挑战

    一、引言 随着深度学习技术的快速发展,其在语音识别领域的应用也日益广泛。深度学习技术可以有效地提高语音
    的头像 发表于 10-10 18:14 498次阅读

    揭秘第96届奥斯卡最佳视觉效果奖提名影片背后的“魔法”

    第 96 届奥斯卡最佳视觉效果奖提名影片证明了技术的惊人进步正在不断打破电影发展的桎梏。
    的头像 发表于 04-10 10:16 133次阅读