13

確率的勾配降下法を使用したバックプロパゲーションを介してXORニューラルネットワークをトレーニングしています。ニューラルネットワークの重みは、-0.5〜0.5のランダムな値に初期化されます。ニューラルネットワークは、約80%の時間で正常にトレーニングを行います。ただし、バックプロパゲーション中に「スタック」することがあります。「スタック」とは、エラー訂正率の低下が見られるようになることを意味します。たとえば、トレーニングが成功している間、ネットワークが学習すると、エラーの合計はかなり急速に減少します。

...
...
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

ニューラルネットワークについて読んでいるときに、ローカルミニマとグローバルミニマについて、そしてニューラルネットワークがどのミニマに向かっているのかを実際に「認識」していないという議論に出くわしました。

ネットワークがグローバル最小値ではなくローカル最小値でスタックしていますか?

4

4 に答える 4

7

はい、エラー サーフェスによっては、ニューラル ネットワークが極小値にとどまる可能性があります。ただし、この要約は、XOR 問題のエラー サーフェスに極小値がないことを示唆しています。ただし、全文にアクセスできないため、著者がこれを証明するために何をしたか、およびそれがあなたの問題にどのように適用されるかを確認できません.

この問題を引き起こす他の要因も考えられます。たとえば、急な谷を非常に速く下る場合、一次勾配降下だけを使用すると、反対側の斜面に到達し、常に前後に跳ね返る可能性があります。また、反復ごとにすべての重みの平均変化を与えて、「スタックした」ネットワーク、またはリミット サイクルに達したばかりのネットワークがあるかどうかをテストすることもできます。

最初にパラメータをいじってみる必要があります (学習率、実装した場合の運動量など)。パラメータを変更することで問題を解決できる場合、アルゴリズムはおそらく問題ありません。

于 2011-11-08T07:32:25.260 に答える
4

LiKao によって説明されているように、過度に大きなステップを伴う貧弱な勾配降下は、考えられる問題の 1 つです。もう 1 つの理由は、XOR エラー ランドスケープの非常に平坦な領域があることです。これは、収束に非常に長い時間がかかることを意味します。実際、勾配が非常に弱いため、降下アルゴリズムが正しい方向に引っ張らない可能性があります。

これらの 2 つの論文では、2-1-1 および 2-2-1 XOR ランドスケープに注目しています。1つは、私が知らない「クロスエントロピー」エラー関数を使用しています。最初に彼らは極小値がないと宣言しますが、2番目に彼らは無限に極小値があると言います-基本的に重みが非常に大きな値になるとき。したがって、2 番目のケースでは、「十分な」真の最小値の近くで開始しないと、無限点に閉じ込められる可能性があることが結果から示唆されています。彼らはまた、極小値を示さない 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

于 2012-09-06T03:35:25.533 に答える
2

私は同じ問題に遭遇し、 LeCun の「Efficient Backprop」論文で説明されているアクティベーション関数 1.7159*tanh(2/3*x) を使用すると役立つことがわかりました。これはおそらく、通常の tanh が飽和するのに対し、その関数はターゲット値 {-1, 1} の周りで飽和しないためです。

于 2015-09-05T00:32:21.303 に答える