PowerNorm:重新思考 Transformer 中的批归一化
计算与语言
2021-04-21 v2 机器学习
摘要
自然语言处理(NLP)中使用的神经网络(NN)模型的标准归一化方法是层归一化(LN)。这与计算机视觉中广泛采用的批归一化(BN)不同。NLP 中偏好使用 LN 主要由于经验观察:朴素/原始使用 BN 会导致 NLP 任务性能显著下降;然而,对此潜在原因的透彻理解并不总是明晰。本文中,我们对 NLP transformer 模型进行系统研究,以理解为何 BN 相比 LN 性能较差。我们发现 NLP 数据在批维度上的统计量在整个训练过程中表现出大幅波动。若朴素实现 BN,这会导致不稳定性。为此,我们提出 Power Normalization (PN),一种通过以下方式解决该问题的新颖归一化方案:(i) 放宽 BN 中的零均值归一化,(ii) 引入运行二次均值替代每批统计量以稳定波动,以及 (iii) 使用近似反向传播将运行统计量纳入前向传播。我们在温和假设下从理论上证明,与 BN 相比,PN 使损失的 Lipschitz 常数更小。此外,我们证明该近似反向传播方案导致有界梯度。我们在一系列 NLP 任务上广泛测试了 transformer 上的 PN,并展示其显著优于 LN 和 BN。特别地,PN 在 IWSLT14/WMT14 上以 0.4/0.6 BLEU 优于 LN,在 PTB/WikiText-103 上以 5.6/3.0 PPL 优于 LN。我们的代码公开于 \url{https://github.com/sIncerass/powernorm}。
引用
@article{arxiv.2003.07845,
title = {PowerNorm: Rethinking Batch Normalization in Transformers},
author = {Sheng Shen and Zhewei Yao and Amir Gholami and Michael W. Mahoney and Kurt Keutzer},
journal= {arXiv preprint arXiv:2003.07845},
year = {2021}
}