【阿里强化学习01】基于强化学习的实时搜索排序策略调控

 

【背景】

让搜索引擎对不同特点的用户做出针对性的排序,以此带动基于搜索引导下的成交。

传统方法 Learning to Rank(LTR)⽅法主要是在商品维度进⾏学习,根据商品的点击、成交数据构造学习样本,回归出排序权重。 Contextual LTR ⽅法可以根据⽤户的上下⽂信息对不同的⽤户给出不同的排序结果,但它没有考虑到⽤户搜索商品是⼀个连续的过程。⽤户最终选择购买或不够买商品,不是由某⼀次排序所决定,⽽是⼀连串搜索排序的结果。

把搜索引擎看作智能体Agent,用户看作环境Environment,则商品搜索问题可以被视作典型的顺序决策问题,Agent不断的与环境进行交互,进行试错学习,这正是强化学习的根本思想。

【问题建模】

状态定义:每一个PV请求发生时,我们把用户在最近一段时间内点击商品的特征(价格、转化率、销量)作为当前Agent感知到的状态。同时为了区分不同群体用户,还加入用户长期特征(购买力、偏好宝贝、偏好店铺)。n是点击商品的数量。

动作空间:Agent能够选择排序策略空间,搜索场景中排序策略实际上是一组权重向量,一个排序权重向量就是Agent的一个动作,本文是采用确定性策略梯度算法(DPG),则是Actor的输出是一个确定性的策略,即动作,而非一个随机策略(动作的概率分布)。Actor以状态的特征为输入,最终生效的排序权重分为输出。假设一共有m个维度的排序权重,同时每个维度的权重分量也是不同的,为状态s的特征向量,是第i维度排序权重分的常数,用来对其量级进行控制(不同维度的排序权重分会有不同量级)

奖赏函数设定:基本的奖赏函数目标是提高点击率和GMV,简单的可以用点击率和购买率进行评价

基本的奖赏函数定义简单,经过试验验证发现算法最终能够稳定地区分不同的动作,但是动作之间差别不大。这对学习算法收敛的快慢却会⼤受影响,⽽这是在实际中我们必须要考虑的问题。同时淘宝主搜这种⼤规模应⽤的场景中,较难在短时间内观察到不同的排序策略在点击和成交这样的宏观指标上的差别。因此,有必要在奖赏函数中引⼊更多的信息,增⼤不同动作的区分度。在原有的基础上,我们将商品的⼀些属性特征加⼊到奖赏函数的定义中,通过奖赏塑形(Reward Shaping)的⽅法丰富其包含的信息量。

为包含先验知识的函数,可理解学习过程的子目标(Local Objective),eg。如在迷宫游戏中,可以定位状态s所在位置与出口的距离,这样可以使Agent更快地找到潜在与出口更近的距离状态。

K为状态s对应PV中商品数量,i表弟i个商品,为Agent在状态s执行的动作,表排序策略下对商品的点击(或成交)的极大似然估计。

 

【算法设计】

双11之前为actor-critic模型

策略函数:(⽤参数化的函数对策略进⾏表达,通过优化参数来完成策略的学习。神经网络作用能够胜任)

搜索场景排序策略实际上是一组权重向量,用来表示。每个商品最终排序是又其特征分数和排序权重向量u的内积决定。Actor最终输出为一个确定性的策略,这对连续动作空间来说更加方便。

策略梯度:

我们的目标是最大化任意状态s上的长期累积奖赏值。就表示在确定性策略作用下,Agent在所有状态上所能获得的长期累积奖励期望之和。

由于上面梯度更新公式中,s和a都是连续的数值,我们无法精确获取到的值,所以得通过值函数估计方法进行近似计算,采用线性函数估计方法将Q函数用参数向量w进行表达。

值函数学习:

双11之后升级为DDPG模型

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值