深度学习中我们总结出 5 大技巧:
本节继续从第三个开始讲起。
3. Early stopping and Regularization
本节我们一起探讨 Early stopping and Regularization,这两个技巧不是深度学习特有的方法,是机器学习通用的方法。
Early stopping
在训练过程中,往往会得出训练的最后的结果还可能不如以前的,原因很有可能出现overfitting。 我们需要提前踩刹车,得出更好的效果。
Regularizaton
当我们努力降低Loss函数的数值的时候,我们会发现,我们找到的参数集weights,不仅仅要让Loss变小,而且weights 自身也需要接近于0,这样我们的结果会更加理想。
L1 正则化:
新的Loss函数将会被最小化:
L2正则化:
新的Loss函数将会被最小化:
到这里,很多同学会疑问,为什么weights小了,结果就很更好,我在这里举例说明:6岁的时候和14岁的时候,大脑的神经元密度明显降低,说明一些无效的神经元是阻碍大脑进步的。
4. Dropout
Dropout 在2012年imagenet 比赛中大放异彩,是当时CNN模型夺冠的功勋环节之一。
那什么是Dropout 我们先直观的理解:
练武功的时候,训练的时候脚上绑上重物
等到练成下山的时候:
我们从几个方面来解释Dropout
基础定义
当训练的时候,每一个神经元都有p%的可能“靠边站”
当测试的时候,所有的神经元齐心协力,共同努力:
Dropout是一种Ensemble学习
Ensemble 学习我们在机器学习专栏中一起讨论过,链接是集成学习。每次训练的时候的网络结构都是不一样的,是一个thinner network:
其实在训练的时候训练了很多thinner network:
测试的时候,取各个网络的平均值
所以在深度学习中,我们的整个训练测试方法如下: