画像分類(10モデル)+ 軽量CNN(2モデル)── 全12モデル
ILSVRCコンペ(ImageNet Large Scale Visual Recognition Challenge)の歴史と共に発展
Yann LeCun(ヤン・ルカン)が手書き数字認識のために開発した、CNNの元祖。郵便番号読み取りに使用された。
2012年のILSVRC(ImageNet大規模画像認識コンペ)で従来手法を圧倒して優勝。ここからDLブームが始まった。
sigmoid/tanhに代わる活性化関数。
f(x)=max(0,x)
勾配消失を大幅に軽減
GPU 2枚で並列学習。
学習速度を劇的に向上。
「GPUでDLを学習」の先駆け
学習時にランダムにニューロンを無効化。
過学習を防ぐ正則化手法
Visual Geometry Group(オックスフォード大)が開発。「3×3フィルターだけで統一してひたすら深く」という思想。
パラメータ数:7×7 = 49
パラメータ数:3×3×3 = 27
受容野は同じ(7×7)なのにパラメータ数45%削減!
青=Conv 3×3 / 水色=MaxPool / オレンジ=全結合層 ── 合計16層(Conv13 + FC3)
Google開発。ILSVRC2014優勝。VGGのように「深くする」のではなく、「1つの層の中で複数サイズのフィルターを同時に使う」というアイデア。
1つの入力に対して4つの並列パスを同時実行し、結果を結合(Concatenate)する
Residual Network。Microsoftが開発しILSVRC2015で優勝。人間の認識精度(エラー率5%)を初めて超えた(3.57%)。「層を深くしすぎると性能が落ちる」問題をスキップ結合で解決。
入力 x を直接出力に足す=「足りない分(残差)だけ学習すればいい」
なぜスキップ結合が効く?
もし中間のConv層が何も学習しなくても(F(x)=0)、出力 = 0 + x = 入力がそのまま通る。
つまり「最低でも入力を維持する」ことが保証される。
→ 深くしても性能が落ちない
← 入力xをそのまま出力に足す(スキップ結合 / ショートカット結合 / 残差結合)
「深さではなく幅で勝負」
ResNetのフィルター数(チャネル数)を増やす方向で拡張。
深さを減らしても幅を増やせば同等以上の精度。
計算効率も高い(GPU並列化と相性が良い)。
「全前層と密に接続」
ResNetはスキップ結合で1つ前の層と接続。
DenseNetは全ての前層の出力を結合。
特徴量を無駄なく再利用。パラメータ効率が高い。
全ノード間が直結(Dense=密)
Squeeze-and-Excitation Network。ILSVRC最後(2017年)の優勝モデル。「全チャネルが同じ重要度」という前提をやめ、チャネルごとの重みを学習。
Squeeze(絞る):各チャネルをGlobal Average Poolingで1つの数値に圧縮
Excitation(興奮):FC層で各チャネルの重要度スコア(0〜1)を算出
Scale(掛ける):元の特徴マップに重要度を掛け算。重要なチャネルを強調
Google開発。「深さ・幅・解像度の3軸を同時にバランスよくスケールアップする」ことで効率的に精度を向上。
深さ(Depth)
層の数を増やす
幅(Width)
チャネル数を増やす
解像度(Resolution)
入力画像サイズを増やす
→ 3つを 同時に バランスよく拡大 = Compound Scaling
Vision Transformer。Google開発。「画像をパッチ(小さな正方形)に分割し、系列データとしてTransformerに入力」という革命的アプローチ。畳み込みを一切使わない。
① 画像を16×16等のパッチに分割
② 各パッチをベクトル化
+位置埋め込み
③ Transformerで
パッチ間の関係を学習
④ [CLS]トークンで
クラス予測
スマートフォンやIoTデバイスなど、計算リソースが限られた環境で動かすための効率的なモデル。
Google開発。通常の畳み込みを2段階に分解することでパラメータ数と計算量を大幅に削減。
3×3×チャネル数 のフィルターで
全チャネルを一度に処理
計算コスト:大
Step1: Depthwise Conv
各チャネルを個別に3×3で畳み込み
Step2: Pointwise Conv
1×1 Convでチャネル間を混合
計算コスト:約1/8〜1/9に削減!
Mobile Neural Architecture Search Net。Google開発。AIが自動でモバイル向け最適ネットワーク構造を探索する。
| モデル | 年 | 層数 | 核心アイデア | ILSVRC | キーワード |
|---|---|---|---|---|---|
| LeNet | 1998 | 5 | CNNの基本形 | — | 手書き数字、LeCun |
| AlexNet | 2012 | 8 | GPU・ReLU・Dropout | 🏆優勝 | DLブーム開始 |
| VGGNet | 2014 | 16/19 | 3×3フィルターで統一 | 2位 | シンプルに深く |
| GoogLeNet | 2014 | 22 | Inceptionモジュール | 🏆優勝 | 並列フィルター、1×1 Conv |
| ResNet | 2015 | 152 | スキップ結合(残差学習) | 🏆優勝 | 人間超え、F(x)+x |
| WideResNet | 2016 | — | ResNetの幅方向拡張 | — | チャネル数↑ |
| DenseNet | 2017 | — | 全前層と密結合 | — | Dense Block |
| SENet | 2017 | — | チャネル注意機構 | 🏆最後の優勝 | Squeeze-and-Excitation |
| EfficientNet | 2019 | — | 3軸複合スケーリング | — | 深さ×幅×解像度 |
| ViT | 2020 | — | 画像にTransformer適用 | — | パッチ分割、CNN不使用 |
| MobileNet | 2017 | — | Depthwise Separable Conv | — | モバイル向け軽量化 |
| MnasNet | 2019 | — | NASでモバイル最適構造 | — | 自動構造探索 |