BP神經(jīng)網(wǎng)絡優(yōu)化 如何估算神經(jīng)網(wǎng)絡的最優(yōu)學習率?
如何估算神經(jīng)網(wǎng)絡的最優(yōu)學習率?。具體來說,目前主流的神經(jīng)網(wǎng)絡模型使用梯度下降算法進行訓練,或?qū)W習參數(shù)。學習速率決定權(quán)重在梯度方向上成批移動的距離。理論上,學習率越高,神經(jīng)網(wǎng)絡的學習速度越快。但是,如果
如何估算神經(jīng)網(wǎng)絡的最優(yōu)學習率?
。
具體來說,目前主流的神經(jīng)網(wǎng)絡模型使用梯度下降算法進行訓練,或?qū)W習參數(shù)。學習速率決定權(quán)重在梯度方向上成批移動的距離。理論上,學習率越高,神經(jīng)網(wǎng)絡的學習速度越快。但是,如果學習速率過高,可能會“穿越”損失函數(shù)的最小值,導致收斂失敗。
上圖左邊是高學習率,右邊是低學習率,來源:mikkel Duif(quora)
那么,如何找到最佳學習率?
方法。但是,這種方法的初始學習率(上例中為0.1)不應該太高。如果初始學習率太高,可能會“穿越”最優(yōu)值。
另外,還有另外一種思路,就是逆向操作,從學習率很低開始,每批之后再提高學習率。例如,從0.00001到0.0001,再到0.001,再到0.01,再到0.1。這個想法背后的直覺是,如果我們總是以很低的學習率學習,我們總是可以學習到最好的權(quán)重(除非整個網(wǎng)絡架構(gòu)有問題),但它將非常緩慢。因此,從一個很低的學習率開始,我們可以肯定地觀察到損失函數(shù)的下降。然后逐漸加大學習率,直到學習率過高,導致發(fā)散。該方法還避免了上述方法初始學習率過高,一次“穿越”最優(yōu)值的隱患。這是Leslie n.Smith在2015年的論文《訓練神經(jīng)網(wǎng)絡的循環(huán)學習率》中提出的方法。