博客专栏

EEPW首页 > 博客 > 腾讯PCG长文:探究对话数据的局部分布特性与对抗回复生成模型的内在联系(1)

腾讯PCG长文:探究对话数据的局部分布特性与对抗回复生成模型的内在联系(1)

发布人:机器之心 时间:2021-10-07 来源:工程师 发布文章

当前,深度学习的不断发展使机器学习各研究方向之间的界限趋于模糊,出现了机器学习模型在不同领域(如 CV 与 NLP)和不同问题(如 NMT 与 NRG)之间的迁移使用的利好局面。但是,在实际的迁移使用过程中,容易出现模型表现与预期不符的情况,在这种情况下,对于特定问题的数据分布特性的考察和研判往往是更重要的环节。本文以基于对抗学习的回复生成模型为背景,探讨了局部数据分布特性对于对抗学习的潜在影响,并在此基础上提出了一个新的对抗学习目标。

生成式对抗网络 (Generative Adversarial Nets, GAN)[1] 的出现和快速发展为机器学习领域中关键问题的解决提供了新的思路。在过去几年中,我们可以在各领域的各种任务中看到 GAN 一族模型的身影,其中当然也包括非任务型对话系统(Non-task Oriented Conversational System,即 ChatBot)当中的端到端回复生成问题(End-to-End Response Generation / Neural Response Generation, NRG)[2, 3]。

与 CV 领域的各种经典的生成任务相比,NRG 问题中引入对抗学习的时间较晚,但这并不影响研究者对于该方法潜在有效性的预判,尤其是人们普遍相信对抗过程引入的随机性可能对于解决 NRG 任务中的 safe response 问题起到显著作用。Safe response 问题特指基于 Encoder-Decoder 架构的端到端生成模型经常输出无意义或低信息量的回复,例如 I don't know 或 I also think so 等,这些句子可以作为大部分 query 的回复,但对于对话的展开和信息量的引入来说毫无意义,是 NRG 模型实际落地应用的主要障碍之一[4,5,6,7]。

显而易见,抑制 safe response 出现等价于提升生成结果的多样性(diversity),而从模型的视角来看,提升 diversity 的有效途径之一就是在生成过程中引入随机性。目前大家公认有两种典型的引入随机性的方法,一种是以 CVAE(Conditional Variational Autoencoder)为代表的基于显式数据分布假设的模型[8][9],另一种则是不显式指定数据分布假设的对抗学习模型[5][10]。受限于本文篇幅,这里不对 CVAE 一组进行过多分析,而主要集中于 GAN 一族模型的讨论。

经典 GAN 模型在 NRG 场景下的局限性

如果对 GAN-based NRG 进行实际训练,我们往往会发现,模型真正的学习状态似乎并没有想象中的那么理想。除了要克服模型整体的不可导问题之外,我们还需要面对训练的不稳定性和生成结果多样性不符合预期的问题。

GAN-NRG 生成结果的多样性不符合预期,这本身其实与引入 GAN 的初衷是相悖的。如果仔细观察经典 GAN 生成的回复结果,我们不难发现通过对抗生成的回复虽然比普通的 Seq2Seq 有更加丰富的 pattern,但是对于指定 query 的回复仍然存在比较明显的趋同倾向,也就是说,对抗学习的确对于生成结果的多样性起到了一定的推动作用,但是这种作用并不如预期般明显[5]。

1.png

论文链接:https://www.jmlr.org/papers/volume22/20-052/20-052.pdf

代码地址:https://github.com/Kramgasse49/local_gan_4generation

对于这个现象,我们在这里尝试从 GAN-NRG 的训练目标入手进行解释,进而找到解决整个问题的切入点。

经典的对抗学习框架由一生成模型 (Generator, G) 和一个判别模型 (Discriminator, D) 组成,其训练目标如下:

2.png

其中,p_d 为真实的数据分布,p_z 为基于随机噪声变量 z 生成的数据分布。

而在回复生成的场景下,输入数据是以 query-response (q-r)成对出现的,因此,对于上述训练目标(尤其是生成模型 G),在形式上应进行如下修改:

3.png

在这里,p_g 是样本 (q, \tilde(r)) 的数据分布,其中 \ tilde(r)表示 G 引入随机变量后生成的回复。显而易见,相比于真实存在的样本 (q, r) 的分布 p_d 来说,判别模型 D 的期望是更低的,即存在如下不等式关系:

4.png

与此同时,我们引入另一个事实:用于训练回复生成模型的数据集存在另一个典型特征,即给定一个 query q,其可能对应多个语义上各不相同的 response r,这也是回复生成问题与端到端机器翻译问题的主要区别之一。于是,我们不应该简单地将一个回复生成数据集看成是 N 个简单 (q, r) 对的集合 {(q, r)},而是应将其视为形如(q, R_q | R_q={r_i}) 的集合。于是,上述不等式应进行进一步的修正,得到如下形式:

5.png

从上述关系当中,可以发现一个重要的表达式1633578110290077.png,在逻辑上,这个表达式指向了语义空间中的一个点,即当前 q 所有的回复 r 在语义空间中的质心,同时也代表了 GAN-NRG 训练的一个上限。

上述结论实际上暗示了一种可能的情况,即 GAN 在 NRG 模型上的应用,实际上最好的情况只能保证模型收敛到生成每个 query 所对应回复的局部 pattern 的状态,这也就解释了为什么 GAN 带来了多样性的提升却又没有符合预期的提升。当我们进一步分析这个结论的时候,会发现这个结果实际上是在说,对抗学习过程试图寻找的是每个小的回复集合 R_q 在语义空间中的 “位置”,而对于这个小集合本身的“形态” 并没有太多关注。换言之,如果我们找到一个办法,使模型能够同时关注这个小集合的形态,那么生成结果的多样性应该可以实现进一步的提升。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词: 深度学习

相关推荐

技术专区

关闭