2011-09-08 22 views
6

我是神經網絡的新手,爲了抓住這個問題,我實現了一個基本的前饋MLP,我現在通過反向傳播來訓練。我知道有更復雜和更好的方法可以做到這一點,但在Introduction to Machine Learning他們建議,一個或兩個技巧,基本的梯度下降可以有效地從現實世界的數據中學習。其中一招是自適應學習率在神經網絡中進行自適應學習率時使用哪種乘法和加法因子?

想法是通過一個恆定值當誤差變小一個以增加學習速率,以及通過一小部分b當誤差變大的學習率的減少它。

+(a) 

如果我們學習了正確的方向,並

-(b * <learning rate>) 

如果我們破壞我們的學習:所以基本上學習率變化是由確定。但是,在上面的書中,沒有關於如何設置這些參數的建議。我不希望有一個確切的建議,因爲參數調整本身就是一個完整的主題,但至少在其數量級上是一個暗示。有任何想法嗎?

謝謝
Tunnuz

回答

6

我還沒有看時間最長的神經網絡(10年+),但之後,我看到了你的問題,我想我有關於快速偵察。我保持看到了同樣的數字在互聯網上關於增加(一個)和降低(b)因子(1.2 & 0.5分別地)。

我已經成功地將這些數值追蹤到Martin Riedmiller和Heinrich Braun的RPROP algorithm(1992)。 Riedmiller和Braun對選擇合理的參數非常具體。

請參見:RPROP: A Fast Adaptive Learning Algorithm

我希望這有助於。

+0

我想接受這個答案,但考慮到它們被用來擴大或縮小應該在[0.0,1.0]中的學習速率值,這些看起來像非常大的數字。你確定它們在RPROP中沒有不同的含義嗎? – tunnuz

+0

提到的值專門用於增加/減少因素(用於在開始課程時糾正你)。如果你仔細閱讀PDF(搜索不適合我,可能是一個LaTex的東西 - 頁面順序似乎倒退!)我認爲它提到了一個學習率(epsilon和delta零 - 取決於算法)。在一張表中,它給出了0.05的值。它還提到了其他可能的算法(BP,SuperSAB,QuickProp)以及使用其他值/算法時給出的結果。 –

+0

另見:http://stackoverflow.com/questions/2865057/resilient-backpropagation-neural-network-question-about-gradient –

相關問題