深度学习之超参数调试

前言算法

           如下内容是我的学习以后的感悟,转载请注明出处~函数

 

 

超参数调试学习

  在深度学习中,超参数有不少,好比学习率α、使用momentum或Adam优化算法的参数(β1,β2,ε)、层数layers、不一样层隐藏优化

单元数hidden units、学习率衰退、mini=batch的大小等。其中一些超参数比其余参数重要,其优先级能够分为如下几级,如图,红色spa

框最优先,橙色次之,紫色再次之,最后没有框住的通常直接取经验值(固然你也能够本身取)。调试

                                                                  

  那么如何来调试超参数呢?blog

  如下图的2维超参数为例(即只调两个超参数,固然有时候须要调的超参数不少时,就须要不少维,不便画出)首先能够在必定的范资源

围内对这两个超参数随机取值(如图中黑点),若发现其中几个黑点的效果最好,则缩小范围(即蓝色方框)进行细化参数,寻找最适合深度学习

的超参数。此法从粗略搜索再到精密搜索,能够达到很好的效果。it

                                                            

  上面提到的随机取值,并不是是在有效值范围内的随机均匀取值,而是选择合适的标尺。好比对于隐藏单元数n和隐藏层数L,以下图所

示,其合适的标尺刚好是在有效范围内均匀取值,能够实现很好的调试效果。

                                                                    

  然而,这对某些超参数是不适用的,好比学习率α,其范围在0.0001到1之间,有经验的咱们怀疑α有很大可能在0.0001到0.1之间,但

是若是随机均匀取值,那么在0.1到1之间将用去90%的资源,这看上去不对啊,资源没有用在刀刃上。所以,咱们须要选择更加合适的标

尺——对数标尺,分别取0.000一、0.00一、0.0一、0.一、1,这样能够充分利用资源,达到理想的效果。固然,若是你怀疑α是在0.9到0.999之

间,那么(1-α)就在0.1到0.001之间,其实作法是同样的。

                              

  有时候,你训练好超参数不久,你的数据在逐渐的改变,意味着以前训练好的超参数再也不适用于现今的数据,那么该如何作呢?咱们需

要常常照看模型。通常有如下两种方式,第一种是只有一个模型,以下图中左边所示,该模型的代价函数随时间的变化而变化,咱们须要不

断调整其超参数,使曲线不上升;第二种就是建许多个模型,以下图中右边所示,每一个模型的代价函数随时间的变化而变化,咱们只须要挑

当时表现比较好的模型用于预测数据便可。能够看出,在计算量容许的状况下,第二种方式是很是好的。

                                   

 

 

 

 

 

以上是所有内容,若是有什么地方不对,请在下面留言,谢谢~

相关文章
相关标签/搜索