3、训练收敛基础:损失函数、梯度下降、学习率、过拟合与欠拟合的基本概念

在排查JEPA(Joint Embedding Predictive Architecture)模型训练不收敛问题之前,必须先建立一组清晰的基础概念。JEPA模型的核心思想是让表示学习器在抽象特征空间中完成预测,而非在原始像素或token级别进行重构。这种设计虽然提升了语义抽象能力,但也带来了独特的收敛挑战:损失函数可能震荡、梯度可能消失或爆炸、学习率策略不当会导致表征坍塌或发散。本章将系统梳理损失函数、梯度下降、学习率、过拟合与欠拟合这五个基础概念,并结合JEPA的训练特性,说明它们如何影响收敛行为,以及如何通过监控这些指标快速定位问题。

训练收敛 损失函数 衡量预测误差 梯度下降 参数更新方向 学习率 步长控制 过/欠拟合 泛化能力 JEPA特有挑战 表征坍塌 · 负熵损失 · 非对比学习 · 动量更新 收敛监控指标 训练损失曲线 验证损失曲线 梯度范数 表征方差 EMA更新距离 学习率衰减曲线

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、BEiTJEPA中不使用像素级收敛,语义弱
正则化损失所有JEPA变体防止表征坍塌需平衡,过大则欠拟合
经验提醒:在JEPA训练中,如果损失函数在初期就降到接近0,往往不是好事——这通常意味着表征坍塌,即所有输入都被映射到同一个点。此时应检查正则化项的权重,并观察表征的方差是否趋近于0。

3.2 梯度下降与优化器选择

梯度下降是参数更新的基本方法,其核心思想是沿着损失函数梯度的反方向调整参数。JEPA模型通常使用AdamW或LAMB优化器,因为它们对学习率不敏感且能处理稀疏梯度。梯度下降的更新公式为:

θ_{t+1} = θ_t - η · ∇L(θ_t)

其中η是学习率,∇L是损失梯度。在JEPA中,梯度下降面临两个特殊问题:梯度消失(深层编码器导致)和梯度爆炸(预测网络输出尺度不稳定)。排查梯度问题时,应监控梯度的范数(L2 norm)。如果梯度范数在训练初期就小于1e-4,说明网络初始化或损失函数设计有问题;如果梯度范数超过1e2,则需考虑梯度裁剪。

操作流程:梯度健康检查
  1. 每100步记录一次梯度范数,绘制曲线。
  2. 若梯度范数持续下降且损失不降,检查是否使用了过强的正则化。
  3. 若梯度范数震荡剧烈,考虑降低学习率或使用梯度裁剪(max_norm=1.0)。
  4. 若梯度范数接近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 DecayJEPA标准峰值1e-3,最小1e-5需要足够训练步数
Linear Warmup训练初期前5个epochwarmup过长浪费算力
风险提示:学习率设置过高(>5e-3)时,JEPA的损失曲线会出现周期性尖峰,这是因为预测网络和目标编码器之间的动量更新失配。此时应降低学习率或增大EMA(指数移动平均)的动量系数(如从0.99提升到0.995)。

3.4 过拟合与欠拟合的识别与应对

过拟合指模型在训练集上表现优异但验证集上表现差,欠拟合则指模型在训练集上就无法收敛。在JEPA中,过拟合的表现形式与分类任务不同:由于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。