Rethinking Skip Connection with Layer Normalization in Transformers and ResNets :重新思考Transformers 和ResNets网络中层归一化的跳跃连接
文章地址:https://arxiv.org/abs/2105.07205
Abstract
- 简述背景:跳跃连接是干啥得,及其作用。
- 跳跃连接是一种广泛使用的来改善(提高)深层神经网络性能和收敛性的技术,它(被认为)通过在神经网络层中传播线性分量来缓解由于非线性而导致的优化困难。【跳跃连接主要目的是用在DNN中解决优化困难】
- 然而,从另一个角度来看,它也可以被看作是一种输入和输出之间的调节机制,输入按照预定义的值1进行缩放。【这一点暂时还没太理解】
- 提出本文针对跳跃连接这一点开展的实验研究
- 在本文中,我们研究了尺度因素如何影响跳跃连接的有效性,揭示了尺度的微小调整会导致伪梯度随着模型的深度而爆炸或消失,这个可以通过归一化,特别是层归一化来解决,这引起了对普通跳跃连接的一致提升。【介绍了Normalization的重要作用,即归一化与跳跃连接的组合可以提升性能,这里的尺度应该只得是跳跃连接前面的比例系数,即后文中的 λ \lambda λ】
- 介绍针对实验研究发现提出的新理论或新想法
- 受到这些发现的启发,我们进一步提出通过递归地应用带有层归一化地跳跃连接来自适应地调整输入的尺度。这样大大提高了性能,并且能够很好地推广到包括机器翻译和图像分类数据集在内地不同任务中。【递归构造等效于调整了尺度?】
1 Introduction
- 介绍背景,即DNN中优化问题是研究热点,以及相关解决优化问题的策略
- 解决深度神经网络的优化问题是当前研究的热点,其中存在着许多需要实际解决的新难题。Batch Normalization ,Layer Normalization,和Skip-Connection是促进深层神经网络优化的广泛使用的技术。事实证明这在多个下上文论文是有效的。【上述三种策略都是解决神经网络中的优化问题的,但是因为这方面针对性研究少,所以本文研究的意义这是第一个点】
- 分别介绍这些策略的作用
- 其中,Batch Normalization 和 Layer Normalization通过归一化和重新缩放中间隐含表示来处理小批训练中所谓的内部协变量漂移和多个相关特征的集体优化。【内部协变量漂移又是啥意思?】
- 跳跃连接绕过了梯度爆炸或消失问题,试图从信息传递的角度解决模型优化问题。它通过增加从神经网络的输入到输出的身份映射来实现信息的传递和集成,这可以简化优化并允许误差信号通过非线性。【即使在网络训练过程中,非线性部分存在梯度爆炸,它依旧可以通过线性的跳过连接进行反向传播修正。】
- 介绍近年来针对优化问题的其他研究工作
- 最近,通过进一步利用现有的解决方案,已经做出了一些努力来处理优化问题:
- 例如探索跳跃连接的实现(Sriastava等人,2015年),
- 将跳跃连接与其他归一化方法相结合(He等人,2016b;Vaswani等人,2017年)。
- 图1中说明了其中一些建议。这些变体中的大多数可以表示为或大体上等同于 y = G ( λ x + F ( x , W ) ) \boldsymbol{y}=\mathcal{G}(\lambda \boldsymbol{x}+\mathcal{F}(\boldsymbol{x}, \mathcal{W})) y=G(λx+F(x,W))
其中 x x x 表示块的输入,即跳跃连接或捷径, F \mathcal{F} F表示由 W \mathbf{W} W 参数化的神经网络引起的非线性变换, G \mathcal{G} G 表示归一化函数, y y y 表示残差块的输出, λ \lambda λ 表示控制跳跃连接或者捷径的相对重要性的调制因子。残差模型通常由一堆这样的模块组成。
- 最近,通过进一步利用现有的解决方案,已经做出了一些努力来处理优化问题:
- 讲述现有工作中存在的哪些没有解决的地方:
- 现有工作中缺少的一部分是,如果 G \mathcal{G} G被实现为层归一且 λ \lambda λ不等于1,那么残差块将如何工作。【文章的出发点】
- 尽管Transformer(Vaswani等人,2017)已经证明了层归一化和跳跃连接的组合的有效性,但直观的是,调制因子 λ \lambda λ可能并不总是1,特别是当 F \mathcal{F} F没有经过良好的训练和表达能力不足时。
- 此外,斯里瓦斯塔瓦等人也支持这一直觉。它们发现,如果使用门控机制来确定两个组件之间的平衡,则跳过组件几乎在所有情况下都会获胜。
- 然而,在He等人的研究中。讨论了批量归一化BN、可学习的 λ \lambda λ和卷积神经网络的组合,他们实证地发现,当固定为1时,性能最好,这表明捷径和转换后的输入应该同等重要。【当前的发现的组合是 λ = 1 \lambda=1 λ=1并且使用的是批量归一化BN】
- 现有工作中缺少的一部分是,如果 G \mathcal{G} G被实现为层归一且 λ \lambda λ不等于1,那么残差块将如何工作。【文章的出发点】
- 针对别人研究存在的问题,本文开展的研究【即跳跃连接与传统卷积块之间比例尺问题,即比例系数问题的研究】
- 因此,为了探讨残差区块中x与 F ( x , W ) \mathcal{F}(\boldsymbol{x}, \mathcal{W}) F(x,W)的最佳比值是否为1,并扩展对 y = G ( λ x + F ( x , W ) ) \boldsymbol{y}=\mathcal{G}(\lambda \boldsymbol{x}+\mathcal{F}(\boldsymbol{x}, \mathcal{W})) y=G(λx+F(x,W))残差区块的理解,我们结合层归一化,提出了三种不同的残差区块实现方法。
- 第一个实现,我们将其命名为Expanded Skip Connection(扩展的跳跃连接)简单地扩展了跳过连接并设置了 λ \lambda λ大于1的值,这个是根据Srivastava等人的发现。
- 第二种变化被称为Expanded Skip Connection with Layer Normalization (具有层归一化的扩展跳跃连接),它包括扩展跳跃连接之后的层归一化,因为正如Vaswani等人观察到的那样,层归一化有助于促进跳过连接的优化。
- 最后提出的Recursive Skip Connection with Layer Normalization(具有层归一化的递归跳过连接)是一种新的组合,它不符合残差块的一般形式,它以递归的方式利用了跳过连接和层归一化的优点,使得输入信号得到放大,而层归一化则稳定了优化。
- 这些组合的图示如图2所示。我们在各种任务,包括机器翻译和图像分类上使用了强baselines,即Transformer和ResNet)上的实验得出以下结论:
- 没有进行任何归一化的扩展跳跃连接确实会造成服务梯度畸形,导致神经网络学习效果不佳。层归一化在一定程度上解决了扩展跳跃连接带来的优化问题。
- 所提出的具有层归一化的递归跳过连接通过将扩展的跳过连接分离成为多个阶段来更好地结合变换输入的效果,从而进一步促进了优化。在广泛的实验中,它在不同领域的数据集上取得了令人满意的边际【最优效果的一种表达方式】,以确定跳过连接的合适粒度。
- 使用Transformer在WMT-2014 EN-DE机器翻译数据集上的实验结果进一步证明了递归结构的有效性和高效性,使模型的性能甚至提高了三倍。【所谓递归跳跃连接其类似于加重了线性分量的重要性,暂时是这么理解的,不知是否有误】
- 因此,为了探讨残差区块中x与 F ( x , W ) \mathcal{F}(\boldsymbol{x}, \mathcal{W}) F(x,W)的最佳比值是否为1,并扩展对 y = G ( λ x + F ( x , W ) ) \boldsymbol{y}=\mathcal{G}(\lambda \boldsymbol{x}+\mathcal{F}(\boldsymbol{x}, \mathcal{W})) y=G(λx+F(x,W))残差区块的理解,我们结合层归一化,提出了三种不同的残差区块实现方法。
2 Related Work
- 介绍近年来在跳跃连接上的研究情况:
- 近年来,大量跳跃连接方法被用于神经网络。对于跳过连接,主要有两种类型的问题。
- 第一个问题是如何将跳跃连接结合到现有的神经网络结构中,以便达到最好的改进效果。
- 二是如何对具有跳跃连接的神经网络进行优化,使其表示能力得到充分挖掘。
- 因此,我们将相关工作分为On the Connection Problem (连接问题)和On the Optimization Problem.(优化问题)。
- 近年来,大量跳跃连接方法被用于神经网络。对于跳过连接,主要有两种类型的问题。
- 针对分的两类问题进行阐述
- 关于连接问题,On the connection problem
- Highway network建立了一个从输入到输出的高速公路连接,类似于跳跃连接。然而,为了控制输入 x x x和变换后的输入 F ( x , W ) \mathcal{F}(\boldsymbol{x}, \mathcal{W})
- 关于连接问题,On the connection problem