A Diversity-Promoting Objective Function for Neural Conversation Models论文阅读笔记

编程知识 更新时间:2023-05-02 21:08:34

本文是李纪为的论文“A Diversity-Promoting Objective Function for Neural Conversation Models”阅读笔记。违章提出使用MMI代替原始的maximum likelihood作为目标函数,目的是使用互信息减小“I don’t Know”这类无聊响应的生成概率。一般的seq2seq模型,倾向于生成安全、普适的响应,因为这种响应更符合语法规则,在训练集中出现频率也较高,最终生成的概率也最大,而有意义的响应生成概率往往比他们小。通过MMI来计算输入输出之间的依赖性和相关性,可以减少模型对他们的生成概率。本文提出了两种模型(其实就是改了下目标函数,而且训练过程中仍然使用likelihood,仅在测试的时候使用新的目标函数将有意义的响应的概率变大~~),MMI-antiLM和MMI-bidi,下面分别进行介绍。

新的目标函数

在介绍模型之前先来看看新的目标函数和普通的目标函数的区别,以便清楚地明白新目标函数的作用和功能。首先看下原始的目标函数,就是在给定输入S的情况下生成T的概率,其实就是一个T中每个单词出现的条件概率的连乘。

接下来看提出的第一个目标函数MMI-antiLM,在其基础上添加了目标序列本身的概率logp(T),p(T)就是一句话存在的概率,也就是一个模型,前面的lambda是惩罚因子,越大说明对语言模型惩罚力度越大。由于这里用的是减号,所以相当于在原本的目标上减去语言模型的概率,也就降低了“I don’t know”这类高频句子的出现概率。

然后是第二个目标函数MMI-bidi,在原始目标函数基础上添加logp(S|T),也就是T的基础上产生S的概率,而且可以通过改变lambda的大小衡量二者的重要性。后者可以表示在响应输入模型时产生输入的概率,自然像“I don’t know”这种答案的概率会比较低,而这里使用的是相加,所以会降低这种相应的概率。接下来我们再详细介绍两个模型的细节

MMI-antiLM

如上所说,MMI-antiLM模型使用第一个目标函数,引入了logp(T),如果lambda取值不合适可能会导致产生的响应不符合语言模型,所以在实际使用过程中会对其进行修正。由于解码过程中往往第一个单词或者前面几个单词是根据encode向量选择的,后面的单词更倾向于根据前面decode的单词和语言模型选择,而encode的信息影响较小。也就是说我们只需要对前面几个单词进行惩罚,后面的单词直接根据语言模型选择即可,这样就不会使整个句子不符合语言模型了。使用下式中的U(T)代替p(T),式中g(k)表示要惩罚的句子长度:

此外,我们还想要加入响应句子的长度这个因素,也作为模型相应的依据,所以将上面的目标函数修正为下式:

MMI-bidi

MMI-bidi模型引入了p(S|T)项,这就需要先计算出完整的T序列再将其传入一个提前训练好的反向seq2seq模型中计算该项的值。但是考虑到S序列会产生无数个可能的T序列,我们不可能将每一个T都进行计算,所以这里引入beam-search只计算前200个序列T来代替。然后再计算两项和,进行得分重排。论文中也提到了这么做的缺点,比如最终的效果会依赖于选择的前N个序列的效果等等,但是实际的效果还是可以的。

实验结果

最终在Twitter和OpenSubtitle两个数据集上面进行测试,效果展示BLEU得分逗比标准的seq2seq模型要好。

更多推荐

A Diversity-Promoting Objective Function for Neural Conversation Models论文阅读笔记

本文发布于:2023-04-28 16:32:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/475d10b3936ea2c57cae83955e65fb1f.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:笔记   论文   Objective   Promoting   Diversity

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 109105文章数
  • 27701阅读数
  • 0评论数