Epoch、Batch、Batch size

您所在的位置:网站首页 gta5游戏厅的游戏机赚钱 Epoch、Batch、Batch size

Epoch、Batch、Batch size

2023-11-22 16:03| 来源: 网络整理| 查看: 265

知识来源知乎专栏作者风度、 作者眼睛里面进砖头了https://www.zhihu.com/question/456600260 epoch: 一个完整的数据集通过了神经网络一次并返回一次,称为一个epoch。所有的训练样本在神经网络中都进行了一次正向传播和反向传播,就是一个epoch将所有的训练集训练一次的过程。 Batch: 当一个epoch的样本数量太庞大,需要把它分成多个小块,也就是分成多个batch来进行训练。batch(批/一批样本),将整个训练样本分成若干个batch。 batch_size: 每批样本的大小 iteration: 一次迭代,训练一个Batch就是一次iteration

神经网络中传递完整的数据集一次是不够的,而且我们需要将完整的数据集在同样的神经网络中传递多次。使用有限的数据集,使用一个迭代过程即梯度下降优化学习过程。随着epoch数量增加,神经网络中的权重的更新次数也在增加,但是具体多少个epoch case by case Batch_size:它的大小影响模型的优化程度和速度,直接影响到GPU内存的使用情况,GPU内存不大,数值最好设置小一点。 Batch_size增大,梯度变得准确,当非常准确的时候,在增加batch_size也没用了。

batch_size增大要到达相同的准确度,必须增大epoch: batch size的大小影响的是训练过程中的完成每个epoch所需的时间和每次迭代(iteration)之间梯度的平滑程度。其实看完batch_size的解释,基本就应该知道epoch在发挥个什么作用了。说简单点,epoch影响的就是迭代计算的次数。 在不限内存的情况,应当用大点的batch_size, 进行模型优化,稳且快。在内存有限的情况下,减小batch_size的情况下应该相应减小的是learning_rate, 至于epoch怎么调,你就需要综合看你的loss下降情况与验证集的指标情况了。

若是loss还能降,指标还在升,那说明欠拟合,还没收敛,应该继续train,增大epoch。若是loss还能再降,指标也在降,说明过拟合了,那就得采用提前终止(减少epoch)或采用weight_decay等防过拟合措施。 3.若是设置epoch=16,到第8个epoch,loss也不降了,指标也不动了,说明8个epoch就够了,剩下的白算了。当然以上说的都是预设的一些理想情况,现实中往往没有这么明确,就如第三种情况,它可能只是到了局部最优点,并没有最优,你可能换个大点的batch_size,模型就调了个方向继续下坡,指标又能往上走点。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3