【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?

文章目录

  • 写在前面
  • 神经网络训练不起来怎么办?
    • 【2-2】04_Local Minimum And Saddle Point(Saddle Point不可怕,Local Minimum 几乎不可能遇到,在高维度上看就不是Local Minimum 了)
      • local minimal 很少,几乎不可能遇到(在更高的维度上看,local minimal可能就不是local minimal了)
    • 【2-3】05_Batch and Momentum(训练技巧)
      • Batch
        • big batch_size 时间并不比 small batch_size 多,因为并行计算,跑完一个epoch大的batch_size update次数少
        • smaller batch size has better performance(更有差异)
        • 鱼和熊掌兼得?(既想large batchsize 的快,又想small batchsize的optimization)
      • Momentum
      • 总结(cirtical points 是梯度为0的点不好更新,smaller batch size 和 momentum能有效解决)
    • 【2-4】06_Adaptive Learning Rate
      • loss不再下降,可能不是local minimal(极少遇到几乎不考虑),而是学习率太大反复横跳,太小梯度无法更新
      • Adam最常用(用pytorch默认的参数 效果 就很好了)
      • Learning Rate Scheduling(学习率随时间变化,有Decay和Warm up(黑科技))
        • Warm up(黑科技,学习率先上升后下降,直观的解释是:先探索每个方向,再走下去)
      • 小结:Summary of Optimization
    • 【2-5】08_Classification - 损失函数(Loss)也可能有影响
      • Softmax
      • loss of classfication(Cross-entropy)
      • 改变loss function 就可以改变optimization的难度
    • 【2-6】07_Batch Normalization
      • 尽量loss不要变得椭圆,难train
      • Feature Normalization
      • BN(Feature Normalization只对第一层的input处理,那么第二层的呢?第三层..?引出BN)
        • Batch Normalization的batch要够大
        • Batch Normalization —— Testing
      • BN的实验结果:加快训练速度(BN推平了error surface,所以learing rate能够调大一点)
      • 为什么BN会好呢?
      • 其他的Normalization

写在前面

[视频学习-bilibili] | [课程主页——sample code & slide] | [ML2021学习笔记]

神经网络训练不起来怎么办?

【2-2】04_Local Minimum And Saddle Point(Saddle Point不可怕,Local Minimum 几乎不可能遇到,在高维度上看就不是Local Minimum 了)

特征值有正有负是Saddle Point, 全正局部最小,全负局部最大
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第1张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第2张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第3张图片

local minimal 很少,几乎不可能遇到(在更高的维度上看,local minimal可能就不是local minimal了)

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第4张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第5张图片

【2-3】05_Batch and Momentum(训练技巧)

Batch

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第6张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第7张图片

big batch_size 时间并不比 small batch_size 多,因为并行计算,跑完一个epoch大的batch_size update次数少

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第8张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第9张图片

smaller batch size has better performance(更有差异)

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第10张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第11张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第12张图片

鱼和熊掌兼得?(既想large batchsize 的快,又想small batchsize的optimization)

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第13张图片

Momentum

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第14张图片

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第15张图片

总结(cirtical points 是梯度为0的点不好更新,smaller batch size 和 momentum能有效解决)

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第16张图片

【2-4】06_Adaptive Learning Rate

loss不再下降,可能不是local minimal(极少遇到几乎不考虑),而是学习率太大反复横跳,太小梯度无法更新

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第17张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第18张图片

Adam最常用(用pytorch默认的参数 效果 就很好了)

Learning Rate Scheduling(学习率随时间变化,有Decay和Warm up(黑科技))

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第19张图片

Warm up(黑科技,学习率先上升后下降,直观的解释是:先探索每个方向,再走下去)

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第20张图片

为什么需要Warm up,请参考
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第21张图片

小结:Summary of Optimization

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第22张图片

【2-5】08_Classification - 损失函数(Loss)也可能有影响

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第23张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第24张图片

Softmax

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第25张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第26张图片

loss of classfication(Cross-entropy)

过去上课有讲证明,Classification讲两个多小时,21年简化了精简了。。。

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第27张图片

改变loss function 就可以改变optimization的难度

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第28张图片

【2-6】07_Batch Normalization

如果输入的x很小,w也很小,乘起来也就很小。
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第29张图片

尽量loss不要变得椭圆,难train

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第30张图片

Feature Normalization

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第31张图片

BN(Feature Normalization只对第一层的input处理,那么第二层的呢?第三层…?引出BN)

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第32张图片

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第33张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第34张图片

Batch Normalization的batch要够大

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第35张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第36张图片

Batch Normalization —— Testing

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第37张图片

BN的实验结果:加快训练速度(BN推平了error surface,所以learing rate能够调大一点)

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第38张图片

为什么BN会好呢?

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第39张图片
【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第40张图片

其他的Normalization

【李宏毅2021机器学习深度学习】 神经网络训练不起来怎么办?_第41张图片

你可能感兴趣的:(深度学习_李宏毅,深度学习)