1. 定義と概要
プーリング層とは、CNNにおいて畳み込み層が出力した特徴マップ(畳み込み層が出力する、画像の特徴を数値で表したデータのかたまり)の縦・横方向のサイズを圧縮する層です。重みやバイアスといった学習パラメータを持たない点が、畳み込み層や全結合層(すべてのユニットが結びつき、最終的な分類・回帰の判断を行う層)との大きな違いにあたります。
代表的な処理には、マックスプーリング(区切った領域の中から最大値だけを取り出す処理)と、アベレージプーリング(区切った領域の中の値の平均を取る処理)があります。いずれの処理も入力の各チャンネル(深さ)ごとに独立して行われるため、出力のチャンネル数は入力から変化しません。
CNNでは、畳み込み層が画像の局所的な特徴を検出したあと、その特徴マップをそのまま次の層へ渡すと空間サイズが大きく残り、計算量やパラメータ数が膨らみやすいという課題があります。そこでプーリング層を畳み込み層の直後に置き、特徴マップの空間サイズを圧縮しながらチャンネルごとの特徴は維持する構造がとられています。
CNNの中では、各層が次の順序で並び、それぞれ別の役割を受け持ちます。
| 順序 | 層・処理 | 担う役割 |
|---|---|---|
| ① | 畳み込み層 | 画像の局所的な特徴を検出する |
| ② | 活性化関数 | 層の出力に変化を加える |
| ③ | プーリング層 | 特徴マップの空間サイズを圧縮する |
| ④ | Flatten | 多次元データを1列に並べ直す |
| ⑤ | 全結合層 | 特徴を統合して最終的な分類・回帰を行う |
この畳み込み層・活性化関数(層の出力に変化を加える処理)・プーリング層というブロックは、複数回重ねて使われます。そのあとFlatten(平坦化。多次元データを1列に並べ直す処理)で1列に変換し、変換後のデータは全結合層へ渡されて最終的な分類・回帰が行われる、という役割分担になっています。
2. 試験対策ポイント
まず整理しておきたいのは、プーリング層が学習によって更新される重み・バイアスを持たない、パラメータ数0の層であるという点です。畳み込み層はフィルタ(画像から特定の模様や輪郭などの特徴を検出するための小さな数値の行列)の重みを学習し、全結合層は大量の重み・バイアスを学習します。各層のパラメータ数を計算する場面では、プーリング層の寄与分を0として扱います。
加えて、プーリング層は入力の各チャンネルごとに独立して処理されるため、出力のチャンネル数は入力と変化しません。フィルタの数に応じて出力のチャンネル数が変わる畳み込み層とは対照的な性質であり、両者の違いとして取り違えやすい点です。
プーリング層の効果としては、位置の微小なズレに対する頑健性(同じ特徴が少しずれた位置にあっても検出できる性質)が挙げられます。あわせて、パラメータ数・計算量の削減による過学習(訓練データに適合しすぎて、未知のデータへの予測がうまくいかなくなる現象)の抑制も、プーリング層がもたらす重要な効果です。
特徴マップのサイズを圧縮して以降の層に渡す情報量を絞ることが、モデル全体の学習の安定にもつながっています。
代表的な処理はマックスプーリングとアベレージプーリングで、CNNの終盤では平坦化や全結合層の代わりに使われる特殊なプーリングであるグローバルアベレージプーリング(GAP。特徴マップ全体を1つの値にまとめてしまう処理)も登場します。それぞれの計算方法や使い分けの詳細はプーリング層単体を掘り下げる別の記事に譲りますが、これらの名称と役割は押さえておきたいポイントです。
3. 関連概念との比較・相違点
畳み込み層との最大の違いは、学習パラメータの有無とチャンネル数の変化のしかたにあります。畳み込み層はフィルタの重みを学習し、使用するフィルタの数に応じて出力のチャンネル数が増減します。一方、プーリング層は学習パラメータを持たず、各チャンネルを独立に処理するためチャンネル数は入力のまま変わりません。
同じくCNNを構成する層でありながら、パラメータの有無という点で対照的な性質を持っています。全結合層まで含めて、学習パラメータ・チャンネル数・配置される位置という軸で並べると次のように整理できます。
| 観点 | 畳み込み層 | プーリング層 | 全結合層 |
|---|---|---|---|
| 学習パラメータ | フィルタの重みを学習する | 持たない | 大量の重み・バイアスを学習する |
| チャンネル数 | フィルタの数に応じて増減する | 入力のまま変わらない | ー |
| CNN内の位置 | 前半から中盤 | 畳み込み層の直後 | 平坦化のあとの終盤 |
| 担う役割 | 局所的な特徴を検出する | 空間サイズを圧縮する | 特徴を統合して分類・回帰を判断する |
全結合層との違いは、CNN内で配置される位置と役割にあります。プーリング層は畳み込み層と組になり、CNNの前半から中盤にかけて特徴マップの空間サイズを圧縮する役割を担います。これに対し全結合層は、平坦化の処理で1列に変換された後の終盤に置かれ、それまでに抽出された特徴を統合して最終的な分類・回帰の判断を行う層です。
パラメータ数の面でも、全結合層はすべてのユニット同士が結びつくため桁違いに多くの重み・バイアスを持ち、パラメータを一切持たないプーリング層とは対極の存在にあたります。
4. ビジネス・実務での活用シナリオ
製造業の外観検査では、ライン上で製品の位置や向きが撮影のたびにわずかにずれることがあります。プーリング層による位置ズレへの頑健性のおかげで、欠陥検知モデルはそうした微小なズレがあっても同じ欠陥を安定して検出できます。検査精度が安定することは、ライン停止や不良品の流出を防ぎ、生産コストの増大を抑えることにもつながります。
医療画像診断の分野では、収集できる症例数が限られる医療画像データセットを扱う場面が少なくありません。プーリング層がパラメータ数を抑えて過学習を防ぐため、少ないデータからでもCTやX線画像の診断支援モデルを構築できます。少数データでも実用的な精度のモデルを構築できることは、症例が集まりにくい疾患領域でも医療AIの実用化を後押しする意義を持ちます。
スマートフォンアプリの画像認識では、プーリング層が特徴マップを圧縮し、以降の層で扱う計算量を抑える働きをします。この圧縮の積み重ねによって、スマートフォン上でも快適に動作する軽量な画像認識モデルが実現しています。モデルが軽量になることで、通信環境に左右されないオフライン動作や、サーバー側の処理コストの削減にもつながります。
5. 要点まとめ
- プーリング層は畳み込み層の直後に配置され、学習パラメータを持たずに特徴マップの縦横サイズを圧縮する層です。
- 入力の各チャンネルごとに独立して処理するため出力のチャンネル数は変化せず、フィルタ数でチャンネル数が変わる畳み込み層と対照的です。
- 位置の微小なズレへの頑健性とパラメータ削減による過学習の抑制が主な効果で、代表例はマックスプーリングとアベレージプーリングです。
6. 確認問題
問1プーリング層は、畳み込み層や全結合層とは異なり、学習によって更新される重みやバイアスを持たない層である。
解答・解説をみる
○ 正しい
プーリング層は重みやバイアスを持たない固定的な演算です。各層のパラメータ数を計算する問題では、プーリング層の寄与分を0として扱います。
問2CNNでは、プーリング層は畳み込み層より前に配置され、入力画像に対して直接ダウンサンプリング(データのサイズを間引いて小さくする処理)を行ったうえで畳み込み演算に渡す構造になっている。
解答・解説をみる
× 誤り
正しくは、畳み込み層の直後にプーリング層が配置されます。畳み込み層が検出した特徴マップを受け取ってから空間サイズを圧縮する順序であり、この記述は順序が逆になっています。
問3プーリング層は入力の各チャンネル(深さ)ごとに独立して処理を行うため、出力のチャンネル数は入力のチャンネル数と変わらない。
解答・解説をみる
○ 正しい
プーリング層はチャンネルをまたいで演算しないため、出力のチャンネル数は変化しません。フィルタ数に応じてチャンネル数が変わる畳み込み層との違いにあたります。

