batch_size的做用

batch_size网络

模型训练过程:

模型初始化 --> 数据佯本输入模型 --> 模型输出 --> 模型调整code

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,能够有效提升模型精度、全局收敛。
相关文章
相关标签/搜索