畳み込みニューラルネットワークとディープラーニングの違いは何ですか?


25

プロジェクトでディープラーニングを使用したい。いくつかの論文を読んで、質問がありました。畳み込みニューラルネットワークとディープラーニングに違いはありますか?これらは同じものですか、それとも大きな違いがありますか?


ディープラーニングおよび畳み込みニューラルネットワークとの正確な違いを教えてくださいこれらの2つのトピックで混乱している部分がいくつかあります
Yamini

回答:


33

ディープラーニングは、ディープニューラルネットワーク(DNN)に基づく機械学習の分野であり、少なくとも3層または4層(入力層と出力層を含む)のニューラルネットワークを意味します。しかし、一部の人々(特に非技術者)にとっては、その深さに関係なく、ニューラルネットワークはディープラーニングとみなされます。また、10層のニューラルネットを浅いと考える人もいます。

畳み込みニューラルネットワーク(CNN)は、最も一般的なニューラルネットワークアーキテクチャの1つです。彼らは画像処理に非常に成功していますが、他の多くのタスク(音声認識、自然言語処理など)にも成功しています。最先端のCNNは非常に深い(少なくとも数十層)ため、ディープラーニングの一部です。ただし、単純なタスクのために浅いCNNを構築できます。その場合、(本当に)ディープラーニングではありません。

しかし、CNNは単独ではありません。リカレントニューラルネットワーク(RNN)、オートエンコーダー、トランスフォーマー、Deep Belief Net(DBN =制限付きボルツマンマシンのスタック、RBM)など、他にも多くのニューラルネットワークアーキテクチャがあります。それらは浅くても深くてもかまいません。注:浅いRNNでさえ深層学習の一部と見なすことができます。それらを訓練するには時間をかけて展開する必要があり、その結果、深層ネットになります。


@MiniQurak。私が間違っている私を修正してください。私が理解していることは、CNNはオートエンコーダー、ディープ・ビリーフ・ネット、リカレント・ニューラル・ネットワーク(RNN)のようなディープネットのアーキテクチャの1つにすぎないということです。それは正しいですか?
Aadnan Farooq A

それは正解です。
MiniQuark

次に、データセットに応じてどのアーキテクチャが優れていると言えますか?または重要な要因は何ですか?
Aadnan Farooq A

1
CNNは画像認識タスクに最適です。また、ローカルパターン(線分など)が大きなパターン(正方形、三角形など)に組み立てられ、大きなパターン(家、飛行機など)に組み立てられたデータが何らかの階層構造を持っている場合も常に輝きます。これは、音声認識タスクに適しています。RNNは時系列(天気の予測など)に最適であり、一般にデータのシーケンス(文など)を処理します。NLP(自然言語処理)によく使用されます。AutoEncoderは監視なしで、データのパターンを学習します。
MiniQuark

1
それでは:)
Firebug

21

適応信号処理/機械学習の分野では、ディープラーニング(DL)は、機械の複雑な表現をトレーニングできる特定の方法論です。

一般に、一連の階層的に積み重ねられた(これが「深層」の起源である)操作を介して、入力ターゲットの目標yまでずっとマッピングできる定式化があります。これらの操作は通常、線形操作/投影(W i)であり、その後に次のように非線形性(f i)が続きます。xyWifi

y=fN(...f2(f1(xTW1)W2)...WN)

現在、DLには多くの異なるアーキテクチャがあります。そのようなアーキテクチャの1つは、畳み込みニューラルネット(CNN)として知られています。別のアーキテクチャは、多層パーセプトロン(MLP)などとして知られています。異なるアーキテクチャは、さまざまなタイプの問題を解決するのに役立ちます。

MLPは恐らく最も伝統的なタイプのDLアーキテクチャの1つであり、その場合、前の層のすべての要素が次の層のすべての要素に接続されます。次のようになります。

ここに画像の説明を入力してください

WiWR10バツ20vR10バツ1あなたはR1バツ20あなたは=vTWW 次の層の要素の。

