1. 定義と概要
インセプションモジュールとは、1×1・3×3・5×5の畳み込み(画像の一部分にフィルタをかけて特徴を抽出する処理)層と3×3のプーリング(画像の一部分を代表値に要約して縮小する処理)層を同一階層で並列に配置する構造ユニットです。それぞれの出力をチャネル(画像や特徴マップが持つ情報の層の数。例えばRGB画像なら3チャネルです)方向に連結(concat。複数の出力データを並べてひとつにつなぎ合わせること)することで、1つの層で複数のスケールの特徴を同時に捉えられます。画像認識モデル「GoogLeNet(インセプションモジュールを積み重ねて作られた画像認識モデル)」の構成要素として採用されています。
従来のCNNは、層ごとに単一サイズのフィルタを直列に積み重ねる設計が一般的で、どのフィルタサイズが適切かは経験的な試行錯誤に頼る面がありました。画像に写る対象物は大きさや配置がまちまちであるため、単一スケールのフィルタだけでは大小さまざまな特徴を効率よく捉えにくいという課題があります。
この課題に対し、複数サイズの畳み込みとプーリングを同一階層で並列に実行し、結果を連結するという発想でインセプションモジュールが考案されました。ただし、複数サイズをそのまま並列に並べる素朴な構成(naive版)では、5×5畳み込みなどによってチャネル数と計算量が急増してしまいます。
そこで、各畳み込みの前段に1×1畳み込み(画像の空間的な位置ごとにチャネル方向だけを混ぜ合わせる、大きさ1×1のフィルタによる畳み込み)を挟んでチャネル数を絞る改良版(dimension reduction版)が考案されました。実際にGoogLeNetで使われているのは、こちらの構成です。
2. 試験対策ポイント
まず整理しておきたいのは、モジュール内部の並列構成です。インセプションモジュールは4本の並列な枝を持ち、それぞれの出力をチャネル方向で連結します。枝の内訳は次のとおりです。
| 枝の構成 | その枝が担う処理 |
|---|---|
| 1×1畳み込み | 解像度を保ったままチャネル方向だけを処理する |
| 1×1畳み込み → 3×3畳み込み | チャネル数を絞ってから3×3の範囲で特徴を捉える |
| 1×1畳み込み → 5×5畳み込み | チャネル数を絞ってからより広い5×5の範囲で特徴を捉える |
| 3×3プーリング → 1×1畳み込み | 要約した情報のチャネル数を整えて連結へ渡す |
それぞれの枝が異なる大きさの受容野(フィルタが一度に見る画像上の範囲)を担当するため、1つの層で小さな特徴と大きな特徴を同時に拾えます。
1×1畳み込みの役割は二つあります。ひとつは、3×3・5×5畳み込みの前段でチャネル数を減らして計算コストを抑えるボトルネック構造(途中でチャネル数を絞って情報を圧縮してから処理を行う設計)としての役割です。もうひとつは、プーリング枝の後段で出力チャネル数を整える役割です。
1×1畳み込みは画像の解像度を保ったままチャネル方向だけを処理する点に加え、この次元削減の文脈で語られることが多い論点になっています。
素朴に複数サイズを並列に並べただけの構成(naive版)と、1×1畳み込みによる次元削減を挟んだ構成(dimension reduction版)の違いは取り違えやすい点です。実際に採用されたのは後者で、計算量の抑制と表現力の維持を両立しています。
同じく計算量削減の工夫として知られる「Depthwise Separable Convolution」とは着眼点が異なります。インセプションモジュールは複数サイズのフィルタを並列に適用して連結する工夫であり、畳み込みそのものを方向ごとに分解する工夫ではない点を区別して整理したいところです。
なお、インセプションモジュールを積み重ねた構成がGoogLeNetにあたり、モデル全体の構成や成績は別の観点になるため、ここでは構成要素としての関係にとどめます。
3. 関連概念との比較・相違点
通常の畳み込み層との最大の違いは、1つの層に1サイズのフィルタを直列に積み重ねるか、複数サイズのフィルタとプーリングを同じ階層で並列に配置して連結するかという点にあります。従来型のCNNは層を重ねるごとにフィルタサイズを固定して段階的に特徴を抽出しますが、インセプションモジュールは同じ階層内で複数のスケールを同時に処理し、その結果を連結してから次の層へ渡す設計です。
どのフィルタサイズを選ぶかを事前に一つへ絞り込む必要がなく、大きさの異なる対象物を同じ層で拾える点が設計上の特徴です。
「Depthwise Separable Convolution」との違いは、計算効率化という目的は共通していても着眼点が異なる点にあります。インセプションモジュールは複数サイズのフィルタを並列に適用して多様な特徴を拾う工夫です。一方、Depthwise Separable Convolution(通常の畳み込みを空間方向とチャネル方向の処理に分解して計算量を減らす手法)は、畳み込みそのものを方向ごとに分解する工夫です。
両者は計算コストを抑えるという共通の狙いを持ちながら、アプローチの方向性が異なる別系統の工夫として整理できます。
4. ビジネス・実務での活用シナリオ
画像認識プロダクトの開発では、商品や医療画像に写る病変のように、対象のサイズがまちまちな用途が典型的です。こうした場面では、複数の受容野を並列に持つ設計思想が、小さな対象から大きな対象までを一つの層で拾うアーキテクチャを検討するうえでの参考になります。単一サイズのフィルタだけでは、小さな病変を見落としたり大きな対象の全体像を捉えきれなかったりする恐れがあり、複数スケールを同時に処理する発想が実務上の判断材料です。
限られた計算資源で動かすモデルを設計する場面では、モデルを大きくしながら計算コストを抑えたいという要求が生じます。1×1畳み込みによるチャネル削減という考え方は、インセプションモジュール以外のアーキテクチャ設計でも計算量を抑える定石のひとつとして参照されています。表現力を落とさずに計算量だけを絞り込む工夫は、モバイル端末や組み込み機器向けのモデル設計にも応用可能です。
モデルアーキテクチャの技術選定や教育の場面でも、インセプションモジュールの発想は参照されます。フィルタサイズを一つに固定せず複数を並列に試すという発想は、その後の画像認識モデルの設計にも影響を与えた考え方として位置づけられています。新しいアーキテクチャを評価するとき、単一スケールの設計と複数スケールを組み合わせた設計のどちらを選ぶかを考える視点として役立つ発想です。
5. 要点まとめ
- インセプションモジュールは、1×1・3×3・5×5の畳み込み層と3×3のプーリング層を並列に配置し、出力をチャネル方向に連結するCNNの構造ユニットです。
- 3×3・5×5畳み込みの前段に1×1畳み込みを挟んでチャネル数を削減するdimension reduction版が採用されており、計算コストを抑えつつ表現力を保つ工夫になっています。
- 複数サイズのフィルタを並列に適用して連結する工夫であり、畳み込みを空間方向とチャネル方向に分解して計算量を減らす「Depthwise Separable Convolution」とは着眼点が異なります。
6. 確認問題
問1インセプションモジュールは、1×1・3×3・5×5の畳み込み層と3×3のプーリング層を並列に配置し、それぞれの出力をチャネル方向で連結する構造である。
解答・解説をみる
○ 正しい
複数サイズのフィルタとプーリングを同一階層で並列に適用し、結果を連結することで、一つの層で多様なスケールの特徴を同時に捉える構造になっています。4本の並列な枝の構成とあわせて整理しておきたいところです。
問2インセプションモジュールでは、3×3や5×5の畳み込みを行う前に1×1畳み込みを挟むことでチャネル数を削減し、計算コストを抑えている。
解答・解説をみる
○ 正しい
1×1畳み込みによる次元削減を挟んだdimension reduction版がGoogLeNetで採用された構成で、複数サイズをそのまま並列に並べるnaive版より計算量を抑えられます。ボトルネック構造としての役割にあたります。
問3インセプションモジュールは、通常の畳み込みを空間方向の処理とチャネル方向の処理に分解することで計算量を削減する仕組みである。
解答・解説をみる
× 誤り
空間方向とチャネル方向に畳み込みを分解するのは「Depthwise Separable Convolution」の説明です。正しくは、インセプションモジュールは複数サイズのフィルタを並列に適用して連結する仕組みであり、着眼点が異なります。

