畳み込み層パラメータの計算と設定

畳み込み層の次元の計算と設定

畳み込み構造

CNN の構造:

Input (入力層) ---->Conv (畳み込み) ----> Relu (アクティベーション) ----> Pool (プーリング) ----> FC (完全接続)

入力層パラメーターの概要:

  1. バッチサイズ: 1 つのトレーニング セッションのサンプル数に相当します。
  2. 重み/高さ: 画像の幅と高さ
  3. チャンネル: 画像チャンネルの数、1 は白黒、3 は RGB

畳み込み層パラメーターの概要:

  1. フィルター = コンボリューション カーネル (1x1、3x3、5x5)
  2. 特徴マップ = 畳み込み後に得られる出力結果
  3. 重量/高さ: コンボリューションカーネルサイズ
  4. in_channel: 入力画像のチャンネル数と同じ (これは必要に応じて設定できます)
  5. out_channel: 出力チャンネルの数に等しい
  6. パディング: パディング値。出力特徴マップの長さと幅 = 入力特徴マップの長さと幅になるように、入力特徴マップの両側に特定の数の行と列を追加します。
  7. stride: ストライド、入力特徴マップによるコンボリューション カーネルのサンプリング間隔

コンボリューション計算式:
N 出力サイズ = (W 入力サイズ − Filter + 2Padding )/Stride+1
デコンボリューション計算式:
N 出力サイズ = (W 入力サイズ − 1 )*Stride+Filter - 2 *Padding
注: 体積積は四捨五入されます切り捨てられ、プールは切り上げられます。

プーリング層パラメーターの概要:

  1. フィルター : コンボリューションカーネルサイズ
  2. stride: ストライド、入力特徴マップによるコンボリューション カーネルのサンプリング間隔

プーリングの計算式:
出力サイズ = (入力サイズ − フィルター) / ストライド + 1

機能:
maxpooling は局所的な不変性を持ち、モデルのパラメーターを減らしながら重要な特徴を抽出できるため、モデルの過学習が軽減されます。
重要な特徴のみが抽出され、重要でない情報は破棄されるため、モデルのパラメータが削減され、過学習の発生をある程度軽減できます。

コンボリューションカーネルのサイズ、数、層数はどのように選択すればよいですか?

1. コンボリューションカーネルのサイズ:

理論的には、コンボリューション カーネルのサイズは任意ですが、CNN で使用されるコンボリューション カーネルのほとんどは、1x1、3x3、5x5、7x7、11x11 などの奇数サイズの正方形であり、長方形のコンボリューションもあります。 、Inceptionv3 の 3x3 などは 1x3 と 3x1 になります。
CNN のコンボリューション カーネルは一般的に長方形ではなく正方形であるのはなぜですか?

サイズの選択は通常 3x3 で、小さいほど良いため、パラメータの数が減り、複雑さが軽減されます。複数の小さなコンボリューション カーネルは、1 つの大きなコンボリューション カーネルよりも優れています。次の 2 つの理由があります。

1. パラメータの数は 2.3 個に減ります。
3x3 コンボリューション カーネル = 1 7x7 コンボリューション カーネル = 1 5x5 コンボリューション カーネル

Mnist を例に挙げると、画像は 28x28、5x5 畳み込みカーネルを使用、畳み込みには stride=1、Result=(28-5)/1+1=24、2 つの 3x3 畳み込みカーネルを使用します: (28-3
)
/ 1+1=26
(26-3)/ 1+1=24
ここに画像の説明を挿入します

2. コンボリューションカーネルの数

これは、出力特徴マップのチャネル数と同じです。コンボリューション カーネルの数が増えるほど、より多くの種類の特徴が抽出されます。通常は 2^n (16 の倍数) になります

3. 畳み込み層の数

畳み込み層の数を設定するには、最高のパフォーマンスを持つモデルを選択し、その層の数を設定します。これは学習データや活性化関数、勾配更新アルゴリズムなど多くの要素に影響され、ただ試しただけではわかりません。

4. パディングの選択

pptを参照すると、次のことがわかりました。
ここに画像の説明を挿入します

コンボリューションカーネルが3の場合はパディングを選択 1を選択した場合は
コンボリューションカーネルが5で
パディングを選択 2を選択した場合はコンボリューションカーネルが7でパディングを選択 上記の
設定は原則です。実際には、モデルに応じてパラメータを設定した方が良いため、結局のところ、誰もがチューニングパラメータを最適化します。

5.ストライドの選択

ステップ サイズは通常、コンボリューション カーネルの幅または長さを超えません。ステップ サイズが 1 より大きい場合、ダウンサンプリング効果があります。たとえば、ステップ サイズが 2 の場合、特徴マップのサイズを縮小できます。半分で。

LeNet パラメータの例

ここに画像の説明を挿入します

AlexNet パラメータの例

ここに画像の説明を挿入します

VGGパラメータの例

ここに画像の説明を挿入します

参照

1.畳み込みカーネルのサイズ、畳み込み層の数、畳み込みニューラル ネットワークの各層のマップの数はどのように決定されますか?
2. CNNにおけるストライドとパディングの詳しい理解
3.畳み込みニューラルネットワークのパラメータ計算
4.畳み込みニューラルネットワークの各畳み込み層の設定と出力サイズ計算の詳細説明

おすすめ

転載: blog.csdn.net/qq_42740834/article/details/123757816