MLPは、訓練するのが難しかったこともあり、好意的ではなくなりました。その困難には多くの理由がありますが、それらの1つは、それらの密な接続が、さまざまなコンピュータービジョンの問題に簡単に対応することができないためでもありました。言い換えれば、彼らは翻訳の等価性を焼き付けていませんでした。これは、画像の一部に感度が必要な信号がある場合、以下の場合に感度を再学習する必要があることを意味します。その信号は動き回りました。これによりネットの容量が無駄になり、トレーニングが難しくなりました。

これがCNNの出番です!これは次のようなものです。

ここに画像の説明を入力してください

W

「CNN」とは、ネット全体に畳み込み層があり、最後にMLPがあるネットを指すのが一般的です。


1
+1すばらしい答えです。私はテプリッツ行列について学びました。;-)
MiniQuark

@MiniQuarkありがとう!はい-たたみ込みをテプリッツ行列による乗算として書き出すことができます。:)
タリンジヤエ

@TarinZiyaeeとMiniQurak初心者がディープラーニングについて詳しく学ぶための良い本/ジャーナル記事/チュートリアルを教えてください。
AadnanファルークA

CNNは必ずしも深くない(-1)
Firebug

7

深層学習=深層人工ニューラルネットワーク+ 他の種類の深層モデル

ディープ人工ニューラルネットワーク= 1層以上の人工ニューラルネットワーク。(詳細については、ディープニューラルネットワークまたはウィキペディアの最小レイヤー数を参照してください…)

畳み込みニューラルネットワーク=人工ニューラルネットワークの一種


まあ、ディープラーニングには「マルチレイヤーカーネルマシン」も含まれており、CNNは浅くすることができます。:)
MiniQuark

@MiniQuarkうん。
フランクデルノンクール

1層以上の人工ニューラルネットワーク..... 2層だけのネットワークがディープネットワークと呼ばれるかどうかはわかりません。
SmallChess

1
@StudentTたぶん、私はマーケティングの仕事をしないでください。)en.wikipedia.org/w/...
フランクDernoncourt

1
CNNは必ずしも深層である必要はなく、深層学習はANNについてだけではないため(通常の意味で)、これが一番の答えになるはずです。
Firebug

6

Yann LeCunによるこのスライドは、フィーチャ階層(下位レベルのフィーチャがモデルの1つのレイヤーで学習され、それらのフィーチャが次のレベルで結合される)を持つモデルのみが深いことを示しています。

CNNは深い場合も浅い場合もあります。これは、2層モデルを含む特定のニューラルネットワークが深くないため、この「機能階層」構造に従うかどうかによって異なります。

Yann LeCunの定義


3

Deep learningは、複数の層を持つ複雑なニューラルネットワークを扱うための一般的な用語です。正確に何であるかの標準的な定義はありませんdeep。通常、ディープネットワークは、ラップトップおよびPCがトレーニングするには大きすぎるものであると考えることができます。データセットは非常に大きいため、メモリに収めることができません。トレーニングを高速化するためにGPUが必要になる場合があります。

Deep マーケティング用語のようなもので、何かをよりプロフェッショナルに聞こえさせるものです。

CNNディープニューラルネットワークの一種であり、他にも多くの種類があります。CNNは、画像認識に非常に役立つアプリケーションがあるため、人気があります。


これらのステートメントのいくつかに親切に反対したいと思います。ネットワークは一般に、複数の隠れ層がある場合に深いと見なされ、ほとんどの人は、10を超える隠れ層があることは間違いなく深いことに同意します。あなたのラップトップで深いネットワークを訓練することはかなり可能です、私はいつもそれをします。特に転送学習(つまり、事前に訓練されたネットワークからレイヤーを再利用する)やデータ増強を使用する場合、データセットは巨大である必要はありません。「深い」という言葉には確かに多くの誇大広告がありますが、ディープラーニング専用のテクニックがあるため、単なる誇大広告ではありません。:)
MiniQuark

データの増強で@MiniQuark、あなたのデータセットがまだあなたが小さな何かを始めるだけのことを、大きくなり...
SmallChess

良い点、あなたは正しい。私が言いたいのは、ほとんどのデータをその場で生成するため、データセットがメモリに収まるということです。
MiniQuark
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.