Diverse Ranking with Policy-Value Networks

Abstract:

搜索结果多样性的目标是从候选集合中选择的文档尽可能满足多的主题。一般来说,选择样本的最优子集是一个NP难问题。已经存在的方法通常形式化问题为使用贪心序列文档选择来对文档进行排序。每次排序选择能够最大化额外信息的文档。很显然,贪心选择产生了局部最优排名。这篇文章里提出使用蒙特卡洛树搜索(MCTS)加强马尔科夫决策过程(MDP)来减轻这个问题,名为M2DivM^2Div。在M2DivM^2Div中多样性排名的构建被形式化为MDP过程,每个动作对应于选择一个文档。给定一个由query,已经选择的文档,候选集组成的MDP状态,利用一个递归神经网络产生policy function来指导文档选择,value function用来预测整个排序的质量。接着使用MCTS来加强raw policy和value通过挖掘后续位置的可能排名,获得一个更好的search policy用于decision-making。

Introduction

搜索结果多样性可以形式化为从候选集合中选择一个文档子集能够覆盖尽可能多的子主题。由于一个文档的多样性依赖于其他选择的文档,所以选择一个最优的文档子集是一个NP难问题。

已经在贪心文档选择框架下提出大量多样性排序算法。例如,代表性方法MMR使用查询文档相关性的总和和最大化文档距离(marginal relevance)作为标准。贪心序列文档选择简化了排序过程并且加速了在线排名。但是由贪心文档选择产生的排名是局部最优的。在每个排名位置,贪心选择机制只考虑了当前排名位置的概率。但是局部最优文档不能导致全局最优的多样性排序,因为文档的利用不是独立的。当前文档的选择将会改变后续候选文档的效用并且因此影响后续的决策。一般来说,排名算法需要挖掘整个排名空间,然后这在现实中是不可行的,因为N个文档存在N!种不同的排名。

受启发于AlphaGo和AlphaGo Zero在Game of Go上面的成功,在这篇文章中提出MCTS加强的MDP模型用于多样性排序,用于减轻局部最优排名问题。在这个新的排名模型中,使用MDP来建模序列文档选择过程用于多样性排名。在每个时间步骤中,基于query和之前的文档排序,使用一个RNN来产生policy(候选文档的分布)来指导文档选择和同于估计当前整个文档排名质量的value。为了减轻局部最优问题,不是使用raw policy来指导选择,而是执行一个探索性的decision making:使用MCTS来探索在后续位置可能的文档排名,生成一个加强版的search policy用于进行当前位置的文档选择。由于它探索了更过未来可能的文档排序,所以search policy与之前的raw policy相比有更高的概率来选择一个全局最优的文档。该过程在每个决策步骤迭代执行直到候选集合为空。

强化学习被用于训练模型参数。在训练阶段,在每个训练迭代和对于每个训练query,在每个排序位置由当前的policy function和value function指导的MCTS被执行。MCTS产生一个search policy用于文档选择。接着模型参数被调整来最小化损失函数。

损失函数由两项组成:
1)predicted value和整个文档排序的最终质量(αNDCG@M\alpha-NDCG@M)的平方损失。
2)predicted raw policy和search policy的交叉熵。随机梯度下降被利用于指导最优化。

相关工作

2.1搜索结果多样性

通常的做法是将搜索中的多样化排名列表的构建形式化为顺序文档选择的过程。这是基于以下观察:在多样化排序中,文档可以提供的附加效用不仅取决于文档本身,还取决于前面的文档。不同的模型设计了不同的标准来估计搜索用户可以从候选文档中获取的效用。

