吴恩达.深度学习系列-C2神经网络进阶-W2算法优化

词汇

单词 中文解释
Exponentially adv. 以指数方式
correction n. 改正,修正
momentum n. 势头;[物] 动量
local optima [专]局部最优

前言

学习目标

  • 学习随机梯度下降SGD,动量Momentum,RMSProp,Adam等算法
  • 使用随机bathches来加速收敛和改进优化
  • 了解学习率衰减的益处,并将它应用到优化算法中

1. Mini-batch gradient descent

小批量梯度下降(算法)
【相对的,Batch gradient descent.是一次处理整个训练集】
Vectorization化,将样本数据全部放到一个大矩阵中,不使用for-loop可以提升计算的速度。然后如果m非常大(比如100w以上的样本),速度依然会很慢。
处理方式:假设有500w的训练样本。可以将大批量的样本拆分成小批量训练集(mini-batch)。每个训练集只有1000左右的样本。总共分成5000组训练集。同时将Y也同样分成5000组。

for t=1,….,5000:
Forward propagation on X{t}
[Vectorized implement 1000 example]
Z[1]=W[1]X{t}+b[1]
A[1]=g1

A[L]=gL
Compute Cost J=(1/1000)sum(L(y_pred,y))+正则项
Backpropagation to comput gradients J{t}的梯度

事实上从Batch改为mini-batch算法上没有变化。只是将全训练集改为mini-batch,m由全训练集的样本总数替换为小训练集的样本数,在这之上套一个循环遍历每一个mini-batch.

2.Understanding mini-batch gradient descent

这里写图片描述
如上左图:全批量训练梯度下降曲线,是单调下降的,如果有出现上升那肯定哪里有错误
如上右图:mini-batch训练梯度下降的曲线,不同的mini-batch是不同的训练样本,会给下降曲线带来一定的噪音。随着轮数(全样本训练一次为一轮)不断增加,总体cost也是往下降的趋势。
Choosing your mini-batch size
mini-batch size=1,即一批次只训练一个样本的缺点:
1. 无法利用cpu/gpu对向量化计算的加速
2. 噪声太大,梯度下降并不是指向最低点,虽然总体趋势是下降,但会非常曲折,这反而会损耗时间。
3. 可能永远无法收敛,而是在最优解附近一直徘徊。

选择size的法则:

  • 如果你训练集较小,就直接用Batch gradient descent.[m<2000]
  • 选择mini-batch size大小为2的幂数64,128,254,512之间,这根据内存或gpu现存的大小来调整设定。[m>2000]
  • 确保你的mini-batch数据能放进内存或显存。
  • mini-batch size也是一个超参数,选择的好能让J更快的下降。

3.指数加权平均Exponentially weighted averages

(统计学:EWMA(Exponentially Weighted Moving Average)指数加权平滑平均,是一种常用的序列数据处理方式。)
假设伦敦一年的气温: θ1=40,θ2=49,θ3=45,...θ180=60,...θ365=39 θ 1 = 40 , θ 2 = 49 , θ 3 = 45 , . . . θ 180 = 60 , . . . θ 365 = 39 单位华氏度(F)
重新加权计算每一天的温度值,如下:
V0=0 V 0 = 0
V1=0.9V0+0.1θ1 V 1 = 0.9 V 0 + 0.1 θ 1
V2=0.9V1+0.1θ2 V 2 = 0.9 V 1 + 0.1 θ 2
V3=0.9V2+0.1θ3 V 3 = 0.9 V 2 + 0.1 θ 3

Vt=0.1θt+0.1(0.9)1θt1+0.1(0.9)2θt2+0.1(0.9)3θt3+0.1(0.9)4θt4+...+0.1(0.9)nθtn V t = 0.1 θ t + 0.1 ⋅ ( 0.9 ) 1 θ t − 1 + 0.1 ⋅ ( 0.9 ) 2 θ t − 2 + 0.1 ⋅ ( 0.9 ) 3 θ t − 3 + 0.1 ⋅ ( 0.9 ) 4 θ t − 4 + . . . + 0.1 ⋅ ( 0.9 ) n θ t − n

Vt=βVt1+(1β)θt 公 式 : V t = β ⋅ V t − 1 + ( 1 − β ) ⋅ θ t

Vt V t 近似于 11β 1 1 − β 天的温度均值。

情形 图例
365天温度图 这里写图片描述
β=0.9红色线
β=0.98绿色线
这里写图片描述

50天均值线比10天均值线更平滑,并且会向后移动。

4.Understanding exponentially weighted averages

Vt=βVt1+(1β)θt V t = β ⋅ V t − 1 + ( 1 − β ) ⋅ θ t

根据上一节所描述公式,我们将任意 Vt V t 展开如下:
Vt=(1β)θt+(1β)(β)1θt1+(1β)(β)2θt2+(1β)(β)3θt3+...+(1β)(β)nθtn V t = ( 1 − β ) θ t + ( 1 − β ) ⋅ ( β ) 1 θ t − 1 + ( 1 − β ) ⋅ ( β ) 2 θ t − 2 + ( 1 − β
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值