正则化
正则化目的是尽量去简化假设模型。因为这些参数都接近0的时候,越简单的模型与被证明越不容易出现过拟合的问题
通常使用L1和L2范数,因为L0范数 ∣ ∣ f ( x ) ∣ ∣ 0 ||f(x)||_0 ∣∣f(x)∣∣0的结果为1求偏导之后为0无法更新参数
Dropout技术
Dropout是一类通用并且计算简洁的正则化方法。简单的说,Dropout在训练过程中,随机的丢弃一部分输入,此时丢弃部分的参数不会更新。相当于Dropout是一个集成方法,将所有子网络结果进行合并,通过随机丢弃输入可以得到各种子网络。
训练和使用的方法:
- 第一种训练好的参数乘上对应输入单元包含的概率
- 第二种训练阶段模型参数乘上概率的倒数
将使用的神经元乘以对应的系数使变成神经元完整的参数
注意:在测试和使用阶段不适用dropout
缺点:是会明显增加训练时间,因为引入dropout之后相当于每次只是训练原先网络的一个子网络,为了达到相同的精度需要的训练次数会增多。dropout的缺点就在于训练时间是没有dropout网络的2-3倍
优点:
- 相比于范数约束,该策略更有效
- 计算复杂度低,实现简单而且可以用于其他非深度学习模型
- dropout训练过程中的随机过程不是充分也不是必要条件,可以构造不变的屏蔽参数,也能够得到足够好的解
- 会让神经网络在训练的时候不会使得某一个节点权重过大,压缩权重,达到类似于L2正则化的效果
归一化
归一化的目的是因为神经网络中的参数依赖于上一层的结果,上一层的参数发生变化,结果发生变化有影响这层参数的变化,因此增加归一化后保证每一层输出的结果不变可以更快的加速参数收敛
可以有效防止梯度消失和梯度爆炸。
几种归一化的计算方法基本