深度学习核心 20% — 训练不收敛,先查这四件事

一句话:所有深度学习训练问题,都能落到四件事上——数据、损失、优化器、正则。而调参优先级永远是:学习率 > 数据质量 > 结构 > 其他超参。


🎯 这 20% 能解决哪些问题

常见困惑本质本页答案
损失不下降怎么办学习率或数据问题见「训练四要素」
训练集准 99% 测试集 60%过拟合见「过拟合的四个信号」
CNN、RNN、Transformer 该用哪个数据类型决定见「三种主干」
该不该自己设计网络迁移学习几乎总更优见「迁移学习五步」
batch size 越大越好吗与学习率耦合见「超参优先级」

一、训练四要素

graph LR
    A["数据<br/>质量与分布"] --> B["损失函数<br/>目标定义"]
    B --> C["优化器<br/>怎么走"]
    C --> D["正则<br/>防过拟合"]
    D --> A
要素关键选择常见错误
数据清洗、去重、标签一致性、分布覆盖训练/测试同源泄漏
损失分类交叉熵、回归 L1/L2、排序/对比类别不平衡仍用普通 CE
优化器AdamW 通用、SGD + 动量 泛化常更好只调结构不调学习率
正则Dropout、权重衰减、数据增广、早停正则过强导致欠拟合

二、超参优先级

优先级超参原因
1学习率差一个数量级就完全训不动
2数据质量与增广决定上限
3网络规模/深度与数据量匹配
4batch size与学习率联动(线性缩放规则)
5正则强度在过拟合显现后再调

实用起点:AdamW + lr = 3e-4(大模型)/ 1e-3(小模型)+ 余弦退火 + 前 5% 步数 warmup。


三、三种主干

主干归纳偏置擅长不擅长
CNN局部性 + 平移等变图像、局部模式长程依赖
RNN/LSTM序列顺序短序列、流式长依赖、难并行
Transformer全局注意力长依赖、多模态数据需求大、算力高

判断口诀:数据是网格(图像/音频谱)→ CNN;是序列且要流式 → RNN;是序列/集合且数据量足 → Transformer。现代实践里,Transformer + 足够数据几乎总能追平或超过前两者。


四、过拟合的四个信号

信号判断应对
训练损失降、验证损失升经典过拟合早停、增广、权重衰减
训练集与验证集差距 > 10 个点容量过大减参数、加正则
换随机种子结果波动大数据量不足更多数据、交叉验证
线上效果远低于离线数据泄漏或分布漂移检查泄漏、按时间切分

反向判断(欠拟合):训练损失都降不下去 → 容量不足或学习率太小或标签有噪声。


五、迁移学习五步

步骤动作
1选同域预训练模型(图像选 ImageNet/CLIP 系,文本选 BERT/LLM)
2冻结主干,只训分类头,跑通流程
3解冻后几层,用小学习率(1e-5 级)微调
4数据量足够(> 万级)再考虑全量微调
5对比”从头训练”基线,确认迁移真的有效

经验:90% 的工业视觉/文本任务,迁移学习 + 数据清洗就能超过自研结构的效果。


六、训练不收敛的排查顺序

#检查项具体做法
1能否过拟合一个小批次取 8–32 个样本,应能到接近 100%
2学习率是否合适试 1e-2 / 1e-3 / 1e-4
3标签是否错位打印样本与标签对照
4输入归一化均值方差归一化、通道顺序
5损失与任务是否匹配多分类用 CE,回归看是否被离群值主导
6梯度是否异常监控梯度范数、是否 NaN

“能否过拟合一个小批次”是最有价值的单步测试:连它都过不了,问题一定在数据、损失或代码,不在模型容量。


📋 一页速查

问题答案
第一超参是什么学习率
不收敛先做什么尝试过拟合一个小批次
过拟合怎么判训练降验证升
图像首选主干CNN 或 ViT(数据足够时)
该自研结构吗先用迁移学习
学到的第一件事数据质量决定上限

🔗 相关链接

主题链接
机器学习概览机器学习
监督学习监督学习核心 20%
模型评估模型评估核心 20%
GPU 并行计算GPU 并行计算核心 20%
计算机视觉计算机视觉