楼主: keisuo
1407 0

[数据挖掘理论与案例] 用深度学习技术来找到Yelp上的美图 [推广有奖]

  • 0关注
  • 1粉丝

高中生

95%

还不是VIP/贵宾

-

威望
0
论坛币
261 个
通用积分
0.0600
学术水平
10 点
热心指数
17 点
信用等级
0 点
经验
442 点
帖子
19
精华
0
在线时间
19 小时
注册时间
2009-9-16
最后登录
2020-2-14

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

Yelp的数据库中已经存储了几千万张相片,用户们现在每天都会上传大概十万张,而且速度还在不断加快。事实上,我们发现相片的上传增长率大于相片的查看率。这些相片反映着本地商业的内容和质量,提供了非常丰富的信息。

关于这些相片非常重要的一方面,就是展示出来的内容的类型。在2015年8月,我们上线了一套新系统,用于将传统饭店有关的相片分为食物、饮料、外观、内景和菜单等几大类。从那以后,我们又为咖啡店、酒吧等类似的商店上线了类似的系统,以此来帮助用户们尽快发现他们想要寻找的那些相片。最近的一段时间,我们又在研究如何进一步提高用户的满意度,具体方法就是给他们看更多漂亮的图片,改进我们的相片排名系统。

理解相片的质量


首先我们试着为相片构建一个点击率预测器,数据源就是从日志中挖掘出来的点击数据。我们的假设是,那些被点击了更多次数的相片应该很明显地会比其它相片好。可事实上这个想法的效果却没有想象中好,原因有几点。首先,人们常常会点开那些比较模糊、或者里面有非常多文字的相片,这么来看看里面到底是什么内容。另外,因为Yelp上的相片有许多种展示方法,所以很难有效地对比某些特定相片的指标。对比相片的质量,看起来很像是一件非常主观性的工作。喜欢哪张相片或不喜欢哪张相片,有许多因素会影响这样的决定,而且依正在做搜索的用户个人不同,结论也会有所不同。为了能为Yelp的用户提供更好的体验,相片理解团队必须担当起这项非常有挑战性的工作:确定哪些特点会让相片更受人喜爱,并研发出一套算法,可以依据这些特点来可靠地对相片做出评判。

之后,我们试用了好几种不同的计算机视觉技术,试着发现一些相片的内在特征,希望可以直接用于质量评分。比如,对摄影师来说有个非常重要的特征叫“景深”,它用来测量相片有多少内容是在焦点里面的。用浅景深可以非常有效地将相片中的物体与它的背景区别开来,上传到Yelp的相片也不例外。很多时候,在关于某间饭店的许多张相片中,那些最美的总是那些非常明确地对焦到某个具体物体上的。

景深


亚历山大牛排屋

桌面上的艺术

另一个人们判断相片的非常重要的方法就是对比。对比可以测量出在一张相片中,一个物体和它旁边的物体在亮度和颜色等方面的不同。有许多种公式可以用于计算对比,但大多数都要对比亮度,或者相片中附近区域的光强度。

对比

安东尼点心

Tac N Roll

最后,相片中不同物体之间的相对位置也是一个非常重要地审美方面的考虑。比如研究表明,人们对艺术的对称性有着天生的倾向。另外,有些摄影师也非常推崇所谓的“第三法则”,这是一种将相片中的重要元素都按照某个轴排列起来的方法,以此来创建出一种运动或活力的感觉。

对齐

Traif

Augie Chang 摄影室

用深度学习来构建相片评分模型

所有这些考虑都依赖于对相片内不同区域之间的关系的理解。所以当要实现一个相片评分算法时,我们希望算法中也会把这个关系放在非常重要的地位。结果,我们当时非常抱以厚望的就是卷积神经网络模型,或者说是CNN。

在过去的十年里,卷积神经网络模型在图片分类与处理领域内取得了巨大的成功,比如人脸识别和分子疾病检测等。和普通的神经网络类似,它们都会对输入向量做一系列的转换,并使用输出的错误来动态地改进对未来的预测。可是,CNN还有另外的几层,用到了上文中我们详细讨论过的几个特征。尤其是卷积层会对相片加以许多过滤器,汇聚层也会缩减之前各层的输出规模,以减少计算量。

为了开发这个模型,我们先要收集训练数据。得到训练数据的方法之一就是手工地为成千上万张相片加上标签,标记成漂亮或不漂亮。可是这样的方法代价太大,太耗时,而且会非常依赖于我们的评分员的喜好。另外,还有一点可供我们利用的就是,在相片被上传到Yelp的时候,它们通常都会包含着额外的信息,也就是EXIF数据。

