
IRGAN: A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models
大一统信息检索模型的博弈竞争
2017年SIGIR满分论文
将GAN应用至信息检索领域
Te experiment code is provided at: htps://github.com/geek-ai/irgan
IR背景
-
经典学派认为,在文档和信息需求(包括查询)之间存在一个潜在的随机生成(gen-erative)过程。在文本检索中,经典的信息检索关联模型着重描述如何根据给定的信息需求生成(相关)文档:q→d,其中q是查询(例如,关键字、用户描述、问题,取决于特定的应用程序),d是其对应的文档(例如,文本文档、信息,项目,答案),箭头指示生成方向。统计语言文本检索模型考虑从文档到查询的逆向生成过程:d→q,通常从文档生成查询项(即查询似然函数)。
-
现代思维学派认识到机器学习的优势,并转向从标记的相关判断或其代理(如点击或评级)中学习的有区别的(分类)解决方案。它将文档和查询联合作为特征,从大量的训练数据中预测它们的相关性或排序标签:q+d→r,r表示相关性,符号+表示特征的组合。web搜索的一个重要发展是学习排名(LTR),这是一系列机器学习技术,其训练目标是为给定的查询(或上下文)提供文档(或项目)列表的正确排序。
A Minimax Retrieval Framework
不失概括性的前提下,信息检索问题描述:有一组查询{q1q_1q1,…,qNq_NqN}和一组文档{d1d_1d1,…,dMd_MdM}。在一般设置中,查询是用户信息需求的任何特定形式,例如搜索关键字、用户建议或问题,而文档可以是文本文档、信息项或答案,具体取决于特定的检索任务。对于一个给定的查询qnq_nqn,我们有一组相关的文档,这些文档的大小远远小于文档总数MMM。
潜在的真实关联分布可以表示为条件概率pt_ttr_rru_uue_ee(ddd | qqq,rrr),它描述了用户提交的查询对候选文档的关联偏好分布。给定一组从pt_ttr_rru_uue_ee(ddd | qqq,rrr)观测到的样本作为训练数据,我们可以尝试构建两种类型的IR模型:
Generative retrieval model
pθp_θpθ(ddd |qqq,rrr)它的目标是尽可能接近文档pt_ttr_rru_uue_ee(ddd | qqq,rrr)上的真实关联分布。由 Softmax 函数给出

Discriminative retrieval model
fψf_ψfψ(qqq,ddd),相反,它试图区分匹配良好的查询文档元组(qqq,ddd)和不匹配的查询文档元组(qqq,ddd),其中fψf_ψfψ(qqq,ddd)给出的得分取决于ddd与qqq的相关性;换句话说,它的目标是尽可能准确地区分查询q的相关文档和非相关文档。事实上,它只是一个二进制分类程序,我们可以使用1作为真正匹配的查询文档元组的类标签(正示例),而0作为那些不匹配的类标签(负数示例)。
总体目标函数(思想同GAN,不多解释)

其中生成式检索模型G写成pθp_θpθ(ddd |qnq_nqn,rrr),判别式检索DDD直接估计文档ddd与查询qqq相关的概率,由判别器分数的sigmoid函数给出:

Optimising Discriminative Retrieval.
鉴别器的目标是最大化正确区分真实和生成的相关文档的对数可能性。

Optimising Generative Retrieval.
目的是最小化目标,它将潜在的相关性分布传递给文档真值pt_ttr_rru_uue_ee(ddd | qqq,rrr),并在此基础上从整个文档集中随机抽取文档,以愚弄有区别的检索模型。

由于ddd的采样是离散的,它不能像原始GAN公式那样通过梯度下降直接优化。一种常见的方法是使用基于策略梯度(Policy Gradient )的强化学习。reward 由DDD给出,其梯度推导如下:
需要强化学习预备知识:https://zhuanlan.zhihu.com/p/42055115

其中dkd_kdk是从生成器(G) pθp_θpθ(ddd |qnq_nqn,rrr)当前版本中采样的第kkk个文档。使用强化学习技术;

作为Policy pθp_θpθ(ddd |qnq_nqn,rrr)在环境qnq_nqn中采取行动ddd的reward。
为了减少强化学习过程中的方差,我们还将奖励项
替换为其优势函数:

