1行定義
SENetとは、特徴マップのチャネルごとの重要度を学習して重み付けするSEブロックを、CNNに組み込んだモデルのことです。
くわしく
SENet(Squeeze-and-Excitation Networks)は、Jie Huらが2017年に発表したCNNです。複数のSENetを組み合わせたモデルが、2017年のILSVRCの画像分類部門でtop-5誤り率2.251%を記録し、優勝しました。ILSVRCは、この2017年の大会を最後に終了しています。
何をしているのか
CNNの特徴マップには多数のチャネルがあり、チャネルごとに縦線、毛並み、色の違いなど、別々の特徴を捉えています。ただ、どのチャネルが役に立つかは画像によって変わります。SENetは、入力された画像に応じて、重要なチャネルを強め、そうでないチャネルを弱めます。音楽のミキサーで、曲に合わせて楽器ごとの音量を上げ下げするイメージです。
SEブロックの2段階
- Squeeze(圧縮):グローバルアベレージプーリングで、各チャネルの特徴マップを1つの数値にまとめます。画像全体でそのチャネルがどれだけ反応したかの要約になります。
- Excitation(励起):その要約を2層の全結合層に通し、最後にシグモイド関数で、チャネルごとに0〜1の重みを出します。1層目でチャネル数を減らし(論文の標準は16分の1)、ReLU関数を挟んで2層目で元に戻します。
最後に、元の特徴マップの各チャネルにこの重みを掛け合わせます。
位置づけ
SEブロックは独立した部品なので、ResNetやInceptionなどの既存のネットワークに後から組み込めます。計算量はほとんど増えないのに精度を上げやすい点が評価されました。チャネル方向に働く注意機構(アテンション)の一種とみなされ、のちのEfficientNetなどにも取り入れられています。
覚え方
「Squeezeで要約し、Excitationでチャネルごとの音量を調整する」と覚えます。
G検定での出題
出題のされ方
SqueezeとExcitationの2段階でチャネルごとの重みを求める仕組みと、2017年のILSVRCの画像分類部門で優勝したことが問われます。空間方向ではなくチャネル方向に働く注意機構である点も論点です。
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
SEブロックは、ResNetやInceptionなどの既存のネットワークに組み込んで使える。
答えを見る
答え ◯ 正しい
SEブロックは、ブロックの出力にチャネルごとの重みを掛ける独立した部品です。そのため、SE-ResNetやSE-Inceptionのように、既存の構造に追加できます。
-
SEブロックでは、チャネルごとの重みをソフトマックス関数で求めるため、全チャネルの重みの合計は1になる。
答えを見る
答え × 誤り
重みはシグモイド関数で求め、各チャネルが0〜1の値を独立にとります。論文では、複数のチャネルを同時に強調できるようにするため、シグモイド関数を選んだと説明されています。
-
ResNet-50にSEブロックを加えたSE-ResNet-50では、計算量の増加はごくわずかである。
答えを見る
答え ◯ 正しい
論文では、計算量の増加はResNet-50の約0.26%と報告されています。それでも精度は向上し、より深いResNet-101に近づきました。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目26 画像認識)
- Jie Hu, Li Shen, Samuel Albanie, Gang Sun, Enhua Wu, Squeeze-and-Excitation Networks, IEEE TPAMI 42(8), 2011–2023 (2020)(初出はCVPR 2018), arXiv:1709.01507 (Abstract、3 Squeeze-and-Excitation Blocks、4 Model and Computational Complexity、5.4 ILSVRC 2017 Classification Competition)