18: 加速随机梯度下降与残差网络
在本课程中,我们深入探讨了各种加速随机梯度下降 (SGD) 的方法,例如动量、RMSProp 和 Adam。我们首先在 Microsoft Excel 中实验这些技术,创建一个简单的线性回归问题并应用不同的方法来解决它。我们还介绍了学习率退火并展示了如何在 Excel 中实现它。接下来,我们探索 PyTorch 中的学习率调度器,重点介绍余弦退火以及如何使用 PyTorch 优化器。我们创建了一个带有单个批次回调的 learner 并拟合模型以获得优化器。然后我们探索优化器的属性并解释参数组的概念。
我们接着实现 PyTorch 中的 OneCycleLR 调度器,它在训练过程中调整学习率和动量。我们还讨论了如何通过加深和加宽神经网络来改进其架构,介绍了残差网络 (ResNets) 和残差连接的概念。最后,我们探索了 PyTorch Image Models (timm) 库中的各种 ResNet 架构,并实验了数据增强技术,例如随机擦除和测试时增强。
讨论的概念
- 随机梯度下降 (SGD) 加速方法
- 动量
- RMSProp
- Adam
- 学习率退火
- PyTorch 学习率调度器
- 余弦退火
- OneCycleLR
- 使用 PyTorch 优化器
- 神经网络架构改进
- 更深更宽的网络
- 残差网络 (ResNets)
- 残差连接
- 数据增强技术
- 随机擦除
- 测试时增强
- 创建自定义调度器并实验模型性能
视频
课程资源
- 讨论本课程
- 课程的 Fashion MNIST 挑战主题
- Excel 优化器电子表格
- 论文
- Fashion-MNIST 基准测试 Papers with Code