AveragePoolingレイヤー(平均プーリング層)
説明
近傍の入力値の平均値を出力します。
Pooling層とは
Pooling層は主に畳み込みニューラルネットワーク(CNN)で用いるレイヤーで、特徴を強調するために使用します。入力に対し特定のカーネル演算を行います。AveragePoolingの場合はカーネル内の平均値を出力します。
Pooling層の演算の流れ
数式
[tex:O_{i,j}=\sum_{i,n}avg(I_{(li+s)(lj+t)})]
プロパティ
KernelShape
平均値を取る近傍のサイズを指定します。
例えば画像に3(Height) × 5(Width)の2次元のカーネルを畳み込む場合「3,5」とします。
デフォルト値 = 2,2
Strides
平均値を何サンプル毎に求めるかを指定します。
各軸の出力サイズは、指定した値でダウンサンプリングされます。例えば画像のX軸方向には2毎サンプル毎、Y軸方向には3サンプル毎に平均値を取る場合は「3,2」とします。
*KernelShape:StridesにKernelShapeと同じ値を用います。
デフォルト値 = 2,2
IgnoreBorder
境界の処理方法を指定します。
- True:KernelShapeで指定した平均値を取る範囲のサンプルが確保できる範囲で処理を行い、KernelShape分のサンプルが確保できない境界付近のサンプルは無視します。
- False:境界付近のサンプルを捨てず、1サンプルでも入力がある範囲で処理を行います
デフォルト値 = True
Padding
Pooling処理前に配列の端にゼロを追加するサイズを指定します。例えば画像の上下各2ピクセル、左右各1ピクセル分のゼロを追加する場合は「2,1」とします。
デフォルト値 = 0,0
出力サイズ
(入力のwidth/Strides, 入力のheight/Strides)
※ 端数はIgnoreBorderによって変化
利用用途
CNNのPooling層で用います。
CNNの基幹となるレイヤーです。
サンプル構成
CNN(畳み込みニューラルネットワーク)
CNNについての詳しいことはこちら↓↓↓
代表的なPooling層
特徴を際立たせるためMaxPoolingを用いるのが一般的です。
経験則としてAveragePoolingよりMaxPoolingの方が性能はいいとされています。
![]() |
【送料無料】 ソニー開発のNeural Network Console入門 増補改訂・クラウド対応版--数式なし、コーディングなしのディープラーニング / 足立悠 【本】 価格:2,592円 |