CNNバックボーン(backbone)の代表的アーキテクチャの歴史 [まとめ年表]

1. CNNバックボーン(CNN backbone)とは [概要]

CNNバックボーン (backbone) とは,CNN(畳み込みニューラルネットワーク)のネットワーク構造のうち,序盤から終盤まで層の範囲全体のことをさす.脊椎生物に見立てた場合に,序盤から終盤までの背骨(backbone)にたとえる(※ 終盤の予測器部分を頭部(head)とよぶ.またFPNなどは,ヘッドとバックボーンの間に挿入される拡張機構なので首(neck)と呼ぶ).

この記事では,CNNバックボーンの代表的な設計を,登場順に概要・特徴を列挙することで「CNNバックボーンの歴史のまとめ」を行う.より具体的には,ImageNetを用いた「物体画像クラスを識別するタスク」向けの代表的CNNバックボーンについて,「(1年ごとの)グループ分類」 と「 時系列順の列挙」の2つを同時にまとめた「グループ化 + 年表化」の節構成とした.

また,年表全体の見晴らしをよくするために「ResNet」を大きな転換点とみなし,AlexNet (2012)後の主要CNNバックボーンを,ResNet以前(2節)ResNet以後(3節)の2つの年代に区切り,登場順・グループごとに各節にまとめて年表・グループ化した.

インスタンスセグメンテーションの記事でも,同じ「1年ごとにグループ化する」節構成になっている.深層学習時代は,その研究人口の多さから,同じフォーカスで従来手法を改善する並行研究(=似たようなアイデア同士の同時期研究) が発生することが多い.したがって,それらの似た手法のグループは,トップ国際会議の循環周期である半年・1年ごとで,形成されやすい.

また,参考にしたサーベイ [Kahn et al., 2019] などのように,よくある「網羅的な全列挙」はしていない.代わりに,歴史的に重要なCNNのみを厳選し,全体の大まかな流れがつかめるコンパクトな年表にしたつもりである.

(2022年2月の)現在では,コンピュータビジョンの研究業界は,CNNの時代では徐々になくなりつつあるものの,この記事は「CNNの実用する際の非常に有用なまとめ」とはなっていると思う.この記事を通して,CNNの基本や古き良きアイデアも整理・復習を繰り返すことで,今後の「研究開発のアイデア出し」に役立てて頂きけると嬉しい.

ただし,この記事では省いた「WideResNet」など,CNN時代では生き残らなかったものの,2020以降ViTの研究が多くなってから,設計の良さが見直されているCNNアーキテクチャもある.よって,この記事で重要視していないからといって,使えないアイデアだと決めつけはしないように気を付けていただきたい.

1.1 記事の構成

これ以降は,次の1.2節でまずCNNバックボーンを「年表リスト」化する.この年表リストを眺めながら,それぞれの子記事を読んでいくだけでも,(本サイトは,階層的にたどれるので)全体の見晴らしが良くなるはずである.まず,次の1.2節で,リスト化した「年表リスト(2.1節)」を通じて概要を示す.その後,2節と3節では「年表リスト(2.1節)」と同じ階層構造の各節において,各CNNの「構成図」と「主な貢献の紹介」を各節にて行う.

1.2 年表リスト

冒頭にも述べたように,この年表リスト記事では,ResNet (2015年)を,大きな転換点を起こした「中間点としての主役」として,前後2つの年代の区切りとみなしたい.よって,「AlexNetからResNetまで」の前半リストと,「ResNetよりあとのバックボーン(3節)」の前後半リストに分割した.

この1.2節では,その前半・後半リストを述べたのち,各世代の大きな流れを文章で述べることで,世代全体の概要を示す.

1.2.1 前半リスト(2節):AlexNetからResNetまで

