深度学习优化函数详解(3)-- mini-batch SGD 小批量随机梯度下降

本文详细介绍了小批量随机梯度下降法(mini-batch SGD),作为对梯度下降法和随机梯度下降法的改进,它在保持训练稳定性的同时提高了效率。通过公式推导和实验对比,展示了mini-batch SGD在降低loss波动和减少计算资源上的优势。在深度学习实践中,mini-batch SGD已成为默认的优化方法。
摘要由CSDN通过智能技术生成

深度学习优化函数详解系列目录

本系列课程代码,欢迎star:
https://github.com/tsycnh/mlbasic

深度学习优化函数详解(0)-- 线性回归问题
深度学习优化函数详解(1)-- Gradient Descent 梯度下降法
深度学习优化函数详解(2)-- SGD 随机梯度下降
深度学习优化函数详解(3)-- mini-batch SGD 小批量随机梯度下降
深度学习优化函数详解(4)-- momentum 动量法
深度学习优化函数详解(5)-- Nesterov accelerated gradient (NAG)
深度学习优化函数详解(6)-- adagrad

本文延续该系列的上一篇 深度学习优化函数详解(2)-- SGD 随机梯度下降

上一篇我们说到了SGD随机梯度下降法对经典的梯度下降法有了极大速度的提升。但有一个问题就是由于过于自由 导致训练的loss波动很大。那么如何可以兼顾经典GD的稳定下降同时又保有SGD的随机特性呢?于是小批量梯度下降法, mini-batch gradient descent 便被提了出来。其主要思想就是每次只拿总训练集的一小部分来训练,比如一共有5000个样本,每次拿100个样本来计算loss,更新参数。50次后完成整个样本集的训练,为一轮(epoch)。由于每次更新用了多个样本来计算loss,就使得loss的计算和参数的更新更加具有代表性。不像原始SGD很容易被某一个样本给带偏 。loss的下降更加稳定,同时小批量的计算,也减少了计算资源的占用。

公式推导

我们再来回顾一下参数更新公式。每一次迭代按照一定的学习率 α \alpha α 沿梯度的反方向更新参数,直至收敛
θ t + 1 = θ t − α d f d θ \theta_{t+1}=\theta_{t}-\alpha\frac{df}{d\theta} θt+1=θtαdθdf

接下来我们回到房价预测问题上。线形模型:
y p , i = a x i + b y_{p,i}=ax_i+b yp,i=axi+b
这是经典梯度下降方法求loss,每一个样本都要经过计算:
l o s s = 1 2 m ∑ i = 1 m ( y p , i − y i ) 2 {loss=\frac{1}{2m}\sum_{i=1}^m(y_{p,i}-y_i)^2 } loss=

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值