2011-11-08 59 views
11

我正在通過使用隨機梯度下降的反向傳播訓練XOR神經網絡。神經網絡的權重被初始化爲-0.5和0.5之間的隨機值。大約80%的時間,神經網絡成功地進行自我訓練。但是有時它會在反向傳播時「卡住」。通過「卡住」,我的意思是我開始看到錯誤糾正率在下降。舉例來說,一個成功的培訓過程中,總的錯誤,而迅速減小作爲網絡學習,像這樣:XOR神經網絡錯誤在訓練期間停止減少

... 
... 
Total error for this training set: 0.0010008071327708653 
Total error for this training set: 0.001000750550254843 
Total error for this training set: 0.001000693973929822 
Total error for this training set: 0.0010006374037948094 
Total error for this training set: 0.0010005808398488103 
Total error for this training set: 0.0010005242820908169 
Total error for this training set: 0.0010004677305198344 
Total error for this training set: 0.0010004111851348654 
Total error for this training set: 0.0010003546459349181 
Total error for this training set: 0.0010002981129189812 
Total error for this training set: 0.0010002415860860656 
Total error for this training set: 0.0010001850654351723 
Total error for this training set: 0.001000128550965301 
Total error for this training set: 0.0010000720426754587 
Total error for this training set: 0.0010000155405646494 
Total error for this training set: 9.99959044631871E-4 

Testing trained XOR neural network 
0 XOR 0: 0.023956746649767453 
0 XOR 1: 0.9736079194769579 
1 XOR 0: 0.9735670067093437 
1 XOR 1: 0.045068688874314006 

然而,當它被卡住,總誤差減小,但它似乎是一定的下降速度:

... 
... 
Total error for this training set: 0.12325486644721295 
Total error for this training set: 0.12325486642503929 
Total error for this training set: 0.12325486640286581 
Total error for this training set: 0.12325486638069229 
Total error for this training set: 0.12325486635851894 
Total error for this training set: 0.12325486633634561 
Total error for this training set: 0.1232548663141723 
Total error for this training set: 0.12325486629199914 
Total error for this training set: 0.12325486626982587 
Total error for this training set: 0.1232548662476525 
Total error for this training set: 0.12325486622547954 
Total error for this training set: 0.12325486620330656 
Total error for this training set: 0.12325486618113349 
Total error for this training set: 0.12325486615896045 
Total error for this training set: 0.12325486613678775 
Total error for this training set: 0.12325486611461482 
Total error for this training set: 0.1232548660924418 
Total error for this training set: 0.12325486607026936 
Total error for this training set: 0.12325486604809655 
Total error for this training set: 0.12325486602592373 
Total error for this training set: 0.12325486600375107 
Total error for this training set: 0.12325486598157878 
Total error for this training set: 0.12325486595940628 
Total error for this training set: 0.1232548659372337 
Total error for this training set: 0.12325486591506139 
Total error for this training set: 0.12325486589288918 
Total error for this training set: 0.12325486587071677 
Total error for this training set: 0.12325486584854453 

雖然我是在我遇到的討論來到當地最低高度和全球最低高度和網絡如何神經真的不「知道」,這極小它應該是逐步轉向神經網絡閱讀起來。

我的網絡陷入局部極小值而不是全局極小值?

回答

6

是的,根據誤差表面,神經網絡可能卡在局部最小值。但是this abstract表明XOR問題的誤差表面沒有局部最小值。但是我無法閱讀全文,因此我無法驗證作者如何解決此問題以及它如何應用於您的問題。

還可能有其他因素導致此問題。例如,如果您在某個陡峭的山谷下降非常快,如果您只是使用一階梯度下降,則可能會達到相反的斜率並始終來回反彈。您也可以嘗試在每次迭代時對所有權重進行平均變化,以測試您是否真的有一個「卡住」的網絡,或者說剛剛進入極限循環的網絡。

你應該首先嚐試擺弄你的參數(學習速度,動力,如果你實施它等)。如果您可以通過更改參數使問題消失,那麼您的算法可能是正確的。

+0

謝謝!你的回答更清晰。看起來,神經網絡並不精確,涉及到一定程度的混亂。我會嘗試改變周圍的參數並嘗試讓問題消失。 –

+0

我碰到了[本文](http://www.ncbi.nlm.nih.gov/pubmed/18252598)(發表於1999年,在你引用的那年的一年後),它說, 2-3-1 XOR網絡(我正在使用3-3-1 XOR網絡;不確定是否需要輸入層上的偏差)。再次,就像你的情況一樣,這是一個抽象。 –

+0

我還看到了[本文](http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CDMQFjAC&url=http%3A%2F%2Fciteseerx.ist.psu.edu %2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.31.4770%26rep%3Drep1%26type%3Dpdf&ei = -WK5TqjAGIaviAL636jTBA&usg = AFQjCNEaQ0jG2bkD4ipXcfgXDr9mHrxRMQ&sig2 = BD8IyRc8Clg2XftdR20W9w)表示最簡單的XOR網絡沒有最小值,但這似乎不是2-3-1或3-3-1網絡。 –

2

LiKao所描述的梯度下降步驟過大,是一個可能的問題。另一個原因是XOR錯誤格局非常平坦,這意味着需要很長時間才能收斂,事實上,梯度可能非常弱,以至於下降算法不會將您拉向正確的方向。

這兩篇論文着眼於2-1-1和2-2-1 XOR景觀。一個使用我不知道的「交叉熵」錯誤函數。首先,他們宣稱沒有局部最小值,但在第二個時間裏,他們說在無窮遠處有局部最小值 - 基本上當權重跑到非常大的值時。因此,對於第二種情況,他們的結果表明,如果你不靠近「足夠」的真正最小值開始,你可能會被困在無限的點上。他們還表示,由於具體的定義,其他分析顯示沒有局部最小值的2-2-1 XOR網絡與其結果並不矛盾。

http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.4770

http://www.ncbi.nlm.nih.gov/pubmed/12662806

1

我遇到了同樣的問題,並發現,使用在LeCun's "Efficient Backprop" paper描述的激活函數1.7159 *的tanh(三分之二* x)的幫助。這大概是因爲該函數不會圍繞目標值{-1,1}飽和,而正則tanh則會。