これらのタイプの質問は問題に依存する可能性がありますが、隠れ層の数とそのサイズ(各層のニューロンの数)が本当に重要かどうかという問題に取り組む研究を見つけようとしました。
私の質問は、たとえば、1000個のニューロンからなる1つの大きな隠れ層と、それぞれ100個のニューロンを持つ10個の隠れ層があるかどうかは本当に重要なのでしょうか?
これらのタイプの質問は問題に依存する可能性がありますが、隠れ層の数とそのサイズ(各層のニューロンの数)が本当に重要かどうかという問題に取り組む研究を見つけようとしました。
私の質問は、たとえば、1000個のニューロンからなる1つの大きな隠れ層と、それぞれ100個のニューロンを持つ10個の隠れ層があるかどうかは本当に重要なのでしょうか?
回答:
基本的に、複数の層(別名ディープネットワーク)を持つことで、ネットワークは入力データの特定の側面をより認識しやすくなります。たとえば、入力として家の詳細(サイズ、芝生のサイズ、場所など)があり、価格を予測する場合です。最初の層は予測するかもしれません:
2番目の層は次のように結論付けます。
はい、ある層は統計を「検出」することもできますが、その統計を検出するために必要な合計計算の「一部」を他のニューロンに依存することができないため、より多くのニューロンが必要になります。
非常に多くの側面があります。
1.トレーニング: ディープネットのトレーニングは、勾配の消失(最近爆発)のため困難な仕事です。したがって、10x100のニューラルネットを構築することはお勧めしません。
2.訓練されたネットワークパフォーマンス:
そのため、より深いネットはより「賢い」ですが、10x100ネット構造が適切な選択です。
解決しようとしている問題が線形に分離可能である場合、1000個のニューロンの1つの層は、100個のニューロンのそれぞれを含む10個の層よりもうまく機能します。問題が非線形で凸でない場合、ディープニューラルネットが必要です。
ニューラルネットワークの基本に混乱があると思います。すべてのレイヤーには、個別のアクティベーション機能と入出力接続の重みがあります。
最初の非表示レイヤーの出力には重みが乗算され、次のレイヤーのアクティベーション関数によって処理されます。単層ニューラルネットワークは、単純なタスクには非常に制限されており、NNが深いほど、単層よりもはるかに優れたパフォーマンスを発揮できます。
ただし、アプリケーションがそれほど複雑でない場合は、レイヤー以上を使用しないでください。結論として、100個のニューロン層は10個の層x 10個のニューロンよりも優れたニューラルネットワークを意味するわけではありませんが、ディープラーニングを行わない限り、10個の層は想像上のものです。隠れ層の10個のニューロンから始めて、層を追加するか、同じ層にさらにニューロンを追加して、違いを確認します。より多くのレイヤーで学習する方が簡単ですが、より多くのトレーニング時間が必要です。