笔记|李宏毅老师机器学习课程,视频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,更详细内容,请点击阅读原文,观看视频。

朋友们,在学习中有什么问题或者想法,请加入机器学习群,大家一起讨论,共同进步。


每周一书

1利用Python进行数据分析

2深度学习

3数据科学导论:Python语言实现


课程视频点击                                         

↓↓↓

浏览 19
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报