从右到左的粉色箭头(Backward Propagation)是"学习"的精髓!
(1)链式法则:逐层传递责任
数学原理:
∂Loss/∂w₁ = ∂Loss/∂y' × ∂y'/∂z₂ × ∂z₂/∂a₁ × ∂a₁/∂z₁ × ∂z₁/∂w₁
通俗理解:
(2)梯度计算:找到调整方向
梯度的物理意义:
- 梯度 > 0:权重增加会让损失增大 → 应该减少权重
- 梯度 < 0:权重增加会让损失减小 → 应该增加权重
- 梯度 = 0:已达到最优点 → 无需调整
梯度消失与爆炸问题:
梯度消失:深层网络中梯度趋于0,学不到东西解决方案:残差连接、批量归一化、更好的激活函数梯度爆炸:梯度过大导致训练不稳定解决方案:梯度裁剪、学习率衰减
(3)优化器:智能调参专家
- Adam:大多数情况的万金油,收敛快但可能过拟合
- SGD+Momentum:简单稳定,泛化性能好
- AdamW:Adam的改进版,权重衰减更合理
- RAdam:修正Adam的前期不稳定问题
右上角的循环箭头(Iterative)揭示了学习的本质:
(1)训练阶段详细分解
第1-10轮(初学阶段):
Loss: 2.5 → 1.8 → 1.3 → 0.9 → 0.7...现象: 大幅下降,权重剧烈变化策略: 使用较大学习率快速逼近最优区域
第11-100轮(进步阶段):
Loss: 0.7 → 0.5 → 0.4 → 0.35 → 0.32...现象: 稳步下降,偶尔震荡策略: 适中学习率,开始使用验证集监控
第101-1000轮(精进阶段):
Loss: 0.32 → 0.31 → 0.305 → 0.301...现象: 缓慢下降,需要耐心策略: 降低学习率,精细调整
(2)训练监控关键指标
(1)损失曲线分析
- 训练损失持续下降:模型正在学习 ✓
- 验证损失开始上升:可能过拟合 ⚠️
- 两者都不变化:学习率过小或已收敛
(2)学习率调度策略
lr = initial_lr × 0.1^(epoch // 30)lr = min_lr + (max_lr - min_lr) × (1 + cos(π × epoch / total_epochs)) / 2if val_loss没有改善超过patience轮: lr = lr × factor
(3)早停机制
if val_loss连续10轮没有改善:
print("模型已经学会了,停止训练") 保存最佳模型参数
从这张图可以看出,从"菜鸟"到"大师",AI的学习之路和人类惊人相似:通过不断实践、及时反馈、持续改进,最终掌握复杂技能。不同的是,AI可以24小时不间断学习,处理人类无法想象的海量数据。
下次看到AI做出惊艳表现时,记住:这背后是无数次前向传播和反向传播的默默训练,是数学、工程和艺术的完美结合!
每篇文章都会用一张核心图解,配合生动比喻,让复杂的技术概念变得简单易懂!