字节跳动基于深度强化学习的广告推荐模型——DEAR详解
被包养的程序猿丶 哈尔滨工业大学 信息与通信工程硕士论文名称:
Deep Reinforcement Learning for Online Advertising in Recommender Systems
论文链接
Deep Reinforcement Learning for Online Advertising in Recommender Systemsarxiv.org一、创新点
1、目前已有一些工业界的研究成果将强化学习应用于广告系统中,但是通常只会考虑广告带来的收益最大化,并不会考虑广告给用户造成的影响。比如在信息流广告的业务场景下,本文给出了一种自然结果和插入广告的平衡,也是用户体验和平台收益的trade-off
2、本文基于DQN提出一种改进的模型框架——DEAR,该框架可以自适应的对投放策略做出调整(推荐列表中是否需要插入广告、插入什么广告、在什么位置插入广告)
二、论文背景
现在各大公司最主要的变现方式还是通过投放互联网广告的方式来营收,而广告的形式也是多种多样,搜索广告(百度、360搜索结果页里面插入广告)、信息流广告(头条推荐内容页、抖音等)等,搜索广告和信息流广告都是在自然结果的基础上通过适当的插入一些广告(用户点击广告,平台收取广告主的费用)来获取收入。文章提出的DEAR用在信息流广告场景下,比如我们在刷今日头条和抖音的时候中间就会偶尔刷到一些广告,如下图所示
抖音信息流广告 今日头条信息流广告当用户在不亦乐乎的刷抖音的时候,如果突然出现一个质量比较差的广告的话用户的体验就会非常不好的(总体来看抖音的广告更接近原生效果,不仔细看开始根本分辨不出这是一则广告,这个确实做得挺好的),所以在这种推荐产品中插入商业广告主要需要考虑一下三个问题:(1)是否插入广告;(2)插入什么广告;(3)在什么位置插入广告。本文也是在权衡平台收益和用户体验的基础上,利用深度强化学习来自适应的调整广告投放策略,在保证用户体验的基础上,最大化平台的收益
三、模型框架
1、模型结构
传统用于广告推荐的DQN网络结构有两种形式,如下图所示
传统DQN模型结构首先假设每个请求的候选广告数量为A,推荐列表的长度为L,state包括用户历史浏览的自然结果和广告、当前的推荐列表和上下文信息;action主要值上文提到的三种行为(是否插入广告、插入什么广告、在什么位置插入广告);reward由广告带来的收益和用户体验两方面决定;在图中左侧的网络中,我们输入用户的状态,输出各个位置的Q值,该网络结构可以得到最优的广告位置,但是无法得到具体应该插入什么广告,图中右侧的网络正好相反。所以为了解决上述传统方式的弊端,论文融合了上述两种模型提出了如下的DEAR网络
DEAR模型结构对于一个给定的广告,利用融合后的网络可以输出在各个位置的Q值,这样就可以得到该广告应该插入的具体位置信息。上述是在我们默认要插入广告的前提下得到该广告的最佳插入位置,但是还有一个之前提到的问题没有考虑,就是是否应该插入广告。整个网络的输出Q值是L+1个(L个自然结果,一个广告),文章将不插入广告这种情况设为位置0,即如果我们最后得到该广告的最佳初入位置是0的话,那么就认为当前不应该插入广告。
还有一个值得注意的地方,论文中的DEAR网络将Q值的输出分为两个部分,使用了类似双塔的这种网络结构,主要是出于如下两点考虑:(1)一方面是否应该插入广告主要受当前用户的影响,如果用户历史上对平台的推荐结果反馈良好的话,那么就大概率会为这个用户展现广告;如果认为该用户存在流失的风险,那么为了保证用户的留存,大概率不会给该用户展现广告,所以是否插入广告主要由state相关的特征来决定;(2)另一方面,对于一个给定的广告,对于不同用户来说展现的位置也不尽相同(千人千面),同时广告本身的一些属性也会对展现位置有所影响,所以一个广告的插入位置由state和action两方面决定。
除此之外文章还介绍了state和action两部分各自特征的一些处理方法,具体细节可以详细阅读论文
2、Reward Function和损失函数
当给用户在具体位置推荐了某个广告之后,用户会对此做出相应的反馈,这里考虑的是广告收益和用户体验两个维度,所以reward function可以具体定义为如下
用户体验部分的reward可以进一步定义为
如果用户继续浏览下面的推荐结果的话就认为是一个正向的反馈,如果用户直接离开不在浏览了,那么认为是一个负向的反馈。广告部分的reward可以具体定义,比如该广告带来的收益等。超参数α主要用于调和两者之间的权重,所以最终的优化目标就是得到一个最优的action-value function
上式中求max的操作需要遍历所有位置和所有广告(应该是召回阶段后的候选广告集)。在此基础上损失函数定义为
其中
3、模型离线训练和线上测试
(1)模型的离线训练流程如下所示
模型离线训练流程主要包括两个阶段:第一阶段是将用户采取某种行为后的状态转移过程存储到replay buffer中,供后续二阶段模型训练;第二阶段是从replay buffer中采样一个batch利用上述的损失函数进行更新。
(2)模型的线上测试流程如下所示
模型线上测试流程线上测试流程与模型训练的第一个阶段比较类似,这里不再赘述
四、实验对比
文章对实验部分进行了大量的分析与对比,从如何设计实验、实验衡量标准、对比的参数等角度进行了详细的阐述,具体细节可以参考论文中的表述,这里只列出DEAR模型和其他模型的对比结果
模型整体效果对比不同component结构效果对比五、总结
近几年工业界也在逐渐的将强化学习引入到推荐与广告领域中来,谷歌在去年发表了两篇强化学习应用到YouTube业务中的论文算是开了一个好头,字节跳动这篇论文也是一种很不错的尝试,但是强化学习如何普遍的应用到推荐与搜索场景下还有很多问题需要解决,如何更高的应用到商业场景中是我们每个该领域从业者需要思考的内容。
欢迎喜欢的小伙伴关注专栏:
独立团丶zhuanlan.zhihu.com
发布于 04-18 「真诚赞赏,手留余香」 还没有人赞赏,快来当第一个赞赏的人吧! 推荐系统 强化学习 (Reinforcement Learning) 个性化推荐
文章被以下专栏收录
独立团丶 享受知识分享的乐趣推荐阅读
DRN: 将深度强化学习应用到新闻推荐
背景和介绍在线个性化新闻推荐已经成为一个富有挑战性的问题,尽管一些传统的在线推荐模型可初步解决新闻推荐中的动态变化性问题。这种动态变化性体现于:首先新闻具有很强的时效性,其次是…
梦想做个翟老师基于深度强化学习的Page-wise推荐
这篇文章介绍发表在 RecSys'18上的论文 Deep Reinforcement Learning for Page-wise Recommendations在目前的推荐场景中,很多时候是推荐系统为用户提供一页(page)的物品,然后用户进行…
Beyon...发表于Beyon...京东:DRL for List-wise Recommendations
背景与介绍目前,大多数的推荐系统都将推荐一系列步骤当做一个静态的过程,并且通过一个固定的策略来实施推荐(比如离线训练一个CTR模型,然后上线做预测)。这样的做法有两个明显问题:无…
梦想做个翟...发表于深度学习强...[深度模型] 阿里MIND网络:天猫首页是怎么给用户做多兴趣embedding的
俊俊发表于推荐算法学...2 条评论
写下你的评论...- Anonymous04-28 这个训练环境咋弄得,线上训练吗
- chen08-19 用户离开就是负反馈么,比如我就是不想看广告,马上就刷走了,这个其实应该算广告推荐失败吧