前半リストでは,CNNの黎明期であった「AlexNetからResNetまで」を,登場順に列挙し,各バックボーンのその特徴も列挙して一旦まとめておく:

  • 2.1節 AlexNet [Krizhevesky et al., 2012]:
    • 227 x 227 x 3 の大きなRGB画像入力を初めて使用.
  • 2.2節 20層程度まで深くなる + 省パラメータ化の進展.
    • 2.2.2 節 InceptionNet v1 (2014). 22層:
      • Inceptionモジュールを基本ブロックに使用.
      • ブロック内部は複数サイズのカーネル経路でワイド化して構成.
      • Inception モジュール内の各経路で 1 x 1 畳み込みで次元削減.
      • 終盤に [7 x 7] の グローバル平均値プーリングを使用し,パラメータを節約.
      • 補助識別器による中間損失の追加.
      • InceptionNet式のデータ拡張
    • 2.2.3 節 VGGNet (2014): VGG-11層/16層/19層:
      • 畳み込み層を[3 x 3]のみにし,パラメータ数も抑えながら認識精度が向上.
      • 1 x 1 畳み込みで,中間層の表現を制限.
      • マルチスケールにデータ拡張(スケール変化への対応)
      • VGGNet式のデータ拡張.
  • 2.3節 複数経路化し,更に深く. 
    • 2.3.1 Highway Network (2015)
      • ゲート機構による流量の調整ありで,スキップ接続で層間を接続.
    • 2.3.2 ResNet (2015) ResNet-51層/101/152層:
      • 残差接続で囲った「残差ブロック」の提案.

LeNetは [32 x 32] の数字文字画像をクラス認識する用途限定であった.その後ディープラーニングやCNNの研究にはブレイクスルーは行らず,手作り特徴を用いた非DNN手法が画像認識の主役であった.

そんな中,AlexNet が登場し,画像認識CNNの黎明期に突入した.VGGNetInceptionNetのように,空間方向への表現度を,層の数を20層程度まで増やしつつ効率的に高めていくのが,まずは当初の主眼であった(最終的に[3 x 3]カーネル主体となった).

NiN (2013) の提案を契機に,(1) 1 x 1 畳み込みによる次元削減(パラメータ節約),(2) 全結合層の代わりの「グローバル平均プーリング」の2つが定番化して活用されはじめたのも,重要な転機である.これら2つの省パラメータ化は,CNNの「性能とモデルサイズの間のトレードオフ」を向上させ始めた.また,パラメータ総数が減るので「過学習」の抑制にも繋がる.同じく,NiNで提案された「ブロック化」のアイデアが,InceptionNetResNetで花開き,定番戦略となる点も重要である.

ResNetの,シンプルな「残差接続による残差ブロック化」の提案により,50層以上の深いモデルを劣化問題も避けつつ,高精度・高速に学習可能となった.以降,更なる大規模モデル化による表現力巨大化(とそのための省モデル化)が,CNN発展方向の新たな主眼となる.

ResNet型バックボーンの発展(Inception-ResNetやResNext)は,物体検出セマンティックセグメンテーションや,3D畳み込みを用いたアクション認識など,「モデル規模の大きさがものをいうタスク」の精度向上にも貢献していく.また,残差接続マルチヘッドアテンションブロックを主部品とするTransformerの登場に繋がった意味でも,ResNetの登場は非常に重要なターニングポイントであった.

1.2.2 後半リスト(3節): ResNetよりあとのCNN

後半リストでは,ResNetよりあとに提案された,代表的なCNNを列挙する:
(※ MobileNetなどの「計量CNN」の路線は,別途他の記事でまとめたい.そして,この記事の4節としてリンクを追加したい):

  • 3.1 InceptionNet の発展
    • 3.1.1 InceptionNet v3 (2016):
      • 汎化性能を落とさずパラメータ削減するために,Inceptionブロック内を改善:
        • NiNのように,畳み込みを1 x 1 を使って因数分解.
        • Inceptionブロック内を,空間サイズ削減モジュールで,次元削減効率を改善.
      • ラベル平滑化を提案.
    • 3.1.2 InceptionNet v4 と Inception-ResNet (2017)
      • Inceptionブロック内に残差接続を追加し,層の深さを拡大.
  • 3.2 「分離可能畳み込み層」による計量モデル化:
    • 3.2.1 MobileNet (2016)
  • 3.3 DenseNet (2016):
  • 3.4 ResNext (2017):
  • Squeeze-Excitation Network(SE-Net) (2018) [ISLVRC 2017勝者]
    • チャンネルごとの重みづけ(※ 発想が,このあと登場するCBAMなどの「空間-チャンネル単位アテンション」のさきがけになっている)

