论文地址:
https://arxiv.org/abs/2003.04887arrow-up-right
作者提出了一种使得深度网络更容易训练的方式,比较新颖的是,该方法没有使用normalize。
该方法非常简单, 作为对比,给出常见一些常见的normalize方式:
Deep Network: xi+1=F(xi)\mathbf {x}_{i+1}=F\left(\mathbf {x}_{i}\right)xi+1=F(xi)
Residual Network: xi+1=xi+F(xi)\mathbf {x}_{i+1}=\mathbf {x}_{i}+F\left(\mathbf {x}_{i}\right)xi+1=xi+F(xi)
Deep Network + Norm: xi+1=Norm(F(xi))\mathbf {x}_{i+1}=\operatorname{Norm}\left(F\left(\mathbf {x}_{i}\right)\right)xi+1=Norm(F(xi))
Residual Network + Pre-Norm: xi+1=xi+F(Norm(xi))\mathbf {x}_{i+1}=\mathbf {x}_{i}+F\left(\operatorname{Norm}\left(\mathbf {x}_{i}\right)\right)xi+1=xi+F(Norm(xi))
Residual Network + Post-Norm: xi+1=Norm(xi+F(xi))\mathbf {x}_{i+1}=\operatorname{Norm}\left(\mathbf {x}_{i}+F\left(\mathbf {x}_{i}\right)\right)xi+1=Norm(xi+F(xi))
ReZero: xi+1=xi+αiF(xi)\mathbf {x}_{i+1}=\mathbf {x}_{i}+\alpha_{i} F\left(\mathbf {x}_{i}\right)xi+1=xi+αiF(xi)
注意αi\alpha_iαi需要初始化为0。
不考虑。
不变。
https://github.com/majumderb/rezeroarrow-up-right
适用于所有场景;从实验中可以看出确实提升了网络的收敛速度。
主要就是初始化为0。
第一印象会感觉该方法不会work,但是结果非常反直觉,由于该方法应该会提升不少速度,所以非常值得复现。
Last updated 3 years ago