JA EN
体系CNN・画像認識
·★ 会員·論文·10分で読めます

CNNアーキテクチャの系譜 — AlexNetからResNet・EfficientNetまで

画像認識を塗り替えたCNNの10年を「深さの戦い」と「軽量化の戦い」の2幕で辿る。ReLU・残差接続・複合スケーリングという各時代の決定打を、比喩と動く図とコードで1から解説する。

対象imageタスクclassification

Very Deep Convolutional Networks for Large-Scale Image Recognition


高層ビル建設競争としてのCNN史

2012年から約10年、画像認識の世界では「ネットワークをどれだけ深く積めるか」という建設競争が続きました。ビルに例えるなら、最初は8階建てが精一杯だったのが、鉄骨の組み方(アーキテクチャ)の発明によって19階、22階、ついには152階まで建つようになった——そういう歴史です。

そして高さの競争が一段落すると、今度は「同じ眺めを、どれだけ少ない資材で」という軽量化の戦いが始まりました。スマホの中で動く画像認識は、この第2幕の産物です。

この記事では代表的なCNN(畳み込みニューラルネットワーク)を時系列で辿り、それぞれが「何に困って、どんな一手で解決したのか」を見ていきます。名前の暗記は不要です。困りごとと一手のペアで覚えれば、10年分の進化は1本の物語になります。

前提: 畳み込みの30秒復習

CNNの基本部品は畳み込み層です。小さなフィルタ(例: 3×3の数値の板)を画像の上でスライドさせ、各位置で「フィルタと画像の一致度」を計算して特徴マップを作ります。浅い層はエッジや色の傾きのような単純な模様に、深い層はそれらを組み合わせた「目」「車輪」のような複雑な部品に反応するようになります。この基礎は画像分類の基礎で丁寧に扱ったので、初めての方はそちらを先にどうぞ。

ここで大事な直感は1つだけです。層を深くするほど、単純な部品を組み合わせた複雑な概念を表現できる。だからみんな深くしたかったのです。問題は、素朴に積むと学習が壊れることでした。

AlexNet (2012) — 号砲を鳴らした8階建て

物語の始まりは2012年の画像認識コンペILSVRCです。AlexNetは5つの畳み込み層と3つの全結合層、合わせて8層のネットワークで、2位に10ポイント以上の大差(top-5誤り率15.3%対26.2%)をつけて優勝しました。従来手法の改善が年に1〜2ポイントだった世界での出来事で、ここから深層学習ブームが始まります。

AlexNetの決定打は、後から見ると3つあります。

1. 活性化関数をReLUにした。 それまで主流だったsigmoidやtanhは、入力が大きいと曲線が平らになり、勾配(学習の信号)がほぼゼロになります。ReLUは正の領域で傾きが常に1なので、信号が減衰せずに深い層まで届きます。

FIG 1sigmoidとReLUを切り替えて入力をドラッグしてみる。sigmoidは両端で傾きがゼロに潰れるが、ReLUは正の側で常に傾き1を保つ——これが深いネットワークで学習信号を生かす鍵だった

2. GPUで学習した。 畳み込みは行列演算の塊で、ゲーム用GPUと相性抜群でした。当時はメモリが足りず、ネットワークを2枚のGPUに分割する力技まで使っています。

3. Dropoutで過学習を抑えた。 学習中にニューロンをランダムに無効化することで、特定の経路への依存を防ぎました。約6000万パラメータという当時としては巨大なモデルを、暗記マシンにせず済んだ理由です。

VGG (2014) — 「3×3だけ」という美学

AlexNetのフィルタサイズは11×11や5×5が混ざった職人的な設計でした。2014年のVGGはこれを大胆に単純化します。フィルタは3×3だけ。それをひたすら深く積む。

なぜ3×3で足りるのでしょうか。3×3の畳み込みを2回重ねると、出力の1画素は入力の5×5の範囲を「見た」ことになります。3回重ねれば7×7です。つまり小さいフィルタの積み重ねで、大きいフィルタと同じ視野(受容野)を作れます。しかも計算はお得です。チャネル数をCCとすると、7×7フィルタ1枚のパラメータは49C249C^2、3×3を3枚だと27C227C^2同じ視野を、少ないパラメータと多い非線形(ReLU3回分)で実現できるわけです。

この思想で16層・19層まで積んだVGGは翌年のコンペ上位に入り、「小さいフィルタを深く」はその後の標準になりました。ただしVGG-16は約1億4000万パラメータという大食漢で、この「性能は出るが重い」性質が後の軽量化の戦いの伏線になります。

この先にあるもの

§

ここから先は会員限定です

解説記事371本・教科書26章・学生モード48単元・論文精読6本が、月額¥490ですべて読み放題になります。新しい解説は毎日3本ずつ増えます。いつでも解約でき、解約後も期間の終わりまで読めます。

会員の方はログインすると続きが表示されます

参考文献

  1. Very Deep Convolutional Networks for Large-Scale Image Recognition. arXiv:1409.1556論文ページ·PDF
  2. Deep Residual Learning for Image Recognition. arXiv:1512.03385論文ページ·PDF
  3. MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications. arXiv:1704.04861論文ページ·PDF
  4. EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks. arXiv:1905.11946論文ページ·PDF

本記事は上記論文の本文にもとづいて執筆しています。数値・主張は原典を優先してください。

コメント

コメントにはログインが必要です