- @ThothChildren
- 2017.9.18
- PV 807
Global Average Pooling層
ー 概要 ー
Global Average Pooling層によって最後の層において直接平均してクラスを作り出す。
この章を学ぶ前に必要な知識
条件
- Convolution層の次に層としていれる
効果
- FullConnected層の代わりにするためモデルのパラメータが減り過学習を軽減する
- 出力はConvolution層のチャンネル数を要素としたベクトル
ポイント
- GAP-CNN等がデモとして有名
- FullConnectedレイヤーの代わりに最終層に近いところで入れる
解 説
近年、注目されているPooling層の一つ。
CNNなどConvolution層が含まれるネットワークにおいて用いられ、もともと全結合層だった部分をGlobal Average Pooling層に置き換えるようにして使用する。 | Global Average Pooling層導入 |
Global Average Pooling層は以下のように、
直前のConvolution層の各チャンネル層で画素の平均を求めます。
各チャンネルでの平均が求まったらそれらをベクトルとして次の層に渡します。
CNN等で全結合層の代わりとして使うため、
直前はConvolution層、直後はSoftmax関数をつなげて最終層とする。
また、CNN等はConvolution層が多いため他のネットワークと比較してパラメータが少ないが、やはり全結合層でパラメータが多くなる。
その部分をGlobal Average Pooling層に置き換えた場合、全結合層のパラメータ減り、Global Average Pooling層にはパラメータがないので、全体としてパラメータは減ります。
そのため、過学習は起こりにくくなるが、収束が遅くなると言われている。
| Global Average Pooling層詳細 |
この章を学んで新たに学べる
Comments