前言

每一次的epoch都是将其数据集经过神经网络,进行正向传播以及反向传播。由于epoch训练的数据集可能过大,需要将其分块,对应设置batchsize的尺寸个数。

训练数据的时候,batchsize的大小会影响精确度以及训练的时长问题等

batchsize大小的选择,介于1到数据总量之间,选择过大或者过小都会出现极端。过小可能出现欠拟合,过大可能出现过拟合,具体选择多少的batchsize根据网络以及数据集来决定

1. batchsize定义

batchsize的大小决定梯度下降的方向和大小

更新权重的通过每次epoch的训练,batchsize设置为1的时候只用1个样本更新参数,batchsize设置为2的时候只用2个样本更新参数。权重的更新影响梯度下降的方向和大小。

2. batchsize大小

过拟合:

batchsize大小对网络模型的理解-LMLPHP

3. batchsize平衡

神经网络训练数据的时候一般选择合适的batchsize,大的batchsize可以提高稳定性,梯度下降的时候可以更加稳定,不过不是极端的大,要适合自身的网络模型还有数据量

选择合适的batchsize下降方向比较准确,训练引起的波动较小,整体的下降方向通过微调即可

选择合适的batchsize的优点:

  • 提高内存利用率,gpu运行最大化
  • 梯度下降方向以及大小更加准确
04-14 20:27