算法


成对情况的扩展
对于每个查询qnq_nqn,我们有一组带标签的文档对RnR_nRn={did_idi,djd_jdj | did_idi>djd_jdj}。did_idi>djd_jdj表示did_idi与qnq_nqn更相关。
生成器GGG将尝试生成与RnR_nRn中相似的文档对,即具有正确的排名。鉴别器DDD将尝试将这些生成的文档对与那些实际文档对区分开来。文档对{dud_udu,dvd_vdv}被正确排序的概率可以通过sigmoid函数通过判别性检索模型DDD来估计:


则目标函数:

注意: o={dud_udu,dvd_vdv}
在实践中,通过生成器G生成一个文档对,我们首先从RnR_nRn中选择一个文档对{did_idi,djd_jdj}取排名较低的文档djd_jdj,然后将其与从未标记数据中选择的文档dkd_kdk配对,生成一个新的文档对{dkd_kdk,djd_jdj}。其基本原理是识别与排名较高的文档相似的文档,这些文档更可能与查询qnq_nqn相关。根据当前生成模型pθ(d | q,r),dkd_kdk应比djd_jdj更具相关性。换言之,我们希望从整个文档集中选择dkd_kdk生成一个文档对{dkd_kdk,djd_jdj},它可以模仿文档对{did_idi,djd_jdj}∈RnR_nRn。
这里的生成模型有由softmax给出
式中,gθg_θgθ(qqq,ddd)是一个任务特定的实值函数,表示从qqq生成ddd的概率。然后,选择特定文档dkd_kdk的概率可以由另一个sofmax函数给出:

注意:在实际应用中,相关文档的真实分布是未知的,在这种情况下,生成/判别检索模型如何收敛以达到这样的平衡仍是当前研究文献中的一个悬而未决的问题。在对IRGAN的实证研究中,我们发现,根据特定的任务,生成和判别检索模型可能会达到不同的性能水平,并且至少有一个模型在没有对抗性训练的情况下比相应的原始模型有显著的提高。
讨论
鉴别器和发生器如何互相帮助?对于positive文献,无论观察到与否,其由判别因子fψ(q,d)和条件概率密度pθ(d | q,r)给出的相关性得分可能有一定的正相关。在训练的每一个阶段,生成器试图产生接近判别器决策边界的样本,以混淆下一轮训练,而鉴别器则试图对产生的样本进行评分。由于正但未观测到的(即真阳性)样本和(部分)观测到的阳性样本之间存在正相关关系,因此生成器应该能够学会利用鉴别器的信号,比其他样本更快地向上推这些正但未观测到的样本。

GAN在IR中的不同点
Generative Adversarial Nets
GAN最初是为了生成连续的数据,如图像。IRGAN在以下三个方面有所不同。
-
首先,生成检索过程是对离散数据(即候选文档)进行随机采样,这与基于原始GAN中采样噪声信号的确定性生成不同。具体地说,如式(20)所示,对于每个查询qnq_nqn,生成检索模型的目标是最小化来自区分性检索的回报信号的期望值,而在原始GAN中,奖励信号仅依赖于单个生成实例。’
原始GAN是生成一个图像,让D去判别fake和True,这里是生成一组候选文档 -
其次,对生成检索模型的学习过程是基于强化学习领域的随机策略梯度技术。在IRGAN中,生成检索模型可以看作是在给定的查询环境中选择候选文档的行为体;判别检索模型可以看作是判断查询文档对是否足够相关的批评家。
-
在训练过程中,由于文档是离散的,候选集是fnite,这与图像的连续(infinte)空间或文本序列的极其巨大的离散(几乎无限)空间相背离,因此,在训练过程中,地面真实文档与生成文档之间的冲突非常普遍。
MLE based Retrieval Models.
在信息检索中,最大似然估计(MLE)也被广泛地用作许多相关特征或检索模型的估计方法,如词频(TF)、混合模型(MM)和概率潜在语义索引(PLSI)。本文提供了另一种训练和融合检索模型的方法。
- 首先,生成过程被设计为通过最小化Jensen-Shannon散度来获得潜在的真条件分布pt_ttr_rru_uue_ee(ddd |qqq,rrr)。利用观察到的用户反馈数据,很自然地利用GAN来提炼出一个生成性的检索模型,将其转化为一个未知的条件分布。
- 第二,两个联合的IR模型的统一训练方案具有获得更优检索模型的潜力,因为(i)生成检索自适应地为判别检索训练提供不同的负样本,与静态负采样或动态负采样相比具有策略上的多样性;(ii)判别检索模型的奖励信号为生成检索模型的训练提供了策略指导,这是传统的生成检索模型训练所不具备的。从生成检索的角度来看,IRGAN优于传统的极大似然估计。从判别式检索的角度来看,IRGAN能够利用未标记的数据来实现半监督学习的效果。
APPLICATIONS
公式(8)

