机器学习速成课程 学习笔记23:训练神经网络

2018-04-08  本文已影响15人  HBU_DAVID

失败案例

很多常见情况都会导致反向传播算法出错。

梯度消失

较低层(更接近输入)的梯度可能会变得非常小。在深度网络中,计算这些梯度时,可能涉及许多小项的乘积。

当较低层的梯度逐渐消失到 0 时,这些层的训练速度会非常缓慢,甚至不再训练。

ReLU 激活函数有助于防止梯度消失。

梯度爆炸

如果网络中的权重过大,则较低层的梯度会涉及许多大项的乘积。在这种情况下,梯度就会爆炸:梯度过大导致难以收敛。

批标准化可以降低学习速率,因而有助于防止梯度爆炸。

ReLU 单元消失

一旦 ReLU 单元的加权和低于 0,ReLU 单元就可能会停滞。它会输出对网络输出没有任何贡献的 0 激活,而梯度在反向传播算法期间将无法再从中流过。由于梯度的来源被切断,ReLU 的输入可能无法作出足够的改变来使加权和恢复到 0 以上。

降低学习速率有助于防止 ReLU 单元消失。

丢弃正则化

这是称为丢弃的另一种形式的正则化,可用于神经网络。其工作原理是,在梯度下降法的每一步中随机丢弃一些网络单元。丢弃得越多,正则化效果就越强:

0.0 = 无丢弃正则化。
1.0 = 丢弃所有内容。模型学不到任何规律。
0.0 和 1.0 之间的值更有用。

上一篇 下一篇

猜你喜欢

热点阅读