batchsize大小对网络模型的理解

目录

  • 前言
  • 1. batchsize定义
  • 2. batchsize大小
  • 3. batchsize平衡

前言

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

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

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

1. batchsize定义

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

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

2. batchsize大小

batchsize的大小 优点 缺点
过小(假设为1) 只适用小样本数据 - 耗时:当数据总量较大,每次训练只用1个数据,时长会非常大。

- 难收敛:个体差异会引起梯度难以下降,模型难以收敛,容易欠拟合
过大(假设为数据总量) - 省时:多个数据训练减少所需的batch - 内存溢出:每次都这么大数据量,可能导致内存溢出。

- 其他:参数难以修正,梯度下降方向已确定,无法有细微变化

过拟合:

batchsize大小对网络模型的理解_第1张图片

3. batchsize平衡

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

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

选择合适的batchsize的优点:

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

你可能感兴趣的:(深度学习,机器学习,深度学习,人工智能)