HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

今日头条推出强化学习新成果:首次改进 DQN 网络,解决推荐中的在线广告投放问题

  • 2019-10-15
  • 本文字数:2086 字

    阅读完需:约 7 分钟

今日头条推出强化学习新成果:首次改进DQN网络,解决推荐中的在线广告投放问题

本文来自“深度推荐系统”专栏,这个系列将介绍在深度学习的强力驱动下,给推荐系统工业界所带来的最前沿的变化。本文主要介绍今日头条推出的强化学习应用在推荐的最新论文[1],首次改进 DQN 网络以解决推荐中的在线广告投放问题。

背景介绍

随着最近 RL 研究的火热,在推荐平台上在线广告投放策略中如何利用 RL 引起了大家极大的兴趣。然而,大部分基于 RL 的在线广告投放算法只聚焦于如何使广告收益最大化,却忽略了广告对推荐列表的用户体验可能会带来的负面影响。在推荐列表中不适当地插入广告或者插入广告太频繁都会损害推荐列表的用户体验,与此同时插入太少的广告又会减少广告收入。


因此本文提出了一种全新的广告投放策略来平衡推荐用户体验以及广告的收入。在给定推荐列表前提下,本文提出了一种基于 DQN 的创新架构来同时解决三个任务:是否插入广告;如果插入,插入哪一条广告;以及插入广告在推荐列表的哪个位置。实验也在某短视频平台上验证了本文算法的效果。


DQN 架构

在深入本文具体的算法架构前,我们先来简单回顾下 DQN 的两种经典结构:


  • 图 a 的 DQN 接受的输入是 state,输出是所有可能 action 对应的 Q-value;

  • 图 b 的 DQN 接受的输入是 state 以及某一个 action,输出是对应的 Q-value。


这两种经典架构的最主要的问题是只能将 action 定义为插入哪一条广告,或者插入广告在列表的哪个位置,无法同时解决上述提到的三个任务。



当然,从某种程度上来说将插入位置与插入哪一条广告通过某种表示形式譬如 one-hot 编码来建模 action 是一种使用上述经典 DQN 的方式,这样的话 action 的空间会变成 O(A*L),其中 A 是广告的空间,L 是插入列表的位置空间。这样的复杂度对于实际线上的广告系统是不太能够接受的。

改进的 DEAR 架构

因此,本文提出了一种改进的 DQN 框架 DEAR 用来解决上述推荐系统中在线广告投放问题。该框架试图同时解决上述提到的三个任务。也就是说,本框架会同时针对所有可能的插入位置的 Q-value 进行预估。


如下左图所示,其实是融合了上述提到了两种经典 DQN 结构的结合,输入层包含 State 以及 Action(插入哪条广告),输出层则是广告插入推荐列表的 L+1 位置对应的 Q-value(假设推荐列表长度为 L,则可以插入广告的位置为 L+1 种可能)。与此同时,使用一个特殊插入位置 0 用来表示不进行广告插入,因此输出层的长度扩展成为 L+2。


DEAR 框架详细的架构如下右图所示,输出层 Q 函数被拆解成两部分:只由 state 决定的 V 函数;以及由 state 和 action 同时决定的 A 函数。其中,


  • state 包含了使用 GRU 针对推荐列表和广告进行用户序列偏好建模的 p;当前用户请求的上下文信息 c;以及当前请求展示的推荐列表 item 的特征进行拼接转换形成的低维稠密向量 rec;

  • action 则包含两部分:一部分是候选插入广告 ad 的特征;另一部分则是广告插入的位置;其中这里的前半部分会被当做输入层。



  • reward 函数。Reward 函数也包含两部分:一部分是广告的的收入 r^ad;另一部分则是用户是否继续往下刷的奖励。基于下图的 reward 函数,最优的 Q 函数策略便可以通过 Bellman 等式求得。


Off-Policy 训练

本文基于用户交互历史的离线日志,采用 Off-policy 的方式进行训练得到最优的投放策略。如下图所示,针对每一次迭代训练:


  • (第 6 行)针对用户请求构建 state;

  • (第 7 行)根据标准的 off-policy 执行 action,也就是选取特定 ad;

  • (第 8 行)根据设计好的 reward 函数,计算 reward;

  • (第 10 行)将状态转移信息(s_t,a_t,r_t,s_t+1)存储到 replay buffer;

  • (第 11 行)从 replay buffer 中取出 mini-batch 的状态转移信息,来训练得到最优的 Q 函数参数。


实验

由于没有同时包含推荐列表和广告 item 的公开数据集,本文基于从某短视频网站获取的自 2019 年 3 月的数据集训练得到模型,该数据集包含两种视频:正常推荐列表的视频和广告视频。正常视频的特征包含:id、点赞数、播放完成率、评论数等;广告视频的特征包含:id、图片大小、定价等。


