3、训练收敛基础:损失函数、梯度下降、学习率、过拟合与欠拟合的基本概念
在排查JEPA(Joint Embedding Predictive Architecture)模型训练不收敛问题之前,必须先建立一组清晰的基础概念。JEPA模型的核心思想是让表示学习器在抽象特征空间中完成预测,而非在原始像素或token级别进行重构。这种设计虽然提升了语义抽象能力,但也带来了独特的收敛挑战:损失函数可能震荡、梯度可能消失或爆炸、学习率策略不当会导致表征坍塌或发散。本章将系统梳理损失函数、梯度下降、学习率、过拟合与欠拟合这五个基础概念,并结合JEPA的训练特性,说明它们如何影响收敛行为,以及如何通过监控这些指标快速定位问题。
3.1 损失函数:JEPA中的能量视角
损失函数是训练过程中衡量模型预测与目标之间差异的数学表达式。在JEPA框架中,损失函数通常采用能量函数(Energy-Based Loss)的形式,而非传统的交叉熵或均方误差。JEPA的典型损失由两部分构成:预测损失(衡量上下文编码器对目标编码器的预测误差)和正则化项(防止表征坍塌)。以V-JEPA为例,其损失函数可写为:
L = ||y_target - predictor(z_context)||² + λ · R(z_context, z_target)
其中,y_target是目标编码器输出的特征,z_context是上下文编码器的输出,predictor是一个可学习的预测网络,R是正则化项(如方差保持或熵最大化),λ是平衡系数。理解损失函数的结构是排查收敛问题的第一步:如果损失曲线不下降,可能是预测网络容量不足;如果损失下降但表征质量差,可能是正则化项权重过小。
| 损失类型 | 适用场景 | JEPA中的角色 | 收敛特征 |
|---|---|---|---|
| 对比损失 | SimCLR、MoCo | 不适用(JEPA避免对比) | 需要大量负样本 |
| 能量损失 | V-JEPA、I-JEPA | 核心损失,预测特征空间 | 平滑下降,但需监控方差 |
| 重构损失 | MAE、BEiT | JEPA中不使用 | 像素级收敛,语义弱 |
| 正则化损失 | 所有JEPA变体 | 防止表征坍塌 | 需平衡,过大则欠拟合 |
3.2 梯度下降与优化器选择
梯度下降是参数更新的基本方法,其核心思想是沿着损失函数梯度的反方向调整参数。JEPA模型通常使用AdamW或LAMB优化器,因为它们对学习率不敏感且能处理稀疏梯度。梯度下降的更新公式为:
θ_{t+1} = θ_t - η · ∇L(θ_t)
其中η是学习率,∇L是损失梯度。在JEPA中,梯度下降面临两个特殊问题:梯度消失(深层编码器导致)和梯度爆炸(预测网络输出尺度不稳定)。排查梯度问题时,应监控梯度的范数(L2 norm)。如果梯度范数在训练初期就小于1e-4,说明网络初始化或损失函数设计有问题;如果梯度范数超过1e2,则需考虑梯度裁剪。
- 每100步记录一次梯度范数,绘制曲线。
- 若梯度范数持续下降且损失不降,检查是否使用了过强的正则化。
- 若梯度范数震荡剧烈,考虑降低学习率或使用梯度裁剪(max_norm=1.0)。
- 若梯度范数接近0,检查预测网络是否过于简单,或目标编码器是否停止更新(stop-gradient)。
3.3 学习率策略与收敛速度
学习率决定了参数更新的步长,是影响收敛速度和质量的最关键超参数。JEPA模型通常采用warmup + cosine decay的学习率调度策略。Warmup阶段(通常5-10个epoch)让模型从较小的学习率(如1e-4)逐步上升到峰值(如1e-3),避免初期梯度不稳定;Cosine decay阶段让学习率按余弦曲线从峰值衰减到接近0,帮助模型在后期精细收敛。
| 学习率策略 | 适用阶段 | JEPA推荐值 | 风险 |
|---|---|---|---|
| 固定学习率 | 小规模调试 | 1e-4 | 后期震荡 |
| Step Decay | 传统CNN | 不推荐 | 突变导致损失反弹 |
| Cosine Decay | JEPA标准 | 峰值1e-3,最小1e-5 | 需要足够训练步数 |
| Linear Warmup | 训练初期 | 前5个epoch | warmup过长浪费算力 |
3.4 过拟合与欠拟合的识别与应对
过拟合指模型在训练集上表现优异但验证集上表现差,欠拟合则指模型在训练集上就无法收敛。在JEPA中,过拟合的表现形式与分类任务不同:由于JEPA是无监督学习,过拟合通常表现为记忆化——模型记住了训练样本的特定特征,但无法泛化到新数据。识别方法包括:
- 训练损失持续下降,但下游任务(如线性探测)准确率不提升——这是JEPA过拟合的典型信号。
- 表征方差在训练集上大,在验证集上小——说明模型过度适应训练分布。
- 预测网络输出在训练后期出现高频噪声——模型开始拟合训练集中的随机细节。
欠拟合则表现为训练损失下降缓慢或停滞,且表征方差始终较低。应对欠拟合时,应增加模型容量(如加深编码器)、增大训练步数、或调整损失函数中的正则化权重。
背景:某团队训练V-JEPA模型,batch size为256,输入图像224×224,训练数据集为ImageNet-1K。训练到第10个epoch时,训练损失从初始的2.3下降到1.8后不再下降,验证集线性探测准确率仅为42%。
初始现象:损失曲线在1.8附近震荡,梯度范数稳定在0.5左右,但表征方差从0.9下降到0.3。
分析过程:首先检查学习率——当前使用固定学习率1e-4,未使用warmup和decay。其次检查正则化项——λ设置为0.1,可能过强。最后检查预测网络——仅有一层MLP,容量不足。
操作步骤:① 将学习率策略改为warmup 5个epoch + cosine decay,峰值学习率设为3e-4;② 将λ从0.1降低到0.01;③ 将预测网络从1层MLP扩展到2层(隐藏维度1024)。
结果对比:调整后,训练损失在第15个epoch降至1.2,验证集线性探测准确率提升至58%。表征方差回升至0.7。
复盘经验:JEPA的收敛问题往往是多个因素叠加导致的,不能只调整单一超参数。建议每次只改变一个变量,并记录损失、梯度范数、表征方差三个指标的变化。
3.5 常见误区与总结
在JEPA训练中,以下误区需要特别警惕:
- 误区一:认为损失函数越低越好。在JEPA中,过低的损失可能意味着表征坍塌,应结合表征方差和下游任务性能综合判断。
- 误区二:忽略EMA动量系数。目标编码器的动量更新系数(通常为0.99~0.999)直接影响训练的稳定性。系数过小会导致目标编码器变化过快,损失震荡;系数过大会导致训练缓慢。
- 误区三:将过拟合归因于数据增强不足。JEPA的过拟合更多与预测网络容量和正则化权重相关,而非数据增强。
- 误区四:使用与CNN相同的学习率策略。JEPA的优化曲面更平滑,但需要更长的warmup和更慢的decay。