论文标题:You eat with your eyes first: Optimizing Yelp Image
论文链接:https://arxiv.org/abs/2011.01434
论文单位:斯坦福大学

01

STEPS  引言

该论文是一篇利用AI技术分析用户餐饮行为的文章,[目的是为餐厅老板支招看看通过什么方式能吸引到用户]。

简单介绍一下论文中提及到的Yelp网站如下图所示,它是美国著名商户点评网站,囊括各地餐馆、购物中心、酒店、旅游等领域的商户,用户可以在Yelp网站中给商户打分,提交评论,交流购物体验等,感觉跟中国的大众点评差不多。

Yelp网站有大量的用户群体,约有3600万用户,单就在2019年的第四季度就有3000万用餐者。可以毫不夸张地说,在当今高评论、高流量的世界里,糟糕的评论可以“杀死”一家餐馆。Yelp评级增加一星会导致餐馆收入增加5-9%,这对独立餐厅的收入产生了主要影响。

有观察者发现消费者的评价受广告图像影响较大。在食品行业,小企业往往利润微薄,无力承担连锁餐厅的广告预算。在Yelp上餐厅可以能够上传的它们的食品的广告图片宣传自己餐厅的特色。

企业主其实不清楚一个吸引顾客的“好”形象是什么样子的。[在该论文种作者使用Yelp的图像数据集和基于星级的评估系统来衡量图像在促进餐饮业务发展方面的有效性]。

作者使用迁移学习来训练一个接受Yelp图像并预测星级的分类器。并且作者用Yelp 数据集训练一个GAN来定性研究餐饮图像的共同属性。

实验中对各种图像类别的星级进行分类,分类准确率可以达到90-98%,并观察到包含蓝天、开放环境和许多窗口的图像与好评相关联。

02

STEPS  论文贡献

该论文的贡献可以归结为三点分别是

  • 作者试图利用AI创建一套分析餐饮数据的工具,借此餐厅老板可以使用这些工具来评估他们的业务。

  • 作者建立了一个分类器来评估吸引用餐者广告图片质量。该分类器将餐饮的相关图像作为输入,将预测Yelp评论评分作为输出。其中,低于平均水平的图像将获得1-3.5星的分类,平均图像将获得4星的分类,高于平均水平的图像将获得4.5-5星的分类。

  • 作者用Yelp数据训练GAN模型,其生成的图像将捕捉高质量广告餐饮图像的一些重要特征,并可用作企业所有者的指导和比较来源。

03

STEPS  模型介绍

该论文首先以迁移学习为研究出发点。论文中涉及的数据集Yelp大约有100000张图像,共9类且分布不均匀。作者为了能够获得高质量模型分类器,测试了各种超参数组合、损失函数、优化器。

3.1优化器和损失函数

在该论文中作者训练数据集中使用的优化器的算法有SGD(随机梯度下降),因为SGD是在减少小批量误差的方向上执行权重更新,所采用的深度学习框架是PyTorch,其中动量更新的SGD的公式如下所示

其中表示参数,是梯度,是速度。另外,作者也测试Adma优化器的训练性能,Adma结合了RMSProp和AdaGrad的原理,其通过计算力矩估计值来对模型参数进行更新,具体公式如下所示:

但Adma需要注意的一个问题就是如果给定错误的参数,它将无法收敛。

要知道在该论文中的数据集的9个分类的距离是不等距的[这里需要注意的是分类距离不等距不是说类内数据分布不均匀],如果一个餐馆形象的真实标签是“1.5颗星”,与预测标签“5颗星”相比,模型预测标签“2 颗星”在训练的过程中应该受到更少的惩罚,所以在该论文中采用类邻近性作为分类的测试指标。

论文中采用的损失函数是均方误差损失和交叉熵损失,其中均方误差的损失公式如下所示:

交叉熵损失具体公式如下所示:

3.2超参数调优

对于训练一个深度神经网络来说最让人头疼的就是超参数的调优。在该论文中作者对学习率、学习率衰减、权重、动量、批量等各方面的参数调优都进行大量的尝试。

作者的调优策略是先在10的数量级上进行粗粒度搜索,然后在定义的范围内使用随机初始化进行细粒度搜索。

作者在预训练模型(在ResNet-18中)上进行微调,用预训练权重初始化模型,然后在提供的图像上进行正常训练。对于特征提取,模型用预训练的权重初始化,并且在训练期间仅更新最终的完全连接的层。

训练的过程中发现相邻评分星级之间的差异有些随意,为了提高模型的实用性和简单性,作者对于类别进行了进一步的划分。假设用户将评论[0,3.5]星视为低于平均水平,将评论4.0星视为平均水平,将任何评论[4.5,5]视为高于平均水平。

作者训练一种新的分类器,它接受相同的输入图像,但将输出类别的数量减少到3个[从9个类别进一步缩减为3个类别更有助于可视化]。

3.3 GAN

如下所示:该论文中作者基于Yelp数据集训练了一个GAN模型。经典的GAN框架中涉及一个生成模型和一个判别器,通过这二者来“竞争”减少对抗损失,进而使得GAN的生成器能够模拟出真实的数据分布。

