2

私は現在、Deep Autoencoders のトレーニングを停止するタイミングを考えています。特に、ローカル ミニマムでスタックしているように見える場合は特にそうです。

使用するデータセットに応じて、トレーニング基準 (MSE など) を 0.000001 に設定し、強制的に入力を完全に再構築することが不可欠ですか、それとも違いを保持しても問題ありませんか (MSE が約 0.5 のときに停止するなど)。

より良い再構成が後でより良い分類結果につながる可能性があることは知っていますが、停止する「経験則」はありますか? 私は、「MSE が x 回の反復で小さくならない場合」のようなヒューリスティックな性質を持たないルールに特に興味があります。

4

1 に答える 1

1

NN:s/機械学習の生成は非常に問題固有の手順であり、一般的にフリーランチはないため、これについて一般的な経験則を導き出すことは可能ではないと思います。どのような「良い」トレーニング エラーで終了するかを決定する方法は、データのノイズなど、さまざまな問題固有の要因によって異なります。MSE を最小化することのみを目的として、トレーニング セットに関してのみ NN を評価すると、多くの場合、過剰適合につながります。フィードバックとしてトレーニング エラーのみを使用すると、トレーニング データのノイズに合わせて NN を調整する可能性があります (したがって、オーバーフィッティング)。これを回避する 1 つの方法は、ホールドアウト検証です。NN を特定のデータにトレーニングするだけでなく、データ セットをトレーニング セット、検証セット (およびテスト セット) に分割します。

  • トレーニング セット: トレーニングと NN へのフィードバックは、トレーニングが長くなるにつれて自然に減少し続けます (少なくとも、特定の問題の MSE 値が「OK」になるまで)。
  • 検証セット: これらに対して NN を評価しますが、NN/遺伝的アルゴリズムにフィードバックを与えないでください。

したがって、トレーニング セットの評価フィードバックに加えて、検証セットも評価する必要がありますが、ニューラル ネットワーク (NN) にフィードバックを与えることはありません。

トレーニングと検証セットの MSE の減少を追跡します。一般に、トレーニング エラーは着実に減少しますが、ある時点で、検証エラーは最小値に達し、さらなるトレーニングによって増加し始めます。もちろん、実行時にこの最小値が発生する場所を知ることはできないため、通常、検証エラーが最も少ない NN を格納し、その後しばらく更新されていないように見えます (つまり、エラーを振り返ってみると、検証エラー)、アルゴリズムは終了します。

たとえば、次の記事を参照してください。詳細については、 Neural Network: Train-validate-Test Stoppingと、 2 つの異なる検証方法について説明しているこの SE 統計スレッドを参照してください。

Deep Autoencoders/Deep Learning のトレーニング/検証、特にオーバーフィッティングに関しては、Dropout: A Simple Way to Prevent Neural Networks from Overfitting (*)の記事が価値があると思います。

(*) H. Srivistava、G. Hinton、A. Krizhevsky、I. Sutskever、R. Salakhutdinov、トロント大学。

于 2015-12-11T10:50:17.493 に答える