SEブロック(Squeeze-and-Excitation)は、CNNの特徴マップに差し込むチャネル再較正モジュールです。高さ×幅の空間を一度つぶして(Squeeze)チャネルごとの重要度を推定し、チャネル方向だけ再重み付け(Excitation)する——CBAMが「チャネル+空間」の二段なのに対し、SEは「何の特徴か」だけを選ぶ軽量版——本記事はその設計思想に焦点を当てます。
試験で問われる見方
SEブロック単独の過去問は少ない一方、辞典の定義は「チャネル間の依存を学習し特徴を再重み付け」です。試験ではCNNの畳み込みが特徴を抽出する土台(G-298)の上に、どのチャネルを強調するかを学習する付加モジュールとして整理します。
誤答では、SE=TransformerのAttention(G-251)、SE=空間注意だけ、SE=画像生成などのすり替えに注意します。SEはチャネル方向の再重み付けが核心です。
演習で確認する
SEブロックとは
SEブロックは、2018年のSE-Net(Squeeze-and-Excitation Networks)論文で提案された、ResNetなどの畳み込みブロックにプラグインできる小さなモジュールです。畳み込みは局所的なパターンを拾いますが、チャネル同士は独立に扱われがち——SEは「エッジ検出チャネルと色チャネルは、今の入力ではどちらが効くか」というチャネル間の関係を明示的に学習します。
パラメータ増加は比較的少なく、既存のCNNに足すだけで精度向上が見込める——という実用性が、後続のCBAMなどチャネル注意研究の源流の一つになっています。
Squeeze——空間を潰す
入力は高さ×幅×チャネル数の三次元テンソルです。Squeezeでは、各チャネルについて空間方向(高さ・幅)を集約し、チャネルごとに1つのスカラー(代表値)を得ます。典型的にはグローバル平均プーリングで、画像全体のそのチャネルの平均応答を取ります。
- 目的 — 「このチャネルは画像全体でどれだけ反応したか」を1数値に圧縮
- 効果 — 空間位置の細部はいったん捨て、チャネルレベルの統計だけを次段へ渡す
- 試験向け — Squeeze=空間次元の集約、と覚える
ここで空間を潰すからこそ、SEは「どの位置か」ではなく「どの特徴種類か」に集中できます。位置の選択はCBAMの空間注意が担当します。
Excitation——チャネルを選ぶ
Excitationでは、Squeezeで得たチャネルベクトルを小さな全結合層(ボトルネック構造)に通し、0〜1のゲート値を各チャネルに割り当てます。このゲートを元の特徴マップのチャネル方向に掛け直す——再較正(recalibration)——ことで、重要なチャネルを増幅し、不要なチャネルを抑えます。
| 段階 | 操作 | 問い |
|---|---|---|
| Squeeze | 空間を集約 | 各チャネルは全体でどれだけ反応したか |
| Excitation | チャネル間依存を学習 | 今の入力でどのチャネルを強調すべきか |
| Scale | 元特徴にゲートを掛ける | 再重み付けされた特徴を次層へ |
辞典の「チャネル間の依存を学習」は、このExcitation段階を指します。チャネルAが強いときチャネルBも強調する——といった共起関係を、軽量なMLPで近似します。
CBAMとの対比
| 観点 | SEブロック | CBAM |
|---|---|---|
| 注意の対象 | チャネルのみ | チャネル+空間 |
| 段数 | Squeeze → Excitation の一段 | チャネル注意 → 空間注意の二段 |
| 軽量さ | よりパラメータ少なめ | 空間注意分だけ増える |
| 問い | 「何の特徴か」 | 「何の特徴か」+「どの位置か」 |
| 試験 | チャネル再重み付け | CNN二段注意モジュール |
どちらも「Attention」という語を使う文脈がありますが、TransformerのSelf-Attentionとは別物です。主語はCNNの特徴マップに固定して覚えます。
どこに載るか
SEブロックは、ResNetの残差ブロックの直後など、畳み込みブロックの出力に挿入されます。SE-ResNetのように、既存アーキテクチャにSEを足した変種も広く使われました。
- 画像分類 ノイズチャネルを抑え、物体に関係する特徴を強調
- 物体検出・セグメンテーション バックボーンCNNにSEを載せ、下流タスクの表現力を底上げ
- 設計思想 アーキテクチャ全体を作り直すのではなく、モジュールを差す改良
SEは画像を生成するモジュールではなく、認識・理解の特徴抽出を強化する部品です。Text-to-ImageやStable Diffusionとは別系統です。
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| SE=TransformerのAttention | CNNチャネル再較正 vs 系列のSelf-Attention(G-251) |
| SE=CBAMと同一 | チャネルのみ vs チャネル+空間 |
| SE=空間注意だけ | 空間はSqueezeで集約。強調はチャネル方向 |
| SE=バッチ正規化 | チャネル依存の動的ゲート vs 正規化 |
| SE=画像生成モジュール | 認識系CNNの付加 vs 生成モデル |
| Excitation=活性化関数 | チャネル重みの推定 vs 非線形変換全般 |
よくある質問
SEブロックは何をするモジュールですか?
Squeeze-and-Excitationの略で、畳み込みブロックの出力特徴マップに対し、まず空間方向を集約してチャネルごとの重要度を推定し、その重みを元の特徴に掛け直すモジュールです。どの特徴チャネルを強調するかを学習します。
SEブロックとCBAMは同じですか?
同じではありません。SEブロックはチャネル方向の再重み付けのみを行います。CBAMはチャネル注意に加え、空間注意(どの位置を重視するか)も適用する二段構成です。どちらもCNNの注意機構ですが、SEはより軽量でチャネル特化です。
SEブロックはTransformerのAttentionですか?
いいえ。SEブロックはCNNの特徴マップに挿入するチャネル再較正モジュールです。TransformerのSelf-Attentionは系列内の要素間関係を計算する中核機構であり、対象も計算も異なります。