©PaperWeekly 原创 · 作者 | 苏剑林
单位 | 追一科技
研究方向 | NLP、神经网络
Pre Norm 与 Post Norm 之间的对比是一个“老生常谈”的话题了,本博客就多次讨论过这个问题,比如文章《浅谈 Transformer 的初始化、参数化与标准化》[1]、《模型优化漫谈:BERT 的初始标准差为什么是 0.02?》等。目前比较明确的结论是:同一设置之下,Pre Norm 结构往往更容易训练,但最终效果通常不如 Post Norm。Pre Norm 更容易训练好理解,因为它的恒等路径更突出,但为什么它效果反而没那么好呢?
笔者之前也一直没有好的答案,直到前些时间在知乎上看到 @唐翔昊 的一个回复后才“恍然大悟”,原来这个问题竟然有一个非常直观的理解!本文让我们一起来学习一下。
基础回顾
Pre Norm 和 Post Norm 的式子分别如下:
在 Transformer 中,这里的 主要指 Layer Normalization,但在一般的模型中,它也可以是 Batch Normalization、Instance Normalization 等,相关结论本质上是通用的。
在笔者找到的资料中,显示 Post Norm 优于 Pre Norm 的工作有两篇,一篇是《Understanding the Difficulty of Training Transformers》[2],