ResNetの直後の2015-2016年ごろ,加速度的にCNNは発展する:

  • Inceptionネットが更に v3, v4や DenseNetResNext など,これまでの工夫を融合させた『合わせ技一本』のCNNの登場が続いていく.
  • 一方,2015年以降,物体検出セマンティックセグメンテーション人物姿勢推定インスタンスセグメンテーションや,画像対画像変換などのタスクの研究が盛んになる.これらは,ImageNetの物体認識タスクとは異なり,「画素や領域単位での密な予測」が必要タスクである:
    • 出力層の特徴マップに,各画素や各領域において「広範囲の周辺コンテキストを正確に捉えた特徴」を作る必要がある
    • より受容野を広げることができる畳み込み層プーリング層やブロック構造が必要となり,膨張畳み込み層や空間ピラミッドプーリングなどが,各タスクで提案された.
    • 画素単位の出力マップ・画像では,対称構造のEncoder-Decoderを組むので,単純にデコーダが追加されたぶんだけ,画像識別CNNの2倍のモデルサイズが必要になる(例: U-Netなど).
    • 更には,COCOデータセットやADE20Kデータセットのように,予測対象物体のマルチスケール変化にも対応する必要が出てきた.

このように,各画像応用タスク向けに,広範囲の特徴を畳み込んで行きたいので,CNNバックボーンを計算効率化し,省パラメータに留めておきたいニーズが増えていき,たくさんの研究が行われていった.

(この記事のテーマの)物体認識向けのCNNでは「空間方向 or デプス単位」の分離可能畳み込み層や,チャンネル単位の重みづけ(SE-Net, CBAM)などが提案されていく.逆に,それ以外の上記各タスクむけ工夫は,この記事上には登場しないことに注意(例:FPNや,DeepLab/PSPNetなどの空間ピラミッドプーリングなど).

最終的には,自動運転寄りの物体検出やセグメンテーション向けの,効率的なバックボーン構造としてDeep Layer Aggregation (2018) が登場したが,CNN自体がもう過渡期に入っていく.2020年以降は,次世代の画像向けバックボーンとして,Vision Transformer (ViT)の研究が盛んになっている.

2. AlexNet から ResNet までのCNNバックボーン

2.1 始点である「AlexNet」

AlexNetの構造
図2 AlexNetの構造

AlexNet (2012)は,ImageNetの画像認識向けCNN構造の初提案である(図2).過学習問題を打破し,ImageNetデータセットに対して,巨大な物体識別CNNモデルを初めて学習できるようになった.

主な貢献:

AlexNetはILSVRC2012の勝者で,ImageNetにおける物体認識の誤差率は15%程度で,2位以下の古典的な非ディープ手法に10%程度の大差をつけて優勝した.これにより,明確なパラダイムシフトを起こし,画像認識業界のみならずパターン認識界隈全体のCNN・ディープラーニングへの移行も促した.

2.2 ブロック化の導入により20層程度まで深くなる

2014年のILSVRCでは,InceptionNet v1とVGGNetが,ともにImageNetの認識誤差率 7%付近を達した.両者とも畳み込み層合計が20層程度のモデルを提案した.

2.2.1 Network in Network

Network in Network(NiN) [Lin et al., 2013] は,大規模CNNの提案ではなく,CIFAR-10MINISTで実験された「中規模サイズの画像認識ネットワーク」の研究である.しかし,InceptionNet v1 とVGGNetの登場につながる意味で重要な提案である. 