根据这一想法,Car-bonell和Goldstein 提出了最大边际相关性(maximal marginal relevance)标准来指导文档的选择。在每次迭代中,选择具有最高边际相关性得分的文档,其中得分是查询 - 文档相关性与文档与当前结果集中的文档的最大距离的线性组合,也就是新颖性。然后,在下一次迭代中随着结果集中文档的数量增加1更新边际相关性得分。基于MMR,Guo和Sanner提出了概率潜在MMR模型。 xQuAD以子查询的形式直接模拟原始查询的不同方面,并将效用估计为检索到的文档与每个识别的子查询的相关性。 PM-2将找到不同搜索结果的问题视为文档排名的比例表示。胡等人提出了一种效用函数,它明确地利用了查询的层次意图,并选择了最大化层次结构多样性的文档。评估方法也是基于意图层次结构开发的。He等人提出结合隐式和显式主题表示来构建更多样化的排名。 Gollapudi和Sharma提出了一种结果多样化的公理方法。

机器学习技术已被应用于构建多样性排名,也采用贪婪的顺序决策作为基本框架。 关键问题是如何在training queries的基础上自动学习效用函数。 一些研究人员将utility定义为手工相关特征和新颖特征的线性组合。 效用函数中的新颖项可以用神经张量网络的深度学习模型建模。 江等人使用递归神经网络和max-pooling来明确地利用注意机制来模拟子主题信息。 夏等人。 [33]提出用MDP模拟文档utility的动态,并用policy gradient来学习模型参数。

2.2 强化学习for IR

强化学习已广泛用于variant IR应用。例如,在[20]中,提出了一种基于部分观察马尔可夫决策过程(POMDP)的双赢搜索框架,将会话搜索建模为双智能代理随机游戏。在模型中,搜索用户的状态被编码为四个隐藏的决策制定状态。在[38]中,基于日志的文档re-ranking被建模为POMDP。 [33]和[30]建议用MDP构建文档排名的过程,分别用于搜索结果多样化和相关性排序的排序任务。多武装强盗,另一种强化学习模型,也被广泛应用于排名学习。例如,[23]提出了两种在线学习强盗算法,用于根据用户点击行为来学习不同的文档排名。 [37]将信息检索系统的交互式优化正式化为决斗性强盗问题,[16]提出级联强盗为用户识别K最具吸引力的文档。另见[12]
强化学习模型也用于构建推荐系统。例如,[26]设计了一个基于MDP的推荐模型,用于考虑每个建议的长期影响和每个建议的预期值。 Lu和Yang [19]提出了POMDP-Rec,一种神经优化的POMDP算法,用于构建协作过滤推荐系统。
在本文中,我们还采用MDP的强化学习模型来形式化搜索结果多样化中的多样化排序过程。

3. MDP and MCTS

应用MDP和MCTS来建模多样性排序过程

3.1 Markov decision process

MDP提供了一个数学框架,用于使用代理 - 环境接口对顺序决策过程进行建模。 MDP的关键组成部分包括:在这里插入图片描述
MDP模型运行过程:
在每个时间步骤t,接收状态stSs_t \in S,并基于此选择一个actionatA(st)a_t \in A(s_t)。下一个时间,将已选状态作为action的一部分,产生一个新状态st+1=T(st,at)s_{t+1}=T(s_t, a_t)。强化学习的目标是最大化V(s0)V(s_0).

3.2 Monte Carlo tree search

由MDP做出的决策(根据policy选择最confident的actions)可能会获得次优解。理论上挖掘决策序列的整个空间会得到全局最优解。然而,这是不现实的。MCTS是一个在整个空间进行启发式搜索的工具,与贪心选择相比更有可能会产生一个更好的决策序列。

给定t,policy function p,state value function V,MCTS的目标是搜索一个加强版本的policy用于做出更好的决策。MCTS由四部分组成:selection,expansion,simulaition和back-propagation:
在这里插入图片描述
MCTS在actions之上输出一个search policy π\pi,用于在时间t选择action,迭代持续直到整个序列生成。

4.使用policy-value networks进行多样化排序

在这里插入图片描述
在本节中介绍所提出的M2Div模型,该模型利用MDP和MCTS对不同的排序过程进行建模,并分别加强在每个MDP迭代中选择文档的策略。每个MDP time step对应于一个排序位置,在每一个时间,policy-value network接收sts_t,经过LSTM产生状态sts_t的表示。在这之后,根据当前的policy函数p和value fucntion V进行MCTS搜索。MCTS的输出是一个加强版的新的search policy π\pi。接着根据加强的policy π\pi来选择ata_t,其从候选文档集中选择一个文档并将其放置在位置t+1t+1。到下一个时间步t+1t+1,产生一个新的状态st+1s_{t+1},过程重复直到所有的文档都排好序。

