LoginSignup
202
152

More than 5 years have passed since last update.

Global Average Pooling(GAP)を理解してみる

Last updated at Posted at 2017-09-13

Deep Learningのテクニックの一つであるGlobal Average Pooling(GAP)を、なるべくわかりやすいように(自分がw)解説してみます。

基本となるネットワークモデル

今回はVGG-16をベースに考えてみます。
vgg16.png

ポイントとなるのは、最後の全結合の部分です。

現状は、max poolingにより、7x7x512のデータができています。
これを1x1x4,096に全結合してますので、25,088×4,096=102,760,448の重みパラメータが存在しています。
image1.png

Global Average Poolingとは

各チャンネル(面)の画素平均を求め、それをまとめます。
そうすると、重みパラメータは512で済みます。
image2.png

評価

論文(pdf)によると、識別率に問題はない模様です。
(反対に良いぐらい!)
image3.png

使用するメモリ量は少なく、識別率もよいなんて、いいことづくめですね!

おまけ

このGAPを利用した物体位置の検出がClass Activation Mapping(CAM)になります。
この辺りは

に書きましたので、参考にしていただければと思います。

202
152
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
202
152