Python社区  »  机器学习算法

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

计算机视觉life • 11 月前 • 94 次点击  

点击上方“计算机视觉life”,选择“星标”

快速获得最新干货

以下文章来源于AI有道 作者武强。文章仅用于学术分享。

深度学习中我们总结出 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课程。在这里,感谢这些经典课程,向他们致敬!

独家重磅课程官网:cvlife.net

1、视觉SLAM基础:疫情在家,想入门SLAM实战,最适合学哪个开源框架 ?

2、机器人导航运动规划: 机器人核心技术运动规划:让机器人想去哪就去哪!

3、详解Cartographer:谷歌开源的激光SLAM算法Cartographer为什么这么牛X?

4、深度学习三维重建 总共60讲全部上线!详解深度学习三维重建网络

5、三维视觉基础 详解视觉深度估计算法(单/双目/RGB-D+特征匹配+极线矫正+代码实战)

6、 VINS:Mono+Fusion SLAM面试官:看你简历上写精通VINS,麻烦现场手推一下预积分!

7、图像三维重建课程:视觉几何三维重建教程(第2期):稠密重建,曲面重建,点云融合,纹理贴图

8、系统全面的相机标定课程:单目/鱼眼/双目/阵列 相机标定:原理与实战



全国最棒的SLAM、三维视觉学习社区↓


技术交流微信群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN算法竞赛等微信群,请添加微信号 chichui502 或扫描下方加群,备注:”名字/昵称+学校/公司+研究方向“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

投稿、合作也欢迎联系:simiter@126.com


—   版权声明  —

本公众号原创内容版权属计算机视觉life所有;从公开渠道收集、整理及授权转载的非原创文字、图片和音视频资料,版权属原作者。如果侵权,请联系我们,会及时删除。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/132262
 
94 次点击