TIM Labs

Poolingでデータ量を小さくすると性能UPするらしい

| コメント(0) | トラックバック(0)
Deep Learningで利用する技術はまだまだあるらしい。
その中で、畳み込みとセットで使われることが多いのがPoolingなのだと。

ということで、以下の画像はスタンフォード大からのものである。
CS231n: Convolutional Neural Networks for Visual Recognition
がこの世界で非常に有名な講義であり、githubにあったものだ。

その中に、Pooling Layerという項目がある。
今回は、これを攻略してみようと思う。

Poolingにもいくつかのタイプがあるのだが、今回はよく使われているというmax pooling についてだ。
まず、Stanford大にあった説明図を示す。

maxpool-stanford-1.jpegこれは、2x2のフィルタのときの例である。
フィルタは正方形に限るようで、この場合、単にサイズ2という。
フィルタのサイズで、元の画像(配列データ)を区分けし、各区分けの中で一番大きい値を採用するものだ。

これは最大値を採用しているが、平均値を使うものもあり、average pooling と呼ぶ。

サイズ2のフィルタだと、縦、横1/2になり、全体で1/4になる。つまり、入力に比べてかなり小さくなる。
サイズ3のフィルタだと、縦、横1/3になり、全体で1/9になる。
つまり、データがかなり小さくなる。

上の図は1チャネルだけを示しているが、実際のデータは多数のチャネルが重なっているので、次図のようになる。

maxpool-stanford-2.jpeg
この操作により、データのボリュームはぐんと小さくなる。
ということは、大切な情報、微妙な情報が抜け落ちてしまい、結果が悪くならないだろうか?

という懸念が当然起きると思うが、皆さん使っているようなので、多分大丈夫なのだろう。
次回、やってみよう。

トラックバック(0)

トラックバックURL: http://labs.timedia.co.jp/mt/mt-tb.cgi/625

コメントする

このブログ記事について

このページは、fujiが2017年5月22日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「データ解析のための統計モデリング入門 一般化線形混合モデル(GLMM) 読書メモ2」です。

次のブログ記事は「データ解析のための統計モデリング入門 一般化線形混合モデル(GLMM) 読書メモ3」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。