1. 歴史的発展
1.1 深層学習の時代区分
- 1950-80年代:パーセプトロン、Backpropagation
- 1990年代:LeNet(CNN)、LSTM
- 2006年:深層信念ネットワーク(Hinton)、「深層学習」復興
- 2012年:AlexNet、ImageNetでのブレイクスルー
- 2017年:Transformer("Attention Is All You Need")
- 2018年〜:BERT、GPT、大規模言語モデル時代
- 2020年〜:ViT、基盤モデル、マルチモーダル
1.2 アーキテクチャの系譜
CNN系:LeNet → AlexNet → VGG → GoogLeNet → ResNet → EfficientNet → ConvNeXt
RNN系:SimpleRNN → LSTM → GRU → Attention-RNN → Transformer
Transformer系:Transformer → BERT/GPT → ViT → Swin → LLaMA
2. 畳み込みニューラルネットワーク(CNN)
2.1 基本構成要素
畳み込み層:
局所結合、重み共有。空間的な特徴抽出。パラメータ効率が高い。
- カーネルサイズ:3×3が標準
- ストライド:ダウンサンプリング
- パディング:空間サイズ維持
- チャネル数:特徴量の次元
プーリング層:
空間解像度の削減。Max Pooling、Average Pooling。
現代では畳み込み(stride=2)で代替することも多い。
2.2 代表的アーキテクチャ
LeNet-5(LeCun et al., 1998)
手書き文字認識。CNN の原型。
AlexNet(Krizhevsky et al., 2012)
ImageNet優勝。ReLU、Dropout、GPU訓練。深層学習ブームの起点。
VGG(Simonyan & Zisserman, 2015)
3×3カーネルの積み重ね。シンプルで深い。
GoogLeNet / Inception(Szegedy et al., 2015)
Inceptionモジュール。複数スケールの並列処理。
ResNet(He et al., 2016)
残差接続。100層以上の訓練を可能に。以降の標準。
EfficientNet(Tan & Le, 2019)
幅・深さ・解像度の複合スケーリング。
ConvNeXt(Liu et al., 2022)
Transformer時代のCNN。ViTに匹敵する性能。
主要論文:
- LeCun et al. (1998) "Gradient-Based Learning Applied to Document Recognition", Proc. IEEE
- Krizhevsky et al. (2012) "ImageNet Classification with Deep CNNs (AlexNet)", NeurIPS
- He et al. (2016) "Deep Residual Learning for Image Recognition", CVPR
- Liu et al. (2022) "A ConvNet for the 2020s (ConvNeXt)", CVPR
2.3 応用
- 画像分類
- 物体検出(YOLO, Faster R-CNN)
- セグメンテーション(U-Net, Mask R-CNN)
- 生成(DCGAN, StyleGAN)
- 医療画像解析
3. 再帰型ニューラルネットワーク(RNN)
3.1 基本構造
系列データの処理。隠れ状態を時間ステップ間で伝播。
$h_t = f(W_h h_{t-1} + W_x x_t + b)$
課題:勾配消失・爆発、長期依存の学習困難。
3.2 LSTM(Long Short-Term Memory)
ゲート機構による長期記憶の保持。
- 忘却ゲート:何を忘れるか
- 入力ゲート:何を記憶するか
- 出力ゲート:何を出力するか
- セル状態:長期記憶
主要論文:
- Hochreiter & Schmidhuber (1997) "Long Short-Term Memory", Neural Computation
3.3 GRU(Gated Recurrent Unit)
LSTMの簡略化版。ゲートを2つに削減。性能は同等。
主要論文:
- Cho et al. (2014) "Learning Phrase Representations using RNN Encoder-Decoder", EMNLP
3.4 発展と限界
Bidirectional RNN:双方向処理。
Stacked RNN:多層化。
Attention-RNN:Seq2Seqの改良。機械翻訳で成功。
限界:
- 逐次処理で並列化困難
- 長距離依存の限界
- Transformerに置き換えられる
→ 詳細は RNN/LSTMの詳細と限界
3.5 現在の用途
Transformerに主流を譲ったが、以下で依然有用:
- リアルタイムストリーム処理
- メモリ制約環境
- 短い系列処理
- オンライン学習
5. Vision Transformer(ViT)
5.1 概要
画像をパッチに分割し、Transformerで処理。CNNの帰納バイアスなしで画像認識。
手順:
- 画像を16×16パッチに分割
- 各パッチを線形射影で埋め込み
- 位置エンコーディングを追加
- CLSトークンを先頭に追加
- Transformerエンコーダで処理
- CLSトークンから分類
5.2 発展
DeiT(Touvron et al., 2021)
データ効率の改善。蒸留トークン。ImageNetのみで訓練可能に。
Swin Transformer(Liu et al., 2021)
階層的構造、シフトウィンドウ注意。物体検出・セグメンテーションで優秀。
主要論文:
- Dosovitskiy et al. (2021) "An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale", ICLR
- Touvron et al. (2021) "Training data-efficient image transformers (DeiT)", ICML
- Liu et al. (2021) "Swin Transformer: Hierarchical Vision Transformer using Shifted Windows", ICCV
5.3 CNN vs ViT
- 小データ:CNN優位(帰納バイアス)
- 大データ:ViT優位(表現力)
- ハイブリッド:CNN特徴 + Transformer処理
6. アーキテクチャ比較と選択
6.1 特性比較
| 特性 |
CNN |
RNN/LSTM |
Transformer |
| 帰納バイアス |
局所性、並進不変性 |
時間的順序 |
弱い(位置エンコーディング) |
| 並列化 |
高 |
低(逐次) |
高 |
| 長距離依存 |
受容野に制限 |
困難 |
優秀 |
| 計算量 |
O(n) |
O(n) |
O(n²) |
| データ効率 |
高 |
中 |
低(大規模で優位) |
6.2 用途別推奨
- 画像分類(小データ):CNN(ResNet, EfficientNet)
- 画像分類(大データ):ViT, Swin Transformer
- 物体検出:CNN + FPN、DETR、Swin
- NLP(汎用):Transformer(BERT, GPT)
- 生成(画像):拡散モデル(U-Net + Attention)
- 生成(テキスト):Decoder-only Transformer
- リアルタイム系列:LSTM, GRU, Mamba
6.3 最新動向
- Transformerの効率化:FlashAttention、線形Attention
- State Space Models:Mamba、S4(Transformerの代替)
- Mixture of Experts:条件付き計算で効率化
- ハイブリッドアーキテクチャ:CNN + Transformer
7. 参考文献
教科書・サーベイ
- Goodfellow et al. (2016) "Deep Learning", MIT Press
- Prince (2023) "Understanding Deep Learning", MIT Press
- Khan et al. (2022) "Transformers in Vision: A Survey", ACM Computing Surveys
歴史的レビュー
- LeCun, Bengio & Hinton (2015) "Deep learning", Nature
- Schmidhuber (2015) "Deep Learning in Neural Networks: An Overview", Neural Networks
関連ページ