深度学习内容(batch、iteration、epoch含义)

深度学习内容(batch、iteration、epoch含义)

1、概念理解

Batch、Iteration、Epoch是在模型训练阶段的概念。

在模型训练时,我们选择优化算法,如梯度下降法(全批量梯度下降法BGD、小批量梯度下降法mini-Batch、随机梯度下降法SGD),对模型参数进行调整训练。

那么,这里梯度下降法使用的数据量即为batch_size,整个样本N需要的batchs数为:N/batch_size。

而使用梯度下降法完成一次参数更新,称为一次迭代,即 iteration。

整个样本训练完成需要的迭代次数iterations = batchs = N /batch_siez ,也等于 1次Epoch。

即一次Epoch意味着整个样本集训练完成。

2、关系理解

batch_size:在训练集中选择一组样本用来更新权值。1个batch包含的样本的数目,通常设为2的n次幂,常用的包括64,128,256。 网络较小时选用256,较大时选用64。

Number of batchs = N /batch_size, 一次batch完成一次参数迭代。

一次Epoch完成一次整体样本的迭代。不同的训练样本、不同的训练模型对应不同的Epoch,没有统一适用的范围标准。
在这里插入图片描述

3、例子说明

CIFAR10 数据集有 50000 张训练图片,10000 张测试图片。现在选择 Batch Size = 256 对模型进行训练。

每个 Epoch 要训练的图片数量:50000
训练集具有的 Batch 个数:50000 / 256 = 195 + 1 = 196
每个 Epoch 需要完成的 Batch 个数:196
每个 Epoch 具有的 Iteration 个数:196
每个 Epoch 中发生模型权重更新的次数:196
训练 10 代后,模型权重更新的次数:196 * 10 = 1960
不同代的训练,其实用的是同一个训练集的数据。第 1 代和第 10 代虽然用的都是训练集的五万张图片,但是对模型的权重更新值却是完全不同的。因为不同代的模型处于代价函数空间上的不同位置,模型的训练代越靠后,越接近谷底,其代价越小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值