上篇文章主要和大家聊的是广告智能定向技术之lookalike,今天想和大家谈谈强化学习在推荐混排中的应用。
0.什么是强化学习
强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。强化学习是除了监督学习和非监督学习之外的第三种基本的机器学习方法。<A,S,R,P>就是强化学习中的经典四元组了。其中A代表的是Agent的所有动作;State是Agent所能感知的世界的状态;Reward是一个实数值,代表奖励或惩罚;P则是Agent所交互世界,也被称为model。
1.为什么需要用强化学习
推荐系统中的混排有以下几个难点
(1)数据异构:不同的数据包含不同的特征
(2)目标不同:不同内容(视频和新闻)的各自优化目标不同,很难做到统一的内容排序
(3)运算量大:总的计算量高达业务数*每个业务的精排数量
(4)内容的质量不同:点击率高的优质内容(如热门视频)会挤压低点击率的内容(如冷门新闻)
我们需要引入强化学习来优化系统的长期收益。首先,我们可以利用Markov Progress来对用户在推荐场景的浏览行为进行建模。其中,Agent就是我们的推荐系统本身,Action是我们推荐的内容,Reward是用户给予的反馈信息,包括点击、负反馈以及退出等。每次我们的推荐系统Agent采取某个Action,给用户推荐了一定的内容,用户会给到我们相应的反馈。强化学习的整体效果是会优于监督学习的,一般的监督学习的方式通常给出的是点击率最大的方案,而强化学习给出的最优解是总收益最大的方案。
2.强化学习在推荐混排中的使用姿势
(1)Session based recommendation
我们最优化总奖励即总点击数有:
未来有不确定因素,所以要引入衰减因子
利用DQN梯度下降求解MSE的Loss
(2)Personal DQN
主要框架图如下:
当用户的请求到来时会根据他之前的行为计算隐状态作为此次输入state的一部分,每次选择某个业务作为action,用户点击作为reward
(3)优化后的Session based recommendation
利用RNN来建模session内的信息,将DQN内state用RNN的hidden来描述可以更好地建模session内的特征
3.小结
本文主要给大家介绍了强化学习在推荐混排中的应用,个人认为我们不要将强化学习理解成一种网络,而应将其看成是一种loss。希望能够给大家解决混排问题带来一些不一样的思路哈。
欢迎大家关注计算广告那些事儿哈,除了原创文章之外,也会不定期和大家分享业内大牛的文章哈!