- Momentum
Momentum的出发点和标准化有些类似,也是为了让梯度轨迹在迭代中能够不走弯路,不过Momentum是从算法下手去改进的。梯度轨迹出现“锯齿形”是学习过程中非常常见的情况。事实上,即使进行了标准化处理,价值函数曲线经常不是完美的“圆形”,图7-10右图只是非常理想化的情况。一般情况下,梯度曲线都是很难轻易地“径直”走向终点的。
Momentum的思想是将过去几次梯度进行平均作为当前的梯度。Momentum在物理学中是“动量”的意思,实际上这种方法借用了物理学的思想。动量对应于空间中的概念是速度。我们换个角度看这个算法。Momentum的思想是,与其每一次去试图修正“位移”,不如去修正“速度”。
7.3.2 正则化方法
正则化的目的是防止模型过拟合。在神经网络中,通常有L1/L2正则化、Dropout两种方式。
1.L1/L2 正则化
这种方法很简单,和之前在逻辑回归中介绍的技巧类似,是在模型的价值函数的基础上加上一个惩罚项。
由于价值函数的变化,反向传播的计算也会相应地改变,但不用担心,我们完全不用推翻原来的反向传播计算过程,只需要在原来的基础上稍作改变。由于新的J(w,b)为两项求和的形式,在求梯度之后仍为两项求和,因此计算的第一步只需在原来的基础上添加一项,即lamda/2m\*||w||2,2 对w 的导数。
后续计算与正常情况类似。
- Dropout
另一种有效的正则化技巧是Dropout。Dropout的原理是在每次迭代过程中,随机让一部分神经元“失效”。这个过程可以这样理解,假设图7-11是一个过拟合的网络,现在我们在每个神经元上安装一个“开关”。在每次迭代中,随机关闭其中一部分。每个神经元被关闭的概率都是相同的,等于预设值,比如0.5(实际上每一层的预设概率值可以有差异,但通常被设成同一个值。在实际操作中,绝大多数情况都只设一个通用的概率值,所以后文假设每一层概率都相同)。
第7章 深度学习
201