IRGAN

IRGAN是SIGIR2017的一篇满分论文,它将GAN引入信息检索(IR)领域,利用强化学习解决离散空间的问题。IRGAN结合生成和判别模型,通过优化判别器和生成器,改善信息检索的性能,尤其在精确度上有显著提升。
摘要由CSDN通过智能技术生成

GAN的新领域

最近BIGGAN又让GAN火了一把。可惜在NLP领域GAN的用途很有限,主要原因还是GAN不适用于离散空间里的语言问题。话虽如此,还是有些创新性非常强的论文。在它们当中,兼具很好的实用性的就是SIGIR2017的满分论文IRGAN。IRGAN不仅利用强化学习,创造性的解决了GAN在离散领域的适用问题,而且也如同GAN在其他领域一般,给IR(Information Retrieval)带来了研究范式的改变。关于GAN和MLE的根本性的不同,推荐这篇总结

IRGAN

IR(Information Retrieval)有两大流派:生成式和判别式。前者是根据query来生成意义相关的词语(document),后者是主流,通过机器学习来计算相关度 r = f ( q , d ) r=f(q, d) r=f(q,d) q q q指query, d d d指document。

IRGAN的好处是能够把二者结合起来。GAN的生成器可以负责产生document(严格讲这不是一个generative的模型,这里的产生应该换成选择,后面会解释),判别器能够计算relevance(即r)

生成模型

生成模型即 p θ ( d ∣ q , r ) p_{\theta}{(d|q,r)} pθ(dq,r),用来产生(选择)相关文档。它的目标是尽可能逼近真实分布 p t r u e ( d ∣ q , r ) p_{true}{(d|q,r)} ptrue(dq,r)。和在图像领域的生成模型不同,这里的模型实际上是选择出不同的文档来。这样做的原因也是由语言问题的根本性质所决定的:和图像领域不同,NLP根本上是个离散的问题,我们不可能通过微小的改变某个embedding的维度来得到另外一个词语。所以像图像领域的Generator一样去生成sample并不合适。

但是这也带来一个根本性的问题,就是如何优化生成模型?因为我们通过离散的方式选择出新的文档,无法像传统的GAN一样直接通过梯度下降来优化Generator。作者给出的答案是强化学习

判别模型

判别模型要找到 f ϕ ( q , d ) f_{\phi}{(q,d)} fϕ(q,d),用它来把正确的配对 ( q , d ) (q,d) (q,d)从错误的配对 ( q , d ) (q,d) (q,d)中区分开来。 f ϕ ( q , d ) f_{\phi}{(q,d)} fϕ(q,d)仅仅是一个binary classifier,它的值取决于 ( q , d ) (q,d) (q,d)的相关性。

GAN

上述放在一起,目标函数如下:
J G ∗ , D ∗ = min ⁡ θ max ⁡ ϕ ∑ n = 1 N E d ∼ p t r u e ( d ∣ q n , r ) [ l o g D ( d ∣ q n ) ] + E d ∼ p θ ( d ∣ q n , r ) [ l o g ( 1 − D ( d ∣ q n ) ) ] \displaystyle J^{G^{*},D^{*}} = \min_{\theta}\max_{\phi}{\sum_{n=1}^{N}{E_{d\sim p_{true}{(d|q_n,r)}} {[logD(d|q_n)]} + E_{d\sim p_{\theta}{(d|q_n,r)}} {[log(1-D(d|q_n))]}}} JG,D=θminϕmaxn=1NEdptrue(dqn,r)[logD(dqn)]+Edpθ(dqn,r)[log(1D(dqn))]

生成器希望产生出足以欺骗判别器的样本,而判别希望总是能正确的真实样本和生成样本区分出来。

这里的条件概率 p t r u e ( d ∣ q n , r ) p_{true}{(d|q_n, r)} ptrue(dqn,r) 指在给定查询 q n q_n qn和相关度r的情况下,产生文档d的概率(即文档d为真的概率)。这里因为进行查询的user固定,故隐去user的信息。

另外 D D D可以很简单的用sigmoid函数来表达:
D ( d ∣ q ) = σ ( f ϕ ( d , q ) ) = exp ⁡ ( f ϕ ( d , q ) ) 1 + exp ⁡ ( f ϕ ( d , q ) ) D(d|q) = \sigma(f_{\phi}{(d,q)}) = \frac{\exp(f_{\phi}{(d,q)})}{1 + \exp(f_{\phi}{(d,q)})} D(dq)=σ(fϕ(d,q))=1+exp(fϕ(d,q))exp(fϕ(d,q))
它用来估计文件 d d d和给定查询 q q q相关的概率。

算法

生成器和判别器这两个模型可以分别进行迭代计算,下面看看细节。

最优化判别模型

ϕ ∗ = arg ⁡ max ⁡ ϕ ∑ n = 1 N ( E d ∼ p t r u e ( d ∣ q n , r ) [ log ⁡ ( σ ( f ϕ ( d , q n ) ) ] + E d ∼ p θ ∗ ( d ∣ q n , r ) [ log ⁡ ( 1 − σ ( f ϕ ( d

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值