跳转至

FastDINOv2: Frequency Based Curriculum Learning Improves Robustness and Training Speed

会议: NeurIPS 2025 arXiv: 2507.03779 代码: 有 (github.com/KevinZ0217/fast_dinov2) 领域: 模型压缩 / 自监督学习效率 关键词: DINOv2, curriculum learning, frequency bias, robustness, training acceleration

一句话总结

提出 FastDINOv2,一种两阶段频率课程学习策略:先用低分辨率图像训练 75% epochs 学习低频特征以加速收敛,再用全分辨率+高斯噪声 patching 训练 25% epochs 平衡频率偏置,实现 1.6× 加速、2.25× FLOPs 节省,同时增强鲁棒性。

研究背景与动机

DINOv2 等大规模自监督视觉基础模型取得了出色性能,但复现其预训练极其昂贵(ViT-B 需要 16.64 天训练、493.76 GFLOPs)。现有问题:

  1. 资源门槛高:学术实验室和初创公司难以复现,限制了再现性和创新
  2. 鲁棒性非显式优化:SSL 模型的鲁棒性是极大规模训练的"涌现"副产物,中小规模无法获得
  3. 频率偏置未被充分理解:低频课程学习可加速 ViT 收敛(已知),但其对鲁棒性的影响尚未探索

关键洞察:高频和低频腐蚀破坏图像的不同频谱带,通过精心设计课程学习和数据增强,可以同时实现加速和鲁棒性两个目标。

方法详解

整体框架

FastDINOv2 分为两个训练阶段:

Stage 1(前 75% epochs)—— 低频训练: - 在 DINOv2 的标准 cropping 后,对 global crop 从 224×224 下采样到 112×112,local crop 从 96×96 下采样到 48×48 - 使用双三次插值(bicubic interpolation)进行下采样,作为低频特征提取的轻量代理 - 输入 token 数减少 75%,大幅降低计算量 - 模型先学习粗粒度的低频结构特征,加速收敛

Stage 2(后 25% epochs)—— 全分辨率 + 高斯噪声 patching: - 切换到全分辨率输入(224×224) - 重置 Adam 优化器状态(restarting mechanism),确保训练稳定性 - 引入高斯噪声 patching 增强鲁棒性 - 保持 batch size 不变

关键设计

低频提取的简化方案:不同于 EfficientTrain++ 使用傅里叶变换做高频滤波,本文直接用下采样作为低频提取的代理,更简单高效。自然图像的能量集中在低频域,下采样保留了大部分语义信息。

高斯噪声 Patching: - 随机选择图像中的一个正方形 patch,对其中的像素值施加高斯噪声:\(\tilde{x} \sim \mathcal{N}(1, \text{scale}^2)\) - 与 CutOut(遮盖)和全局高斯噪声(全图加噪)不同,noise patching 仅局部注入噪声,保留了干净区域的判别信息 - 理论上引入低频偏置,增强对高频腐蚀的鲁棒性

频率偏置互补机制: - 低频课程 → 模型偏向高频特征(因为只在低频上训练,高频暴露时模型学会对高频信号敏感) - 高斯噪声 patching → 引入低频偏置(因为噪声破坏高频细节,迫使模型依赖低频特征) - 两者结合实现频谱平衡,消除单一技术的频率偏置缺陷

训练策略

  • 位置编码:使用带插值的位置嵌入适应两阶段分辨率变化
  • 学习率:使用 AdamW + 基于 batch size 的平方根学习率缩放
  • Stage 1 分辨率选择:112×112 是最优平衡点;96×96 性能略降,64×64 严重退化(学习信号不足)
  • Epoch 分配:75%/25% 的分割比(在 200 总 epoch 中,150 低频 + 50 全分辨率)

实验关键数据

主实验:ImageNet-1K Linear Probing + 训练效率

方法 训练时间 (L40S) 训练 epoch ImageNet-1K 准确率 ImageNet-C mCE↓ GFLOPs
DINOv2 16.64 天 250 77.8% 56.5% 493.76
FastDINOv2 10.32 天 200 76.2% 56.7% 219.92

训练时间减少 1.6×,FLOPs 减少 2.25×,线性探测仅降 1.6%,鲁棒性持平。

