【Transformer拆解】-4. 残差连接(Residual Connection)与层归一化(LayerNorm)

4. 残差连接(Residual Connection)与层归一化(LayerNorm)

  • 步骤

    • 残差连接:

    • 层归一化:对每个样本的特征维度归一化(非批量归一化)。

意义

  • 残差连接:缓解深层网络梯度消失,保留原始信息(参考 ResNet)。

  • 层归一化:稳定训练过程,减少对批量大小的依赖。

残差连接是深度学习中的一种跳跃连接(Skip Connection)技术,其数学表达为:

输出=F(x)+x

其中:

  • x:输入向量

  • F(x):神经网络层的变换(如线性变换+激活函数)

2. 核心作用

(1)解决梯度消失问题

  • 传统深层网络:反向传播时梯度需逐层连乘,导致底层梯度指数衰减

残差网络:梯度可通过恒等路径直达底层

(2)保留原始信息

  • 即使深层网络F(x)学习失效,模型仍能退化为恒等映射y=x,避免性能退化

  • 实验证明:ResNet-1000层比普通网络训练误差更低

3. Transformer中的残差连接

在Transformer中,每个子层(自注意力/FFN)后都添加残差连接:

双重保障

  1. 信息无损传输:原始输入直接传递到高层

  2. 梯度高速公路:反向传播时梯度可绕过复杂变换

5. 代码实现

python 复制代码
# PyTorch示例
class ResidualBlock(nn.Module):
    def __init__(self, d_model=512):
        super().__init__()
        self.linear = nn.Linear(d_model, d_model)
        self.dropout = nn.Dropout(0.1)
        
    def forward(self, x):
        return x + self.dropout(self.linear(x))  # 残差连接

# Transformer子层实现
x = x + attention_layer(x)  # 自注意力残差
x = x + ffn_layer(x)        # FFN残差

6. 为什么必须使用?

问题 残差连接的解决方案
深层网络梯度消失 提供直连路径,梯度可无损回传
信息传递损耗 保留原始输入,避免特征扭曲
训练不稳定 即使部分层学习失败,模型仍能正常工作
相关推荐
喜欢就别1 小时前
【Agentic RL / 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (2)--- On-Policy Distillation
人工智能·笔记
糯米导航4 小时前
AI 视觉回归实战:截图对比不是“找不同”,如何让智能差异分析真正服务 UI 质量
人工智能·ui·回归
科技圈观察4 小时前
2026年好伴AI医疗专用大模型应用梳理与梯队参考
人工智能
jkyy20145 小时前
深耕AI健康医疗数据智库,赋能企业构建主动健康管理新生态
大数据·人工智能·健康医疗
cd_949217215 小时前
3D角色自动绑骨怎么做?用V2Fun完成建模、绑定、动作和导出
人工智能·3d
瑞禧生物tech5 小时前
SH-PEG-Biotin巯基-聚乙二醇-生物素 HS-PEG-Bio 深度解析
人工智能
QYR-分析5 小时前
机器人安全控制器行业高速扩容 本土替代迎来全新发展窗口期
人工智能·安全·机器人
冬奇Lab6 小时前
MCP 系列(06):MCP vs Function Calling——用数据说话的选型指南
人工智能
冬奇Lab6 小时前
每日一个开源项目(第159篇):Vibe-Trading - 用自然语言做量化研究,AI 驱动的个人交易 Agent
人工智能·开源·资讯
AI大模型-小雄6 小时前
2026 年 7 月国内怎么开通 ChatGPT Pro?5x / 20x 区别、适合人群与避坑指南
人工智能·gpt·chatgpt·ai编程·开发工具·codex·chatgpt pro