一种用于信息检索的对抗性模仿点击模型

问题描述:

点击模型:研究用户和物品排名列表互动,为学习排序模型提供了关于用户反馈的更好理解。

点击模型的关键:构造关系

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。 . . , }生成。

点击模型的目标是模拟从发出查询到放弃搜索的过程

图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)另一方面,它也给生成的序列低奖励,其中前缀,即先前生成的点击与训练数据有很大不同,训练数据明确限制了错误的传播。

在训练过程中,由于鉴别器更好地区分了生成的序列和真实序列,这使得生成器产生更真实的前缀,因此暴露偏差可以是充分缓解

图2

对抗性模仿点击模型的总体框架。

查询ID 记录ID 垂直类型 生成点击 真实点击 零赘余

左:生成器的模型架构。

右:鉴别器的模型架构。

空白节点是零填充,它将在嵌入层之后映射到相应形状的零向量。

你可能感兴趣的:(一种用于信息检索的对抗性模仿点击模型)