GradInit:学习初始化神经网络以实现稳定高效训练
机器学习
2021-11-25 v3 计算与语言
计算机视觉与模式识别
摘要
神经架构的创新推动了语言建模与计算机视觉领域的重大突破。遗憾的是,若网络参数未恰当初始化,新颖架构常带来具有挑战性的超参数选择问题与训练不稳定性。已有若干针对特定架构的初始化方案被提出,但这些方案未必能移植到新架构上。本文提出 GradInit,一种自动化且与架构无关的神经网络初始化方法。GradInit 基于一个简单启发式:调整每个网络层的范数,使得在给定超参数下执行单步 SGD 或 Adam 能得到尽可能小的损失值。该调整通过在每个参数块前引入标量乘子变量,并用简单数值方案优化这些变量来实现。GradInit 加速了众多卷积架构(无论有无跳跃连接,甚至无归一化层)的收敛与测试性能。它还提升了原始 Transformer 架构在机器翻译上的稳定性,使其能在广泛学习率与动量系数下使用 Adam 或 SGD 训练而无需学习率预热。代码见 https://github.com/zhuchen03/gradinit。
引用
@article{arxiv.2102.08098,
title = {GradInit: Learning to Initialize Neural Networks for Stable and Efficient Training},
author = {Chen Zhu and Renkun Ni and Zheng Xu and Kezhi Kong and W. Ronny Huang and Tom Goldstein},
journal= {arXiv preprint arXiv:2102.08098},
year = {2021}
}
备注
NeurIPS 2021, fixing typos