本期:
在对话模型上学习带有指导的Discourse level的多样性
机构:
卡耐基梅隆大学-语言技术研究所
GitHub:
https://github.com/snakeztc/NeuralDialog-CVAE
常见的神经encoder-decoder模型在建模开放域对话 (open-domain conversations) 时常常会生成乏味枯燥的常见的回答(e.g., I don’t know)。
为了解决这个问题,本文提出了一个新的架构,基于CVAE (conditional variational autoencoders) 来捕获 encoder 端 discourse-level 的多样性。
为了发现模型可能存在的潜在的回答,我们使用潜在变量 (latent variable) 对潜在回答的分布式 embedding的概率分布建模,如图1。
本文的三个贡献:
1 Encoder-decoder Dialog Models
一部分工作希望可以输入更多更丰富的上下文信息:
另一部分工作希望改进 encoder-decoder models 的架构:
2 Conditional VAE
VAE(Kingma and Welling, 2013) 是图像生成中比较流行的。CVAE是 VAE的一种变体,能够根据某些属性生成不同的图像 (Yan et al., 2015; Sohn et al., 2015).
VAE / CVAE在图像生成方面取得了很好的结果,但将其与自然语言相结合的过程中存在着问题vanishing latent variable problem.Serban et al., (2016b)
下图(a)所示为baseline model,一个普通的encoder-decoder模型:
1 CVAE
本处理解困难或者没有CVAE基础的童鞋可以先阅读这篇:条件变分自编码器(CVAE)
或者自行阅读相关论文🤭。
在本文所示encoder-decoder+CVAE的模型中,所用到的变量如下:
模型在训练过程中使用 recognition network qφ(z|x, c) 来近似真实的后验分布 posterior distribution p(z|x, c),损失函数写为:
L(θ, φ; x, c) = −KL(qφ(z|x, c || pθ(z|c))
+ Eqφ(z|c,x)[log pθ(x|z, c)]
≤ log p(x|c)
在生成过程中,首先从 the prior network pθ(z|c) 中采样得到 z,然后使用decoder pθ(x|z,c) 得到回答X。(图 2 (a)):
图2: Graphical models of CVAE (a) and kgCVAE (b)
本处理解困难或者没有CVAE基础的童鞋可以先阅读这篇:条件变分自编码器(CVAE)
或者自行阅读相关论文🤭。
2 Kg-CVAE
过去对对话系统和语篇分析的研究表明,许多语言线索都能捕捉关键特征。在训练过程中,显式的提取话语特征,可以使模型学习有意义的潜在变量z。
因此,为了将语言特征(linguistic features)合并到基本CVAE模型中,我们提出kgCVAE。
首先将语言特征集表示为y。假设x的生成取决于c,z和y。y依赖于z和c,如图2(图 2 (b))。我们将修改后的模型称为知识导向的CVAE(knowledge-guided CVAE, kgCVAE)。
此模型的优点:
解码器的每个step的输入为cat[et,y],其中et是第t个单词在X中的word emb。
MLPy可基于Z和C来预测y'= MLPy(z,c)。(下图3中蓝色y)
损失函数写为:
L(θ, φ; x, c, y) = −KL(qφ(z|x, c, y)∥Pθ(z|c))
+ Eqφ(z|c,x,y)[log p(x|z, c, y)]
+ Eqφ(z|c,x,y)[log p(y|z, c)]
3 BOW-loss
前文提到的,由于潜在变量消失问题 vanishing latent variable problem (Bowman et al., 2015),使带有RNN解码器的简单VAE/CVAE无法在z中编码有意义的信息。
我们提出了一种简单的技术:bag-of-word loss(BOW-loss)。
引入一个额外的loss,要求decoder预测回答X中的词袋(bag-of-words),如图3b所示(黄色部分)。
修改后的带有 bag-of-word loss 的CVAE的变分下界为(kgCVAE参见附录A):
L′(θ,φ;x,c) = L(θ,φ;x,c)
+Eqφ(z|c,x,y)[logp(xbow|z,c)] (6)
数据集:Switchboard (SW) (Godfrey and Holliman, 1997)
数据集大小:train/validate/test:207, 833/5, 225/5, 481 (c, x) pairs
图5展示出,学习到的潜在空间与dialog act和回答X的长度高度相关,这证实了我们的假设。
Figure 5: t-SNE visualization of the posterior z for test responses with top 8 frequent dialog acts. The size of circle represents the response length.
最后,我们评估了使用RNN解码器训练VAE / CVAE的BOW loss丢失的有效性,比较了四种不同的训练设置:
(1)没有任何启发式的标准VAE;
(2)具有KL annealing(KLA)的VAE;
(3)带BOW loss的VAE;
(4)具有BOW损失和KLA的VAE。
对于所有带有KLA的模型,在前5000 batches中,KL weight从0线性增加到1。
Table 3: The reconstruction perplexity and KL terms on Penn Treebank test set.
表3显示了测试集的重建困惑度和KL cost。KLA有助于改善重建损失,但需要尽早停止,因为在KL权重变为1之后,模型将恢复为标准VAE。最后,具有BOW loss的模型实现了更低的困惑度和更大的KL成本。
本文提出了两个新颖的模型,这些模型显示出了在discourse级别上的多样回答的卓越性能。
作者:西柚媛
编辑:西柚媛