NiNは,畳み込み層の代わりに,画像の局所内だけの処理を行う小規模MLPの「MLPconvブロック全結合層で,畳み込み層の代役を担うという意味)」を,3ブロック繰り返す.つまりは「ネットワークの中に畳み込み代わりの小ネットワーク=ブロック」を,何度も用いるという,「ブロック構造化」の初期提案であった.また,最後の全結合層も無くし「グローバル平均プーリング」に代えた構造を提案した.

のちの研究に影響を与える,NiNの重要点は以下の3点である:

  • 複数の層を「ブロック化して」小ネットワークブロックとしてまとめ,何度もブロックを使用するというアイデア.
  • MLPconvブロックの最後の層に「 1 x 1 畳み込み 」を用いたチャンネル方向次元削減を提案した.
  • グローバル平均プーリング」で,これまでの終盤全結合層を差し替えることを提案した.パラメータ無しで済むので,ネットワーク全体のパラメータ削減につながり,正則化の作用も得られる.

2.2.2 Inception v1 (GoogleNet)

InceptionNet v1 の Inceptionモジュール
図3 Inception モジュール 
(a)ナイーヴな基本構造 (b)実用使用版(次元削減を追加)

Inception v1 は ILSVRC 2014の勝者の1位の研究で,Googleが提案した.その後TensforflowやTPUと共に,自社発CNNモデルとして,Google社にプッシュされていく「InceptionNetシリーズ」の最初の提案である.

主な貢献:

  • 畳み込み層の代替として,Inceptionモジュール(図3 )を基本単位に用いるInecptioNetを提案
    • 内部はワイドに並列化し,サイズの異なる畳み込みを並列経路で実行してあとでチャンネル方向に結合.
    • 1 x 1 畳み込み層で,各経路の次元を毎回削減し,モジュールを省エネ化.
  • 補助識別器を用いた中間損失を2個追加し,深いネットワークでも学習しやすくした.
  • 終盤に 7 x 7 グローバル平均プーリングを,全結合層の代わりに使用し,パラメータ削減.

2.2.3 VGGNet

VGGNet-16層 の構造
図4 VGGNet-16層 の構造

VGGNetは, ILSVRC 2014 2位の研究である.単純な直列構造で,構造をここから加工しやすく,ImageNetからマルチスケール学習済みのバックボーンとして,全結合以前の部分が,画像認識以外にも用いられることが多かった.例えば,物体検出のFaster R-CNN や,セマンティックセグメンテーションのFCNなどが,学習済みVGGNetをもとにファインチューニングする「VGG-like構造」を提案しており,それらのタスクではVGGNetがこの時期よく使用された.

また,公開されている学習済みモデルから,終盤全結合層から,中間特徴ベクトル(4096次元)を取り出して使いやすいことから,当時の画像認識研究でもよく使用された.

主な貢献:

  • VGG-11層/16層/19層の3つのモデルを提案.
  • 畳み層を「3 x 3」のみにし,パラメータを抑えながらも深くでき,認識精度が向上.
  • 1 x 1 畳み込みで,中間層の表現を制限.
  • マルチスケールなデータ拡張(スケール変化への対応)を提案.

2.3 さらに深く,さらに複数経路へ,

2.2節(2014年ごろ)の,VGGNet・InceptionNetからは,CNNの層数が20程度まで深くなってきており,高い表現力が必要な大規模パラメータモデルが必要な,画像認識の性能はあがってきていた.しかし,深さが増すことに伴い,勾配が遠くの層まで少量しか伝えづらくなり(勾配消失問題),バックプロパゲーションによる学習を難しくしていた.当時は,学習の重み初期化は存在してたが,バッチ正規化が登場していないので,それ以上の学習の収束性・速度向上はできなかった.

そこで,2015年ごろは,スキップ接続をもちいて,画像認識CNNを更に深くする路線に,研究のフォーカスがあたった.Highway network(2.2.1節)と,CNNやディープラーニングにおいて特に重要な研究である ResNet(2.2.2節)も並行して登場した.深くしていく路線は,次の2016年に,DenseNetへの登場へとつながる(3節).

