YOLO 训练怎么调参:先看清曲线,再动超参
训练效果不好时,多数人的第一反应是改学习率。其实更该先看图:Loss 震荡说明什么、mAP 提前平台意味着什么、什么时候该停。这篇讲 Easy Trainer Station 的观察方式,以及几条少走弯路的调参顺序。
调参的本质是「通过现象反推原因」。看曲线是成本最低的一步,但前提是你知道该看什么。
Easy Trainer Station 目前处于研发中,下面讲的是它围绕的观察方法与调参顺序,命令行训练同样适用。
一、先看三条曲线
- 训练 Loss:持续下降是正常;剧烈震荡通常是学习率过大或 batch size 太小。
- 验证 Loss:开始上升而训练 Loss 继续下降,是过拟合的典型形状。
- mAP@0.5 与 mAP@0.5:0.95:后者停滞而前者还在涨,说明定位精度是瓶颈,不是分类。
二、再看数据增强是不是「过头」
增强开得猛,训练前期会明显更慢。如果训练 Loss 长时间高居不下、验证集反而正常,先怀疑增强强度,而不是模型容量。
三、然后才是超参
建议顺序:
- 学习率 — 只动这一项,其余固定,跑 20 个 epoch 看趋势。
- batch size — 受显存限制,先用能跑的最大值,再考虑梯度累积。
- 输入分辨率 — 小目标多就往上调,但推理成本同步上升,要和部署设备对齐。
- 模型规模 — 最后再换 backbone,因为它同时改变精度和速度。
一次只动一个变量,否则结果无法归因。
四、什么时候该停
早停不是「差不多了就停」,而是看验证指标多久没改善。留一份从未参与训练的测试集做最终确认,避免在验证集上反复调参导致的乐观偏差。
五、把历史留住
同一份数据、不同参数跑出来的模型,如果没有记录,一周后就分不清哪个是哪个。训练历史、权重文件、实验备注要一起管,这也是把训练搬到界面里的主要理由:这次比上次好在哪,要能查到。
产品进展见 Easy Trainer Station 产品页。