2

英语论文写作 - Kamino's Blog

 2 years ago
source link: https://blog.kamino.link/2022/03/03/norm_transformer/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Transformer中的Layer Normalization

[TOC]

参考文献:

[1] On Layer Normalization in the Transformer Architecture

[2] DeepNet: Scaling Transformers to 1,000 Layers

Post-LN 和 Pre-LN

左边是原版Transformer的Post-LN,即将LN放在addition之后;右边是[1]改进之后的Pre-LN,即把LN放在FFN和MHA之前。

[1]的作者发现目前使用Transformer的方法训练常使用warm-up(调低刚开始的几个epoch的学习率),所以研究发现训练开始的时候临近输出层的梯度很大,导致训练不稳定。warm-up有几个不好调的超参数,所以[1]致力于把warm-up去掉。

  • 新模型可以不用warm-up。
  • Pre-LN训练时间可以节省。

做了一些翻译实验,RAdam是对adam优化器进行了修改来解决transformer前期的问题的一个方法。

DeepNet 1000层的Transformer

文献[2]的第一张图十分惊艳,1000层的DeepNet没有做太多改动,由500层Encoder和500层Decoder组成。

方法很简单,对于一个N层Encoder,M层decoder的网络,确定了超参数α,β。超参α一般小于1,用来降低之前输出的权重。超参β用来调FFN、self-attn的输入的V的变换矩阵、以及调完权重之后多头融合的out_proj矩阵。

具体方法还有专门的文字介绍:

在深层网络中具有明显优势。

训练过程也更稳健了。

在多语言翻译任务中也用更少的参数取得了更好的效果。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK