2014-03-06 59 views
0

我需要實現一個機器人大腦,我用前饋神經網絡作爲控制器。該機器人有24個聲納Sonsor,只有一個輸出是R =右,L =左,F =前進,B =後退。我還有一個包含聲納數據和所需輸出的大型數據集。 FNN使用反向傳播算法進行訓練。機器人的神經網絡

我用neuroph Studio構建了FNN並且做了訓練。這裏的網絡PARAMS:

輸入層:24 隱層:10 輸出層:1 LearnningRate:0.5 動量:0.7 GlobalError:0.1

我的問題是迭代錯誤期間下降稍微和似乎是靜止的。我試圖改變參數,但我沒有得到任何有用的結果!

感謝您的幫助

回答

0

對輸出使用n個編碼中的1個。使用4個輸出神經元,並設置這樣的目標(輸出)數據:

1 0 0 0 = right 
0 1 0 0 = left 
0 0 1 0 = forward 
0 0 0 1 = back 

減少輸入傳感器(和相應的輸入神經元)的數量與開始,下降到3或5。這將簡化的東西所以你可以理解發生了什麼。稍後,您可以構建多達24個輸入。

在訓練過程中,神經網絡通常會陷入局部最小值,這可能是您的錯誤是靜態的原因。增加勢頭可以幫助避免這種情況。

你的學習率看起來相當高。嘗試0.1,但玩弄這些值。每一個問題都是不同的,沒有任何價值保證可以發揮作用。

+0

謝謝Andrelucas的幫助,我做了你所說的話(把輸出改爲4而不是1,隱藏= 15,輸入= 24學習率= 0.1,動量= 0.7)MSE戲劇性地下降了, 0.5和0.4,而不是穩定在2.5。我會盡量改變參數以最小化MSE(<0.1),我會發布結果。再次感謝您的幫助 – user3345867

+0

您好再次,經過幾天的嘗試,我無法得到MSE下降到0.01(它只能達到0.03),我使用Neuroph工作室爲我的模擬,我會tride的所有組合(改變隱藏層的大小,學習速度,勢頭)如果您有任何建議,我會對它進行評估。 – user3345867

+0

0.03 _could_ be fine。 0.01只是一個建議。您是否使用驗證集來確定何時退出培訓? – andrelucas