AdamW:解耦合的权重衰减正则化
对于标准随机梯度下降,$L_2$正则化与权重衰退正则化的作用是相同。然而,对于自适应梯度下降算法,例如:Adam,这种等效不存在。确切的说,由于大部分深度学习库中正则化利用的是$L_2$,从而导致部分任务中利用带有动量的SGD进行优化产生的性能优于自适应梯度下降算法优化产生的模型。AdamW梯度下降算法通过对权重衰减与学习率设置进行解耦合,从而提升Adam算法的泛化性。
对于标准随机梯度下降,$L_2$正则化与权重衰退正则化的作用是相同。然而,对于自适应梯度下降算法,例如:Adam,这种等效不存在。确切的说,由于大部分深度学习库中正则化利用的是$L_2$,从而导致部分任务中利用带有动量的SGD进行优化产生的性能优于自适应梯度下降算法优化产生的模型。AdamW梯度下降算法通过对权重衰减与学习率设置进行解耦合,从而提升Adam算法的泛化性。
深度神经网络是由线性变形和激活函数构成。其中,激活函数对深度神经网络的训练成功很重要。激活函数ReLU因其简单性和可靠性,而得到了广泛的采用。虽然许多实践者提出了ReLU的替代版,但是这些激活函数对于不同的模型和数据集往往拥有不一致的表现。由此,Searching for Activation Functions作者们利用自动搜索技术,找到了Swish激活函数,其性能不仅优越于ReLU,且表现一致。
在较早的阶段,人工神经单元利用二值阈值单元作为激活函数。后来,这些二值阈值被sigmoid函数代替,拥有了平滑性。然而,随着网络越来越深,利用sigmoid作为激活函数,反而不如ReLU这种非平滑且少概率的激活函数有效。同时,深度非线性分类器往往过拟合数据,所以网络设计者需要选择随机正则化器,例如:隐藏层添加随机噪音、droupout。最终,非线性激活函数与dropout共同决定神经元的输出。然而,两者仍然有明显的区别或独立,即彼此不包含。由此,GELU诞生了。
Transformer由多头注意力和FFN交替形成的模型。其中,FFN的输入为向量$x$,再经过两个线性变形。在这两个线性变形之间的激活函数为ReLU