Transformer模型-add & norm(残差连接&归一化)的简明介绍:残差连接,增加深度,不丢失初始的特征;归一化,避免梯度消失,减少运算

 今天介绍transformer模型的add & norm(残差连接&归一化)

add代表残差连接(Residual Connection)

残差连接是一种跳过连接,它将输入添加到网络的中间层或输出上。

**残差连接(Residual Connection)**是一种在深度神经网络中使用的连接技术,旨在解决深度神经网络训练过程中的梯度消失和表示瓶颈问题。具体来说,残差连接允许模型的某一层的输出直接跳过一层或多层,作为后续层的输入。这种跳层连接的方式使得梯度可以更容易地反向传播,从而有助于训练深层网络。

在残差网络中,一个或多个层的输出(称为残差)会被添加到这些层的输入中,形成所谓的残差块。通过这种方式,网络能够学习输入和输出之间的残差表示,而不是直接学习从输入到输出的完整映射。这有助于网络更容易地优化和学习复杂的函数。

残差块通常采用两种连接方式:
1)恒等映射:y = x + F(x)
2)投影映射:y = x + F(x) * W,其中W是一个可学习的1x1卷积

norm = Normalization归一化

在transformer里面,使用layer normalization。

具体参看:

Transformer模型-Normalization归一化的简明介绍-优快云博客icon-default.png?t=N7T8https://blog.youkuaiyun.com/ank1983/article/details/137398706

add&norm在transformer的每个子层都出现:

  • add:残差连接,可以增加深度,不丢失初始的特征。
  • norm归一化,因为add把原始的特征加回来,为了避免梯度消失,减少运算,进行归一化处理。

### 残差学习的核心概念 残差学习是一种用于训练深层神经网络的技术,其核心思想在于让模型学习输入与输出之间的差异(即残差),而非直接学习整个映射关系。这种方法能够显著缓解随着网络深度增加而产生的退化问题[^1]。 #### 退化问题 当神经网络层数不断增加时,理论上应该至少保持相同的性能水平甚至更好。然而,在实践中发现,过深的网络可能会导致训练误差增大,从而影响最终效果。这并非由于过拟合引起,而是源于优化困难所致[^2]。 #### 解决方案——残差块设计 为了克服上述挑战,研究者引入了所谓的“跳跃连接”结构,使得每一组连续几层不仅负责捕捉复杂的非线性变换规律外,还能保留部分原始信号成分不变传递给后续处理单元使用。具体来说就是把标准前馈传播路径上的某些位置处的数据复制一份并绕过中间若干隐藏节点直接送达较远的目标接收端口接入点附近再继续参与计算操作过程之中形成闭环反馈机制的一部分组成部分之一而已[^3]。 以下是典型的ResNet架构中的基本构建模块定义方式: ```python import tensorflow as tf from tensorflow.keras import layers def residual_block(x, filters, kernel_size=3): shortcut = x # First layer of the block x = layers.Conv2D(filters=filters, kernel_size=(kernel_size,kernel_size), strides=(1,1), padding='same')(x) x = layers.BatchNormalization()(x) x = layers.Activation('relu')(x) # Second layer of the block x = layers.Conv2D(filters=filters, kernel_size=(kernel_size,kernel_size), strides=(1,1), padding='same')(x) x = layers.BatchNormalization()(x) # Add skip connection and activation function after addition. x = layers.Add()([shortcut,x]) output = layers.Activation('relu')(x) return output ``` 此代码片段展示了如何创建一个简单的两层残差块,其中包含了两个卷积层以及批量标准化和ReLU激活函数的应用,并通过跳接实现了残差功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ankie(资深技术项目经理)

打赏就是赞赏,感谢你的认可!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值