【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

用深度学习技术来找到 Yelp 上的美图

  • 2017-04-04
  • 本文字数:3453 字

    阅读完需:约 11 分钟

本文翻译自 Finding Beautiful Yelp Photos Using Deep Learning ,原作者为Alex M.,已获得原网站授权。

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

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

理解相片的质量

对比相片的质量,看起来很像是一件非常主观性的工作。喜欢哪张相片或不喜欢哪张相片,有许多因素会影响这样的决定,而且依正在做搜索的用户个人不同,结论也会有所不同。为了能为Yelp 的用户提供更好的体验,相片理解团队必须担当起这项非常有挑战性的工作:确定哪些特点会让相片更受人喜爱,并研发出一套算法,可以依据这些特点来可靠地对相片做出评判。

首先我们试着为相片构建一个点击率预测器,数据源就是从日志中挖掘出来的点击数据。我们的假设是,那些被点击了更多次数的相片应该很明显地会比其它相片好。可事实上这个想法的效果却没有想象中好,原因有几点。首先,人们常常会点开那些比较模糊、或者里面有非常多文字的相片,这么来看看里面到底是什么内容。另外,因为Yelp 上的相片有许多种展示方法,所以很难有效地对比某些特定相片的指标。

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

景深

亚历山大牛排屋

桌面上的艺术

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

对比

安东尼点心

Tac N Roll

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

对齐

Traif

Augie Chang 摄影室

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

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

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

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

另外,我们发现有个判断质量的非常好的方法,就是相片是不是由单反相机(Digital Single-Lens Reflex Camera,DSLR)拍摄的。单反相机可以让摄影师调节透镜类型和光圈大小,更好地控制把相片里的哪个部分作为焦点。更进一步,单反相机的传感器更大,对光线更敏感,即使在非常昏暗的环境下也可以拍出非常漂亮的相片。最后,总是使用单反相机的人经验会更丰富,也可以抓拍到质量更好的相片。

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

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

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

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

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

更进一步

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

相片评分算法

商户相片评级流水线

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

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

最后,我们用上了分类算法算出来的标签,用它们来保证不同种类的相片都可以显示在一家商户的相片列表的前面。

应用:封面相片排序

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

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

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

弗里蒙特,Country Way

旧版本

高质量版本

旧金山,Octavia

旧版本

高质量版本

圣克拉拉,Kunjip

旧版本

高质量版本

旧金山,Gary Danko

旧版本

高质量版本

下一步的计划

我们收到的关于这个变化的反响非常好,我们也还有许多可以做的工作,来进一步提供相片的可用性和相关性。相片理解团队正在开发一套更全面的系统,也会把商户的类型和摄影师的身份、以及上文中讨论的用户反馈和品质因素等考虑进来,进一步为 Yelp 的用户提供更好的体验。请期待我们接下来的更新吧

鸣谢:相片排名系统由 Wei-Hong C.、Alex M.、Colin P.、Prasanna S.、Joel O. 和 Frances H. 设计并实现。

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2017-04-04 17:161765
用户头像

发布了 152 篇内容, 共 67.7 次阅读, 收获喜欢 63 次。

关注

评论

发布
暂无评论
发现更多内容

Native Drawing开发指导,实现HarmonyOS基本图形和字体的绘制

HarmonyOS开发者

HarmonyOS

走心推荐!10款能让你的企业管理事半功倍的咨询软件。

彭宏豪95

科技 在线白板 咨询 在线协作 效率软件

深度|低代码开发平台和微服务架构的优势与挑战

codebee

DDD 低代码 微服务、

一文读懂AQS的前世今生

是月月啊2023

Java 面试题

亚马逊云科技 -- AIGC时代的数椐基础设施

追风少年

Amazon

GPU在元宇宙中的作用—元宇宙云端解决方案

3DCAT实时渲染

元宇宙 实时渲染

wing一款轻量快捷的团队开发工具

iofomo

Python 跨平台 开发工具

[译]你需要知道的CSS属性isolation

南城FE

CSS 前端 布局

写作训练营打卡1--最喜欢的极客时间作者

Avril

JDK1.8 ConcurrentHashMap 核心源码(面试重点)

是月月啊2023

另一种学习 Linux kernel 的方式 —— UML

袁世超

UML Linux Kenel

英特尔李映:开源开放是软件生态开拓进取的原动力

E科讯

跨界-我今年最难的一件事

学渣汪在央企打怪升级

多邻国还是流利说

escray

技术人写作 21 天技术人写作行动营 21 天

🎉开发者的福音:TinyVue 组件库文档大优化!类型更详细,描述更清晰!

Kagol

开源 Vue 前端 UI组件库

【Android】深入Binder拦截

iofomo

android 拦截器 binder

我的2023年度关键词:迎接不一样的挑战,充实自我

攻城狮Wayne

#技术人的2023总结

“敏捷教练进阶课程”2024年1月27-28日 · A-CSM认证在线周末班【分时段模块化教学】CST导师亲授

ShineScrum捷行

敏捷教练

一文让你知道企业真正需要一个怎样的远程协同运维平台?

行云管家

运维 远程运维 远程协同

论架构师的关注点:专业向下·业务向上

凌晞

企业架构 架构设计 业务架构

耗时三年开源的H5商城,强烈推荐

越长大越悲伤

Java 开源 springboot

Amazon WorkSpaces 现在提供使用 WorkSpaces 流协议(WSP)的 Web Access

亚马逊云科技 (Amazon Web Services)

Amazon WorkSpaces

14 | 排序优化:如何实现一个通用的、高性能的排序函数.md

鲁米

Databend 如何利用 GPT-4 进行质量保证

Databend

SQL ALTER TABLE 语句- 灵活修改表结构和数据类型

小万哥

MySQL 数据库 sql 程序员 后端开发

喜报!MIAOYUN入选成都高新区“瞪羚企业”

MIAOYUN

云计算 MIAOYUN 瞪羚企业 成都高新梯度培育企业 企业资质

Wireshark中的TCP协议包分析

小齐写代码

2023 Flink Forward Asia 参会指南来啦!

Apache Flink

大数据 flink

Groovy StringBuilder类踩坑

FunTester

使用 Kubernetes Agent Server 实现 GitOps

极狐GitLab

Kubernetes DevOps gitlab gitops workflow

ERP和MES的区别与联系,这篇接地气的文章终于讲明白了!

优秀

MES系统 mes ERP系统 mes和erp区别

用深度学习技术来找到Yelp上的美图_语言 & 开发_Alex M._InfoQ精选文章