从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.