完全依赖于gθg_θgθ(q,k),,在取样阶段,温度参数τ包含在公式(8)中表示为:

τ越低,抽样的重点就越集中在排名靠前的文件上。一种特殊情况是温度设置为0,这意味着发生器的熵为0。在这种情况下,生成器简单地按降序排列文档并选择最上面的文档。
判别器对文档的排序,即等式(2)用于逐点设置,等式(6)用于成对设置,完全由评分函数gθg_θgθ(q,d)和fψf_ψfψ(q,d)确定。gθg_θgθ(q,d)和fψf_ψfψ(q,d)是任务特定的。尽管gθg_θgθ(q,d)和fψf_ψfψ(q,d)可能有各种实现(例如,fψf_ψfψ(q,d)被实现为三层神经网络,而Дgθg_θgθ(q,d)被实现为一个因子分解机),但为了更集中于对抗性训练。选择使用相同的函数(具有不同的参数集)来实现它们。

应用
Web Search
一般来说,有三种类型的损失函数是为学习排名而设计的,即点态pointwise , 、成对pairwise和列表态listwise。,在文档对上减少损失并在文档对上添加列表感知权重的列表式方法,例如LambdaRank和LambdaMART],可以在各种学习排序任务中获得最佳性能。尽管排序损失函数多种多样,但几乎每一种排序方法都归结为一个评分函数sss(qqq,ddd)。在web搜索场景中,每个(查询------文档)对(qqq,ddd)可以用一个向量xxxq_qq,_,,d_dd∈RkR^kRk来表示,其中每个维度表示查询文档对或其中任何一部分的统计值,如BM25、PageRank、TFIDF,语言模型评分等。我们遵循RankNet的工作,实现了评分函数的两层神经网络:

其中w1w_1w1∈∈∈RRRl^ll×^××k^kk为第一层的全连通矩阵b1b_1b1∈∈∈RRRl^ll为隐层的偏置向量,w2w_2w2∈RlR^lRl和w0w_0w0为输出层的权值。
Item Recommendation
Item推荐是一个流行的数据挖掘任务,可以看作是一个广义的信息检索问题,其中的查询是由用户过去的项目消费构造的。推荐系统中最重要的方法之一是CF,它探索潜在的用户用户或项目项的相似性,并在此基础上执行个性化推荐。在CF中,一个被广泛采用的模型是矩阵分解,我们将评分函数定义为用户uuu(即查询)对项目iii(即文档)的偏好,如下所示:

其中bib_ibi是项目iii的偏差项,vuv_uvu,viv_ivi∈∈∈RkR^kRk是在kkk维连续空间中分别定义的user和item的潜在向量。这里我们省略了全局偏差和用户偏差,因为它们在每个用户的top-N项推荐任务中减少了???。为了使讨论不受限制,选择了一个基本的矩阵分解模型来实现,并且在需要的时候用更复杂的模型(如因子分解机或神经网络)来代替它。
Qestion Answering
在问答任务[9]中,问题q或答案a被表示为一系列单词。典型的QA解决方案旨在首先理解自然语言问题,然后选择/生成一个或多个与问题最匹配的答案。在各种问答任务中,基于文档的问答任务可以看作是一个基于两个文本(分别为 Qestion和Answering)匹配得分的排序过程。最近,利用神经网络提出了端到端预测短文本对匹配的方法(CNN,LSTM)
对于任何一个问题-答案对(qqq,aaa),我们可以定义一个相关性得分。具体地说,我们可以利用卷积神经网络(CNN)来学习单词序列的表示,其中每个单词都作为一个向量嵌入到RkR^kRk中。通过对齐词向量,长度为lll字句可以看作是RRRl^ll×^××k^kk中的一个矩阵。然后经过CNN通过最大池随时间策略得到当前句子的表示向量,这种问答对的相关度可以定义为它们的余弦相似性,即。


