深度学习中的过拟合问题及解决方式
什么是过拟合
过拟合指的是模型在训练数据上表现很好,能够非常好的拟合训练数据,但是不能很好的拟合不包含在训练数据中的其他数据的状态。即泛化能力很差。
过拟合的原因
- 模型拥有大量参数,表现力强。
- 训练数据少。
如何避免过拟合
权值衰减
什么是权值衰减
权值衰减指的是在训练过程中对较大的权重进行惩罚,来抑制过拟合。
如何实现权值衰减
先说结论,实现权值衰减的方式是在损失函数的基础上+权重的范数。
因为神经网络训练的目的就是减少损失函数的值,那么给损失函数加上一个值之后,如果要让损失函数变得更小,就要使的损失函数附加项更小,而附加项是权重的范数,自然调整的也是权重的大小。
常见范数
常见有L1范数、L2范数、L∞范数,以权重 W = ( ω 1 , ω 2 , ⋅ ⋅ ⋅ , ω n ) W=(\omega_1,\omega_2,···,\omega_n) W=(ω1,ω2,⋅⋅⋅,ωn)为例,说明几种范式的含义及如何计算。
其中L1范数是各个元素的绝对值之和,即 ∣ ω 1 ∣ + ∣ ω 2 ∣ + ⋅ ⋅ ⋅ + ∣ ω n ∣ |\omega_1|+|\omega_2|+···+|\omega_n| ∣ω1∣+∣ω2∣+⋅⋅⋅+∣ωn∣
L2范数是各个元素的平方和,即 ω 1 2 + ω 2 2 + ⋅ ⋅ ⋅ + ω n 2 \sqrt{\omega_1^2+\omega_2^2+···+\omega_n^2} ω12+ω22+⋅⋅⋅+ωn2
L∞范数也叫做Max范数,是各个元素的绝对值中最大的那一个,即 m a x ( ∣ ω 1 ∣ , ∣ ω 2 ∣ , ⋅ ⋅ ⋅ , ∣ ω n ∣ ) max(|\omega_1|,|\omega_2|,···,|\omega_n|) max(∣ω1∣,∣ω2∣,⋅⋅⋅,∣ωn∣)
Dropout
什么是Dropout
Dropout是一种在学习的过程中随即删除神经元的方法。训练时,随机选择隐藏层的神经元将其删除,被删除的信号源不再进行信号传递。