前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【16小时登顶黑客马拉松】加州理工大二学生开发“狗脸计算器”

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

作者头像
新智元
发布2018-04-17 10:54:06
8270
发布2018-04-17 10:54:06
举报
文章被收录于专栏:新智元新智元

【新智元导读】美国西部最大黑客马拉松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-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 新智元 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
人脸识别
腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档