实验对比上本文主要挑选了如下的几个代表性的 baseline 进行效果对比,为了实验对比的公正性,所有对比算法使用的特征完全一致。


  • W&D。本文稍微针对 W&D 进行了扩展来预估是否插入广告以及预估插入广告的 CTR。

  • DFM。DeepFM 是在 W&D 基础上改进而来的一种可以额外学习特征间低阶交互的一种架构。本文的实验也表明 DFM 的表现好于 W&D。

  • GRU。GRU4Rec 使用 GRU 来建模用户的历史行为针对用户是否点击进行预估,本文同样也进行了扩展支持实验场景。本文的实验表明 GRU4Rec 效果好于 W&D 和 DFM。

  • HDQN。HQN 是一个层级 DQN 结构,高阶 DQN 决定插入位置;低阶 DQN 选择特定 ad 进行插入。本文的实验表明 HDQN 效果好于 GRU,因为 GRU 只是最大化当前请求的 immediate 奖励,而 HDQN 则是最大化长期收益。

  • DEAR。本文提出的 DEAR 框架效果好于 HDQN,因为层级的 RL 架构在使用 off-policy 方式进行联合训练时有稳定性问题。详细的效果对比,如下图所示。


参考

  1. Deep Reinforcement Learning for Online Advertising in Recommender Systems


本文授权转载自知乎专栏“深度推荐系统”。原文链接:https://zhuanlan.zhihu.com/p/85417314


2019-10-15 08:003215

评论

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

业务架构那点事(1)业务架构师就是在“盖房子”

涛哥 数字产品和业务架构

企业架构 业务架构

秒懂算法 | 莫队算法

TiAmo

算法 暴力猜解

MySql基础-笔记4 -数据表创建、删除和数据插入、查询等操作

MySQL 数据库 删除 创建

MySql基础-笔记9 -ALTER命令

MySQL 数据库

MASA MAUI Plugin (八)Android相册多选照片(Intent 方式)

MASA技术团队

.net blazor MAUI MASA Blazor

中科协发布2022“科创中国”开源创新榜 OceanBase开源社区入选

OceanBase 数据库

数据库 oceanbase

本周 2 场直播预告!Intel 高级工程师带你探索开源机密计算社区 CCZoo | 第 65 期

OpenAnolis小助手

云计算 运维 直播 intel 龙蜥大讲堂

aspnetcore 原生 DI 实现基于 key 的服务获取

newbe36524

C# Docker Kubernetes

MySql基础-笔记10-索引

MySQL 数据库

【kafka专栏】kafka专栏目录整理(建议收藏不迷路)

石臻臻的杂货铺

kafka

微服务拆分治理最佳实践

京东科技开发者

数据库 微服务 京东云 京东技术 安全接口

直播预告 | 企业如何轻松完成数据治理?火山引擎DataLeap给你一份实战攻略!

字节跳动数据平台

数据库 大数据 数据治理 数据实践

架构实战营模块6 拆分电商系统为微服务

西山薄凉

「架构实战营」

OKR之剑·总结篇01:如何开好一场OKR复盘会

vivo互联网技术

团队管理 OKR

MySql基础-笔记5 -WHERE 、UPDATE、DELETE、LIKE、UNION使用

MySQL 数据库

长安链入选“2022科创中国”开源创新榜

科技热闻

乌卡时代的云成本管理:从0到1了解FinOps

SEAL安全

云服务 FinOps 企业号 2 月 PK 榜

易观千帆 | 2023年1月银行APP月活跃用户规模盘点

易观分析

金融 银行 手机银行

MySql基础-笔记11-临时表、复制表、元数据、序列使用

MySQL 数据库

单元测试利器——手把手教你使用Mockito

京东科技开发者

单元测试 Mockito 京东云 安全测试 京东技术

自研的内存分析利器开源了!Android Bitmap Monitor 助你定位不合理的图片使用

拭心

android 性能优化 BitMap 内存优化

Unittest接口和UI自动化测试框架中的发送邮件服务如何使用?

Python 自动化测试 unittest 邮件服务

搜索EE场景排序链路升级

京东科技开发者

模型 搜索 EE 企业号 2 月 PK 榜 Explore & Exploit

推荐系统[二]:召回算法超详细讲解[召回模型演化过程、召回模型主流常见算法(DeepMF_TDM_Airbnb Embedding_Item2vec等)、召回路径简介、多路召回融合]

汀丶人工智能

自然语言处理 深度学习 推荐系统 搜索算法 召回算法

【立哥】【每日一个小知识】你所知道的牛郎织女故事是真的吗?

Lee Chen

LeetCode题解:938. 二叉搜索树的范围和,BFS,JavaScript,详细注释

Lee Chen

JavaScript 算法 LeetCode

定了!Python3.7,今年停止更新!

程序员晚枫

Python 软件 下载 版本

MySql基础-笔记6 -排序、分组、连接的使用、NULL值处理

MySQL 数据库

架构训练营一作业

null

风险洞察之事件总线的探索与演进

京东科技开发者

京东云 事件总线 京东技术 数据管道 风险洞察

今日头条推出强化学习新成果:首次改进DQN网络,解决推荐中的在线广告投放问题_AICon_深度传送门_InfoQ精选文章