改善深层神经网络:超参数调试,正则化以及优化

第二周优化算法
2.1 Mini-batch 梯度下降

(1)将训练集分割成小的子集训练,称为Mini-batch(batch 梯度下降就是梯度下降),不用等整个训练集遍历完就可以展开后续的工作。

2.2 理解mini-batch 梯度下降

(1)每次迭代走向朝下但可能会有更多的噪声。
(2) mini-batch大小为N,即batch 梯度下降,单次迭代耗时太长(和mini-batch梯度下降的总耗时相比?)
(3)mini-batch大小为1,即随机梯度下降法,失去了向量化的优势,大部分时间朝着最小值靠近,也可能远离最小值,平均时间来看他接近最小值,但永远不会收敛,在最小值附近波动,但不会停留在最小值。
(分母为1,值会不断变动)
(4)实际上位于中间位置的mini-batch大小效果最好。

2.3 指数加权平均数

v t = β v t − 1 + ( 1 − β ) θ t v_{t}=\beta v_{t-1}+(1-\beta)\theta_{t} vt=βvt1+1β)θt
计算时可视 v t v_{t} vt大概是 1 1 − β \frac{1}{1-\beta} 1β1
β \beta β较大时给前一天的权重较大,曲线更加平缓。

2.4 理解指数加权平均数

在机器学习中,数据规模比较大,计算平均数的计算量和内存空间消耗大,使用加权平均数,虽然不是最精准的计算平均数的方法,但是只用了一行代码,只占用了单行数字的存储和内存,从计算和内存上来说这是一个优势。
当一个数分配的权值下降到峰值的 1 e \frac{1}{e} e1,相当于平均数量n的大小,即n大约为
1 1 − β \frac{1}{1-\beta} 1β1

2.5指数加权平均数的偏差修正

因为 v 0 v_{0} v0初始化为0,所以导致估测的前几天的数值偏小。
所以我们使用偏差修正,令 v t = v t 1 − β t v_{t}=\frac{v_{t}}{1-\beta^{t}} vt=1βtvt
eg: β = 0.98 \beta=0.98 β=0.98当t=2时, 1 − β t = 1 − 0.9 8 2 = 0.0396 1-\beta^{t}=1-0.98^{2}=0.0396 1βt=10.982=0.0396
v 2 0.0396 = 0.0196 θ 1 + 0.02 θ 2 0.0396 \frac{v_{2}}{0.0396}=\frac{0.0196\theta_{1}+0.02\theta_{2}}{0.0396} 0.0396v2=0.03960.0196θ1+0.02θ2也就是 θ 1 和 θ 2 的 加 权 平 均 值 \theta_{1}和\theta_{2}的加权平均值 θ1θ2
当t很大时, β t \beta^{t} βt相当于0,偏差修正几乎没有作用。

2.6动量梯度下降法

动量梯度下降法的运行速度总是快于标准的梯度下降法。
我们希望标准的梯度下降法,在纵轴上摆动幅度减小,在横轴上加快学习速度。
但是无法使用较大的学习率,结果可能会偏离函数的范围,为了避免摆动过大,要用一个较小的学习率。

v d W = β v d w + ( 1 − β ) d W v_{dW}=\beta v_{dw}+(1-\beta)dW vdW=βvdw+(1β)dW
v d b = β v d b + ( 1 − β ) d b v_{db}=\beta v_{db}+(1-\beta)db vdb=βvdb+(1β)db
W = W − α v d W , b = b − α v d b W = W - \alpha v_{dW},b = b-\alpha v_{db} W=WαvdW,b=bαvdb
β \beta β最常用的是0.9,是一个很棒的鲁棒数。
eg:
optimizer = optim.SGD(model.parameters(),lr=learning_rate,momentum=0.9,weight_decay=5e-4)
weight_decay (float, 可选) – 权重衰减(L2惩罚)(默认: 0)
λ ∑ i = 1 k ∣ W i 2 ∣ \lambda\sum_{i=1}^{k}|W_{i}^{2}| λi=1kWi2

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
©️2020 CSDN 皮肤主题: 程序猿惹谁了 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值