z是卷积核的数目
实验
Web Search
实验设置。Web Search是IR领域的一个重要问题。本文利用著名的基准数据集LETOR(LEarning TO Rank)[25]进行网页排名实验。尽管标准的学习排序任务假定所有训练查询文档对都有明确的专家评分,但用户交互的隐含反馈(如点击信息)在实际应用中更为常见。这意味着我们通常面对的是从隐含反馈中推断出的相对较少的标记数据和大量未标记的数据。在未标记的数据中,可能存在一些尚未被发现的隐藏的正例。因此,我们选择在LETOR 4.0中的MQ2008- semi(百万Query track)集合上进行半监督设置的实验:除了标记的数据(判断的查询文档对),这个集合还包含大量未标记的数据(未定义的查询文档对),这些数据可以被我们的IRGAN框架有效地利用。
数据集中的每个查询文档对都有一个关联级别(−1、0、1或2)。关联级别越高,查询文档对的相关性就越高,除非−1表示“未知”。每个查询文档对由一个46维的特征向量表示(例如BM25和LMIR)。为了在内隐反馈的背景下评估我们提出的IRGAN,我们将相关性级别高于0的所有查询文档对视为正例,将所有其他查询性文档对(相关性-1或0)视为未标记例。 根据我们的统计数据,该数据集中有784个唯一查询; 一般每个查询与大约5个肯定文档相关,1,000张未贴标签的文件。 为了构造训练和测试集,我们执行4:1随机分割。 基于此数据集评估点对和成对IRGAN。
我们提供了MQ2008-semi数据集上所有比较学习与排名算法的总体性能。在我们的IRGAN框架中,我们使用生成式检索模型来预测给定查询的用户偏好文档的分布,然后进行排名,这与在温度参数设置非常接近0的情况下进行sofmax抽样相同。从实验结果中,我们可以看到我们的IRGAN方法在所有指标上带来了明显的性能改进。具体来说,IRGAN pointwise在P@3, NDCG@3这主要集中在排名靠前的几个网页上优于IRGAN pointwise,而IRGAN pointwise在精度@10, NDCG@10和MAP,考虑到更多的网页排名靠前时优于IRGAN pointwise。一种可能的解释是,IRGAN pointwise针对的是条件分布ptrue(d | q,r),它只关心单个文档是否与查询相关,而IRGAN pairwise关心给定查询的文档的整体排名。值得一提的是,我们实验中研究的数据集带有隐式反馈,这在现实生活中很常见,包括网络搜索和在线广告。传统的学习排序方法(如LambdaMART)在这种半监督设置中并不特别有效,这可能是因为它依赖于每个文档对的∆NDCG评分。
图4显示了在等式(10)中排名性能如何随温度参数的变化而变化,生成性检索模型使用该参数为区分性检索模型抽取否定查询文档对。我们发现经验上的最佳取样温度为0.2。当温度从0调整到最佳值时,排名性能会提高,然后再进一步下降,这表明适当增加生成检索模型的攻击性(即倾向于关注排名靠前的文档)是很重要的

Item Recommendation
数据集:
将Movielens和Netfix中的5星评级视为正反馈,而将所有其他条目视为未知反馈,主要关注的是隐式反馈问题。对两个数据集应用4:1随机分割。Movielens和Netfix的矩阵因子数分别为5和16。



Qestion Answering
数据集:InsuranceQA

IRGAN将GAN原理引入信息检索,通过生成式与判别式模型的对抗训练,提升检索准确性。适用于Web搜索、商品推荐及问答系统。
985

被折叠的 条评论
为什么被折叠?



