美文网首页Machine Learning & Recommendation & NLP & DL
对抗训练在推荐中的应用(二):IRGAN - SIGIR2017

对抗训练在推荐中的应用(二):IRGAN - SIGIR2017

作者: 阿瑟_TJRS | 来源:发表于2019-09-26 11:05 被阅读0次

    本文是自己在IR研究中研读的一篇顶会文章的翻译及解读,也是推荐中关于对抗训练的系列论文阅读之一
    原文:IRGAN: A Minimax Game for Unifying Generative and
    Discriminative Information Retrieval Models
    地址:https://arxiv.org/pdf/1705.10513.pdf

    • 发表于信息检索顶会SIGIR2017(Best Paper
    • 有阿里淘宝团队参与,网上的翻译及笔记也很多,是非常经典而具有借鉴价值的佳文
    • 本篇笔记是笔者原创文章,如需转载引用,请务必在文中附上原链接及相应说明,包括作者信息及联系方式(阿瑟,QQ:761322725)
    • 本篇笔记非标准译文,其中包含了笔者自己对问题的部分理解,仅供参考,欢迎学习交流

    对抗训练(Adversarial Training)近年来在深度学习及图像应用中广泛应用,GAN的思想被广泛应用,大有泛滥之势,而IR中真正成功应用GAN的范文非IRGAN所属。

    目录

    摘要

    本文提出一种将信息检索建模(\color{red}{IR-Modelling})的两个思想流派的统一的建模方法:生成检索(Generative retrieval,G)侧重于预测给定查询的相关文档(注:即\color{red}{query->doc}),以及鉴别检索(Discriminative retrieval,D)侧重于预测给定查询文档对的相关性(注:即\color{red}{<query,doc>->relate_{score}})。

    我们提出了一种极小极大游戏理论(注:minmax game 非常重要的理论)来迭代优化两种模型。

    • 判别模型D旨在挖掘来自标记和未标记数据的信号,为训练生成模型G以在给定查询的文档上拟合相关性分布提供指导
    • 生成模型G作为D的攻击者,通过最小化D的识别目标函数以对抗方式产生判别模型D的困难样本。

    通过这两个模型之间的竞争,证明了提出的统一框架充分利用了两种IR建模思路:

    • (i)生成模型通过来自判别模型的信号学习拟合文档的相关性分布
    • (ii)判别性模型能够利用生成模型选择的未标记数据来实现对文档排名的更好估计。

    实验结果表明,在5%的精度和MAP上15.50%的显着性能提升显着超过各种应用的强大基线,包括网页搜索,物品推荐和问答。

    简介

    信息检索的典型定义是在给定查询(query)的情况下提供(具有排序 rank)文档列表。 它具有广泛的应用,从文本检索和网页搜索到推荐系统,问答和个性化广告[27]。 IR理论和建模主要有两个流派。

    传统的思路是假设文档和信息需求之间存在潜在的随机\color{red}{生成过程}(由query提供)
    在text ir中,经典相关性模型侧重于描述如何根据给定的信息需求生成(相关)文档:q→d,其中q是查询(例如,关键词,问题,取决于具体情况) c IR申请),d是其相应的文件(例如,文本文件,信息项,答案),箭头表示生成方向。

    新思路是利用机器学习的力量,从而转向从标记的相关判断或其反馈(如点击或评级)中学习的判别(分类)解决方案。转为一种模式识别问题
    它将文档和查询联合作为特征进行考虑,并根据大量训练数据预测它们的相关性或排序顺序标签:q + d→r,其中r表示相关性,符号+表示特征的组合。

    IR建模思路

    虽然信息检索的生成模型在理论上是合理的并且在建模特征(例如,文本统计,文档标识符空间上的分布)方面非常成功,但是它们难以利用来自其他通道的相关性信号,例如链接,点击等。 缺乏对相关性等信号的学习处理能力。虽然信息检索的判别模型(如学习排名)能够从大量标记/未标记数据中隐含地学习检索排序函数,但它们目前缺乏获取有用特征或从大量未标记数据中收集有用信号的原则方法

    结合上面的两个思路,文章提出了统一的框架:

    框架 图片源自https://www.cnblogs.com/Allen-rg/p/10307473.html

    IRGAN定义

    MinMax框架

    我们有一组查询{q1,...,qN}和一组文档{d1,...,dM}。 在一般情况下,查询是用户信息需求的任何特定形式,例如搜索关键字,用户简档或问题,而文档可以是文本文档,信息项或答案,这取决于特定的检索任务。 对于给定的查询qn,我们有一组标记的相关文档,其大小远小于文档的总数M.
    基础真实相关性分布可以表示为条件概率p_{true}(d|q,r),描述了关于其提交的查询的候选文档上的(用户)\color{red}{相关性偏好分布}。 给定一组来自p_{true}(d|q,r)的样本作为训练数据,我们可以尝试构建两种类型的IR模型

    • G Model p_{\theta }(d|q,r) 尝试从给定查询q的候选池中生成(或选择)相关文档,如稍后在等式1中所指定的。 换句话说,它的目标是尽可能地近似文档上p_{true }(d|q,r)\color{red}{真实相关性分布}
    • D Model p_{\phi }(d|q,r)相反,它试图区分匹配良好的查询文档元组(q,d)与不匹配的元组,其中f_{\phi}(q,d)给出的匹配优点取决于d与q的相关性; 换一种说法, 其目标是尽可能准确地区分查询q的相关文档和非相关文档。 它实际上只是一个二进制类,我们可以使用1作为真正匹配的查询文档元组的类标签(正例),而0作为不匹配的类标签(负例)。\color{red}{分类问题}

    总体目标

    受到GAN理念的启发,我们的目标是通过让他们玩一个极小极大游戏(注:极大极小的理念很好理解,\color{red}{及分别使用极大与极小值来确定优化目标)}来统一这两种不同类型的IR模型:生成检索模型将尝试生成(或选择)看起来像真实相关的相关文档 文件,因此可以欺骗判别检索模型,而判别检索模型将试图明确区分地真实的相关样本和由其对手生成检索模型生成的样本

    目标函数 总体可以分为两部分:G模型和D模型部分,分别对应到参数和
    其中具体的判别函数f_{\phi}(q,d)在不同的任务中表示形式不同;
    即sigmoid函数,实现将判别结果转换成为分值的形式,在通过log对数处理,构建出目标函数;
    具体的计算过程则可以相应分为两步
    • 先优化D,计算\phi^*
      判别器D的目标是最大限度地提高对数似然性,以正确识别真实的和生成的相关文档。利用真实样本中的文档,以及从当前最优生成模型p_{θ^*}(d|q,r)中抽取的文档进行训练,可以得到判别检索模型的最优参数。 D目标函数 只要具体的判别函数f_{\phi}(q,d)可微分计算,就能使用随机梯度下降进行参数求解
      当然目标函数的形式最终也近似于JS散度的形式(\color{red}{用于描述两种分布的近似程度})衡量生成数据和真实数据的分布.
      进而可以将问题理解为对JS散度进行最小化(训练生成器)就可以使生成数据逼近真实数据。反之最大化其,使用判别器区分能力更强。
      使用采样的方法进行判别器参数计算,最大化该式,最终问题如下所述,形似于二元逻辑回归。
      image.png
    • 优化G,计算\theta^*
      G模型旨在最小化目标函数,以符合p_{true}(d|q,r)的潜在相关性分布(注:生成思想,拟合一种数据分布,在此拟合的query-doc之间相关性的分布);并在此基础上,从整个文档集中随机抽取文档,以欺骗/攻击(fool)D模型。
      需要注意的是,与GAN不同,生成模型是为了直接生成已知文档(在document_id空间中)而不是它们的特征,(GAN是通过随机噪声生成的),即IRGAN生成器是输入query然后从已有的document中选取。与传统的GAN有区别。需要引入强化学习的策略进行学习优化。
      这里的工作是从给定的文档池(document pool)中选择相关文档。注意,由irgan生成新文档(特性,例如bm25的值)是可行的,但是为了保持关注,我们将其留作以后的研究。
      优化目标 可以很清楚地看到,目标是最小化函数,通过将sigmoid函数\sigma (\cdot )=\frac{1}{1+e^{-x}}带入原式,并保留G模型有关项,最后的问题转化为最大化问题。
      \color{red}{强化学习策略}
      如上所述,由于生成模型最后的输出documents是离散的(ID),无法使用梯度下降进行计算优化,因此要借助基于策略梯度的强化学习进行优化*(policy gradient based reinforcement learning) 策略梯度
      (由于对强化学习接触比较少,该公式也不是特别理解;强化学习三元素:行动、策略、奖励)
      我们在最后一步中执行采样近似,其中d_k是从当前版本的生成器p_{θ}(d|q,r)中采样的第k个文档。定义奖励函数log(1+exp(f_{\phi}(d,qn)))作为对在环境q_n中采取行动d的策略p_{\theta}(d|q_n,r)的奖励
      为了减少学习过程中的偏差,使用优势函数替换奖励项, 后一项即为baseline项
      算法流程 算法大致可分为三步:初始化模型(需要预训练)-> G -> D

    博弈论-纳什均衡

    可以证明,当我们准确地知道真实的相关性分布时,上述的irgan的极小极大博弈,具有纳什均衡,其中生成器完全符合真实相关文档的分布,而判别器无法区分生成的样本和真实样本。然而,在实际应用中,真实分布是未知的,在这种情况下,生成/判别检索模型如何收敛以达到这样的平衡仍是当前研究中的一个悬而未决的问题。在我们对irgan的实证研究中,我们发现,根据特定的任务,G和D模型可能达到不同的性能水平,并且其中至少有一个模型比相应的原始模型有显著的改进。
    鉴别器和生成器如何相互帮助?对于正样本,无论是否观察到,其相关得分由判别函数f_{\phi}(q,d)和条件概率密度p_{θ}(d|q,r)给出,分数可能有一定的正相关。在每个训练epoch,生成器尝试在鉴别器的决策边界附近生成样本,以混淆下一轮的训练,而鉴别器则尝试将生成的样本减分。由于正向但未观察到的(即真阳性)样本和(部分)观察到的阳性样本之间存在正相关性,生成器应该能够学习使用来自鉴别器的信号,比其他样本更快地向上推这些正的但未观察到的样本。

    让我们用敲击水中浮动的肥皂泡的敲击棒进行类比,如上图所示。
    • 未观察到的正肥皂泡与观察到的正肥皂泡之间存在连接线(即正相关),观察到的正肥皂泡一直在水面上(“水面”即鉴别器的决策边界)
    • 鉴别器充当敲击浮动的肥皂泡的棒子,而生成器G则是选择性地让肥皂泡漂浮到水面上的水(提供向上的浮力)。
    • 即使生成器G不能完全拟合数据的条件分布,仍然可能存在动态平衡,因为正、负未观察到的肥皂泡的分布在水的不同深度处达到稳定(此处比较难懂、即水下的不同类别的肥皂泡也能存在平衡,从而说明水中存在动态平衡,尽管水可能无法完全拟合出/控制上下浮动的正未观察到的样本)
    • 由于未观察到的正肥皂与停留在水面上的观察到的正肥皂有关(这个相关性很好说明,正样本具有相同的条件分布,自然具有相关性),因此总体而言它们应该能够达到比(未观察到的)负肥皂更高的位置。

    具体应用

    本文该部分具体列举了三种具体应用:网页搜索、物品推荐与问答。此处仅挑物品推荐一例做说明,具体的推荐模型是常用的矩阵分解(MF),用户对物品的评分函数可定为:
    s(u,i)=b_i+\mathbf{v}_{u}^{T}\mathbf{v}_{i}其中b_i是偏置项,而\mathbf{v}则是矩阵分解出的潜在特征向量。u对应到前面公式推导中的query,i对应document.

    效果对比
    推荐中常用的评估方法是留一法(Leave-One-Out),取每个用户最近一次的交互的物品构成测试集,其他交互记录作为训练;评价每个用户的最近一次交互的物品是否会出现在算法生成的推荐列表中。
    具体的评价指标选用了准确率P和NDCG,P定义测试物品集中的物品是否会出现推荐列表中,反映推荐的准确性;而NDCG则衡量推荐的物品在推荐列表中的位置(越靠前越好),综合反映推荐的质量。

    总结

    这篇文章是推荐领域将GAN和强化学习巧妙融合在一起的佳作,也为后来者提供了(生成学术垃圾)借鉴思路。这样的框架结构还可以用于研究推荐中的exploration的问题。

    相关文章

      网友评论

        本文标题:对抗训练在推荐中的应用(二):IRGAN - SIGIR2017

        本文链接:https://www.haomeiwen.com/subject/txhgyctx.html