33

CS231n Convolutional Neural Networks for Visual Recognitionから Convolutional Neural Network を見ていました。畳み込みニューラル ネットワークでは、ニューロンは 3 次元 ( heightwidthdepth) に配置されます。depthCNNの に問題があります。私はそれが何であるかを視覚化することはできません。

リンクで彼らは言っThe CONV layer's parameters consist of a set of learnable filters. Every filter is small spatially (along width and height), but extends through the full depth of the input volumeた。

たとえば、この写真を見てください。画像が汚すぎたらごめんなさい。くだらない絵

画像から小さな領域を取り、それを「フィルター」と比較するという考えを理解できます。フィルターは小さな画像のコレクションになりますか?また、彼らWe will connect each neuron to only a local region of the input volume. The spatial extent of this connectivity is a hyperparameter called the receptive field of the neuron.は、受容野はフィルターと同じ次元を持っていると言いましたか? また、ここの深さはどうなりますか?そして、CNN の深さを使用して何を意味するのでしょうか?

したがって、私の質問は主に、次の次元の画像を取得した場合[32*32*3](これらの画像が 50000 個あり、データセットを作成している[50000*32*32*3]とします)、その深さとして何を選択し、深さによって何を意味するかということです。また、フィルターの寸法はどのようになりますか?

また、誰かがこれについての直感を与えるリンクを提供できれば、非常に役立ちます。

編集:チュートリアルの一部(実世界の例の部分)で、それは言いますThe Krizhevsky et al. architecture that won the ImageNet challenge in 2012 accepted images of size [227x227x3]. On the first Convolutional Layer, it used neurons with receptive field size F=11, stride S=4 and no zero padding P=0. Since (227 - 11)/4 + 1 = 55, and since the Conv layer had a depth of K=96, the Conv layer output volume had size [55x55x96].

ここでは、深さが 96 であることがわかります。または私が計算する何か?また、上記の例 (Krizhevsky et al) では、深さは 96 でした。では、その 96 の深さは何を意味するのでしょうか。チュートリアルにも記載されてEvery filter is small spatially (along width and height), but extends through the full depth of the input volumeいます。

ということは深さはこんな感じでしょうか。もしそうなら、私は仮定できDepth = Number of Filtersますか? ここに画像の説明を入力

4

7 に答える 7

13

ディープ ニューラル ネットワークでは、深度はネットワークの深さを表しますが、このコンテキストでは、深度は視覚認識に使用され、画像の3次元に変換されます。

この場合、画像があり、この入力のサイズは32x32x3です(width, height, depth)。深度がトレーニング画像のさまざまなチャネルに変換されるため、ニューラル ネットワークはこのパラメーターに基づいて学習できるはずです。

アップデート:

CNN の各層で、トレーニング画像に関する規則性を学習します。最初のレイヤーでは、規則性は曲線とエッジであり、レイヤーに沿って深く進むと、色、形、オブジェクトなどのより高いレベルの規則性を学び始めます。これは基本的な考え方ですが、技術的な詳細がたくさんあります. 先に進む前に、これを試してみてください: http://www.datarobot.com/blog/a-primer-on-deep-learning/

更新 2:

あなたが提供したリンクの最初の図を見てください。「この例では、赤の入力レイヤーが画像を保持しているため、その幅と高さが画像の寸法になり、深さは 3 (赤、緑、青のチャンネル) になります。」これは、ConvNet ニューロンがニューロンを 3 次元に配置することによって入力画像を変換することを意味します。

あなたの質問への答えとして、深度は画像のさまざまなカラー チャネルに対応します。

また、フィルター深度について。チュートリアルはこれを述べています。

すべてのフィルターは空間的に (幅と高さに沿って) 小さいですが、入力ボリュームの深さ全体に広がっています。

これは基本的に、フィルターが画像の規則性を学習するために画像の深さを移動する画像の小さな部分であることを意味します。

更新 3:

実世界の例として、元の論文を参照したところ、次のように書かれています。最初の畳み込み層は、224×224×3 の入力画像を、サイズ 11×11×3、ストライド 4 ピクセルの 96 個のカーネルでフィルタリングします。

チュートリアルでは、深さをチャネルと呼んでいますが、現実の世界では、好きな次元を設計できます。結局のところ、それはあなたのデザインです

このチュートリアルは、ConvNet が理論上どのように機能するかを垣間見ることを目的としていますが、もし私が ConvNet を設計するなら、深さの異なるものを提案するのを止めることはできません

これは意味がありますか?

于 2015-08-30T07:34:24.733 に答える
8

CONV レイヤーの深さは、使用しているフィルターの数です。フィルターの深さは、入力として使用している画像の深さと同じです。

例: 227*227*3 の画像を使用しているとします。ここで、サイズが 11*11 (空間サイズ) のフィルターを使用しているとします。この 11*11 の正方形は、画像全体に沿ってスライドされ、応答として 1 つの 2 次元配列が生成されます。しかし、そのためには、11*11 領域内のすべての側面をカバーする必要があります。したがって、フィルターの深度は画像の深度 = 3 になります。ここで、それぞれが異なる応答を生成する 96 のフィルターがあるとします。これが畳み込み層の深さになります。単純に使用したフィルターの数です。

于 2017-06-19T04:57:14.680 に答える