この記事では対象外であるが,FCN (2014)やU-Net (2015)などのセマンティックセグメンテーションにおいても,スキップ接続が広く活用される展開になった.Highway networkの登場をきっかけに,2016年には,スキップ接続を更に,深く複数の経路で行うCNNが提案されていく(ResNetやDenseNetなど).

一方,Inception v1 (2.2.2節)も,Inceptionモジュール内では複数経路化していた.それが,2015年以降は,層間でのスキップ接続をもちいた「複数経路化」が,主要な画像認識CNNの発展路線となりだす.その続きで,2016年(3節)に入ると,「 ワイド化(16経路や32経路)」にフォーカスがあたる(Inception v3 ,ResNext,WideResNetなど).

2.2.1 Highway network

Highway network [Srivastava et al., 2015a] は,層間のスキップ接続を画像CNNに使用することを提案したネットワークである.Highway networkは,2つのゲート機構を用いて,スキップ接続間の送信量も学習する(このあとのResNetでは,スキップ接続後は,単に特徴マップ同士を加算するだけである).

2.2.2 ResNet

ResNetのネットワーク構造
図5 ResNet のネットワーク構造

Residual Nerual Network(ResNet) (図5)は,「残差ブロック」を直列に超多数接続するだけの構造である.残差接続により,遠くの奥の序盤層まで誤差を逆伝搬しやすくなったことで,とても深くて高性能なCNNを,高性能かつ高速に学習できる(Highway networkと同時期の2015年の同時研究).

ResNetは,学習可能な畳み込み層が,50層, 101層, 152層からそれぞれ構成される3種類のモデルが提案された.

ResNetでは,残差ブロックごとに存在するスキップ接続のことを残差接続とよぶ (※ Highway Networkはスキップ接続内にゲート機構を置くが,残差接続には学習パラメータがない).N個の(2股の)残差ブロックで構成されるResNetでは,ブロック単位で見ると,$2^n$個の経路が存在する.

これにより学習時には,$i$番目の残差ブロックの$F_i$に,個別に勾配が逆伝搬されるので,全体の最適化ではなく,各$F_i$の収束を個別に目指す「分散的なアンサンブル学習化」が達成されており,収束性が非常に高まった.これにより,多層化で起きる劣化問題も回避することができる.よって,ResNetは超多層であるモデルに対して,容量の大きさどおりの高い性能を,はじめて発揮できるCNNとなった(前年登場のVGGNetやInceptionNetでは,まだ超えられなかった壁である).これにより,ILSVRC 2015において1位を獲得し,ImageNet物体認識における誤差率を 3%台まで向上させることに成功した.

Highway networkや他のスキップ接続使用CNNでも,スキップ接続の利点を活用しているところまでは同じなのであるが,ResNetは,それを細かいブロック単位に分割し,50~150の超多層化をはじめて実現したところに,違いと新規性があった.

3. ResNet よりあとのCNNバックボーン

ResNetよりあとは,「残差ブロックでまとめて,それを繰り返す」という発想を,更に発展させていくことが中心的な発展方向となる.実際,Inception-ResNet(3.1.2節), DenseNet(3.3節),ResNeXt(3.4節), SE-Net(3.5節)などは,どれも残差ブロックの改善を提案したものであった.

一方で,更に大規模モデル化してきたCNNを,「軽量モデル化(3.2節)」したいという,認識精度向上とは別軸のCNN(や畳み込み層)の発展がはじまった.ResNet, InceptionNet, DenseNetなどの超大規模CNNモデルを軽量モデル化できれば,中央クラウドサーバー上での電気料負担が減り,計算高速化によってビジネス貢献度も向上する.また,組み込み環境やスマートフォンや,デスクトップPC上などでも動かせると,より応用やビジネスの幅が拡がる.この流れで,MobileNetやXceptionに,ShuffleNetなどが登場した(この3.2節の軽量モデル化路線については,のちのち記事がたまってきたら,別の記事でまとめたい).

3.1 Inception v3 と v4

3.1.1 Inception v3

