摘要:构建一个照片分类器对于理解照片中的模棱两可的目标,其实有许多不同的方式。如果决定进一步集成依赖于其它信号的新的分类器,这将让问题变得更加简单。该架构如下图所示对于每一个新的分类器,扫描所有的照片,并且将分类结果存储在一个数据库中。
Yelp是美国较大点评网站,拥有世界各地的Yelper上传的成千上万的照片。各种各样的照片给进入当地的商业提供了一个丰富的窗口。通过开发一个照片理解系统使Yelp能够创建有关个人照片的语义数据。跟Yelp第一次在基于内容的照片多样化方面所做的尝试一样,由系统生成的数据正在增强Yelp近期推出的封面照片多样化、标签式照片浏览等服务。
构建一个照片分类器
对于理解照片中的模棱两可的目标,其实有许多不同的方式。一开始,为了帮助简化Yelp的问题,Yelp只专注于将照片分类为几个预定义的类。之后,Yelp又只专注于关于饭店的照片类别。
事实上将照片进行分类,就可以将其当做机器学习中的分类任务,需要开发一个分类器,Yelp首先需要做的就是收集训练数据,在图片分类任务中就是收集很多标签已知的照片。Yelp收集这些信息可以通过几种不同的方式:
照片标题:在很多照片的标题中都包含代表照片自身含义的词汇,例如,很多“菜单”照片的标题中包含单词“菜单”。为了识别这些关于食物的项目,Yelp依靠自己的菜单结构(例如,http://www.yelp.com/menu/gary-danko-san-francisco/),它保留了每种食物的商业名单。Yelp发现,将列表中的食物项目与照片的标题进行匹配产生了一个高准确率的数据集。
照片属性:当上传照片到Yelp上时,用户允许标记照片的一些属性,虽然它们并不总是准确的,但仍然可以很有效地帮助照片分类。
众包:通过众包可以让大众自动参与照片的标注,并同时纠正一些错误的标注。Yelp已经发现,通过众包Yelp通过合理的成本(在时间和金钱)获得了质量总体良好的标签。众包体现了一种群体智能。
一旦Yelp有了标签数据,Yelp就开始采用“AlexNet”形式的深度卷积神经网络(CNNs)来识别这些图片(因为这种方法是一种监督学习方法,非监督学习目前仍然是深度学习的难点方向)。CNNs是由多个卷积层组成,ReLU层、pooling层、局部响应正则化层和全连接层。Yelp的CNN被建立在基于Caffe架构的AWS EC2 GPU实例上。Yelp喜欢Caffe,因为它简单易用、高性能、模块化、开源、还一直在不断完善。为了应对Caffe的软件依赖,Yelp使用Docker封装了Yelp的CNN,以便它可以更容易地部署。
Yelp还创建了抽象,以确保Yelp的CNN可以很容易地与其他形式的分类器进行集成,包括CNN的不同实例。如下图所示,Yelp的基线是一个“Caffe分类器”,它通过Caffe的方式运行CNN;它是一个抽象分类器的一种特殊形式,可以采取不同的信号,并执行不同的分类算法。Yelp目前的“facade”分类器,是一个集成分类器,采用了不同分类结果的加权平均。如果Yelp决定进一步集成依赖于其它信号的新的分类器,这将让问题变得更加简单。
Yelp在一个均匀黄金分割的2500张照片的测试集上进行试验,Yelp目前的“facade”分类器的整体较精确度达到了94%,召回率达到了70%。根据Yelp的描述,虽然这些数字可以再提高,但Yelp发现对于下面描述的应用它们已经足够了。
照片分类服务
Yelp使用面向服务的架构(SOA),Yelp做了一个RESTful照片分类服务,用来支持现有的和即将推出的Yelp的应用程序。由于服务预计拥有不止一个分类器(例如,不同的版本或为不同类型的业务),该服务API使用一个分类器ID,一个行业ID,以及可选的类,然后返回所有属于该行业的照片,其已经通过分类器被归类:
Yelp使用一个标准的MySQL数据库服务器来承载所有的分类结果,所有的服务请求可以通过简单的数据库查询被处理。为了避免更昂贵的实时分类,因为Yelp目前的应用并不取决于的照片分类,所以Yelp只执行线下分类。该架构如下图所示:对于每一个新的分类器,Yelp扫描所有的照片,并且将分类结果存储在一个数据库中。扫描在计算上消耗很大,但通过将分类器在任意多的机器上进行并行处理,Yelp可以减轻这一点。扫描结束后,Yelp会每天自动收集新的照片,并将它们发送到一个进行分类和数据库负载的批次中:
应用:封面照片多样化
一旦有了照片分类服务,就可以有效地增强Yelp的许多关键功能。Yelp的业务详细信息页面显示了一组“封面照片”,基于用户的反馈和某些照片的属性,它们能够通过照片评分引擎进行推荐。但是,目前Yelp的封面照片存在一个典型问题,即所选的照片缺乏多样性,例如,如下图所示,所有封面照片都是关于食物的(拉面),用户无法看到其他方面的照片,除非他们点击“查看全部”按钮。
通过照片分类服务,现在就可以让封面照片变得多样化,Yelp可以容易地确定较高得分的非食品的照片,然后将其纳入封面照片。通过严格的A / B测试,Yelp已经证实饭店的浏览者更愿意看到一个显示突出的“食品”照片和突出的“非食品”照片,以及两个小“食品”的照片和另外两个“非食品”照片,如下图所示。多样化大大增加了Yelp用户与照片之间的互动。
应用:标签式浏览照片
因为任何人浏览Yelp照片都是在有了解之前,大部分来自于饭店的Yelp照片都是食物。但Yelp从用户中得到反馈,他们发现用户关心的可不仅仅是食物。有些人使用Yelp的图片用来检查一个特殊事件的气氛或导航到一个第一次去的地点,而其他人使用Yelp的照片用于一些更严肃的应用,如发现餐厅是否能容纳残疾的顾客。随着标签式照片浏览的推出,所有这些任务现在都变得更容易、更高效。
Yelp表示,标签式照片浏览是他们的照片分类服务现在提供的最显著的应用。照片现在在各自的标签(类)下进行组织;从下图可以看出,跳到你正在寻找的准确信息现在变得更加容易。
下一步是什么
任何机器学习系统都不可能是完美的。Yelp表示,如果你想帮助提高Yelp照片分类的质量,请随意标注你看到的任何未分类的照片。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/4322.html
摘要:结果,我们当时非常抱以厚望的就是卷积神经网络模型,或者说是。单反相机可以让摄影师调节透镜类型和光圈大小,更好地控制把相片里的哪个部分作为焦点。更进一步,单反相机的传感器更大,对光线更敏感,即使在非常昏暗的环境下也可以拍出非常漂亮的相片。 Yelp的数据库中已经存储了几千万张相片,用户们现在每天都会上传大概十万张,而且速度还在不断加快。事实上,我们发现相片的上传增长率大于相片的查看率。这些相片...
摘要:不同平台的不同表情和雅虎视觉与机器学习团队测试了三种不同的方法算法,一种快速线性分类器算法,一种循环神经网络架构算法,一种平衡性能与复杂性的卷积网络。雅虎不是将机器学习应用于的公司。 周末想在Netflix看场电影?可能,你选择观看的电影正受到来自Netflix复杂的AI算法的影响。同理,由深度学习驱动的预测技术,将越来越便捷地决定你喜欢吃什么、穿什么。而作为消费型科技公司,Netflix、...
阅读 3063·2021-11-23 09:51
阅读 1042·2021-09-02 15:21
阅读 3008·2019-08-30 13:56
阅读 1831·2019-08-29 14:12
阅读 710·2019-08-29 13:53
阅读 1667·2019-08-29 11:32
阅读 1327·2019-08-29 11:25
阅读 1494·2019-08-28 17:51