返回笔记
深度学习

深度学习训练技巧:从学习率到梯度裁剪

学习率 AdamW 梯度裁剪 正则化 训练技巧

模型架构固然重要,但训练技巧的差异往往比架构差异更能决定最终效果。

学习率调度

学习率是最重要的超参数。太大模型震荡不收敛,太小训练太慢。现代最佳实践:

  • Warmup:训练初期从小学习率开始逐步增大,防止模型在初始阶段崩溃
  • Cosine Decay:按余弦曲线逐步衰减学习率,比阶梯下降更平滑
  • 学习率范围测试:在一个 batch 上从小到大试学习率,找到最优区间

优化器选择

  • SGD + Momentum:经典方案,泛化性好但调参麻烦
  • Adam:自适应学习率,收敛快,默认首选
  • AdamW:修正了 Adam 的权重衰减缺陷,LLM 训练标准配置
  • Lion:Google 发现的更省显存的新优化器

正则化技巧

  • Dropout:随机丢弃神经元,防止过拟合。Transformer 中通常只在前馈层用
  • 权重衰减:限制权重不能太大,通常 0.01-0.1
  • 梯度裁剪:限制梯度的最大值,防止梯度爆炸。LLM 训练标配 1.0
  • Label Smoothing:不要求模型输出 100% 的置信度,留一点不确定性

批次大小

大批次训练更稳定但需要更多显存。常用技巧是梯度累积:用 4 个小 batch 各自算梯度但不更新参数,累加 4 次后一次更新。等价于 4 倍的 batch size。

初始化

权重初始化决定训练起点。Transformer 通常用小方差初始化,防止梯度过大或过小。Xavier 和 Kaiming 初始化是最常用的两种。