欢迎大家关注微信公众号:baihuaML,白话机器学习。
码字不易,如转载请私信我!!
在这里,我们一起分享AI的故事。
您可以在后台留言,关于机器学习、深度学习的问题,我们会选择其中的优质问题进行回答!
对于精通深度学习的炼丹师们,炼丹技巧才是他们的安身立命之本!今天,我们就深入的聊一聊他们的炼丹技巧——调参技巧。
本期问题
能否聊一聊深度学习中的调参技巧?
我们主要从以下几个方面来讲.
1. 深度学习中有哪些参数需要调? 2. 深度学习在什么时候需要动用调参技巧?又如何调参? 3. 训练网路的一般过程是什么?
大家记住一点:需要用到调参技巧的参数都是超参数!!因此,这个问题还可以换成更专业一点:神经网路中有哪些超参数?主要从两个方面来看:
2. 深度学习在什么时候需要动用调参技巧,以及如何进行调参呢?
通常网路训练的结果一般表现为以下五种情况:过拟合、欠拟合、恰好拟合,趋于收敛但一直在震荡以及完全不收敛。关于过拟合、欠拟合和恰好拟和,在机器学习中的定义描述如下:(不知道的可以移步此博客:https://www.imooc.com/article/44090 )
过拟合、欠拟合、恰好拟合的现象,从图像看就表现成如下:
恰好拟合:从LOSS曲线上看,训练集和测试集的LOSS都已经收敛,且很接近!模型能够拟合训练样本和测试样本的分布,且是一致的!这样的优点就是模型的泛化能力强,简单来讲就是在训练集和测试集上效果都很好。通常表现如A图所示。
这个时候还需要调参??效果都这么好。需要调参! 主要集中在网路结构设计方面的参数,在工程项目上,同样的效果。我们需要考虑更小、更轻量型的网路结构,计算量=====功耗,网路大小=======内存!!!一定要学会减少计算量、较小网路大小,当然如果说你的算力随便用,后面的内容可以忽略了。这时候可以考虑:
还有一种情况,就是虽然训练集和测试集都已经完美收敛,拟合。
过拟合:从样本曲线上看,从看都趋向收敛,但是测试集上的LOSS很高,甚至出现回升的现象。如D图所示。说明模型的泛化能力很差,有可能训练集和测试集数据分布不一致,更加可能的是模型太复杂。
其实,过拟合才是困扰丹师们最大的痛!怎么解决呢?通常有以下策略:
在上面,我们并没有给出完全不收敛的情况曲线图。
如果网路不收敛怎么办?考虑以下几点:
最后,我们再来考虑,在已经收敛的情况下,如何进一步提高模型的精度!
2. 准备小规模样本,比如存在100w数据,可以先打包1w数据或者几千样本,可以暂时先不考虑数据增强,正常打包后直接训练网路,用小批量样本来测试网路搭建中可能存在的bug,直到网路可以收敛,确保网路搭建的准确性,方便后续出现问题时,问题的定位。
欢迎加入深度学习、机器学习技术研讨群!
745224003
欢迎关注我们的微信公众号:baihuaML,白话机器学习
关注知乎「会写代码的好厨师」
【3】https://blog.csdn.net/qq_20259459/article/details/70316511
推荐阅读: