当前位置: 首页 > news >正文

Transformer中Post-Norm和Pre-Norm如何选择?

pre-norm:

x n + 1 = x n + f ( n o r m ( x n ) ) x_{n+1}=x_n+f(norm(x_n)) xn+1=xn+f(norm(xn))
其中第二项的方差由于有 norm 是不随层数变化的,于是 x 的方差会在主干上随层数积累。到了深层以后,单层对主干的影响可以视为小量,而不同层的 f 统计上是相似的,于是有

x n + 1 = x n + f ( n o r m ( x n ) ) = x n − 1 + f ( n o r m ( x n − 1 ) ) + f ( n o r m ( x n ) ) ≈ x n − 1 + 2 f ( n o r m ( x n − 1 ) ) 。 \begin{aligned} x_{n+1} &=x_{n}+f(norm(x_{n})) \\ &=x_{n-1}+f(norm(x_{n-1}))+f(norm(x_{n}))\\ &\approx x_{n-1} + 2f(norm(x_{n-1})) 。 \end{aligned} xn+1=xn+f(norm(xn))=xn1+f(norm(xn1))+f(norm(xn))xn1+2f(norm(xn1))
这样训练出来的深层 ResNet or Transformer,深层部分实际上更像扩展了模型宽度,所以相对好训练,但某种意义上并不是真正的 deep.

post-norm

x n + 1 = n o r m ( x n + f ( x n ) ) x_{n+1}=norm(x_n+f(x_n)) xn+1=norm(xn+f(xn))则保证了主干方差恒定,每层对 x 都可能有较大影响,代价则是模型结构中没有从头到尾的恒等路径,梯度难以控制。通常认为会更难收敛,但训练出来的效果更好。

deep-norm

x n + 1 = n o r m ( α x n + f ( x n ) ) ( α > 1 ) x_{n+1}=norm(αx_n+f(x_n))(α>1) xn+1=norm(αxn+f(xn))(α>1)通过控制参数起到了一个折中的效果

恒等路径(Identity Path)

指的是神经网络中从输入到输出的一条 “直接通路”,使得信息可以不经过任何非线性变换或复杂运算直接传递。这种路径的核心作用是保留原始输入的信息,并通过残差连接(Residual Connection)等机制帮助梯度更顺畅地反向传播,避免深层网络中的梯度消失问题。

恒等路径的本质与取舍

结构恒等路径完整性梯度传播难度训练收敛性特征表达能力
Post-Norm无(需归一化)高(依赖调参)较差较强(浅层更灵活)
Pre-Norm有(残差直连)低(梯度短路)较好较平滑(深层更稳定)
  • 恒等路径的核心价值:通过保留原始输入的直接传递通道,降低深层网络的优化难度,这是 Pre-Norm 成为主流的关键原因。
  • Post-Norm 的适用场景:若任务需要模型在浅层捕捉强非线性特征,且计算资源允许精细调参,可尝试 Post-Norm(如原始 Transformer 在机器翻译中的成功)。

选择

场景Pre-Norm(推荐)Post-Norm(谨慎使用)
模型深度深层(≥12 层)浅层(≤6 层)或实验性浅层结构
训练稳定性优先(尤其存在梯度问题时)需调参(如学习率、优化器等)
任务类型NLP 主流模型、深层 CV 模型(如 ViT)原始 Transformer 复现、小规模实验
优化难度低(适合新手或大规模训练)高(需丰富调参经验)

https://www.zhihu.com/question/519668254/answer/2371885202


http://www.mrgr.cn/news/99255.html

相关文章:

  • 机器学习-08-推荐算法-案例
  • 《相对论中相对性原理的实验验证与分析》
  • 开源脚本分享:用matlab处理ltspice生成的.raw双脉冲数据
  • 若依框架免登陆、页面全屏显示、打开新标签页(看板大屏)
  • 从规则到大模型:知识图谱信息抽取实体NER与关系RE任务近10年演进发展详解
  • 单页面应用的特点,什么是路由,VueRouter的下载,安装和使用,路由的封装抽离,声明式导航的介绍和使用
  • 剑指Offer(数据结构与算法面试题精讲)C++版——day17
  • Transformer系列(三):编码器—解码器架构
  • GAIA-2:用于自动驾驶的可控多视图生成世界模型
  • Rust: 从内存地址信息看内存布局
  • [k8s实战]Containerd 1.7.2 离线安装与配置全指南(生产级优化)
  • STM32的启动方式
  • k8s 基础入门篇之开启 firewalld
  • 240422 leetcode exercises
  • 十三种通信接口芯片——《器件手册--通信接口芯片》
  • 【MySQL】表的约束(主键、唯一键、外键等约束类型详解)、表的设计
  • OpenCV基础函数学习4
  • 超详细mac上用nvm安装node环境,配置npm
  • 2025年世界职业院校技能大赛实施方案(意见稿)
  • V5验证官网滑块验证码WSS协议逆向算法分析