残差神经网络

残差神经网络(,简称ResNet)属于深度学习模型的一种,其核心在于让网络的每一层不直接学习预期输出,而是学习与输入之间的残差关系。这种网络通过添加“跳跃连接”,即跳过某些网络层的连接来实现恒等映射,再与网络层的输出相加合并。其运作机制与类似,通过极大的正偏置权重来打开“门控”。

基本原理
背景介绍
2012年,针对ImageNet竞赛开发的AlexNet模型是一个包含8层的卷积神经网络。到了2014年,牛津大学的视觉几何组(VGG)通过叠加3x3卷积层将网络深度增加到了19层。
但是,层级的增加却导致训练精度的迅速下降, 这种现象被称为“性能退化”问题。

信号传递
恒等映射的引入有利于信号在前向传播路径和反向传播路径中的传递。

向前传播
如果第\ell个残差块的输出是第(\ell+1)个残差块的输入(这里假设块与块之间没有激活函数),可以得到:

Transformer块
模型采用的Transformer架构是由两种类型的残差块构成:一个是多头注意力块,另一个是前馈的多层感知器(MLP)块。这种设计通过结合两个功能强大的残差块,使得Transformer能够高效地处理数据并学习复杂的特征,其中每个残差块都利用残差连接来促使信号在网络深层之间的流动以及更有效的进行梯度回传,克服了深度模型训练过程中遇到的梯度消失等问题。]]

Transformer块是由两个残差块组成,每个残差块都设有一个残差连接。

第一个残差块为多头注意力块,使用了自注意力运算,随后连接一个线性映射层。第二个残差块是一个前馈式的多层感知器(MLP)块,这个块在某种程度上像是一个“反向”的瓶颈块,它通过一个线性映射层(在卷积神经网络中相当于1x1的卷积)来扩大维度,然后通过另一个线性映射层来减少维度。

一个Transformer块包含了四层线性映射。GPT-3模型拥有96个这样的Transformer块(在Transformer领域的文献中,通常将一个Transformer块称作一个“Transformer层”)。因此,该模型包含了大约400层的映射层,包括Transformer块内的96x4层,以及一些额外的层用于输入嵌入和输出预测。

若没有残差连接,训练网络深度极高的Transformer模型将无法取得成功。

相关研究
1961年,在出版的书籍中介绍了一个含有跳跃连接的三层多层感知器(MLP)模型(详见第15章,第313页)。这种模型被称作“交叉耦合系统”,其跳跃连接实际上是交叉耦合连接的一种形式。和1996年出版的书籍中提出了在前馈MLP模型中使用的“跳层”连接:“MLP一般允许存在多个隐藏层,并且支持从输入直接到输出的‘跳层’连接”(详见第261页 为解决这一问题,长短期记忆(LSTM)网络在每个LSTM单元中引入了权重为1.0的跳跃或残差连接,计算公式为 y_{t+1} = F(x_{t}) + x_t 。在中,这个公式转化为前馈神经网络中的残差公式y = F(x) + x,从而实现了深层循环神经网络的有效训练。2000年发布的一种LSTM版本通过“遗忘门”来调节连接,这些门的权重不再固定为1.0,而是可以学习的。在实际实验中,遗忘门通过正偏置权重进行初始化,从而解决梯度消失问题。将上述原理应用于前馈神经网络,被媒体报道称为“首个具有数百层深度的前馈神经网络”。 原有的高速神经网络论文被设计为一种深层的神经网络,旨在将每一层与其他所有层连接。DenseNets通过使用恒等映射作为跳跃连接来实现这一目标。与ResNet不同,DenseNets通过拼接而非加法将层输出与跳跃连接合并。

利用残差网络架构,实现了具有随机深度的神经网络。 通过随机丢弃一部分网络层,让信号通过跳跃连接进行传播。这种做法也被称为“路径丢弃”。这是训练大型深层模型,如(ViT)的一种十分有效的正则化方法。

与生物学的联系
虽然最初的残差网络研究并未受生物学启发,但后来的研究却发现残差网络与生物学有关。

2023年《科学》杂志上发表的一项研究展示了果蝇幼虫大脑的完整神经连接组。 这项研究发现了类似于人工神经网络中如ResNet一样的跳跃连接。

参考文献

评论 (0)

  • 还没有评论,来抢沙发吧。