Datawhale X 李宏毅苹果书 AI夏令营 3.1

梯度归零的点 临界点

训练损失不再下降 -》 梯度归0 -》 临界点(局部极小/大值、鞍点)

判断临界值种类的方法(计算不太懂,数学忘了一些

  1. L(θ) vs L(θ′)
  2. vTHv 正负

判断出来临界点是鞍点的话,还是可以继续训练的,且海森矩阵会告知方向。不过计算量非常大,书里说可以尝试从高纬度判断,故事不能说明正确性,但是可以帮助理解高纬度的思路。老师的经验告诉我们:“局部极小值并没有那么常见,更多的是遇到了鞍点”

隐藏任务1:找到一个优化失败的案例,意思就是找一个卡在临界点没有往下训练的例子。

隐藏任务2:过一遍文档,自己的理解程度60左右,不理解在于数学判断临界值种类的计算和维度判断临界值。

批次大小

batch_size 人为设置的超参数,意思是一次拿多少条训练数据去更新梯度
BGD 是一次拿全部的数据去算,SGD 是拿一个。“折中一下,五五开吧。或者批次大小不固定,分阶段选大小(瞎说的)”

"图 3.11 不同的批量来训练模型来做图像识别问题的实验结果" 中用MNIST 、 CIFAR-10 举例子,批量大小越大,验证/训练准确率越差。MNIST 训练集大小 6w,测试集合大小1w;另一个差不多,训练5w,测试1w, 图 3.11b CIFAR-10 5w的训练集怎么跑出来6w的批次大小的?

图里的横轴的 batch_size 只能指的是训练时的批次大小,batch_size 大到和训练集一样大,感觉诡异。通常我们学习时是分节来学习的,全面考核一班是用来测试学习成果(人话就是批次小一些)

momentum

Momentum 相比与SGD,加上了动量,在陷入局部极小值的时候可以靠惯性荡出去。问题是多大的动量恰好可以荡出去?

refer

MNIST数据集详解及可视化处理(pytorch) https://zhuanlan.zhihu.com/p/306399851

https://www.cs.toronto.edu/~kriz/cifar.html

https://blog.csdn.net/qq_41897558/article/details/105094752
https://datawhaler.feishu.cn/wiki/FfmVwc5YwiUvp5k3aiRcONlInsh

使用Adam及其变体、动量SGD和组合优化器

posted @ 2024-08-27 15:43  沙滩炒花蛤  阅读(5)  评论(0编辑  收藏  举报