[NLG] Comparison of Diverse Decoding Methods from Conditional Language

总述:

总体上是一篇survey,不过后面在基础模型上加了oversampling的改进,然后还对原来的clustering post decoding做了改进。重点在于介绍在conditional language model (就是通过前文预测下一个单词的模型,如GPT)下如何使句子的生成具有diverse(多样性)

主要模型:

1.首先介绍了贪心编码(arg-max),每一次根据当前的hidden取下一个可能性最大的词。 缺点:会倾向于生成重复且短的句子,不允许生成多种句子

2. random sampling:随机取样,在之前的基础上加了一个引入单词分布的值T,在生成的时候就具有了一定的随机性,还是贪心编码。

3. beam search:最经典的模型,他的主要思想是一个宽度优先搜索,每次找当前可能性最高的b个词,然后下一步分别在这b个词的基础上预测,假设每个词预测b个词,那么总共有b平方中选择了,然后在平方个选择里面选择可能性最大的b个,接着重复以上步骤,直到生成完毕。 缺点: 在实际应用中,往往可能性大的分布基本相同,所以其实搜索出来的b个选择,没有多大不同,就一些标点符号的差别。没有多样性。

4.NPAD:对bs(beam search)的一个扩展。

实际上可以结合到任何decoder模型中,他的想法是在decoder的hidden加上一个随机分布T,这样可以使得生成具有多样性。在domain-specific的应用中,还可以加入和domain有关的分布,使得生成具有专业性。(我认为很玄学)

5.top-g capping:对bs的一个改进。

因为bs往往最好的几个生成都集中在一起,导致多样性做的不太好。为什么这么说呢,因为对于当前最好的b个单词,接下来他们都会生成x个单词。有可能某一个单词b1最新生成出来的x个单词都是可能性极高的,那么这样就导致了这x个单词都会被选到当前这一轮需要选出来的b个好的选择中,会使得多样性变差。然后top-g就是规定一下,当前这个单词生成的x个单词虽然都很好,但是最多只允许选择g个,最后再从b*g个中选取最好的b个。

6.hamming diversity :当前生成的这一句话,需要和之前一个阶段的所有候选项保持最大的区别,加了一个loss。

7: iterative beam search:貌似是加大了搜索空间?没太看懂

8.clustered beam search:先把这些生成的候选项做个聚类,用k-mean分成c个聚类,绕后每个聚类里面选b/c个。可能会更有多样性。

9:作者的改进:首先对句子做聚类的时候用了bert的句向量(站在巨人的jb上),其二,选每个聚类中最好的,而不是最接近聚类中心的。其三:去掉部分数量太少的聚类。

10.作者在实验的时候发现:多样性和句子的流畅度,完整性负相关。

一句话总结:

生成方面一个新的坑,总结了各种beamsearch应用于生成多样性的算法。

ps:

感觉human judgements不太靠谱就是了,也不为啥作者能一本正经扯这么多。oversampling 然后再 filter down也不知道是啥操作,感觉就是先选多点回答,然后筛选掉一部分吧

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值