keras プーリングレイヤー (Pooling layer)
前回の記事は深層学習について解説しました。 今回はディープラーニングのプーリングレイヤー (Pooling layer)を解説します。 Kerasでは様々なレイヤーが事前定義されており、それらをレゴブロックのように組み合わせてモデルを作成していきます。事前定義されてレイヤーを組み合わせてCNN、LSTM、などのニューラルネットワークを作成します。今回はPoolingレイヤーを説明します。 プーリングレイヤーとは プーリング層は通常畳込み層(Convolution Layer)の直後に設置されます。 プーリング層は畳み込み層で抽出された特徴の位置感度を若干低下させることで対象とする特徴量の画像内での位置が若干変化した場合でもプーリング層の出力が普遍になるようにします。 画像の空間サイズの大きさを小さくすることで調整するパラメーターの数を減らし、過学習を防止するようです。 最大プーリング(max pooling)と平均プーリング(average pooling)など様々な種類があるようだが、画像認識への応用では最大プーリングが実用性の面から定番となります。 では、kerasのコートを実験しましょう。 !wget –no-check-certificate \ https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip \ -O /tmp/cats_and_dogs_filtered.zip –2019-07-20 07:15:53– https://storage.googleapis.com/mledu-datasets/cats_and_dogs_filtered.zip Resolving storage.googleapis.com (storage.googleapis.com)… 172.217.214.128, 2607:f8b0:4001:c05::80 Connecting to storage.googleapis.com (storage.googleapis.com)|172.217.214.128|:443… connected. HTTP request sent, awaiting response… 200 OK Length: 68606236 (65M) [application/zip] Saving to: ‘/tmp/cats_and_dogs_filtered.zip’ /tmp/cats_and_dogs_ 100%[===================>] 65.43M 250MB/s in 0.3s 2019-07-20 …