Press "Enter" to skip to content

深度学习:如何进行优雅的优化?

深度学习中我们总结出 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:

 

 

测试的时候,取各个网络的平均值

 

 

所以在深度学习中,我们的整个训练测试方法如下:

 

 

本专栏图片、公式很多来自台湾大学李弘毅老师、斯坦福大学cs229、cs231n 、斯坦福大学cs224n课程。 在这里,感谢这些经典课程,向他们致敬!

 

作者简介: 武强 兰州大学博士,谷歌全球开发专家Google Develop Expert(GDE Machine Learing 方向)

 

CSDN: https://me.csdn.net/dukuku5038

 

知乎: https://www.zhihu.com/people/Dr.Wu/activities

 

漫画人工智能公众号: DayuAI-Founder

Be First to Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注