目的と非表示レイヤーを使用するタイミングの決定


9

この質問のフォローアップ...

私は自分の研究でニューラルネットワークを使用および作成する方法を学習しようとしています。非表示のレイヤーはこれのいくらか必要な部分であることを理解していますが、私の参考文献が満足に説明していない2つの点に行き詰まっています。

  1. 非表示レイヤーの正確な目的は何ですか?
  2. 使用する隠しレイヤーの数をどのように決定しますか?

私が収集したものから、それは実際の機能を「モデル化」することですが、可能であれば、もう少し説明をお願いします。


しかし、隠れ層を増やすとオーバーフィットの問題が発生し、使用できる隠れ層の数を言うのが非常に困難になることがあります。打たれるかもしれないし、試験的な方法かもしれません。

回答:


9

非表示層は、ネットワークの表現力を高めるために使用されます。これにより、ネットワークは、隠れ層なしで可能なよりも複雑なモデルを表すことができます。

非表示層の数の選択、またはより一般的には非表示層の非表示ユニットの数を含むネットワークアーキテクチャの選択は、トレーニングおよび相互検証データに基づいて決定する必要があります。一定数のノードを使用してネットワークをトレーニングし(開始するには、1つの非表示レイヤーを、入力ユニットごとに1つのユニットを使用して)、モデルをテストします。

詳細については、次のリンクを参照してください:http : //www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html


1
そのリンクは非常に役立ちます
the_e

6

単純なフィードフォワードニューラルネット、つまり多層パーセプトロンについて説明していると思います。

  1. 非表示層は、データの機能と予測しようとしている変数の間の非線形の依存関係をキャプチャするために必要です。非表示レイヤーを使用しない場合は、線形回帰(回帰の場合)またはロジスティック回帰(分類の場合)を使用することもできます。
  2. さまざまな数の非表示レイヤーを試して、それらがどのように機能するかを評価する(たとえば、相互検証の設定など)。通常、1つの非表示レイヤーで十分であり、NNのパフォーマンスは、そのサイズと正則化を変更することによって最適化されます。

3つ以上の隠れ層があると、ディープラーニングの世界にいることになり、ネットをトレーニングするにはカスタムアルゴリズムが必要になる可能性があります。その理由は、バニラのバックプロパゲーションはディープネットの「消失勾配」の問題に悩まされているためです。エラー関数の勾配は入力に近い層で減少し、それらの層はほとんどトレーニングされません。

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