G検定(ジェネラリスト検定)
えすいーねっと
SENet
SENet
Squeeze-and-Excitation Networks
SENetは、畳み込みニューラルネットワークにSqueeze-and-Excitation(SE)ブロックを積み重ね、チャネル間の依存関係を明示的にモデル化して特徴を再調整するアーキテクチャです。ILSVRC 2017の分類部門で1位になりました。
詳しい説明
空間方向ではなくチャネル間の関係に着目したアーキテクチャ
畳み込みニューラルネットワーク(CNN)の中心となる部品は畳み込み演算です。畳み込みは各層の局所的な受容野の中で、空間方向の情報とチャネル方向の情報を融合し、有用な特徴を作ります。それまでの多くの研究は、このうち空間方向の成分を改善することに取り組んできました。
SENetは、これとは異なり、チャネル間の関係に焦点を当てます。中心となるのは、Squeeze-and-Excitation(SE)ブロックと呼ばれる新しい構造単位です。SEブロックは、チャネル間の相互依存関係を明示的にモデル化することで、チャネルごとの特徴の応答を適応的に再調整(recalibrate)します。このSEブロックを積み重ねて構成したネットワークがSENetです。
squeeze:空間情報をチャネルごとの統計量に縮約する
畳み込みで学習された各フィルタは局所的な受容野の中だけで働くため、変換の出力Uの各ユニットは、その領域の外側にある文脈情報を利用できません。この問題を和らげるために、SEブロックはまず空間方向の大域的な情報を、チャネルごとの記述子に圧縮します。
この操作がsqueezeです。具体的には、グローバル平均プーリングを使い、特徴マップUを空間方向の高さH×幅Wについて縮約して、チャネルごとに1つの統計量を作ります。こうして得られた統計量のまとまりzが、各チャネルが特徴マップ全体でどの程度反応しているかを表す、入力に固有の記述子になります。
excitation:2層の全結合層とシグモイドでチャネルの重みを求める
squeezeで集めた情報を活用するために、続いてexcitationという2つ目の操作を行います。excitationの目的は、チャネル間の依存関係を十分にとらえることです。そのために、この関数には2つの条件が求められます。1つは柔軟であること、特にチャネル間の非線形な相互作用を学習できることです。もう1つは、互いに排他的でない関係を学習することです。1つのチャネルだけを選ぶワンホットのような活性化ではなく、複数のチャネルを同時に強調できるようにするためです。
この条件を満たすために、SEブロックはシグモイド活性化を用いた単純なゲート機構を採用しています。ゲート機構は、非線形関数を2つの全結合層ではさんだボトルネック構造で作られます。順番は、削減率rで次元を減らす次元削減層、ReLU、そして変換の出力Uのチャネル数まで次元を戻す次元復元層です。最後にシグモイドを通すことで、チャネルごとの重みsが得られます。
元の特徴マップをチャネルごとにリスケールする
SEブロックの最終的な出力は、元の特徴マップUを、excitationで得た活性化sでリスケールしたものです。つまり、チャネルごとに求めた重みを各チャネルの特徴マップに掛け合わせ、重要なチャネルの応答を強め、そうでないチャネルの応答を弱めます。
チャネルに対する自己注意として解釈できる
excitationは、入力に固有の記述子zを、チャネルの重みの組へ写像します。重みは入力ごとに変わるため、SEブロックは入力に条件づけられた動的なふるまいを本質的に持ち込みます。この性質から、SEブロックはチャネルに対する一種の自己注意(self-attention)の機能とみなすことができます。しかも、そこで扱うチャネル間の関係は、畳み込みフィルタが反応する局所的な受容野の範囲に限定されません。
ILSVRC 2017での成績と既存のCNNへの効果
SEブロックを積み重ねたSENetは、さまざまなデータセットに対して非常に効果的に汎化することが示されています。また、SEブロックを既存の最先端のCNNに組み込むと、わずかな追加の計算コストで性能が大きく向上することも示されています。
Squeeze-and-Excitation Networksは、ILSVRC 2017の分類部門の提出の土台となり、1位を獲得しました。top-5誤り率は2.251%まで下がり、2016年の優勝エントリーに対して相対的に約25%の改善となりました。
試験で問われること
G検定
- SENetの中心となるSEブロックは、畳み込みの空間方向の情報ではなく、何の関係を明示的にモデル化して特徴の応答を再調整する構造でしょうか。
- SEブロックのsqueezeでは、どの手法を使って特徴マップを空間方向H×Wについて縮約し、チャネルごとの統計量を作るでしょうか。
- SEブロックのexcitationで、次元削減層、ReLU、次元復元層の2層の全結合層の後に、チャネルごとの重みを得るために使う活性化関数は何でしょうか。また、その重みは元の特徴マップに対してどのように使われるでしょうか。
- SEブロックが入力に応じてチャネルの重みを変えることから、どのような仕組みの一種と解釈できるでしょうか。
- SENetを土台とした提出が1位となった画像認識の競技会はどれで、その際のtop-5誤り率はどの程度だったでしょうか。
最終更新日: 2026/09/23