生成模型的训练策略至关重要,因为它们解决了高维数据分布建模的固有难题:通过设计鲁棒的优化目标、稳定训练动态、突破损失-质量鸿沟,并高效利用算力资源,最终将理论算法转化为可落地的高质量生成系统,确保结果在稳定性、多样性和安全性上满足实际需求。以下是主要策略的分类详解:
一、权重平滑策略 (Weight Smoothing)
核心思想:在训练过程中对权重更新轨迹进行平滑,减少噪声和震荡,使模型收敛到更平坦的损失区域(通常泛化更好)。
指数移动平均 (Exponential Moving Average, EMA)
原理:维护权重的“影子副本”,每次优化器更新后按衰减率β平滑:
θ_ema = β * θ_ema + (1 - β) * θ特点:
超参数少(仅β),β≈0.99~0.9999(接近1)。
推理阶段使用EMA权重,而非原始权重。
优势:
显著稳定训练(如GANs、扩散模型)。
提升生成质量(减少模式崩溃/图像伪影)。
应用:StyleGAN、Diffusion Models(DDPM/Stable Diffusion)的标配。
随机权重平均 (Stochastic Weight Averaging, SWA)
原理:
训练后期(如75% epochs后)周期性保存权重快照(如每K个epoch)。
对所有快照等权重平均:
θ_swa = (θ₁ + θ₂ + ... + θₙ) / n。
特点:
探索损失曲面多个局部极小值并平均,找到更平坦区域。
需额外训练20%~25% epochs(仅收集权重,不反向传播)。
优势:
显著提升泛化性(分类/检测任务)。
计算开销低(仅最后阶段保存模型)。
应用:PyTorch内置
torch.optim.swa_utils。
二、权重集成策略 (Weight Ensembling)
核心思想:组合多个独立训练或同训练轨迹中的模型权重,通过多样性提升性能。
快照集成 (Snapshot Ensembling)
原理:
使用循环学习率(如Cosine Annealing)。
每次学习率周期结束时保存权重快照 → 得到多个模型。
推理:对多个快照模型预测结果取平均。
优势:低成本获得模型多样性(单次训练生成多模型)。
快速几何集成 (Fast Geometric Ensembling, FGE)
原理:
改进的快照集成:在损失曲面上沿高曲率方向收集模型。
通过优化路径控制权重收集点(非固定周期)。
优势:比快照集成更少模型数达到相同效果。
检查点平均 (Checkpoint Averaging)
原理:训练结束时保存最后N个checkpoints → 平均其权重。
特点:
最简单集成策略,零额外成本。
要求训练已收敛(checkpoints处于相同极小值附近)。
三、动态权重平均策略
结合平滑与集成,在训练中动态调整权重。
Polyak-Ruppert 平均
原理:全程平均所有权重(非指数加权):
θ_avg = (θ₁ + θ₂ + ... + θ_T) / T特点:理论保障强(收敛性),但需存储大量中间权重 → 内存开销大。
移动平均集成 (Moving Average Ensembling)
变体:EMA + 多EMA分支
同时维护多个EMA模型(不同衰减率β₁, β₂, ...)。
推理时加权平均各EMA输出。
四、分布式训练中的权重同步策略
大规模训练中解决权重不一致问题。
同步EMA (Synchronized EMA)
场景:数据并行训练(多GPU)。
原理:各GPU计算本地EMA → 全局同步平均 → 广播回所有GPU。
关键:平衡通信效率与平滑一致性。
分片EMA (Sharded EMA)
场景:ZeRO-3级分布式优化(参数分片)。
原理:EMA权重与模型参数共同分片,局部更新后全局聚合。
五、高级混合策略
结合多种技术实现最优效果。
选择策略的核心考量
任务类型:
生成模型(GANs/扩散)→ EMA(稳定生成)
分类/检测 → SWA/快照集成(提升泛化)
资源限制:
低内存 → Checkpoint平均
多卡训练 → 同步EMA
超参数敏感度:
EMA需调β,SWA需调收集周期和LR策略。
实践建议:
扩散模型:EMA(β=0.9999)+ 梯度裁剪 + 余弦学习率衰减。
GANs:EMA(G的β=0.999)+ 谱归一化 + AdamW优化器。
LLM微调:EMA(β=0.999)或最后5个checkpoint平均。
这些策略通过“软化”权重更新路径或组合多模型优势,显著提升模型鲁棒性,是工业级训练的必备技术。