生成器接受随机噪声,并尝试创建与真实图像分布相匹配的图像;判别器试图判别图像是否是原始数据集的成员[在该论文中判别器的作用是判别生成器生成的Yelp数据集中的图像是否为真],GAN的具体的公式如下所示:

从公式中可以看出此方法是通过零和博弈的方式训练来生成器和判别器。

由于输入的星级产生不同类别的图像,所以作者相应做了一个处理就是在不同分类子集上训练不同的模型[这里需要指明的是其实作者可以使用有监督的GAN来对不同的类别进行生成,但是为了保证图像质量的生成效果],作者决定采用无监督的GAN在各个类别中对数据进行训练。

作者在该论文中主要使用的框架是StyleGAN2[StyleGAN2 是当前无监督GAN 中图像生成效果非常棒的框架],其中输入的随机噪声被转换成中间编码向量,它允许创建样式和使用自适应实例规范化)。

04

STEPS  数据集

作者从Yelp学术数据集提取数据,该数据集通常用于自然语言处理研究,但也包含一个包含200000 多幅图像的文件夹。作者将每张图片与一家企业和该企业的星级相关联,所以需要进行大量的预处理。

4.1属性

该数据集由10个大都市地区209393家企业的1968703名用户的8021122条评论组成,数据集大小有20 GB,其中代表的大都市区有蒙特利尔、卡尔加里、多伦多、匹兹堡、夏洛特、厄巴纳-香槟、凤凰城、拉斯维加斯、麦迪逊和克利夫兰,其中相关的字段被捕获并聚集在几个特定的标签周围:业务id和用户id。

“星级”字段包含每个业务的浮动星级。每个图像都包含一个标签字段,分类为:“食物”、“饮料”、“菜单”、“内部”或“外部”。

4.2预处理

为了减小特征空间的大小,作者从Yelp数据集中选择感兴趣多个特定字段。并只保留商业id、 照片id、标签和星级。论文中将每个照片标识映射到一个业务标识,然后再映射到它的星级,最后将图像转换成numpy数组,填充并缩小图像到一个恒定的大小。

所有预处理的图像都存储在8维数组(3,144,200)中。处理后的图像阵列和星级一起存储在最终的数字阵列中,并保存到磁盘上。在该论文中作者实现了一个定制的数据集类,它与这些保存的数组进行交互,并由pytorch DataLoader进行使用。

对于GAN训练,作者根据标签和星级将图像分成新的目录[即一个文件夹包含所有5星级食物图像,另一个文件夹包含所有星级内部图像],论文中明确选择给餐馆的所有图像分配相同的星值。

需要注意一点的是在北美中等城市的所有位置,获得的任何结果都可能不适用于其他环境中的偏好。

如图下图所示,星级严重向左倾斜,并且分布不是正态或均匀的。一个考虑因素是,所有这些评论都来自只占客户群体一部分的Yelp 用户,他们的评论不一定反映他们自己偏好之外的任何因素。

05

STEPS  实验结果

如下图所示,显示了ResNet-18中的FC层的最高精度和损失。在实验中可以发现训练数据没有显著的过度拟合,大约7epoch后,损失和精度都收敛了。

因此此时应用的学习速率衰减似乎非常有帮助,这种高准确度的部分原因可以在下图中看到的评级分布。可以发现,由于平均评级聚集在4,该模型有更高的动机预测更高的星级。

由下表可以发现5个等级中的每一个等级的相对准确度都是显著的。测试准确度从高到低的顺序分别是室内、菜单、室外、饮料、食物。要知道食物数据集大约是第二大数据集的两倍,显然,训练数据的大小并不是导致准确性差异的唯一指标。

在该论文中作者认为这种分类精度的排序可以归因于数据集大小和类内变化的组合。菜单的平均外观可能远没有商店里的一道菜看起来那么多变,这可能导致菜单具有如此高的准确性。

作者观察到一些与正面评价相关的特定品质,比如大窗户、晴朗的蓝天和清晰的店面很普遍,并且生成的图像在视图中显示店面以及地理特征或地标。这表明餐馆的位置和周围的环境氛围对消费者很重要。

如下图所示,可以看到食物图像在生成时表现不佳。把这归因于食物外观和风格的巨大变化,不仅仅是烹饪和传统之间的变化,而是食物外观的根本变化。

本文为粉丝投稿。

备注:GAN

GAN

生成对抗网络、GAN等技术,

若已为CV君其他账号好友请直接私信。

我爱计算机视觉

微信号:aicvml

QQ群:805388940

微博知乎:@我爱计算机视觉

投稿:amos@52cv.net

网站:www.52cv.net

点点【在看】分享技术成果

