问题描述:
点击模型:研究用户和物品排名列表互动,为学习排序模型提供了关于用户反馈的更好理解。
点击模型的关键:构造关系
1.概率图形模型(PGM)依赖于手动分配的关系,且过于简化了用户行为(二进制化,以是和否来结论)。
2.现用的神经网路,没法解决暴露偏差(训练和测试之间的模型输入差异,用户是动态变化的互动,而训练的模型是静态的)和较差的估计。
(测试数据偏离训练数据,数据稀疏时,训练数据)
(利用神经网路,黑盒化,会难以处理部分隐藏关系)
方法:设计对抗性模仿点击模型(AICM)
1.学习回报函数,该函数恢复用户的内在效用和潜在意图
2.将用户交互建模为一个动态系统,而不是一步点击预测,从而缓解了暴露偏差问题
(将用户与排名列表的交互建模为顺序决策过程,而不是一步预测)
3.通过对抗性训练最小化了JS散度,并学习了一个稳定的点击序列分布
4.显式地构建了一个奖励函数,它恢复了用户的内在效用和潜在意图
模仿学习(暴露偏差问题的缓和):
根据样本专家的演示轨迹,重建(再现)顺序决策策略
1.用户行为视为专家演示,并假设用户的本质效用最大化。
2.基于该假设,从用户的点击日志中显式地构建了一个奖励函数。
3.用这个奖励函数来指导学习一个复制用户行为的点击策略
(奖励函数为排名函数的优化和评估提供指导)
4.将点击模型定义为一个动态系统
5.按照先前的预测建立用户的当前状态,并针对长期目标优化点击模型
(缓和暴露偏差问题)
AICM模型描述
(1)模仿学习
·····························································································
模仿学习:目标是学习一种行为策略𝜋𝜃(𝑎|𝑠)在给定一组专家演示的情况下再现专家行为。
其中每个这样的演示轨迹都是一系列状态和动作:
τ𝜋E=[s0,a1,s1,a1...]
模仿学习步骤:
行为克隆,反向强化学习,生成对抗性模仿学习
(1)1.行为克隆(BC)
·····························································································
学习直接将状态映射到动作,而不恢复奖励函数。
可以最大化专家演示:
对于专家策略访问的每个状态将KL散度最小化𝐷𝐾𝐿(𝜋𝐸, 𝜋𝜃)
只适合单步决策,而不是专注于长期规划。
(1)2.反向强化学习(IRL)
·····························································································
假设专家演示是最优的情况下,从这些演示中恢复奖励函数。
随后根据学习到的奖励函数来训练策略。
但是一个策略对于多个奖励函数都可能是最优的,为了获得唯一解,本文选用最大因果熵,代价函数c∈C(其中代价是负反馈)
选取低成本给专家策略 𝜋𝐸,高成本给其他策略。
𝐻(𝜋𝜃)=E𝜋𝜃[-log𝜋𝜃(𝑎|𝑠)]是所学策略𝜋的因果熵。(我们使用期望值)
𝜋表示的策略
专家演示轨迹
E𝜋 [𝑐(𝑠, 𝑎)] =
𝛾是折扣系数
IRL 方法通常是一个代价极高的迭代学习过程,它必须在奖励函数的每个更新步骤中解决一个 RL 类型的问题。
(1)3.生成对抗性模仿学习(GAIL)
·····························································································
用一个鉴别器𝐷𝑤(𝑠,𝑎):S × A → (0, 1)提供的奖励训练了一个策略
来区分𝜋𝜃和 𝜋𝐸.的 状 态-动 作 对
GAIL的目标函数是:
有大佬证明 IRL 是最大熵原理下占位度匹配的对偶。
GAIL 本质上通过最小化学习行为策略和专家策略下的占用度量之间的 JS 散度来解决占用度量匹配问题
因果熵𝐻 (𝜋)作为策略正则化:
归一化的占用度𝜌𝜋𝜃和𝜌𝜋𝐸分别表示在学习行为策略和专家策略下状态-动作对的分布。
其中:
𝜌𝜋 (𝑠, 𝑎) =
表示一个正则化的状态,确保概率和等于 1
可以看出, JS 散度同时考虑了学习行为策略和目标策略之间正向和反向 KL 散度,使得学习行为策略精确稳定。
(2)AICM
·····························································································
用户与排序列表的交互可以自然地解释为一个顺序的决策过程。
如图 1 所示,用户通过发出查询“𝑞”开始搜索会话,并且排名系统传递具有𝑇个相应文档“𝐷 = {𝑑1,𝑑2,...dT}的 排名列表。
用户检查呈现的列表,可能点击一个或多个文档,然后放弃列表以结束交互。
在这样的过程中,点击序列{𝑐1。 . . ,𝑐𝑇 }生成。
点击模型的目标是模拟从发出查询到放弃搜索的过程
此处定义一般的点击模型,不考虑用户在同一会话中的先前搜索查询的信息。
利用马尔可夫决策过程(MDP)建模用户行为,定义如下:
状态:
初始用户状态𝑠0 伴随着查询𝑞初始化。
状态st包含当前文档dt以及用户交互𝑐1, . . . ,𝑐𝑡−1(点击或不点击)以及排名前t的文档。
𝑠𝑡 = {𝑞,𝑑1, . . . ,𝑑𝑡−1,𝑑𝑡, 𝑐1, . . . ,𝑐𝑡−1}
行为:
𝑎𝑡动作是用户与dt文档的交互,也即是at=ct
用户是否点击某个项目取决于𝜋𝜃 (𝑎𝑡 |𝑠𝑡)策略,该策略由𝜃参数化
转变:
𝑠𝑡状态根据用户的界面进行更新𝑐𝑡和下一个文件𝑑𝑡+1
t>0,𝑠𝑡+1 = {𝑠𝑡, 𝑐𝑡,𝑑𝑡+1}
t=0,𝑠1 = {𝑠0, 𝑑1}
训练我们的模型来预测用户不太可能检查的文档的低点击概率。
排名列表末尾的状态被简单地设置为终端状态
AICM组成:
(1)用于查询、文档和交互表示的嵌入层
(2)生成器:𝜋𝜃 (𝑎|𝑠),产生用户点击的行为策略
(3)鉴别器:𝐷𝑤(𝑠,𝑎),测量生成的用户点击和真实点击之间的差异
由𝑤参数化
为了减轻暴露偏差,生成器和鉴别器在对抗性训练范式中学习。
定义:嵌入层中表示查询𝑞、文档𝑑𝑡和交互𝑐𝑡。
对于𝑑𝑡的每个文档,我们都加入了它的垂直类型𝑣𝑡,这是推断每个文档的呈现风格的一个重要特征。
商业搜索引擎常见的垂直类型包括有机结果、百科垂直、图解垂直等。
首先通过onehot编码将原始身份特征转换为高维稀疏特征。
然后,对单向向量执行嵌入层,以将它们映射到低维、密集的实值嵌入向量:
其中:
𝑁∗和𝑙∗表示的输入大小和嵌入大小每个特征
生成器: 𝜋𝜃 (𝑎|𝑠),根据状态生成用户反馈s
𝑠携带了用户与之前提交的文档的历史交互信息。
本文主选NCM模型(神经网络的点击模型)
门控递归单元(GRU)(计算成本更低)
生成器𝜋𝜃 (𝑎|𝑠)
过程如下:
(1)用户通过发出查询𝑞来启动会话,且初始化隐藏状态h0
同时文档vd,垂直类型v𝑣,先前的互动vc,分别初始为0𝑑, 0𝑣, 0𝑐
(2)在第一轮用户检查第一个文档。
当前隐藏状态 h1 编码最后状态 h0,文档嵌入当前文档 vd,其对应的垂直类型v𝑣通过 GRU 单元嵌入 v𝑣和之前的互动 v𝑐根据来自策略
𝜋𝜃 (𝑎1|𝑠1) =Softmax (Linear(h1))
(3)先前的互动 v𝑐随着当前行为𝑎1 的嵌入而更新(单击或不单击)
(4)对于轮次𝑡 > 1,重复步骤(2)和(3)以选择当前动作𝑎𝑡并更新先前的互动 v𝑐
公式描述如下:
其中:⊕是矢量关联的事,0∗表示零矢量,对应特征的大小为𝑙∗,h𝑡是𝑠𝑡的隐藏表示
在 NCM 中,嵌入 v𝑞的查询仅在第 0 步使用
而在 AICM 中,我们在每一步都对该信息进行编码,以确保在 RNN 的传播过程中不会忘记该信息。
鉴别器:
鉴别器𝐷𝑤 (𝑠,𝑎)将行为𝜋𝜃(𝑎|𝑠)产生的状态-动作对(𝑠,𝑎)与专家政策的状态-动作对区分开来:
同样使用GRU构造𝐷𝑤 (𝑠,𝑎)
第0轮次,初始化鉴别器状态h'0和查询vq
当轮次t>=1时,GRU开始将嵌入 v𝑞的查询、嵌入 v𝑑的文档、嵌入 v𝑣的垂直以及当前 v𝑐与𝑑𝑡的交互作为输入(v𝑐是用户以前的𝑑𝑡−1互动对象)
输出包含𝑠𝑡和𝑎𝑡信息的隐藏向量 h'𝑡
鉴别器𝐷𝑤 (𝑠,𝑎):
隐藏状态h'编码状态𝑠𝑡和行动𝑎𝑡,而ht在等式(7)中仅编码状态st的信息
对抗训练
生成器生成点击序列,而鉴别器
𝐷𝑤 (𝑠,𝑎)测量生成的点击序列和真实序列之间的差异。生成器和鉴别器根据以下程序更新,直到收敛:
1.首先,我们从行为政策中取样𝜏𝜋𝜃的轨迹来自专家演示的𝜋𝜃 (𝑎|𝑠)𝜏𝜋𝐸,然后我们用梯度更新鉴别器参数𝑤
2.根据,每次我们获得更新的鉴别器𝐷𝑤 (𝑠,𝑎),我们使用最近策略优化(PPO) 采取梯度步骤来更新生成器
等式(11)中定义的状态-动作值函数,控制策略梯度的方向和规模,建立在判别器 𝐷𝑤 (𝑠, 𝑎)提供的奖励上,
(1)一方面,当生成的点击序列的下一次点击不同于训练数据时,它给出低奖励,这类似于大多数最先进的方法。
(2)另一方面,它也给生成的序列低奖励,其中前缀,即先前生成的点击与训练数据有很大不同,训练数据明确限制了错误的传播。
在训练过程中,由于鉴别器更好地区分了生成的序列和真实序列,这使得生成器产生更真实的前缀,因此暴露偏差可以是充分缓解
对抗性模仿点击模型的总体框架。
查询ID 记录ID 垂直类型 生成点击 真实点击 零赘余
左:生成器的模型架构。
右:鉴别器的模型架构。
空白节点是零填充,它将在嵌入层之后映射到相应形状的零向量。