对于梯度下降:是因为在整个训练集上算梯度太贵,我们计算梯度要对整个损失函数求导,这个损失函数是对我们所有样本的平均损失,求一次梯度就要把整个样本都算一遍,计算代价太大。所以采用b个样本的平均来近似于整个样本的损失平均,b大时,近似很精确,b小时,近似不精确,但计算梯度容易
上图b为批量大小——batch_size。
batch_size最好在一个合适的区间(批量小,计算慢;批量大,计算快,计算代价大)
小批量随机结合上述两个优点,也是曲折的,所以可能跳出局部最优
梯度下降随机梯度下降
小批量梯度下降
代码中梯度为什么要清0:梯度存储在.grad里面,pytorch不会自动将梯度设0,所以就要我们手动了
选择批量大小:
选择学习率
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务