Inception v3 では,以下の2点でInceptionモジュールの改善が行われた:

ラベル平滑化(ノイズを足してソフトラベルへ転換する手法)は,あとで応用が拡っていくので,重要な提案である.

3.1.2 InceptionNet v4と Inception-ResNet

InceptionNet v4 の研究の主眼,InceptionNet v3への残差接続の導入である.その結果InceptionNet「更なる深いモデル化」が行われ,以下の3つのモデルが提案された:

  • InceptionNet v4: Inception v3 の序盤を「stem(幹)」と名付けた2分岐ブロックへと差し替え.
  • Inception-ResNet-v1: 残差接続ありのInceptionモジュールを導入.
  • Inception-ResNet-v2: Inception-ResNet v1 を更に深く,幅を広くさせた.

このうち一番層の深い97層構成のInception-ResNet-v2が,その後,大規模モデルを用いる問題でよく使われるようになった.

3.2 軽量モデル化路線の登場

深さ単位分解可能畳み込み (Depthwise Separable Convolution)
図6 深さ単位分離可能畳み込み(Depthwise Separable Convolution)

Googleの提案したMobileNetをきっかけに,CNNを省モデル化しつつも計算精度は損なわないようにすることで,モバイルや,組み込みでもCNNを使用できるようにしていこうという潮流が出てきた.

それまでも,畳み込みの [k × k]サイズを,[k × 1] → [1 × k] の2層に分解して代用する(空間方向の)分離可能畳み込み(separable convolution)という仕組みが既に存在していた.これは,元の[k × k]の畳み込みが,2kにまでパラメータを削減できる利点がある.

それを,Xception, MobileNet では,深さ単位分離可能畳み込み(Depthwise Separable Convolution)を代わりに用いることを提案する.

3.2.1 MobileNet

MobileNetは,当時のLeNet的な直列型CNNの畳み込み層を深さ単位分離可能畳みに差し替えたものを,モバイル向けの軽量CNNとして提案した(ヘッド部分はグローバル平均値プーリング).

当時の最先端CNNであるVGGNetやInception v2などは,まだメモリ容量も大きく,予測にかかる時間も長かった.よって,スマートフォン上でCNN予測を実行することが厳しかったが,MobileNetを契機に,軽量化CNN路線の研究と実用が活発になり,それが可能となってきている.

MobileNetでは,様々なタスクでの実験が行われた.例えばImageNetでの画像認識では,VGGNetやGoogleNetとほぼ同等の認識精度(およそ70%)を達成した.VGG-16層はパラメータ数が約1.4億個であり,InceptionNet v1 はその半分の700万個であるのに対して,MobileNetは400万個で済んでいる.

COCOデータセットで物体検出のバックボーンでも実験が行われ,SSDFaster R-CNNのバックボーンにVGGやInception(v2)を用いた場合と,ほぼ同等のmeanAPを出した.これも,VGGは14億で,Inception(v2)はその10/1程度の1300万パラメータであるが,MobileNetは更にその半分以下の600万パラメータで同程度の精度を達成している..

こうして組み込み上の小さめのメモリにも載せられるような,CNNの大幅なパラメータ削減が達成された.MobileNetをきっかけにモバイル組み込み用途向けのネットワークの提案も増えていく.

3.2.2 Xecption

Xception は,InceptionのInceptionモジュールに,深さ単位分離可能畳み込みを導入した.これにより,パラメータ削減をしつつ,モジュールのワイド化を行った.Inception(ブロック)を,extreme(極端)にワイドなXceptionモジュールに発展させたということで,CNNの名前を「Xception」と命名した.

InceptionモジュールのXceptionモジュール化によって,Inception v3を,モバイル組み込み向けにパラメータ削減や計算速度の効率化を達成しながらも,認識精度は元のInception v3 と同等の精度を保つことが可能になった.

3.3 DenseNet

DenseNet の構造
図 DenseNetの構造

