M3ID的公式:
CD的公式(概率空间版本):
CD的公式(logits空间版本):
为简单对比,主要比较概率空间版本。logits空间版本已有证明和概率空间版本等效,在此不做详细讨论,证明过程详见原论文的appendix
(1)mask的区别
CD的mask:
意思是:概率太低的logits直接排除,既不做CD,甚至直接不可能作为输出,因为其logits直接被置为-inf
M3ID的mask:
注意,这里是指:当最大的logits小于阈值时,才使用CD;即若模型对某个预测十分自信时,则不需要使用CD,直接输出即可
和原始CD的区别:原始CD对每个t,都排除掉较小的logits,然后全部t都使用CD
而M3ID,并没有排除掉较小的logits,而是仅对部分t使用CD
其实两种策略并无冲突,是可以结合的
(2) β \beta β的区别
这里我们以logits空间的版本为例,因为logits空间的版本的公式和M3ID更像,也就是解耦了输出的scale和偏移direction的版本。此时,偏移direction由 β ( c o n d i t i o n − u n c o n d i t i o n ) \beta(condition-uncondition) β(condition−uncondition)决定。
M3ID的 β \beta β:
β = 1 − e ( − λ t ) e ( − λ t ) \beta=\frac{1-e^{(-\lambda{t})}}{e^{(-\lambda{t})}} β=e(−λt)1−e(−λt),其中 λ = 0.02 \lambda=0.02 λ=0.02
当t=34.65时, β = 1 \beta=1 β=1,当t=100时, β = 6.389 \beta=6.389 β=6.389, β \beta β是一个单调递增函数,且随着t的增大,差值(或者说比值)会逐渐占据主导
注意,logP=log_softmax(logits)和logits是近似等效的。