19

一般的に言えば、隠れ層にノードを追加したり、隠れ層を増やしたりして、人工ニューラル ネットワークを拡張することで何が得られるのでしょうか?

マッピングの精度を高めることはできますか?それとも、識別できる関係をより繊細にすることはできますか?

4

5 に答える 5

21

機械学習では非常によく知られた結果があり、単一の隠れ層で滑らかな有界関数を近似するのに十分であることが示されています (この論文は「多層フィードフォワード ネットワークは普遍的な近似値である」と呼ばれ、現在ではほぼ 20 年前のものです)。ただし、注意すべき点がいくつかあります。

  • 単一の非表示レイヤーは、任意の幅にする必要がある場合があります。
  • これは、近似値を簡単に見つけることができるということではありません。一般に、大規模なネットワークは適切にトレーニングするのが難しく、オーバーフィッティングの犠牲になることがよくあります (例外は、いわゆる「畳み込みニューラル ネットワーク」であり、実際には視覚の問題のみを対象としています)。
  • これは、表現の効率についても何も言いません。一部の関数は、1 つのレイヤーで実行する場合、指数関数的な数の隠れユニットを必要としますが、より多くのレイヤーでより適切にスケーリングします (この詳細については、Scaling Learning Algorithms Towards AIを参照してください) 。

ディープ ニューラル ネットワークの問題は、トレーニングがさらに難しいことです。非常に小さな勾配が以前の隠れ層に逆伝播されてしまい、特に重みが小さく初期化されている場合、学習は実際にはどこにも行きません (重みが大きくなるように初期化すると、悪い極小値で頻繁に立ち往生します)。 . これを回避しようとする、Geoff Hinton によるこのGoogle テクニカル トークで説明されているような「事前トレーニング」のためのテクニックがいくつかあります。

于 2009-01-05T13:23:55.077 に答える
8

これは非常に興味深い質問ですが、答えるのは簡単ではありません。解決しようとしている問題と、使用しようとしているニューラル ネットワークによって異なります。ニューラル ネットワークにはいくつかの種類があります。

一般に、ノードが多いほど精度が高くなるということはあまり明確ではありません。調査によると、ほとんどの場合、必要な隠しレイヤーは 1 つだけです。ノードの数は、問題を解決するために必要なノードの最小数である必要があります。それらが十分にない場合、解決には至りません。

一方、解決策を解決するのに適したノード数に達した場合は、ノードをどんどん追加できますが、結果の推定ではそれ以上の進歩は見られません。

そのため、非常に多くの種類のニューラル ネットワークがあります。彼らはさまざまな種類の問題を解決しようとします。したがって、静的な問題を解決したり、時間に関連する問題などを解決したりするための NN があります。ノードの数は、それらの設計ほど重要ではありません。

于 2008-12-02T01:05:54.537 に答える
5

隠しレイヤーがある場合は、入力の複合機能を作成しているということです。それで、問題は既存の入力のより多くの機能によって、または既存の機能を組み合わせることから来るより高次の機能によってよりよく取り組むことができますか?これは、標準のフィードフォワードネットワークのトレードオフです。

理論的には、2つの隠れ層と非線形活性化を備えたニューラルネットワークで任意の関数を表すことができるという安心感があります。

また、適切なトポロジがわからない場合は、ノードを追加するのではなく、追加のリソースを使用してブーストすることを検討してください。

于 2008-12-02T01:25:45.700 に答える
3

非常に大まかな経験則

一般に、入力ベクトルが大きいほど、レイヤーあたりの要素数が多くなります。

より多くのレイヤーを使用すると、より多くの非線形システムをモデル化できる場合があります。

使用しているネットワークの種類に伝播の遅延がある場合、より多くのレイヤーで時系列のモデリングが可能になる場合があります。遅延に時間ジッターがあるように注意してください。そうしないと、うまく機能しません。これが単なるgobbledegookである場合は、無視してください。

より多くのレイヤーを使用すると、繰り返し機能を挿入できます。これは、識別タスクに非常に役立ちます。あなたはANNの実装はこれを許可しません。

HTH

于 2008-12-02T01:43:29.360 に答える
1

隠れ層あたりのユニット数は、任意に複雑な関数を記述するANNの可能性を説明します。一部の(複雑な)関数では、多くの非表示ノード、または場合によっては複数の非表示レイヤーが必要になる場合があります。

関数を特定の数の隠れたユニットで大まかに近似できる場合、追加のノードを使用すると精度が向上します...ただし、これは、使用するトレーニングサンプルがこの追加を正当化するのに十分な場合にのみ当てはまります。そうでない場合、発生するのは「オーバーコンバージェンス」です。 。過度の収束とは、特定のサンプルを強調しすぎたために、ANNが一般化能力を失ったことを意味します。

一般に、結果として得られるネットワークで良好な結果が得られる場合は、できるだけ隠されていないユニットを使用するのが最善です。より多くの隠れノードを正当化するために必要な追加のトレーニングパターンは、ほとんどの場合簡単に見つけることができず、精度はNNの長所ではありません。

于 2008-12-24T00:53:34.797 に答える