浏览量:4602 最近编辑于:2020-07-22 23:23:21
Batch Size
一次训练所选取的样本数
GD / batch-GD
Gradient Descent,没有Batch Size
SGD
Stochastic Gradient Descent,Batch Size=1
mini-batch SGD
选择合适Batch Size的SGD
mini-batch优点
- 提高运行效率、相比GD,一个epoch更新多次参数,加速收敛
- 解决训练集过大无法一次性读入内存的问题
- 人为给训练带来噪声,带领算法走出鞍点
大Batch Size优缺点
- 并行化提高内存利用率、发挥GPU性能
- 一次epoch所需迭代次数减少、数据处理速度快
- 梯度准确、震荡小、稳定性高、容易收敛
- 泛化性能差、容易陷入局部极小值或鞍点
- 内存容量不够
小Batch Size优缺点
- 收敛速度快
- 花费时间多,梯度震荡严重,稳定性差,不利于收敛
Batch Size从小到大的变化对网络影响
- 没有batch size(GD),梯度准确
- batch size=1,梯度不准确、收敛慢
- batch size增大,梯度变准确
学习率和batchsize的关系
增加batchsize为原来的N倍时,要保证经过同样的样本后更新的权重相等,按照线性缩放规则,学习率应该增加为原来的N倍。但是如果要保证权重的方差不变,则学习率应该增加为原来的sqrt(N)倍,目前这两种策略都被研究过,使用前者的明显居多
tricks
- 逐渐增大batch size来代替学习率的衰减
- 如果增加了学习率,那么batch size最好也跟着增加,这样收敛更稳定,大batch size≈小lr
- 尽量使用大的学习率,因为很多研究都表明更大的学习率有利于提高泛化能力
- 噪音大,调大batch size
- 噪音小,调小batch size
评论