GAN 优化 Yelp 形象图片广告相关推荐

  1. 【GAN优化】长文综述解读如何定量评价生成对抗网络(GAN)

    欢迎大家来到<GAN优化>专栏,这里将讨论GAN优化相关的内容,本次将和大家一起讨论GAN的评价指标. 作者&编辑 | 小米粥 编辑 | 言有三 在判别模型中,训练完成的模型要在测 ...

  2. 联盟广告新模式—图片广告

    联盟广告新模式-图片广告 作者:佚名 来源:chinaz 更新时间:2010-10-21 分享到 0 网络中总有一种风气:浮躁.当大家都瞧不起独立博客的时候,有的博客能月入几千,当大家在骂这个人的时候 ...

  3. 网络推广软文浅谈网站优化过程中图片的优化技巧和注意事项!

    在网站优化的过程中,网络推广软文介绍到不仅要做好关键词的优化,也更要做好图片优化,在网站不断地利用图文模式时,做好图片优化对网站的排名提升也有很大的帮助.那么对于图片优化都有哪些技巧呢?下面网络推广软 ...

  4. 如何查看经过iOS优化的PNG图片

    编译iOS应用是,xcode会对PNG文件进行优化,这样图片预览就无法显示.那么如何查看这些经过优化的文件呢? 优化的动作是由pngcrush 工具完成的,你可以再xcode中找到.pngcrush  ...

  5. 【Android 安装包优化】WebP 图片格式性能测试 ( 测试 WebP 图片解码速度 | 测试 WebP 图片编码速度 )

    文章目录 一.测试 WebP 图片解码速度 二.测试 WebP 图片编码速度 三.参考资料 测试结果 : WebP 格式图片 , 解码快 , 编码慢 , 占用空间小 ; 在解码速度上 , WebP 格 ...

  6. 【阿里云课程】生成模型之GAN优化目标设计与改进

    大家好,继续更新有三AI与阿里天池联合推出的深度学习系列课程,本次更新内容为第11课中的一节,介绍如下: GAN优化目标设计与改进 本次课程是阿里天池联合有三AI推出的深度学习系列课程第11期,深度生 ...

  7. 【GAN优化】详解GAN中的一致优化问题

    GAN的训练是一个很难解决的问题,上期其实只介绍了一些基本的动力学概念以及与GAN的结合,并没有进行过多的深入.动力学是一门比较成熟的学科,有很多非常有用的结论,我们将尝试将其用在GAN上,来得到一些 ...

  8. 【GAN优化】从动力学视角看GAN是一种什么感觉?

    今天讲述的内容是GAN与动力学,这是一个非常好玩.非常新鲜的视角.考虑到很多人微积分和线性代数等知识的涉猎不多,我将会对涉及的内容都做出基本说明,也并不会涉及过深入的东西,然后争取串成一个故事,扩展一 ...

  9. 【GAN优化】GAN训练的几个问题

    从今天开始,我们将关注训练GAN时产生的问题,作为第一篇文章,首先从几个方面来分析一下实际训练的GAN和理论模型上的GAN不同之处以及实践中出现的问题.第一个部分将介绍最优判别器引发的梯度消失问题,第 ...

最新文章

  1. linux03:系统常用的命令
  2. matlab 系统辨识工具箱,MATLAB系统辨识工具箱的应用.ppt
  3. WebBrowser控件禁用超链接转向、脚本错误提示、默认右键菜单和快捷键
  4. oracle 10g 白皮书,Oracle 10g标准版与企业版
  5. 前端学习(2372):uni-ui库
  6. oracle同一个示例两个用户的数据同步_分享两个shell脚本--一键统计Oracle数据库用户信息...
  7. 信息学奥赛C++语言: 绝对素数
  8. Project Chameleon Work In Progress 12
  9. 使用fiddler4进行微信小程序抓包
  10. java学习软件_刚学习java,用哪些学习软件比较好?
  11. Spring全家桶视频教程
  12. Video.js - HTML5 视频播放器
  13. Ubuntu 关闭 onboard (屏幕键盘应用)开机自启
  14. 【总结】NPU/CPU/GPU 傻傻分不清?
  15. 腾讯云的服务器解析域名步骤
  16. 2021年数维杯数学建模分析和思路——C题
  17. 在windows中使用bat脚本获取linux服务器文件
  18. XML - XML学习/XML文件解析器(C++)实现
  19. 智能小区监控、报警、灯光联动三位一体安全防范系统
  20. 有哪门语言是所有优秀程序员都应该无差别掌握的?

热门文章

  1. 如何彻底清除UniAccess Agent
  2. 2017总结、2018展望
  3. 二分查找求上界和下界
  4. 电脑ping_Windows系统——ping打开教程
  5. 华科计算机学院三好学生,他是华科“三好学生标兵”,被保研到北大、复旦、交大等3所名校!...
  6. 黑龙江大学计算机考研专业课,2017考研:计算机科学与技术专业考研院校推荐之黑龙江大学...
  7. 英语四级真题作文 计算机,2019年12月英语四级写作范文:电脑
  8. debian9为什么默认是pip2_Debian9 安装后基本配置
  9. java logging 格式化_java.util.logging.Logger使用详解 (转)
  10. find命令批量修改权限和用户和删除指定时间文件