0

分類の問題には、3 層のニューラル ネットワークを使用します。1) ~2k ニューロン 2) ~2k ニューロン 3) 20 ニューロン。私のトレーニング セットは 2 つの例で構成されており、各例のほとんどの入力はゼロです。何らかの理由で、バックプロパゲーション トレーニングの後、ネットワークは両方の例で実質的に同じ出力を返します (これは、例の 1 つだけに有効であるか、例の 1 つに 1 がある出力に対して 1.0 を持ちます)。最初のエポックの後にこの状態になり、学習率が最小の double vale であっても、その後はあまり変化しません。アクティベーション関数としてシグモイドを使用します。私のコードに何か問題があるのではないかと思ったので、AForge オープン ソース ライブラリを使用しましたが、同じ問題が発生しているようです。ここで何が問題になる可能性がありますか?

解決策: 層を 1 つ削除し、隠れ層のニューロンの数を 800 に減らしました。

4

2 に答える 2

3

2000 x 2000 x 20 は巨大です。つまり、アルゴリズムは 400 万次元の空間を検索する必要があります。この場合、最適化アルゴリズムは完全に途方にくれます。勾配降下法を使用していると仮定していますが、これはそれほど強力ではないため、この巨大な検索空間のどこかでアルゴリズムが局所最適化に固執している可能性があります。

モデルを単純化してください!

追加した:

また、あなたがやろうとしていることをより詳細に説明してください。本当にトレーニング例が 2 つしかないのですか? それは、400 万次元の平面を使用して 2 点を分類しようとするようなものです。私には意味がありません。

于 2012-09-27T09:14:33.507 に答える