41

私はニューラル ネットワークの分野に不慣れで、ディープ ビリーフ ネットワークと畳み込みネットワークの違いを知りたいです。また、Deep Belief と Convolutional Neural Nets を組み合わせた Deep Convolutional Network はありますか?

これが私が今まで集めてきたものです。間違っている場合は修正してください。

画像分類問題の場合、Deep Belief ネットワークには多くの層があり、それぞれが貪欲な層ごとの戦略を使用してトレーニングされます。たとえば、画像サイズが 50 x 50 で、4 層のディープ ネットワークが必要な場合

  1. 入力層
  2. 隠れ層 1 (HL1)
  3. 隠れ層 2 (HL2)
  4. 出力層

入力層と HL1 の間の重み (W1) をトレーニングするために、入力層には 50 x 50 = 2500 個のニューロン、HL1 = 1000 個のニューロン (たとえば)、HL2 = 100 個のニューロン (たとえば)、出力層 = 10 個のニューロンがあります。 AutoEncoder (2500 - 1000 - 2500) を使用して、サイズ 2500 x 1000 の W1 を学習します (これは教師なし学習です)。次に、最初の隠れ層を介してすべての画像をフィード フォワードして特徴セットを取得し、別のオートエンコーダー (1000 - 100 - 1000) を使用して次の特徴セットを取得し、最後にソフトマックス レイヤー (100 - 10) を使用して分類します。(最後の層 (HL2 - ソフトマックス層である出力) の重みのみを学習することは、教師あり学習です)。

(オートエンコーダーの代わりに RBM を使用できます)。

Convolutional Neural Networksを使用して同じ問題が解決された場合、50x50 の入力画像の場合、7 x 7 パッチのみを使用してネットワークを開発します (たとえば)。私のレイヤーは

  1. 入力層 (7 x 7 = 49 ニューロン)
  2. HL1 (25 の異なる特徴に対して 25 のニューロン) - (畳み込み層)
  3. プーリング層
  4. 出力層 (Softmax)

そして、重みを学習するために、サイズ 50 x 50 の画像から 7 x 7 のパッチを取得し、畳み込み層を介してフィード フォワードします。したがって、それぞれのサイズが (50 - 7 + 1) x (50 - 7) の 25 の異なる特徴マップを持つことになります。 + 1) = 44 x 44。

次に、プーリングハンドに11x11のウィンドウを使用するため、プーリングレイヤーの出力としてサイズ(4 x 4)の25個の機能マップを取得します。これらの特徴マップを分類に使用します。

重みを学習している間、私は Deep Belief Networks (教師なし学習) のようなレイヤーごとの戦略を使用しませんが、代わりに教師あり学習を使用して、すべてのレイヤーの重みを同時に学習します。これは正しいですか、それとも重みを学習する他の方法はありますか?

私が理解したことは正しいですか?

したがって、画像分類に DBN を使用する場合は、すべての画像のサイズを特定のサイズ (たとえば 200x200) に変更し、入力層にその数のニューロンを配置する必要がありますが、CNN の場合は、より小さなパッチでのみトレーニングします。入力 (サイズ 200x200 の画像の場合は 10 x 10 など) を入力し、学習した重みを画像全体に畳み込みますか?

DBN は CNN よりも優れた結果を提供しますか? それともデータセットに完全に依存していますか?

ありがとうございました。

4

2 に答える 2