写点什么

今日头条推出强化学习新成果:首次改进 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:003666

评论

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

SAP 公有云和私有云解决方案概述

汪子熙

公有云 云平台 SAP 11月日更 公有云私有云

一周信创舆情观察(11.15~11.21)

统小信uos

尝试 Promise A+

Jeannette

下单延迟10s撤单性能测试

FunTester

性能测试 延迟队列 接口测试 测试框架 FunTester

Javascript的内存管理

Jeannette

微信 ClickHouse 实时数仓的最佳实践

科技热闻

恒源云(GPUSHARE)_训练一个专门捣乱的模型

恒源云

人工智能 深度学习 算力

应急响应入门之Linux分析排查

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

闭包与内存泄露

Jeannette

阿里蚂蚁花呗团队面试题:spring+分布式+jvm+session+redis

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

先到先得!Alibaba甩出第四次更新的JDK源码高级笔记(终极版)

热爱java的分享家

Java 源码 jdk 面试 经验分享

分布式软时钟有多重要?|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

SAP ERP classification 和 SAP Cloud for Customer 的同步

汪子熙

中间件 SAP ERP C4C 11月日更

字节跳动如何系统性治理 iOS 稳定性问题

字节跳动终端技术

ios 字节跳动 APM APP稳定性

硬科技起飞,这家成立仅三年的AI研究院已颇具国际风范

硬科技星球

TDengine在理想汽车物联网业务场景的落地实践

TDengine

tdengine 时序数据库

【Pandas学习笔记01】强大的分析结构化数据的工具集

恒生LIGHT云社区

Python 大数据 数据分析 pandas

元宇宙最缺的是内容,而云计算能帮上忙

百度开发者中心

云计算 元宇宙

智慧园区一体化管理平台开发,园区智能化集成系统

电微13828808271

JS柯里化和反柯里化

Jeannette

Python代码阅读(第63篇):数字奇偶性

Felix

Python 编程 Code 阅读代码 Python初学者

行业分析| 大势所趋:元宇宙

anyRTC开发者

音视频 视频通话 虚拟现实 元宇宙

CSS布局(五)之圣杯布局和双飞翼布局

Augus

CSS 11月日更

2021年26家大厂Java面试题整理了360道(分布式+微服务+高并发)

热爱java的分享家

Java 架构 面试 程序人生 经验分享

架构实战营 模块五

felix

#架构实战营

跨端分布式计算技术初探|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

两个小时手写了个Zookeeper分布式服务注册中心

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

JS函数的this

Jeannette

async/await 优雅永不过时

CRMEB

回顾我两个月面试阿里,携程,小红书,美团,网易等等(Java岗)

热爱java的分享家

Java 架构 面试 程序人生 经验分享

广发证券携手HarmonyOS打造智慧金融服务|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

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