我是神經網絡的新手,爲了抓住這個問題,我實現了一個基本的前饋MLP,我現在通過反向傳播來訓練。我知道有更復雜和更好的方法可以做到這一點,但在Introduction to Machine Learning他們建議,一個或兩個技巧,基本的梯度下降可以有效地從現實世界的數據中學習。其中一招是自適應學習率。在神經網絡中進行自適應學習率時使用哪種乘法和加法因子?
想法是通過一個恆定值當誤差變小一個以增加學習速率,以及通過一小部分b當誤差變大的學習率的減少它。
+(a)
如果我們學習了正確的方向,並
-(b * <learning rate>)
如果我們破壞我們的學習:所以基本上學習率變化是由確定。但是,在上面的書中,沒有關於如何設置這些參數的建議。我不希望有一個確切的建議,因爲參數調整本身就是一個完整的主題,但至少在其數量級上是一個暗示。有任何想法嗎?
謝謝
Tunnuz
我想接受這個答案,但考慮到它們被用來擴大或縮小應該在[0.0,1.0]中的學習速率值,這些看起來像非常大的數字。你確定它們在RPROP中沒有不同的含義嗎? – tunnuz
提到的值專門用於增加/減少因素(用於在開始課程時糾正你)。如果你仔細閱讀PDF(搜索不適合我,可能是一個LaTex的東西 - 頁面順序似乎倒退!)我認爲它提到了一個學習率(epsilon和delta零 - 取決於算法)。在一張表中,它給出了0.05的值。它還提到了其他可能的算法(BP,SuperSAB,QuickProp)以及使用其他值/算法時給出的結果。 –
另見:http://stackoverflow.com/questions/2865057/resilient-backpropagation-neural-network-question-about-gradient –