DenseNetは,「Denseブロック」を直列につないだ,ResNetの発展版CNNアーキテクチャである.Denseブロック内は,残差ブロックの極端版であり,(例えば)4サブブロックから構成されるDenseブロックでは,4つのサブブロック間が,お互い全てスキップ接続されてある,Denseなブロック構造である.

DenseNetの設計の目的も,ResNet (やHighway Network)と同じで,スキップ接続を利用したショートカット伝搬による,勾配消失問題の対策である.ResNetの残差接続では,スキップ接続後の特徴マップと加算で特徴を合成していたが,これだと後続の特徴になると足し込まれていって,序盤の情報が消えて効果を成さない危惧があった.

この発想から,DenseNetでは,加算でなく2パスの特徴マップを毎回チャンネル方向に結合して,合成しない方針を採用した.これにより,残差側を通る特徴マップもそのまま加工無しに生き残り,後半までそのまま保持できる.ただし,そのぶんだけ奥になるほど,どんどんチャンネル数が増えていってしまいカーネル数が徐々に増えていってしまう.そこで,Denseブロックの出力は毎回 kチャンネルに固定するようにした.また,中間で一度 1 x 1畳み込みを挟むことで,効率化も行った.

以上のような工夫により,ResNetに対して畳み込み層の総数の大幅な増加を実現しながらも,DenseNetは軽量化を実現し,なおかつ高速学習+高速なテストが実現できるようになった.よって「ResNetよりも大規模な軽量モデル」として広く使われる可能性があったが,先に登場して人気になったResNetやResNextが各論文で使われたせいで,それらとの平等な比較をするためにDenseNetの出番はあまり出てこなかった.また,その翌年から空間アテンションが流行して,潮流が代わり,なおさらDenseNetは中途半端な人気に終わってしまった側面がある.

3.4 ResNext

ResNeXtの,グループ化畳み込みによる効率的ワイド化
図 ResNeXtの,グループ畳み込みによる効率的ワイド化 :
(a)効率化前のワイドなもの(32経路) (b)グループ畳み込み層で代替させ,1経路化

ResNext は,残差ブロック内を大幅にワイド化させた,ResNetの正当進化版であり,人気の定番CNNバックボーンである.単純なワイド化だと計算負荷が高いので,AlexNet論文で提案されていたグループ化畳み込み層を用いることで,ワイド化を行い計算効率は上げつつ,物体認識精度を向上させた.

ResNeXtは,ResNetの著者らグループ自ら提案したResNetの改善版であり,著者らは同時期に,Mask R-CNN の論文でインスタンスセグメンテーションのバックボーンにResNeXtが有効であることも示した.これにより,画像識別以外の様々なタスクでも,ResNeXtは(ResNet同様に)頻繁に応用されることになった.

4. まとめ

以上,この記事では画像認識向けのCNNバックボーンについて,「AlexNet~ResNetまで」と「ResNet以降~ DenseNet/ResNextあたりまで」の2つに分けて,(ILSVRCの上位を取った)代表的なアーキテクチャを列挙し,その変遷や比較を一挙にまとめて紹介した.

(空間)アテンション中心のSE-Net以降の時代は,とりあげていない.また,MobileNetなどの軽量モデル路線についても,別記事にまとめる予定である.

各バックボーンの詳細は,個別の記事で確認してもらえるとよい.

参考書籍

References

  • [Kahn et al., 2019] A. Khan, A. Sohail, U. Zahoora, and A. S. Qureshi, ‘‘A survey of the recent architectures of deep convolutional neural networks,’’ 2019, arXiv:1901.06032. [Online]. Available: https://arxiv.org/abs/1901.06032
  • [Lin et al., 2013] Lin, M.; Chen, Q.; Yan, S. Network in network. arXiv 2013, arXiv:1312.4400.
  • [Srivastava et al., 2015a] Srivastava RK, Greff K, Schmidhuber J (2015a) Highway networks. https://doi.org/10.1002/esp.3417
  • [Srivastava et al., 2015b] Srivastava RK, Greff K, Schmidhuber J (2015b) Training very deep networks. In: Advances in neural information processing systems

参照外部リンク