4.1 MDP formulation of diverse ranking

假设我们给出一个查询q,它与一组检索到的文档在这里插入图片描述相关联,其中查询q和文档xi都用它们的初步表示来表示,即向量通过doc2vec模型学习,X是所有可能文档的集合。 多样性排名的目标是构建一个可以对文档进行排名的模型,以便排名最高的文档涵盖搜索查询的尽可能多的各种子主题。
多样化排名的构建可以被视为具有MDP的顺序决策的过程,其中每个时间步骤对应于一个排名位置。 MDP的states, actions, transition function, value function, and policy function设置为:
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
Value function被学习用来近似prefined评估度量。
这篇文章中使用LSTM来将输入状态s表示为一个real vector,接着将value function定义为LSTM输出的加权总和的非线性转换。
给定:
在这里插入图片描述
在t-th cell的输出向量和cell state vector被连接作为LSTM的输出:
在这里插入图片描述
在这里插入图片描述

4.2 Strengthening policy with MCTS

使用等式4中的raw policy进行贪心搜索可能会导致局部最优排名,因为policy仅仅总结了历史信息而没有考虑action ata_t将会如何影响未来的决策。
为了缓解这个问题,按照AlphaGo 和AlphaGo Zero的做法,我们建议使用MCTS在排名领域进行先行搜索。具体而言,在每个排名位置t,执行MCTS搜索,以当前策略函数p和值函数V为指导,并输出强化的新搜索策略π\pi。相信搜索策略π\pi将为排序位置选择比由等式(4)中的原始策略p选择的更好的动作(文档)。这是因为前瞻MCTS试图探索整个排名空间并且可以部分地缓解次优排名问题。
图2显示了MCTS过程,算法1显示了详细信息。树的每个节点对应于MDP状态。树搜索算法将根节点SRS_R,搜索次数K,值函数V,策略函数p,标签JJ和评估度量R作为输入。请注意,J和R仅在训练时使用。该算法迭代K次并输出用于为根节点SRS_R选择文档的强化搜索策略。假设MCTS tree的每个边e(s,a)(从状态s到状态T(s,a)的边),存储了action value Q(s,a),访问计数N(s,a)和先验概率P(s,a) 。根状态SRS_R的原始策略p(sR)p(s_R)通过以下步骤得到加强:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
当traversal到达了叶子节点sLs_L,如果是在测试阶段没有标签可以利用,使用VSLV_{S_L}来评估节点。在训练阶段如果sLs_L不是终点也使用VSLV_{S_L}来评估,如果是终点,则使用真实的性能度量来评估。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.3 Training with reinforcement learning

在这里插入图片描述
当排序终止后,会组成一个文档的分布,使用评估标准来给出一个ground-truth return。其中R可以是任意的多样性排序度量标准例如αNDCG@M\alpha-NDCG@M。在每个时间步骤E={(st,πt)}t=1TE=\{(s_t, \pi_t)\}_{t=1}^T生成的数据和最终的评估r被用于在训练中的ground-truth signals来调整value function。调整模型参数以最小化预测值V(st)与根据所选评估度量评估排名之间的误差,并最大化原始策略pstp_{st}与搜索策略πt\pi_t的相似性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
图3说明了给定训练查询的损失的构造。 通过反向传播和随机梯度下降来训练模型参数。 在训练过程中的所有参数上使用AdaGrad 。
请注意,在第t次迭代(算法2的第8行到第12行)构建的搜索树在后续步骤中重复使用:与所选文档相对应的子节点(所选action)变为 新的根节点; 此子项下面的子树及其所有统计信息都会保留,而树的其余部分将被丢弃。

4.4 Online ranking

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章