7.1.4 训练AlexNet

在训练AlexNet时使用更小的学习率,主要原因可以从以下角度结合具体例子理解:


1. 网络更深更广,梯度传递更敏感

  • LeNet:仅有5层(2卷积+3全连接),参数少,梯度反向传播时链式法则的连乘次数少,梯度幅度相对稳定。
  • AlexNet:8层(5卷积+3全连接),参数数量大幅增加(如第一个全连接层有约3700万个参数)。深层网络中,梯度通过反向传播逐层连乘,可能导致梯度爆炸或消失。
    例子:假设某一层的梯度是1.5,经过8层反向传播后,梯度可能变为 (1.5^8 \approx 25)(爆炸)或 (0.5^8 \approx 0.0039)(消失)。若学习率较大,参数更新步长会被放大或缩小,导致训练不稳定。较小的学习率(如0.001)能缓解这一问题。

2. 输入分辨率更高,激活值范围更大

  • LeNet:输入为28×28的灰度图像(MNIST),像素值范围小(0~255),激活值范围可控。
  • AlexNet:输入为224×224的RGB图像(ImageNet),像素值范围大,且经过预处理(如减去均值),激活值可能更大。
    例子:假设某层输出的激活值是LeNet的10倍,梯度也会相应增大。若学习率不变,参数更新的绝对幅度 ( \Delta w = \text{学习率} \times \text{梯度} ) 会大幅增加,导致权重震荡或发散。更小的学习率可平衡梯度的放大效应。

3. 训练目标更复杂,需要精细调整

  • LeNet:任务简单(10类手写数字识别),损失函数较平滑,较大学习率容易找到较优解。
  • AlexNet:任务复杂(ImageNet的1000类分类),损失函数曲面更崎岖。较大的学习率可能导致参数在局部最优间跳跃,而较小的学习率(如0.01→0.001)允许参数沿损失函数的“缓坡”逐步下降,找到更优解。

总结

更小的学习率是为了适应AlexNet的深度、参数量、高分辨率输入带来的梯度敏感性问题,确保参数更新稳定,避免震荡或发散。
例如,若LeNet使用0.01的学习率,AlexNet可能需要0.001,以平衡梯度幅度和网络复杂性。

posted @   最爱丁珰  阅读(4)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2024-02-21 Fractal Origami
2024-02-21 Did We Get Everything Covered?
2024-02-21 We Got Everything Covered!
2024-02-21 Permutation of Given
2024-02-21 ace5 and Task Order
点击右上角即可分享
微信分享提示