DeepLearning 吴恩达深度学习第二课笔记

改善深层神经网络

偏差、方差

减少偏差

    更大的网络

 

 

 

减少方差

     更多数据

     正则化

正则化

(Regularization)

L2正则

||w||^2,w是高维参数,可以加b,也可以不加

 

正则化权重lambda过大时,w很小,wx+b接近0,经过激活函数(sigmod/tanh)后,神经网络的效果接近LR

 

inverted dropout(反向随机失活)

d3 = np.random.rand(a3.shape[0],a3.shape[1]) < keep-prob

a3 = np.multiply(a3,d3)  #a3是隐层单元(hidden units)

a3 /= keep-prob  (<—保持期望不变)

测试阶段不用dropout

dropout之所以有效,是因为随机删除结点后,不能依赖特定的特征,它会压缩结点的权重,类似L2正则的效果。在过拟合的时候使用,通常用在计算机视觉,因为数据样本不够。缺点是使损失函数变得不确定。

 

数据扩充(data augmentation)

图片旋转变形,扩充训练集

 

early stopping

验证集误差上升时停止训练  

归一化(Normalize)

梯度下降更快

参数初始化和梯度校验

激活函数或者梯度函数指数增长和衰减导致梯度爆炸/消失

exploding gradients

vanishing gradients(前面的隐藏层学习速度特别小,难以训练)

 

神经网络的权重初始化

目标:每一层输出的方差尽量相等,使网络中的信息能更好的流动,不依赖某些结点

w = np.random.randn(input_shape,hiden_shape)/sqrt(input_shape)

https://www.cnblogs.com/adong7639/p/9547789.html

https://blog.csdn.net/qq_30815237/article/details/88930436

 

梯度检验

计算前向传播的梯度和反向传播的梯度,有没有明显差别

https://www.jianshu.com/p/26c5ad2be5b1

和dropout不能同时使用

梯度下降优化

mini-batch

一个epoch执行多次梯度下降,大数据集下训练速度更快

mini-batch size = m    ~~ batch gradient descend  每个迭代训练时间过长

mini-batch size = 1   ~~ stochastic gradient descend  噪声更多,向量化计算的好处丢失

mini-batch   向量化计算;下降速度快

 

 

momentum

RMSprop

Adam

指数加权平均(exponentially weighted average)

近似1/(1-β) 天的移动平均数,β越小,当前参数θ_t的影响越大,一般取0.9

 

momentum 梯度下降,平滑处理,减小摆动(oscillations)

 

RMSprop (root mean squre均方根)进一步优化摆动幅度过大的问题,使各方向的摆动幅度都较小

 

Adam

Adam(Adaptive Moment Estimation)算法是将Momentum算法和RMSProp算法结合起来使用的一种算法

https://blog.csdn.net/willduan1/article/details/78070086

 

学习速率

衰减学习速率

指数衰减

阶段衰减

 

局部最优

高维空间

saddle points 鞍点 > 局部最优

plateaus Adam能更快走出平稳段

超参调试技巧

超参数

重要性

1.学习速率alpha

2.momentum beta,mini-batch, hidden units

NgTQHnl8OpAX081v26ZynOZDmQIpzIC2gU7yA0uSlOZDmwPPLgf8HGZ1CazvZ2kQAAAAASUVORK5CYII=

参数重要性不一样,随机取值而不是用网格法(Grid),然后coarse to fine 缩小范围

 

参数取值范围

hidden units均匀取值,alpha对数坐标轴上均匀取值

Batch Norm

batch normalize

 

归一化z还是a,默认z (激活函数之前的值)

TEA+lfRWQ4gAAAABJRU5ErkJggg==

 

归一化为什么有效

1.每一层输出的方差尽量相等,使网络中的信息能更好的流动,不依赖某些结点,梯度下降迭代的更快

2.解决covariate shift问题,减少输入值改变的问题,输入值更稳定,使每层能有独立学习的能力,加快学习速度

3.轻微正则化的作用,mini-batch 执行batch norm,均值方差增加了噪声

 

测试的时候,均值和方差可以用mini-batch上计算的均值方差指数加权平均

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值