ニューラル ネットワークに関する最も一般的な質問の 1 つは次のようです。
助けて!! ニューラルネットワークが収束しません!!
では、ネットワークの実装におけるエラーを排除した後、試すべき最も一般的なことは何でしょうか?
試すべきことはネットワーク アーキテクチャによって大きく異なることは承知しています。しかし、どのパラメータ (学習率、モメンタム、初期重みなど) を微調整し、どのような新機能 (ウィンドウ モメンタムなど) を実装することで、独自のニューラル ネットを構築する際に同様の問題を克服できましたか?
可能であれば、言語に依存しない回答をお願いします。この質問は、収束しないニューラル ネットで行き詰まっている人々にいくつかのヒントを与えることを目的としています。
ベストアンサー1
ReLU活性化を使用している場合は、「死にゆくReLU」問題です。簡単に言うと、特定の条件下では、ReLU アクティベーションを持つニューロンはどれも (バイアス) 調整の対象となり、二度とアクティベートされなくなる可能性があります。これは、その記事で詳しく説明されている「Leaky ReLU」アクティベーションで修正できます。
たとえば、ReLU 出力を持つ単純な MLP (3 層) ネットワークを作成しましたが、失敗しました。絶対に失敗するはずのないデータを提供しましたが、それでも失敗しました。学習率を大幅に下げると、失敗が遅くなりました。常に各クラスを同じ確率で予測することに収束しました。これは、標準の ReLU ではなく Leaky ReLU を使用することですべて修正されました。