モデル・技術

CBAMとは?チャネルと空間の二段注意——CNNに視線を与えるモジュール

読み:しーばむ / 英:CBAM(Convolutional Block Attention Module)

更新日: 読了目安:約6分

CBAMは、CNNの畳み込みブロックに差し込む注意(Attention)モジュールで、特徴マップに対して「どのチャネル(特徴の種類)を」「どの空間位置を」重視するかを学習します。TransformerのSelf-Attentionが語と語の関係を扱うのに対し、CBAMは画像特徴の地図に視線を配る——本記事は数式の暗記ではなく、その二段の「どこを見るか」に焦点を当てます。

CNNに注意が要る理由

CNNは畳み込みで局所特徴を抽出しますが、特徴マップのすべてのチャネル・すべての画素が等しく重要とは限りません。例えば猫の写真では「耳の形」「毛のテクスチャ」チャネルは重要でも、「空の色」チャネルはノイズになりやすい。物体が画面の一角にしか写っていないとき、位置の選択も効いてきます。

CBAMは、この特徴の取捨選択を、畳み込みブロックの出力に重みマスクとして掛けるモジュールです。CNNそのものを置き換えるのではなく、ブロックに足す部品として設計されています。

二段注意の直感

CBAMの流れは、試験向けに次の2段で覚えると整理しやすいです。

  1. チャネル注意 — 特徴マップのチャネル方向に重みを掛ける。「どの種類の特徴を強調するか」
  2. 空間注意 — 続けて高さ・幅方向に重みを掛ける。「どの位置を強調するか」

名前の Convolutional Block は、ResNetなどの畳み込みブロック単位に挿入する想定を示します。全体アーキテクチャではなく、モジュール名として覚えるのが試験向けです。

チャネル注意——「何を」

畳み込みの出力は、高さ×幅×チャネル数の三次元テンソルです。チャネル注意は、この中のどのチャネル(特徴の種類)を残すかを学習します。

  • イメージ — エッジ検出チャネルはON、背景色チャネルはOFF、といった特徴の取捨
  • 効果 — ノイズチャネルを抑え、物体に関係するチャネルを強調
  • 試験の接点 — CNNの畳み込み層が特徴を抽出するG-298)という土台の上に載る発想

空間注意——「どこを」

チャネル注意のあと、同じ特徴マップに空間注意を適用します。高さ・幅の各位置に重みを掛け、物体が写っている領域を強調するイメージです。

段階問い重みの向き
チャネル注意どの特徴を使うかチャネル軸
空間注意どの位置を見るか高さ・幅の平面

画像認識タスク全般(分類・検出・セグメンテーション)の文脈で位置づけられます(G-318)。

TransformerのAttentionとの違い

観点CBAMTransformerのSelf-Attention
対象CNNの特徴マップテキストなどの系列
役割畳み込みブロックへの付加モジュールモデルの中核機構G-251
注意の種類チャネル+空間の二段系列内要素間のQ・K・VAttention
分野画像認識のCNN改良NLP・LLMの主流

「Attention」という語が共通でも、CBAM=Transformerとは答えません。試験では主語のモデル族(CNN vs Transformer)を確認します。

試験で押さえるポイント

  • 正式名 — Convolutional Block Attention Module
  • 構成チャネル注意空間注意の組み合わせ
  • 位置づけCNNの畳み込みブロックに挿入するモジュール
  • すり替え回避 — Transformer、LLMCLIP、音声処理ではない

演習で確認する

G検定:G-298G-275G-318G-251

すり替えに注意

誤った説明正しい理解
CBAM=TransformerCNNモジュール vs 系列モデルの中核
CBAM=Self-Attentionそのものチャネル・空間の重み付け。QKV系列注意とは別設計
CBAM=CNN全体畳み込みブロックに足す部品
CBAM=画像生成モデル認識向けCNNの改良。拡散モデルとは別系統
CBAM=チャネル注意だけチャネル空間の二段構成

よくある質問

CBAMは何をするモジュールですか?

CNNの畳み込みブロックに挿入し、チャネル注意(どの特徴チャネルを重視するか)と空間注意(特徴マップのどの位置を重視するか)を順に適用して、重要な情報を強調するモジュールです。

CBAMとTransformerのAttentionは同じですか?

同じ「注意」という語を使いますが、役割が異なります。CBAMはCNNの特徴マップに対するチャネル・空間の重み付けモジュールです。TransformerのSelf-Attentionは系列内の語同士の関係を計算する中核機構であり、別物として整理します。

CBAMは画像認識のどこに効きますか?

背景ノイズが多い画像や、物体が占める領域が小さい場面などで、モデルが「どの特徴」「どの位置」に目を向けるべきかを学習しやすくする効果が期待されます。CNNの認識精度向上を目的とした付加モジュールです。