深度学习当中的梯度下降、Epoch、batch_size、lterations

梯度下降法
所谓“梯度”,即一条曲线的坡度或倾斜率,“下降”指代下降递减的过程。在这里插入图片描述
通过图片我们来理解,
红色的曲线就是我们神经网络的cost曲线,我们就是为了找到这条曲线的最低点,以使得网络的cost最小。黑色的点就是我们每次迭代计算出来的cost值,为了使得cost接近最小,我们需要有一个梯度值,让每次计算出来的cost逐渐接近最小,这个梯度值就是我们所说的梯度。
为什么叫做梯度下降,因为一开始的时候计算出来的cost值距离最小值最远,慢慢的计算出来的cost越来越接近最小值,所以需要逐渐降低梯度的大小,逐渐逼近最小的梯度值。

epoch
一个epoch指代所有的数据送入网络中完成一次前向计算以及反向传播的过程。但是如果一次性将所有的数据都同时进行处理,电脑的负载就会变大,所以会通过设置batch_size的方法来一次性处理小批量的图片。当将所有的图片都经过一次网络后,就完成了一次epoch。
在训练中,只经过一次所有数据的训练是不够的,要反复多次才能拟合数据。
下图为使用不同个数epoch训练的结果
在这里插入图片描述
可见,随着epoch数量的增加,神经网络中权重更新迭代的次数增多,曲线从最开始的不拟合状态,慢慢进入优化拟合状态,最终进入过拟合状态。

batch_size
batch_size的意思已经在上文中讲过,batch_size的设置也非常重要,下图为不同的batch_size带来的结果,其中,蓝色为所有数据一并送入训练;绿色为minibatch,即将所有数据分成若干个batch,每个batch内包含一小部分训练样本。红色为随机训练,即每个batch内只有1个训练样本。在这里插入图片描述
上图可见,蓝色全数据效果更好,当数据量较小,计算机可以承载的时候可以采取这种训练方式。绿色的mini分批次训练精度略有损失,而红色的随机训练,难以达到收敛状态。

lterations
就是以batch_size为大小的批处理个数,完成一次epoch需要进行训练的次数
即lterations=图片总数/batch_size

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值