【16小时登顶黑客马拉松】加州理工大二学生开发“狗脸计算器”

2018 年 4 月 11 日 新智元 闻菲




  新智元报道  

来源:LAHacks

作者:闻菲


【新智元导读】美国西部最大黑客马拉松LA Hacks 2018上周落下帷幕,36小时的比赛时间里,加州理工学院大二学生、美籍华人Eric Zhao仅用16小时,完成了一个“狗脸计算器”并获得优胜。借用词嵌入的思想提出了图像嵌入,这款计算器不仅能计算宠物狗面部相似度,还能计算两只不同的狗“加起来”是什么狗。


 

狗是人类的好朋友,狗伴随了人类文明演化的历程。虽然关于人类是什么时候把狼驯化成了狗,科学家至今没有达成统一的意见。但毫无疑问,狗的物种多样,是人类驯化史上的一个奇观。


有大的狗,有小的狗。



有高的狗,有矮的狗。



有萌的狗,有萌的狗,有萌的狗。



除了品种多样,不同品种的狗交配产下的后代,造成外观五花八门。


如今,狗已经成了我们生活中再熟悉不过的一部分。


你有没有想过,两只狗之间的相似度是多少?有没有办法快速区分这只汪和那只汪呢?


比如快速区分上面这几只


现在,我们有了一个好方法。


还能在手机上运行。


在前不久落下帷幕的LAHacks 2018上,加州理工学院大二学生、美籍华人Eric Zhao,提交了一个“狗脸计算器”,不仅能计算两只宠物狗的面部相似度,还能进行“狗狗加减”——输入两只狗的图片,看看它们加起来会得出一只怎样的狗


这个创意不仅有趣,而且Eric在仅仅16个小时的时间里,就完成了从项目提出到最终demo的全过程。


仅16小时完成黑客马拉松并获优胜,百度开源机器学习框架PaddlePaddle是秘密武器


LA Hacks(洛杉矶黑客马拉松),是美国西部地区最大的Hacks活动。


黑客马拉松(hackathon)是开发者的狂欢。在一场黑客马拉松里,一众开发者聚在一起,在为期几天到一周的时间里,从零开始编写一款应用程序。


2018年的LA Hack在UCLA(加州大学洛杉矶分校)举行,吸引了上千名来自当地名校的顶尖黑客,比赛时间是连续36小时。


今年的优胜者,就是上面提到的,加州理工学院大二学生、美籍华人Eric Zhao提出的“狗脸计算器”。36个小时的比赛,Eric仅用16小时便成功登顶。


如何如此快速做到这一点?


Erci将他成功的一大原因,归功于使用的平台——来自中国的分布式机器学习框架、由百度在2016年8月底开源的PaddlePaddle。“我使用Nvidia-Docker和PaddlePaddle自动部署和训练模型。这让我可以专注于编码而不是设置服务器。”Eric在接受新智元采访时表示:“PaddlePaddle直观的Python framework让我能够在几分钟内实现新的神经网络设计。”


Eric Zhao 同学


Eric告诉新智元,据他所知,在美国最常用或者说最受欢迎的框架是Torch,Tensorflow和Theano(虽然Theano已经停止更新),相比这些竞争对手,Eric认为PaddlePaddle的优势在于易学、易上手。


“我在其他机器学习框架中使用的几乎所有内容,都以某种形式在PaddlePaddle上提供。从速度上说,PaddlePaddle很快,虽然不是我用过最快的。


“从功能上说,PaddlePaddle挺标准,但我个人认为其框架设计比我用过的大多数框架都更直观。”不大懂中文的Eric不得不将大部分PaddlePaddle的中文文档翻译成英文,但他仍然能够很快地学习,“我认为这证明了PaddlePaddle设计的质量。”Eric说。


“PaddlePaddle易学易上手,虽然结构简单,但保留的功能是核心技术,极大地提高了使用者的效率。我在使用PaddlePaddle的过程中发现,它是在云上搭建GPU集群最方便的方法,能在较短的时间内对复杂模型进行逐层调优可视化,使我的作品更具竞争力。”


Eric认为百度开源机器学习框架PaddlePaddle的设计,比他用过的大多数框架都更直观

