一文读懂深度学习中的Epoch,Batchsize( 二 )


上图可见,蓝色全数据效果更好,当数据量较小,计算机可以承载的时候可以采取这种训练方式 。绿色的mini分批次训练精度略有损失,而红色的随机训练,难以达到收敛状态 。
所谓就是完成一次epoch所需的batch个数 。
刚刚提到的,batch 就是 。每一次迭代都是一次权重更新,每一次权重更新需要batch size个数据进行运算得到损失函数,再BP算法更新参数 。
最后可以得到一个公式:
one epoch =of= N = 训练样本的数量/batch size

一文读懂深度学习中的Epoch,Batchsize

文章插图
一次epoch 总处理数量 = 次数 * 大小
简单一句话说就是,我们有2000个数据,分成4个batch,那么batch size就是500 。运行所有的数据进行训练,完成1个epoch,需要进行4次 。
总结:
(1):批大小 。在深度学习中,一般采用SGD训练,即每次训练在训练集中取个样本训练;
(2):1个等于使用个样本训练一次;
(3)epoch:1个epoch等于使用训练集中的全部样本训练一次;
损失函数的一些问题:
train loss 不断下降,test loss不断下降,说明网络仍在学习;
train loss 不断下降,test loss趋于不变,说明网络过拟合;
train loss 趋于不变,test loss不断下降,说明数据集100%有问题;
train loss 趋于不变,test loss趋于不变,说明学习遇到瓶颈,需要减小学习率或批量数目;
train loss 不断上升,test loss不断上升,说明网络结构设计不当,训练超参数设置不当,数据集经过清洗等问题 。
常见损失loss不下降解决:
1.模型结构和特征工程存在问题2.权重初始化方案有问题3.正则化过度4.选择合适的激活函数、损失函数5.选择合适的优化器和学习速率6.训练时间不足7.模型训练遇到瓶颈8.batch size过大9.数据集未打乱10.数据集有问题11.未进行归一化12.特征工程中对数据特征的选取有问题
常见过拟合解决方法:
过拟合:过拟合()是指在模型参数拟合过程中的问题,由于训练数据包含抽样误差,训练时,复杂的模型将抽样误差也考虑在内,将抽样误差也进行了很好的拟合 。
具体表现就是最终模型在训练集上效果好;在测试集上效果差 。模型泛化能力弱 。
解决:
【一文读懂深度学习中的Epoch,Batchsize】(1) 早点停止梯度更新