笔记|李宏毅老师机器学习课程,视频16DNN训练的Tips
共 1711字,需浏览 4分钟
·
2021-06-08 07:01
《学习笔记》专栏·第19篇
文 | MLer
1192字 | 4分钟阅读
【数据科学与人工智能】开通了机器学习群,大家可以相互学习和交流。请扫描下方二维码,备注:姓名-ML,添加我为好友,诚邀你入群,一起进步。
感谢李宏毅老师的分享,他的课程帮助我更好地学习、理解和应用机器学习。李老师的网站:
http://speech.ee.ntu.edu.tw/~tlkagk/index.html。
这个学习笔记是根据李老师2017年秋季机器学习课程的视频和讲义做的记录和总结。因为这个视频是在Youtube上面,有些朋友可能无法观看,我把它搬运下来放在云盘上面,大家点击阅读原文,就可以直接在手机随时随地观看了。再次,感谢李老师的付出和贡献。
这门课,共有36个视频,每个视频播放的时间不一。我按着视频播放的顺序,观看,聆听和学习,并结合讲义,做学习笔记。我做学习笔记目的有三:
1 帮助自己学习和理解机器学习
2 记录机器学习的重要知识、方法、原理和思想
3 为传播机器学习做点事情
视频16:DNN训练的Tips
一、深度学习的Recipe
李老师说,我们按着深度学习构建三步骤,获得神经网络结构和模型后,首先,需要做训练集上的性能分析,即对于训练集,模型的效果如何;在效果满足要求的前提,接下来需要做测试集上的性能分析,即对于测试集,模型的效果又如何。李老师说明了为什么要这么做,实际上,我们基于训练集来训练一个深度学习模型时,它是一个极其复杂的过程,对模型性能的影响会有诸多因素,比方说,模型的结构,优化的方法,局部最优问题,梯度衰减等问题。因此,对于已经学习到的深度学习模型,我们是有必要验证模型在训练集上面的性能。具体流程,如下图所示:
二、模型在训练集性能不好的问题
出现这个问题时,我们要从模型的结构和寻找最佳函数的方法入手,做改善。
模型的结构这块,李老师重点介绍激活函数这块;寻找最佳函数方法这块,李老师介绍了一些经典优化算法。一些内容,如下图所示:
1 ReLU激活函数
2 RMSProp方法(自适应学习速率)
3 Adam方法 = RMSProp + Momentum
三、模型在测试集性能不好的问题
李老师,介绍了三种方法,一是Early Stopping方法,二是正则化技术,三是Dropout方法。如下图所示:
1 Early Stopping方法与超参数Epochs的关系
我们需要找最佳的Epochs,它是让验证集(带有Lable的数据集)的Loss最小时对应的轮回数目。
2 正则化技术
正则化技术的目的,就是让我们学习的函数更加平滑。
3 Dropout技术
通过对训练集的神经元进行概率性的抽样来参与训练,如下图所示:
李老师关于Dropout的理解,可以看作一个终极的Ensemble。
总结:
训练DNN模型时,需要在训练集和测试集上面做性能分析。
训练集性能不好的问题,可以从激活函数、优化方法入手,思考如何改善。
测试集性能不好的问题,可以从Early Stopping、正则化技术和Dropout入手,做改善。
训练DNN的Tips,更详细内容,请点击阅读原文,观看视频。
朋友们,在学习中有什么问题或者想法,请加入机器学习群,大家一起讨论,共同进步。
每周一书
课程视频点击
↓↓↓