狗脸计算器:吉娃娃 + 马尔济斯 = ?

Eric的“狗脸计算器”,基于词嵌入(word embeddings)的方法,通过为犬类图像嵌入允许相似度识别和其他语义操作的模型,成功实现了“计算宠物狗面部相似度”的想法。


宠物狗图像嵌入


在Eric的模型中,他在SqueezeNet上堆叠了一个Siamese Network(孪生网络)来生成宠物狗图像嵌入。这些嵌入表示两张狗图片的相似程度。你还可以添加和减去这些嵌入来查找与其相似或不相似的狗。


其中,SqueezeNet[1]模型由伯克利和斯坦福的研究人员提出,其设计目标不是为了得到最佳的CNN识别精度,而是希望在满足基本识别精度的前提下,尽可能简化网络复杂度。孪生网络[2]架构则能够判断两张图片属于同一个类别的概率。不仅如此,孪生网络还能实现少样本学习——具体可以看新智元之前的文章:深度神经网络 One-shot Learning:孪生网络少样本精准分类——这在一定程度上解决了图像识别/分类任务中,需要大量训练图像的问题。


Eric使用斯坦福的一个宠物狗图像数据集训练SqueezeNet,然后在这个预训练模型的基础上,冻结前几层,并将最后几层替换为一个Siamese Network


Eric Zhao演示狗脸计算器网络架构:SqueezeNet+Siamese网络


“因为我使用了一个非常紧凑的SqueezeNet模型,所以我的神经网络很小,可以在手机上运行。此外,我的Siamese结构使图像嵌入具有良好的几何特性,可以添加/减少宠物狗图像。”Eric介绍说。


最终得到的“狗脸计算器”,能用来计算两只狗的相似度,也能计算两只狗加起来能得到什么种类的狗,或者更准确地说,与现有哪个品种的狗最相似。


例如:


“吉娃娃1”与“吉娃娃2”距离为0.724,而“马尔济斯1”与“吉娃娃2”距离为0.898,后者比前者距离大,因为显然吉娃娃之间相似度更高。



第一种狗与第二种狗加起来,会得到什么狗呢?答案是等号右边的狗,相似度为96%。这很好理解,第三种狗综合了前面两只各自的特征。



你还能使用Eric的狗脸计算器实现别的有趣的玩法,他将完整的项目包括代码,都公布在了Github。


Eric狗脸计算器完整项目:

github.com/ericzhao28/puppy_image_embeddings



参考资料

[1] https://arxiv.org/pdf/1602.07360.pdf

[2] http://www.cs.cmu.edu/~rsalakhu/papers/oneshot1.pdf




精彩回顾

2018新智元产业跃迁AI技术峰会圆满结束,点击链接回顾大会盛况:


爱奇艺     http://www.iqiyi.com/l_19rr3aqz3z.html 

腾讯新闻 http://v.qq.com/live/p/topic/49737/preview.html 

新浪科技 http://video.sina.com.cn/l/p/1722511.html 

云栖社区 https://yq.aliyun.com/webinar/play/419  

斗鱼直播 https://www.douyu.com/432849 

天池直播间  http://t.cn/RnQPhuY

IT大咖说 http://www.itdks.com/eventlist/detail/199

登录查看更多
1

相关内容

PaddlePaddle(PArallel Distributed Deep LEarning)是由百度推出的一个易用、高效、灵活、可扩展的深度学习框架。 官方网站:https://www.paddlepaddle.org.cn
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
【新书】Pro 机器学习算法Python实现,379页pdf
专知会员服务
199+阅读 · 2020年2月11日
【机器学习课程】Google机器学习速成课程
专知会员服务
164+阅读 · 2019年12月2日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
冬日里的一首歌 | 清华快闪女指挥王明媚讲述背后的故事
清华大学研究生教育
59+阅读 · 2019年1月9日
你见过马化腾17年前写的代码吗?
互联网it观察
5+阅读 · 2017年7月3日
Arxiv
5+阅读 · 2019年4月21日
Arxiv
7+阅读 · 2018年1月30日
Arxiv
4+阅读 · 2018年1月19日
VIP会员
Top
微信扫码咨询专知VIP会员