李宏毅机器学习组队学习打卡活动day05---网络设计的技巧

写在前面

报名了一个组队学习,这次学习网络设计的技巧,对应的是李宏毅老师深度学习视频的P5-p9。

参考视频:https://www.bilibili.com/video/av59538266
参考笔记:https://github.com/datawhalechina/leeml-notes

局部最小值和鞍点

在梯度下降的时候,优化有些时候会失败,即出现了梯度为零的点,但是梯度为零的点,不只有对应local minima(局部最小值),也有可能对应鞍点(saddle point)

那么怎么判断是saddle point还是local minimal?

利用泰勒公式进行判断,如果是Critical point(一阶导数为零),那么第二项就为零,那我们只需要判断二阶微分的情况。


如果Hessian矩阵H的特征值全大于零,那么它就是Local minima; 如果特征值全小于零,那么它就是Local maxima; 如果特征值有大于零,又有小于零,那么这个点就是Saddle point

如果点卡在saddle point,那么沿着特征值为负的特征向量走。
例如:这个矩阵,算得一个特征值为-2,特征向量为[1;1],只需沿着特征向量方向走就可以解决。

但是这个计算量太大,实际操作中不会这样用。

batch(批次) 和 momentum(动量)

batch

我们可以用Batch的思想来优化,可以将样本划分,对每一个小样本进行梯度下降。

Small Batch v.s. Large Batch

利用GPU的平行计算,可以看出一次中batch size为100和batch size为1的计算时间差不多

总体上来看,Smaller batch需要更多的时间。

Small batch 会有更好的运行效果。

总结

Moment

Moment通常会保持上一次的梯度下降趋势,即上一次的梯度下降趋势会对本次的梯度下降有影响。

自动调节学习速率

RMSProp

RMSProp 迭代方式:

Adam

Adam:RMSProp + Momentum

Suammary

Loss 也会产生影响

Cross-entropy比 Mean Square Error更常用于分类。

例子:

批次标准化(Batch Normalization)

Feature Normalization

Feature Normalization的作用是 让 x i x_i xi的范围设定相同

Considering Deep Learning

在深度学习中有多层,上一层的输出就是下一层的输入,如果对上一层的input进行处理,但是在下一层中运算导致数据之间也相差很大,同样地,也应该进行处理。

但是,当改变 z i z^i zi的值的时候,会影响 μ \mu μ σ \sigma σ, z ( i + 1 ) z^{(i+1)} z(i+1)的值也会发生改变,每一个计算都会改变,导致整个网络中中间结果特别多,所以我们要考虑分批处理,也就是Batch Normalization

在求得之后,再将 γ \gamma γ乘上 z ~ i \tilde{z}^i z~i再加上 β \beta β。而 β \beta β γ \gamma γ是单独训练出来的,为了防止 z ~ i \tilde{z}^i z~i平均数为0,会给神经网络带来负面影响。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值