特にconvolutional-neural-networksおよびneuro-networksのタグで、これらの用語がこのサイトに頻繁に投げられているのを見てきました。
ニューラルネットワークは、人間の脳に大まかに基づいたシステムであることを知っています。しかし、畳み込みニューラルネットワークと通常のニューラルネットワークの違いは何ですか?1つのちょうどたくさんより、エヘン、複雑とされて畳み込まれ、他のよりも?
特にconvolutional-neural-networksおよびneuro-networksのタグで、これらの用語がこのサイトに頻繁に投げられているのを見てきました。
ニューラルネットワークは、人間の脳に大まかに基づいたシステムであることを知っています。しかし、畳み込みニューラルネットワークと通常のニューラルネットワークの違いは何ですか?1つのちょうどたくさんより、エヘン、複雑とされて畳み込まれ、他のよりも?
回答:
TLDR: 畳み込みニューラルネットワークは、少なくとも1つの畳み込み層を持つニューラルネットワークのサブクラスです。ローカル情報(画像内の隣接ピクセルやテキスト内の周囲の単語など)をキャプチャするのに最適であり、モデルの複雑さを軽減します(トレーニングの高速化、サンプルの削減、オーバーフィッティングの可能性の低減)。
ディープ従来型ニューラルネットワークを含むいくつかのニューラルネットワークアーキテクチャを示す次のチャートを参照してください。
ニューラルネットワーク(NN)またはより正確には人工ニューラルネットワーク(ANN)は、ビッグデータと高速コンピューティング機能(ほとんどのディープラーニング)が利用できるため、最近再び注目を集めている(再び!)機械学習アルゴリズムのクラスです。アルゴリズムは本質的にANNの異なるバリエーションです)。
ANNのクラスは、畳み込みニューラルネットワーク(CNN)、リカレントニューラルネットワーク(RNN)(LSTMとGRUなど)、オートエンコーダー、およびディープビリーフネットワークを含むいくつかのアーキテクチャをカバーしています。したがって、CNNはANNの一種です。
一般的に、ANNは、ユニットから別のユニットに信号(通常は実数値)を渡すことができる、接続された調整可能なユニット(別名、ノード、ニューロン、および人工ニューロン)のコレクションです。ユニットの数(レイヤー)、そのタイプ、およびそれらの相互接続方法は、ネットワークアーキテクチャと呼ばれます。
具体的には、CNNには1つ以上の層の畳み込みユニットがあります。畳み込みユニットは、前のレイヤーの複数のユニットから入力を受け取り、それらが一緒に近接を作成します。したがって、(小さな近傍を形成する)入力ユニットは重みを共有します。
畳み込みユニット(およびプールユニット)は、特に次のような利点があります。
(深い)CNNの詳細については、以下をお読みください。
ps ANNは「人間の脳に大まかに基づいたシステム」ではなく、動物の脳に存在するニューロンの接続に触発されたクラスのシステムです。
畳み込みニューラルネットワーク(CNN)は、計算の複雑さを軽減し、翻訳の不変性を保証するアーキテクチャ上の制約を持つニューラルネットワークです(ネットワークは、翻訳に関係なく入力パターンを同じように解釈します。画像認識の観点では、バナナは、画像)。たたみ込みニューラルネットワークには、3つの重要なアーキテクチャ機能があります。
ローカル接続性: 1つの層のニューロンは、空間的に近い次の層のニューロンにのみ接続されます。この設計により、連続するレイヤー間の接続の大部分が削減されますが、最も有用な情報を保持するレイヤーは保持されます。ここで行われる仮定は、入力データに空間的重要性があること、またはコンピュータービジョンの例では、2つの離れたピクセル間の関係は、2つの近接したピクセルよりもおそらく重要ではないことです。
重みの共有:これは、CNNを「畳み込み」にする概念です。1つのレイヤーのニューロンに強制的に重みを共有させることにより、フォワードパス(ネットワークを介したデータの供給)は、画像上でフィルターを畳み込んで新しい画像を生成することと同等になります。CNNのトレーニングは、フィルターを学習するタスクになります(データで検索する機能を決定します)。
プーリングとReLU: CNNには、プーリングレイヤーとReLU機能という2つの非線形性があります。プーリング層は入力データのブロックを考慮し、単純に最大値を渡します。これを行うと、出力のサイズが小さくなり、学習するためにパラメーターを追加する必要がなくなるため、多くの場合、ネットワークのサイズを調整し、システムを計算限界以下に保つためにプーリング層が使用されます。ReLU関数は1つの入力xを受け取り、最大{0、x}を返します。ReLU(x) = argmax(x, 0)
。これにより、モデルの表現力を高める非線形性としてtanh(x)またはsigmoid(x)と同様の効果が導入されます。
別の回答で述べたように、スタンフォードのCS 231nコースではこれについて詳しく説明しています。詳細については、このガイドとこの講義をご覧ください。このようなブログ投稿とこれも非常に役立ちます。
CNNsは、彼らがやることな構造を持っているなぜあなたはまだ興味があれば、私は読んでお勧めそれらを導入紙、これは非常に長いですが、が、おそらくチェックアウトこの議論我々が作る仮定をヤン・ルカンと生来の事前分布についてクリストファー・マニング(間をモデルのアーキテクチャを設計します)。
畳み込みニューラルネットワークは有するものである畳み込み層を。一般的なニューラルネットワークが、大まかに言って、人間の脳にインスパイアされている場合(あまり正確ではありません)、畳み込みニューラルネットワークは、人間や他の動物の視覚皮質システムにインスパイアされています(真実に近い) 。名前が示すように、このレイヤーは学習可能なフィルター(カーネルとも呼ばれます)で畳み込みを適用します。その結果、ネットワークは画像のパターン(エッジ、コーナー、アーク、さらに複雑な図形)を学習します。たたみ込みニューラルネットワークには、他の層、通常はプーリング層および高密度層も含まれる場合があります。
強くお勧めします この問題に関するCS231nチュートリアルをます。非常に詳細で、非常に優れた視覚化が多数含まれています。