深度学习常用名词解析

深度学习中,Epoch是指训练集所有样本训练一次,一个Epoch可能包含多个Iteration。每个Iteration处理BatchSize数量的样本。合适的BatchSize能平衡内存效率和收敛速度,过小可能导致欠拟合,过大则可能增加过拟合风险和内存需求。适当增加BatchSize可以提高内存利用率和训练速度,减少梯度下降的震动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

深度学习

英文DL(Deep Learning),指多层的人工神经网络和训练它的方法。一层大量的神经网络会把大量的矩阵数字作为输入,通过非线性激活方法获取权重,再产生另一个数据集和作为输出。

Epoch:

在模型训练的时候含义是训练集中的所有样本训练完一次。这里的一指的是:当一个完整的数据集通过了神经网络一次并且返回了一次。如果Epoch过少会欠拟合,反之Epoch过多会过拟合.

1个epoch=iteration数 × batchsize数

举个例子:训练集有1000个样本,batchsize=10。
训练完整个样本集需要:100次iteration,1次epoch。

为什么要使用多个epoch? 

当一个 epoch 对于计算机而言太庞大的时候,就需要把它分成多个小块。

在神经网络中传递完整的数据集一次是不够的,而且我们需要将完整的数据集在同样的神经网络中传递多次。但是请记住,我们使用的是有限的数据集,并且我们使用一个迭代过程即梯度下降,优化学习过程和图示。因此仅仅更新权重一次或者说使用一个 epoch 是不够的。随着 epoch 数量增加,神经网络中的权重的更新次数也增加,曲线从欠拟合变得过拟合。

Iteration:

翻译为迭代。迭代是重复反馈的动作,神经网络中我们希望通过迭代,进行多次的训练以达到所需的目标或结果。1个iteration=1个正向通过+1个反向通过=使用batchsize个样本训练一次。

每一次迭代得到的结果都会被作为下一次迭代的初始值。

Batchsize:

译为批量大小。简单点说,批量大小将决定我们每一次训练的样本数目(改参数受限于机器性能,电脑配置差的话 不能设置太大)。

记住公式:1个iteration=使用batchsize个样本训练一次。

在深度学习中,一般采用SGD训练(随机梯度下降),即每次训练在训练集中取batchsize个样本训练;

(1)经验总结:Batch_Size的正确选择是为了在内存效率和内存容量之间寻找最佳平衡

相对于正常数据集,如果Batch_Size过小,训练数据就会非常难收敛,从而导underfitting。增大Batch_Size,相对处理速度加快。但是,增大Batch_Size,所需内存容量增加(epoch的次数需要增加以达到最好的结果)这就出现了矛盾。——因为当epoch增加以后,同样也会导致耗时增加从而速度下降。因此我们需要寻找最好的Batch_Size。

(2)适当的增加Batch_Size的优点:

1.通过并行化提高内存利用率。
2.单次epoch的迭代次数减少,提高运行速度。
3.适当的增加Batch_Size,梯度下降方向准确度增加,训练震动的幅度减小。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

图灵追慕者

您的支持是我写作分享最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值