batch_size
模型训练过程:
模型初始化 --> 数据样本输入模型 --> 模型输出 --> 模型调整
epoches: 总体样本训练的循环次数
batch_size: 是在一个epoch下分批次进行训练,每次训练的样本量大小(每进行batch_size样本输入输出后,进行模型参数修正)
BP神经网络为例:
假设 样本数量500,输入维度是10,输出维度是2 ;
epoches = 100 训练100次 ;
batch_size = 1
for i in epoches:
for 1 in 500: //进行500次模型调整
1个样本输入,进行模型调整(2维输出,均方误差和进行梯度下降)
batch_size = 5
for i in epoches:
for 5 in 500: //进行100次模型调整
5个样本输入,进行模型调整(5*2维输出,均方误差和进行梯度下降)
结论
- batch_size越小,模型调整越频繁,但震荡严重,难以收敛,耗时较长
- batch_size越大,模型调整较少,收敛较快,但容易造成局部收敛,且内存一次性消耗较大
- 合适的batch_size,可以有效提高模型精度、全局收敛。
网友评论