1000個のニューロンを持つ1つの隠れ層vs 100個のニューロンを持つ10個の隠れ層


13

これらのタイプの質問は問題に依存する可能性がありますが、隠れ層の数とそのサイズ(各層のニューロンの数)が本当に重要かどうかという問題に取り組む研究を見つけようとしました。

私の質問は、たとえば、1000個のニューロンからなる1つの大きな隠れ層と、それぞれ100個のニューロンを持つ10個の隠れ層があるかどうかは本当に重要なのでしょうか?

回答:


12

基本的に、複数の層(別名ディープネットワーク)を持つことで、ネットワークは入力データの特定の側面をより認識しやすくなります。たとえば、入力として家の詳細(サイズ、芝生のサイズ、場所など)があり、価格を予測する場合です。最初の層は予測するかもしれません:

  • 大きなエリア、高い価格
  • 少量のベッドルーム、低価格

2番目の層は次のように結論付けます。

  • 大きな面積+少量の寝室=大きな寝室= +-効果

はい、ある層は統計を「検出」することもできますが、その統計を検出するために必要な合計計算の「一部」を他のニューロンに依存することができないため、より多くのニューロンが必要になります。

この回答をご覧ください


ご回答ありがとうございます。明確にするために、「ネットワークを作成します[...]」と書いているとき、より少ない層に多くのニューロンがあるのではなく、それぞれがより少ないニューロンを持つ多くの隠れ層がある場合について言及していますか?
スティーブンジョンソン

@StephenJohnsonおっと、質問を編集しました。ディープネットワーク(複数のレイヤー)を指します。
トーマスW

いい答え、ありがとう。別のスレッドでこれを続けるべきかもしれませんが、同じ種類の推論がGRUやLSTMなどのリカレントニューラルネットワークにも当てはまると思いますか?
スティーブンジョンソン

@StephenJohnson 1つの階層型リカレントネットワークと多層型リカレントネットワークのどちらを意味しますか?
トーマスW

私は一般的に、彼らはより長い距離にわたってコンテキストをマップできるように繰り返し接続しているため、そのようなネットワークは通常のフィードフォワードネットワークと同じようにディープであることの恩恵を受けますか?音声などのシーケンシャルデータが使用される場合、通常はリカレントネットワークが使用されるため、そのように比較することはできません。
スティーブン・ジョンソン

4

非常に多くの側面があります。

1.トレーニング: ディープネットのトレーニングは、勾配の消失(最近爆発)のため困難な仕事です。したがって、10x100のニューラルネットを構築することはお勧めしません。

2.訓練されたネットワークパフォーマンス:

  • 情報損失: ニューラルネットの古典的な使用法は分類問題です。つまり、データから明確に定義された情報を取得したいということです。(例:写真に顔があるかどうか。)そのため、通常、分類の問題には多くの入力があり、出力はほとんどありません。さらに、隠れ層のサイズが入力から出力へと下降します。ただし、レイヤーごとに少ないニューロンを使用して情報を失います。(つまり、顔があるかどうかに基づいて元の画像を再現することはできません。)入力のサイズが(たとえば)1000である場合、100個のニューロンを使用して情報を失うことを知っておく必要があります。
  • 情報の複雑さ:ただし、(Tomas Wが述べたように)より深いネットは、入力データからより複雑な情報を取得できます。それでも、完全に接続された10個のレイヤーを使用することはお勧めしません。畳み込み/ relu / maxpoolingまたは他のタイプのレイヤーを使用することをお勧めします。Firestレイヤーは、入力の重要な部分を圧縮できます。(例では、画像の特定の部分に線があります)2番目のレイヤーは次のように言うことができます:画像のこの場所に特定の形状があります。などなど

そのため、より深いネットはより「賢い」ですが、10x100ネット構造が適切な選択です。


1

解決しようとしている問題が線形に分離可能である場合、1000個のニューロンの1つの層は、100個のニューロンのそれぞれを含む10個の層よりもうまく機能します。問題が非線形で凸でない場合、ディープニューラルネットが必要です。


2
問題が線形に分離可能である場合、隠しレイヤーはまったく必要ありません
Amedeo Baragiola

0

ニューラルネットワークの基本に混乱があると思います。すべてのレイヤーには、個別のアクティベーション機能と入出力接続の重みがあります。

最初の非表示レイヤーの出力には重みが乗算され、次のレイヤーのアクティベーション関数によって処理されます。単層ニューラルネットワークは、単純なタスクには非常に制限されており、NNが深いほど、単層よりもはるかに優れたパフォーマンスを発揮できます。

ただし、アプリケーションがそれほど複雑でない場合は、レイヤー以上を使用しないでください。結論として、100個のニューロン層は10個の層x 10個のニューロンよりも優れたニューラルネットワークを意味するわけではありませんが、ディープラーニングを行わない限り、10個の層は想像上のものです。隠れ層の10個のニューロンから始めて、層を追加するか、同じ層にさらにニューロンを追加して、違いを確認します。より多くのレイヤーで学習する方が簡単ですが、より多くのトレーニング時間が必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.