主实验:ImageNet-100-C 鲁棒性详细对比

腐蚀类型 DINOv2 基线 FastDINOv2 Δ
高斯噪声 32.11% 57.51% +25.40%
脉冲噪声 26.97% 54.62% +27.65%
散弹噪声 31.06% 55.34% +24.28%
斑点噪声 40.87% 61.59% +20.72%
对比度 51.49% 56.09% +4.60%
霜冻 43.80% 47.52% +3.72%
玻璃模糊 36.85% 40.24% +3.39%
腐蚀平均 46.84% 52.88% +6.04%
干净准确率 78.60% 78.40% -0.20%

对高频噪声腐蚀提升巨大(+20~28%),干净准确率几乎不损失。

消融实验

Stage 1 分辨率选择(ImageNet-100 Linear Probing)

方法 准确率 训练时间
DINOv2 (250ep) 78.6% 24h
112-224 FastDINOv2 78.44% 13.9h
128-224 FastDINOv2 77.74% 13.6h
96-224 FastDINOv2 77.2% 12.9h
64-224 FastDINOv2 70.6% 13.48h

112×112 是最佳平衡点:准确率几乎无损,速度提升 1.73×。

频率偏置分析: - 纯低频课程(无 GP)→ 高频偏置:低频腐蚀鲁棒性↑,高频腐蚀鲁棒性↓ - 纯高斯噪声 patching → 低频偏置:高频噪声鲁棒性大幅↑,但散焦模糊等中频略降 - 两者结合 → 频谱平衡:大多数腐蚀类型鲁棒性提升,仅 zoom blur、pixelate 微降

关键发现

  1. 低频课程学习不仅加速收敛,还会引入意外的高频特征偏置
  2. 高斯噪声 patching 是高频偏置的有效对冲手段
  3. 鲁棒性不必是极大规模训练的涌现属性,可通过课程设计主动构建
  4. 语义分割性能不受影响(mIoU 持平),说明 Stage 2 成功恢复了细粒度像素理解
  5. 实例识别任务上 FastDINOv2 甚至优于基线(Oxford Easy +3.73%)

亮点与洞察

  • 优雅的频率互补设计:低频课程和噪声 patching 的频率偏置恰好相反,组合后实现平衡
  • 实用性强:无需修改 DINOv2 架构,只改训练流程,即可节省 40% 训练时间
  • 深入的频率分析:系统性地按频率带分类腐蚀类型,建立了腐蚀-频率-偏置的完整分析框架
  • 规模友好:方法在 ImageNet-100 和 ImageNet-1K 上均有效,适用于资源受限场景

局限性 / 可改进方向

  1. 仅验证了 ViT-B:更大模型(ViT-L/G)和更大数据集(LVD-142M)的效果未知
  2. Stage 分割比是固定的:75%/25% 是否对所有设置最优未深入探索
  3. 中频腐蚀仍然薄弱:zoom blur、pixelate 略有下降,频谱平衡不完美
  4. 仅评估了线性探测和分割:检测、开放词汇等更多下游任务未验证
  5. 可扩展方向:将频率课程推广到其他 SSL 框架(MAE、CLIP)、探索自适应频率 schedule

相关工作与启发

  • EfficientTrain++:通用 ViT 加速课程,在 DINO(v1)上未观察到加速,本文在 DINOv2 上验证了有效性
  • RECLIP:将分辨率课程用于 CLIP 预训练,本文扩展到自监督设置并加入鲁棒性分析
  • 频率鲁棒性:高斯噪声增强 → 低频偏置已知,本文首次将其与课程学习的高频偏置结合
  • 启发:训练效率和鲁棒性可以通过同一技术(课程学习)同时获得,而非互相矛盾

评分

  • 新颖性:★★★★☆(频率课程+噪声 patching 的互补设计新颖,但各组件已有先例)
  • 技术深度:★★★☆☆(方法简洁有效,但理论分析较浅,主要依赖经验观察)
  • 实验充分度:★★★★☆(多数据集、多任务、详细频率分析,但限于 ViT-B 规模)
  • 实用价值:★★★★★(即插即用,显著节省训练成本,对资源受限团队价值大)