深度学习中batch_size epoch,batch,iteration

深度学习基础概念解析
本文详细解释了深度学习中的核心概念,包括批处理大小(batch_size)、批次(batch)及周期(epoch)等,帮助初学者更好地理解这些概念及其在实际训练过程中的应用。

   刚刚接触深度学习的知识是对里面的batch_size,batch和epoch等等一些定义比较懵,所以自己在这里说一下我对它们的理解。

batch_size:可以翻译为批处理大小(这也是我们起初对它的理解,但是在实验中不懂的怎么使用和设置)。

            这里的batch_size代表将整个数据集划分成多个块,我们每次训练的样本数目。batch_size的适当增加可以增加内存的利用率。它的正确选择可以在内存容量和内存效率之间寻找到一定平衡。

batch:是当全数据集较大时,采取的一种策略,可以将全数据集分成几个batch进行训练。一次batch的样本训练为一个epoch。给定batch_size,iteration就是完成这个batch的样本训练需要iteration的次数(size(batch)/size(batch_size))。

整个数据集,整个数据集确定的方向可以更好的代表总体,能够准确的朝向极值所在的方向。对以小的数据集可以将整个数据集作为一次训练的样本数目。但是当数据比较大时,就需要分成几个batch来做。

epoch:可以翻译为时期,但是这里的epoch代表的是迭代次数。但是和iteration(迭代)不同的是,一次epoch是整个训练集的全部样本训练一次,一次epoch等于整个训练集正向传递和反向传递;而iteration是每个batch_size的样本训练集训练一次,这里每次iteration包含一个正向传递和一个反向传递。

举例:全数据样本为2000,batch大小为500,那么完成batch的样本训练epoch需要4次,给定batch_size为25,那么一个完成一个batch的样本训练需要20次iteration。


### 关于Batch SizeIterationEpoch的概念及其相互关系 #### Batch Size 的定义 在机器学习尤其是深度学习领域内,`batch_size`指的是每次梯度下降过程中所使用的样本数量。由于现代计算资源的强大支持,几乎所有的梯度下降都采用的是基于小批量(mini-batch)的方式来进行优化[^1]。 #### Iteration (迭代次数) 定义 对于每一次完整的前向传播(forward propagation)+反向传播(backpropagation),即完成了一次权重更新操作,则称为一次iteration(迭代)[^4]。具体来说,在每一轮迭代中会使用指定大小(`batch_size`)的数据集子集来调整模型参数。 #### Epoch 定义 而当整个训练集中所有样例都被用来参与过至少一次的学习过程之后(无论分为多少轮迭代),就构成一个epoch。换句话说,经过一个epoch意味着遍历了全部训练数据并进行了相应的参数更新动作[^3]。 #### 各变量间的关系描述 假设有一个含有N条记录的数据集用于训练某个神经网络模型: - 如果设定 `batch_size=N` ,那么每次都会利用全量数据做梯度估计,此时仅需执行单次迭代即可结束一个epoch; - 若设定了较小的`batch_size=n<N`, 则需要进行 \(\frac{N}{n}\) 轮迭代才能覆盖到整批数据从而形成一个epoch; - 当然也可以通过增加总的epoch数目让训练更加充分,直到达到预期性能指标为止。 ```python import numpy as np def calculate_iterations_per_epoch(dataset_size, batch_size): """ 计算每个epoch内的迭代次数 """ return int(np.ceil(dataset_size / float(batch_size))) dataset_size = 1000 # 数据集规模 batch_sizes = [16, 32, 64] for bs in batch_sizes: iterations = calculate_iterations_per_epoch(dataset_size, bs) print(f'With a batch size of {bs}, there will be approximately {iterations} iterations per epoch.') ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值