论文精度(1)-- Lipschitz constrained parameter initialization for deep transformers
概览
- 改变residual connection与layer normalization的位置可以缓解深层Transformer难以优化的问题。
- 作者比较了计算顺序(residual connection与layer normalization的位置)上的细微差别,并提出了一种参数初始化方法,该方法利用Lipschitz约束对Transformer的参数进行初始化。
- 即使不调整原来的计算顺序,应用Lipschitz约束进行参数初始化,也可以使得模型正常收敛。
1、引言
- 多层网络可以增强模型的容量,但同时会增加训练的难度。
- 即使应用残差网络和层正则化技术,深层的Transformer依然难以训练。(文中作者也提出了大量的解决的论文,比如:Transparent Attention、DLCL等等)
这篇论文的主要解决的问题如下:
- 从经验上证明,修改Transformer中的层正则化与残差连接的顺序,可以有效的改善模型优化。
- 深层的分析了计算顺序的不同是如何影响模型收敛的,并提出了一种基于Lipschitz约束的初始化方法。
- 相对于之前的研究,从经验上证明了正确的初始化可以帮助原来不调整计算顺序的深层网络收敛。
- 深层Decoder对于Transformer也是有效的。
2、不同计算顺序的收敛性
2.1 经验上的分析
offical implementation(V2):
published(original paper V1):
对于V1和V2的传递过程进行分析:
我们可以发现,V1相对于V2,在其残差网络的输出上多了一个权重
ω
\omega
ω/
σ
\sigma
σ。
而由试验结果可知,V2对于深层网络没有收敛问题。
2.2 理论分析
作者认为V1的收敛问题可能是由于紧跟在残差网络后的层正则化显著的减少了残差网络对后面的影响,
V1的输出受权重
ω
\omega
ω/
σ
\sigma
σ的影响,当其小于1时,深层的网络难以收敛。
3、Lipschitz约束初始化
问题:如果缩小残差网络的输出可能使深层的Transformer无法收敛,那么如果
ω
\omega
ω/
σ
\sigma
σ>1呢?
那么很自然的,如果
ω
\omega
ω/被初始化为1,那么
σ
\sigma
σ应属于(0,1],故
这样使得 ω \omega ω/ σ \sigma σ至少等于1。
为实现这个目标,可以通过限制
在[a,b]之间即可,下面给出证明:
其中
即为P(x)的期望,故x-E(x)<b-a,所以:
可得只与区间长度相关,而与具体的分布无关。
则可利用Lipschitz条件,当K小于等于1时,|F(x)-F(y)| < k|x-y|,设F为参数在[a,b]上的分布函数,则|F(x)-F(y)| < k|b-a|