ai datawhale 深度学习 task1.2 批量和动量

在计算损失时,并不是对所有数据计算loss,而是分成一个个的批量(batch)。遍历所有批量成为一个epoch,划分批量时也会打乱。

批量大小对梯度下降法的影响

假设有20笔数据
BGD 批量梯度下降算法: bs=训练数据大小 , 把数据全训练完才更新一次loss。
SGD 随机梯度下降法(增量梯度下降法): bs=1,取出一笔数据就进行loss计算,每次epoch计算20次。

随机梯度下降引入了随机噪声,在非凸优化问题中,更容易逃离局部最小值

前者并不一定比后者花费的时间长,因为可以gpu可以并行计算,但是非常大的时候还是会长,因此大的批量是最有效率的。

批量大小越大,验证集准确率越低
相关解释:随机梯度下降中,每次更新参数时所使用的损失函数可以是不同的,这种有噪声的训练反而更好。

选择? 在有并行计算的情况下,小的批量跟大的批量运算的时间并没有太大的差距。除非大的批量非常大,才会显示出差距。但是一个回合需要的时间,小的批量比较长,大的批量反而是比较快的,所以从一个回合需要的时间来看,大的批量是较有优势的。 而小的批量更新的方向比较有噪声的,大的批量更新的方向比较稳定。但是有噪声的更新方向反而在优化的时候有优势,而且在测试的时候也会有优势。所以大的批量跟小的批量各有优缺点,批量大小是需要去调整的超参数。

动量法

引入动量后,每次在移动参数的时候,不是只往梯度的反方向来移动参数,而是根据梯度的反方向加上前一步移动的方向决定移动方向。 他不太会被困住。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值