文章目录
Abstract:
搜索结果多样性的目标是从候选集合中选择的文档尽可能满足多的主题。一般来说,选择样本的最优子集是一个NP难问题。已经存在的方法通常形式化问题为使用贪心序列文档选择来对文档进行排序。每次排序选择能够最大化额外信息的文档。很显然,贪心选择产生了局部最优排名。这篇文章里提出使用蒙特卡洛树搜索(MCTS)加强马尔科夫决策过程(MDP)来减轻这个问题,-- M 2 D i v M^2Div M2Div。
在 M 2 D i v M^2Div M2Div中多样性排名的构建被形式化为MDP过程,每个动作对应于选择一个文档。给定一个由query,已经选择的文档,候选集组成的MDP状态,利用一个递归神经网络产生policy function来指导文档选择,value function用来预测整个排序的质量。接着使用MCTS来加强raw policy和value通过挖掘后续位置的可能排名,获得一个更好的search policy用于decision-making。
Introduction
搜索结果多样性可以形式化为从候选集合中选择一个文档子集能够覆盖尽可能多的子主题。由于一个文档的多样性依赖于其他选择的文档,所以选择一个最优的文档子集是一个NP难问题。
贪心方法例如MMR(maximal marginal relevance)是局部最优的,只考虑了当前排名位置的概率,不能生成全局最优的多样性排序,因为当前文档的选择将会改变后续候选文档的效用并且因此影响后续的决策。一般来说,排名算法需要挖掘整个排名空间,然后这在现实中是不可行的,因为N个文档存在N!种不同的排名。
受启发于AlphaGo和AlphaGo Zero在Game of Go上的成功,在这篇文章中提出MCTS加强的MDP模型用于多样性排序,用于减轻局部最优排名问题。使用MDP来建模序列文档选择过程用于多样性排名。在每个时间步骤中,基于query和之前的文档排序,使用一个RNN来产生policy(候选文档的分布)来进行文档选择和估计当前整个文档排名质量。为了减轻局部最优问题,不是使用raw policy来指导选择,而是执行一个探索性的decision making:使用MCTS来探索在后续位置可能的文档排名,生成一个加强版的search policy用于进行当前位置的文档选择。探索了更多未来可能的文档排序,所以search policy与之前的raw policy相比有更高的概率来选择一个全局最优的文档
强化学习被用于训练模型参数。在训练阶段,在每个训练迭代和对于每个训练query,在每个排序位置由当前的policy function和value function指导的MCTS被执行。MCTS产生一个search policy用于文档选择。接着模型参数被调整来最小化损失函数。
新颖性:
- 使用MDP建模多样化排序过程
- with lookahead MCTS,解决局部最优问题
- ranking with both the shared policy function and the value function
- flexibility of trading-off between accuracy and online ranking speed
MDP and MCTS
应用MDP和MCTS来建模多样性排序过程
Markov decision process
利用MDP对顺序决策过程进行建模。 MDP的关键组成部分包括:
MDP:
在每个时间步骤t,接收状态
s
t
∈
S
s_t \in S
st∈S,并基于此选择一个action
a
t
∈
A
(
s
t
)
a_t \in A(s_t)
at∈A(st)。下一个时间,将已选状态作为action的一部分,产生一个新状态
s
t
+
1
=
T
(
s
t
,
a
t
)
s_{t+1}=T(s_t, a_t)
st+1=T(st,at)。强化学习的目标是最大化
V
(
s
0
)
V(s_0)
V(s0).
MDP formulation of diverse ranking
MDP如何在多样化排序中使用呢?
给定查询query,它与一组检索到的文
X
X
X相关联,其中查询
q
q
q和文档
x
i
x_i
xi都用doc2vec向量标识,
X
X
X是所有可能文档的集合。 多样性排名的目标是构建一个可以对文档进行排名的模型,以便排名top-k的文档涵盖搜索查询的尽可能多的各种子主题。
多样化排名的构建可以建模为MDP的顺序决策过程,其中每个时间步骤对应于一个排名位置
定义:
具体地:
state:
t时刻output vector 和 cell state vector拼接作为当前状态的表示:
policy:
根据候选文档(actions)计算:normalized soft-max function
value-function:
LSMT输出的加权和:
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,迭代持续直到整个序列生成。
使用policy-value networks进行多样化排序
M2Div模型利用MDP和MCTS对不同的排序过程进行建模,并分别加强在每个MDP迭代中选择文档的策略。每个MDP time step对应于一个排序位置,在每一个时间,policy-value network接收
s
t
s_t
st,经过LSTM产生状态
s
t
s_t
st的表示。在这之后,根据当前的policy函数p和value fucntion V进行MCTS搜索。MCTS的输出是一个加强版的新的search policy
π
\pi
π。接着根据加强的policy
π
\pi
π来选择
a
t
a_t
at,其从候选文档集中选择一个文档并将其放置在位置
t
+
1
t+1
t+1。到下一个时间步
t
+
1
t+1
t+1,产生一个新的状态
s
t
+
1
s_{t+1}
st+1,过程重复直到所有的文档都排好序。
Strengthening policy with MCTS
目前还是贪心的策略,因为policy仅仅总结了历史信息而没有考虑action
a
t
a_t
at将会如何影响未来的决策。
为了缓解这个问题,按照AlphaGo 和AlphaGo Zero的做法,利用MCTS先行搜索。具体而言,在每个排名位置t,执行MCTS搜索,以当前策略函数
p
p
p和值函数
V
V
V为指导,并输出强化的新搜索策略
π
\pi
π ,look-ahead MCTS试图探索整个排名空间并且可以部分地缓解次优排名问题。
MCTS过程:
树的每个节点对应于MDP状态。树搜索算法将根节点
S
R
S_R
SR,搜索次数K,值函数V,策略函数p,标签
J
J
J和评估度量R作为输入。请注意,J和R仅在训练时使用。该算法迭代K次并输出用于为根节点
S
R
S_R
SR选择文档的强化搜索策略。假设MCTS tree的每个边e(s,a)(从状态s到状态T(s,a)的边),存储了action value Q(s,a),访问计数N(s,a)和先验概率P(s,a) 。
-
Selection:
在每个simulation的时间点t选择最大化奖励的action:
其中 U U U与先验概率 P P P成正比,访问次数 N N N成反比,从而达到鼓励exploration的牡蛎
-
Evulation & expansion:
在到达每个叶节点之后,使用Value-function对叶子节点评估,如果到达终止状态,那么可以使用true performance measure (e.g., α-NDCG@M) 来评估(训练阶段)。 -
Back-propagation & update:
在evaluation的最后,对每条边的状态 Q Q Q和 N N N进行更新,
最后在N次simulation之后,选择N最大的边进行扩展:
Algorithm:TreeSearch
Training with reinforcement learning
将MCTS融入到训练模型中:
评估标准
R
R
R: 可以是任意的多样性排序度量标准例如
α
−
N
D
C
G
@
M
\alpha-NDCG@M
α−NDCG@M。在每个时间步骤
E
=
{
(
s
t
,
π
t
)
}
t
=
1
T
E=\{(s_t, \pi_t)\}_{t=1}^T
E={(st,πt)}t=1T生成的数据的groud truth
J
J
J来调整value function。
loss: 调整模型参数以最小化预测值V(st)与根据所选评估度量之间的误差,并最大化原始策略 p s t p_{st} pst与搜索策略 π t \pi_t πt的相似性。
图3说明了给定训练查询的损失的构造。 通过反向传播和随机梯度下降来训练模型参数。 在训练过程中的所有参数上使用AdaGrad 。
请注意,在第t次迭代(算法2的第8行到第12行)构建的搜索树在后续步骤中重复使用:与所选文档相对应的子节点(所选action)变为 新的根节点; 此子项下面的子树及其所有统计信息都会保留,而树的其余部分将被丢弃。
Online ranking
with MCTS:使用MCTS进行多样性排序
without MCTS: 考虑到online耗时,不使用MCTS而使用policy
p
p
p, 效果比baseline要好。
Experiment
实验结果表明:online时就算没有使用MCTS,也获得了更好的结果,证明MCTS可以帮助提升raw policies
p
p
p