Temperature Sampling看名字就更摸不着头脑,实际上思路非常简单,就是直接re-scale原有的解码词分布: p(x=ul|x1:i−1)=exp(ul/t)∑i∈Vlexp(ui/t) 其中t是一个超参数,取值范围[0,1),t的取值不同,解码词的概率分布也就更平缓或更两极分化。一定程度上也能通过设置不同的t达到与top-k sampling一样...
nucleus sampling的主要思想就是:给定一个阈值p,从解码词中挑选出一个cumprob大于p的最小集合。挑选出该最小集合后,再根据你的设置的sampler进行采样。 好处:该方法的好处就是在不同的时间步,随着解码词概率分布的不同,你的候选空间的大小也会随之动态变化,这样的动态调整往往使得结果更加多样性且通畅。(之前的一...
之后提出了一种top-k sampling的改进方案来解决问题:核子采样。 Top-k Sampling 解决这个问题最简单的方案就是引入Sampling,既然Beam Search每次会选择在Beam中最大概率的词汇,那我们是否可以有一定机率不选最大概率的词就能达到用词出人意料的效果呢?这就是top-k sampling:在解码的每个时间步从前k个概率最大的...