从0开始GAN-7-IRGAN

Motivation

IRGAN: A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models

信息检索的方法主要分为两个流派,生成式检s索模型(generative retrieval model)和判别式检索模型(discriminative retrieval model)。

生成式检索模型 ($q \rightarrow d$):认为query和检索所需要的document之间有一个潜在的随机生成的过程。也就是给定一个 query,然后生成相应的 document.

判别式检索模型 ($q + d \rightarrow r$):把query和document作为联合feature,计算其相关性relevancy. 然后基于 relevancy 对 document 进行排序。其中关于 ranking a list of documents 有三种范式:pointwise, pairwise, listwise.

作者将上述两种模型与GAN相结合,利用GAN的对抗性的思想去提升两类模型。

判别式检索模型 $p_{\phi}(r|q,d)$ 作为判别器,maximize 来自真实 labeled 的数据。它提供信息来指导生成器的训练,这种信息不同于传统的 log-likelihood.

判别式检索模型 $p_{\theta}(d|q,r)$ 是生成器,生成generated sample来迷惑判别器,minimize 对应的目标函数。

Model Architecture

A Minimax Retrieval Framework

a set of queries ${q_1,…,q_N}$, a set of documents ${d_1,…,d_M}$. 其中 给定一个 query 都有对应的相关度较高的 document 也就是真实的数据 $true_{(q,d)}$,其数据量是远小于总的document数量 M 的.

The underlying true relevance distribution can be expressed

as conditional probability $p_{true} (d|q, r)$, which depicts the (user’s) relevance preference distribution over the candidate documents with respect to her submitted query.

这样真实的相关性 (q,d) 存在潜在的相关性条件分布 $p_{true}(d|q,r)$.

Generative retrieval model $p_{\theta}(d|q,r)$: 生成器的目的就是去尽可能的模拟真实的相关性分布 $p_{ture}(d|q,r)$, 从而尽可能生成相似度高的 document.

Discriminative retrieval model $f_{\phi}(q,d)$:是一个二分类分类器。

其中判别器具体的计算 $f_{\phi}(d,q)$ 与IR task有关。后续会详细介绍。

Overall Objective 目标函数:

最小化来自生成器 $p_{\theta}$ 的 sample 的概率,最大化来自true data $p_{true}$ 的 sample 的概率.

Optimising Discriminative Retrieval

优化判别器:

Optimising Generative Retrieval

这篇paper中生成器不是token by token的生成新的ducoment,而是从given documents中选择最相关的document.

对于生成器的优化,最小化目标函数(1):

上述公式从第一步到第二步有点小变化,简单推导下即可。

这里sample得到d的过程是离散的。怎么理解呢,可以类比文本的生成(尽管此表的分布是连续的,但是从中选一个token,然后作为判别器的输入,这个过程是不可导的)。同样,这里是从一系列documents中sample一个作为判别器的输入,这个过程是离散的,且不可导。所以作者采用了policy gradient的方法来解决这个问题。

公式(4)中对生成器的优化可以看作是 maximize $J^G(q_n)$. 使用policy gradient优化的推导如下:

这里的policy是 $p_{\theta}(d|q_n,r)$ 就是我们需要优化的生成式检索模型,对应的action是给定environment q的情况下sample得到 document. 判别器得到的log-prob就是reward.

为了减小REINFORCE方法中variance,作者采用了advantage-function,也就是减去baseline,其中baseline是均值:

整个IRGAN的训练过程的伪代码:

上图中的公式(22)就是公式(5). 整个过程理解起来还是蛮简单的。

还有个问题为解决的是,前面提到对于不同的 IR 任务,判别器 $f_{\phi}(q,d)$ 的方式是不一样的。

pairwise case

Furthermore, ifwe use graded relevance scales (indicating a varying degree of match between each document and the corresponding query) rather than binary relevance, the training data could also be represented naturally as ordered document pairs.

此外,如果我们使用分级相关性比例(指示每个文档与相应查询之间的不同匹配程度)而不是二元相关性,则训练数据也可以自然地表示为有序文档对.

也就是不仅仅根据query和document之间是否相似这样的二元文档对,而是利用有序文档对(这在IR中其实更为常见),作为判别器的输入,这样能获取更多的信息。

这个时候的labeled document是 $R_n={<d_i,d_j>|d_i > d_j}$, 其中 $d_i > d_j$ 意味着 $d_i$ 比 $d_j$ 的相关性更高。

使用pairwise discriminator对应的目标函数:

其中 $o = <d_u,d_v>, o’=<d_u’,d_v’>$. 在实际的操作中,选择一对document $<d_i,d_j>$. 然后选择相似度较低的 $d_j$ 与生成器得到的 $d_k$ 组成新的pairs $<d_k, d_j>$,作为判别器的输入。这样的目的就是认为 $d_k$ 的相似度高于 $d_j$ 的情况下,让 $d_k$ 尽可能的去与 $d_i$ 相似。

在前面介绍了生成器 $p_{\theta}(d|q,r)$ 实际上就是 softmax,看公式(2).

对于pairwise的形式,$d_j$ 也作为生成器的输入之一,对应的生成器是另一种 softmax:

其中 $g_{\theta}(q,d)$ is a task-specific real-valued function reflecting the chance of d being generated from q.

作者

Xie Pan

发布于

2019-08-30

更新于

2021-06-29

许可协议

评论