目录
- 前言
- 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 | - 内存溢出:每次都这么大数据量,可能导致内存溢出。
- 其他:参数难以修正,梯度下降方向已确定,无法有细微变化 |
过拟合:
3. batchsize平衡
神经网络训练数据的时候一般选择合适的batchsize,大的batchsize可以提高稳定性,梯度下降的时候可以更加稳定,不过不是极端的大,要适合自身的网络模型还有数据量
选择合适的batchsize下降方向比较准确,训练引起的波动较小,整体的下降方向通过微调即可
选择合适的batchsize的优点:
- 提高内存利用率,gpu运行最大化
- 梯度下降方向以及大小更加准确
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)