把这样的相片送给我们的模型去学习,就可以学到这些重要的相片特征,那么即使是在那些不是由单反相机拍出来的相片中,也可以识别出好相片。

即使这张相片是由iPhone拍出来的,我们的模型也还是给了它非常高的评分。

我们尝试了好多种方法来训练这个模型。一开始,我们收集了十万张单反相机和非单反相机拍出来的相片,分别标上好的和差的标签,然后送给名为AlexNet的模型中去学习,这个模型是由多伦多大学的研究员在2012年提出的。为了提高这个模型的精度,我们还用了几百万张相片的数据量去训练了另一个模型。最后,我们还尝试过一个名叫GoogLeNet的模型,这是Google的研究员在2014年开发的,艺术水平非常高,比之前最好的模型的层次还明显深。

同时Yelp的工程师们也手工评判了几千张相片,里面的相片都是我们可以非常自信地说非常好或者非常差的。在上面的每个测试中,我们还会把每个模型的训练成果,用于评判这几千张相片,来进一步看看效果。我们发现每经过一次迭代,我们正确判断好图或者差图的能力都得到了提高。

最后,为了把我们模型的判断结果转化为质量评分,我们在模型的最后一层使用了可能性输出的方法,为每一张输入的相片都生成一个确定的标签。换句话说,如果我们的模型认为有80%的机会标签应该是“高质量”,那我们就给那张相片打分0.8。这种方法可以很直观地把一个二元分类器的输出结果转化成了很容易打分的结果。

更进一步

我们的初步分析表明,我们的算法推荐的图片都是那些焦点更突出、更明亮和在审美上使人更愉悦的。可是有些时候也不是让我们非常满意,这就促使我们去找到办法对某些相片进行重新评估和排序。最终,我们为大家提供的系统可以把多种不同的信息整合起来,为商户提供最好的相片,展示给用户。

相片评分算法

商户相片评级流水线

在我们现在的流水线中,我们先用上面描述的模型为一家商户生成所有的品质评分。然后再根据下面的特征对这些得分进行调整:

  • 标志过滤:我们发现商户标志的相片通常被我们的模型打出很高的分,即使用户压根对它们不感兴趣,不会看也不会点击它们。比如说,其中可能会包含一张海报,里面只有饭店的名字。于是,我们就基于相片的亮度直方图的熵训练了一个单独的分类模型,用它来降低这类相片的分值。
  • 分辨率:为了对我们的神经网络的输入进行标准化,也为了加快计算速度,我们在把每张相片输入系统之前都进行了转换,缩小成了227*227像素的大小。可是这意味着模型无法判断这样的相片会不会太小,因而无法为用户提供关于商户的足够好的内容。为了处理这样的情况,我们对达不到某个标准的图片降低评分。
应用:封面相片排序

在Yelp上,每家商户的页面都会展示一些最漂亮的相片,我们叫做封面相片。在之前的许多年,我们都是根据喜欢、投票、上传日期和相片标题等来计算、挑选这些相片。可是,这样的方法有许多弊端。

首先,这样的系统非常容易产生选择性偏见。封面相面比别的相片有更多的机会被查看和点击。结果,一旦某张相片出现在了商户的封面上,它就有极大的可能性一直留在那里,即使更有吸引力更有用的相片在之后被上传上来,这一点也很难改变。另外,只是根据喜欢来选定的相片最终有可能会推荐一些“点击诱饵”,比如某些质量很差、也不怎么相关、但却由于包含了某些有引诱性的内容而受到了很多支持的相片。

现在有了排名算法,我们相信出现在饭店首页的封面相片的质量一定会大大提高。大家自己去看看吧

弗里蒙特,Country Way

旧版本

高质量版本

旧金山,Octavia

旧版本

高质量版本

圣克拉拉,Kunjip

旧版本

高质量版本

旧金山,Gary Danko

旧版本

高质量版本


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:深度学习 Yel elp Country 神经网络模型 数据库 点击率 咖啡店 满意度 数据源

已有 1 人评分论坛币 学术水平 热心指数 收起 理由
飞天玄舞6 + 20 + 2 + 2 精彩帖子

总评分: 论坛币 + 20  学术水平 + 2  热心指数 + 2   查看全部评分

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 13:25