ResNet(Residual Network)は、入力を出力に足し戻すショートカット——残差接続——でCNNを100層超まで深くした画像認識モデルです。AlexNetが「深くして勝つ」を示したのに対し、ResNetは「深くしすぎて学習が壊れる問題」を構造で解く——本記事は層数の暗記より、残差学習という設計思想に焦点を当てます。
深くすると何が起きるか
深層学習では、層を増やすと表現力は上がる一方、勾配が浅い層まで届きにくい——勾配消失——問題が起きやすくなります(G-237)。
単純に層を積むだけでは、深いネットワークほど学習が難しくなる——2010年代前半のCNN設計の壁でした。ResNetはこの壁に対する構造的な回答として語られます。
残差学習の発想
ResNetの核心は、層が入力そのものを丸ごと変換するのではなく、入力に足す差分(残差)だけを学習する、という発想です。
記号的には、望ましい出力を H(x)、層が学習する変換を F(x) とすると、H(x) = x + F(x)——恒等写像(何もしない)の近くから始め、必要な差分だけを足す——という整理です(G-278)。
試験では数式より、「層が入力ではなく残差を学習しやすくなる」(G-235)という言い回しが押さえ目標です。
スキップ結合の仕組み
実装ではスキップ結合(skip connection)——ある層の入力を、数層飛ばして後段の出力に足し合わせる——が使われます(G-291、G-236)。
- 入力 xが畳み込みブロックを通る
- 変換 F(x)が得られる
- 出力 = x + F(x)——ショートカットで x がそのまま加算される
- 勾配もショートカット経由で浅い層へ流れやすい(G-237)
G-303が明確にするように、残差接続は正解ラベルを削除する処理ではない——ネットワークの接続構造です。
CNN系譜での位置
| モデル | 深層化の工夫 | 試験向け |
|---|---|---|
| AlexNet | 深いCNN+ReLU+GPU | DLブームの契機(G-319) |
| GoogLeNet | Inceptionで並列畳み込み | 幅・多スケール |
| ResNet | 残差接続で超深層化 | G-322の核心 |
| DenseNet | 全層密結合で特徴再利用 | 接続の仕方が異なる(G-235対比) |
| EfficientNet | 深さ・幅・解像度の複合スケール | 効率重視の別軸 |
G-322の正解は、スキップ結合による残差接続で非常に深いネットワークでも学習しやすくした——ResNetの試験定番フレーズです。
試験で押さえるポイント
- 定義 — 残差接続(スキップ結合)を持つCNN(Residual Network)
- 思想 — 入力に足す残差 F(x)を学習(H(x)=x+F(x))
- 効果 — 勾配が伝わりやすく、非常に深いネットでも学習可能(G-322、G-237)
- 対比 — DenseNet=密結合、GoogLeNet=Inception、AlexNet=先駆の深層CNN
- 層 — 接続構造 ≠ 正解ラベル削除(G-303)
すり替えに注意
| 誤った説明 | 正しい理解 |
|---|---|
| 残差接続=正解ラベル削除 | 入力を出力に足す構造(G-303) |
| ResNet=DenseNet | 残差の加算 vs 全層の特徴結合 |
| ResNet=GoogLeNet | 残差接続 vs Inceptionモジュール |
| ResNet=BERT | 画像CNN vs NLP(G-323) |
| ResNet=ドロップアウト | 接続構造 vs 正則化 |
| 深くすれば必ず精度向上 | 学習可能性の問題がありResNetが対処 |
よくある質問
ResNetは何をするモデルですか?
画像認識向けのCNNで、スキップ結合による残差接続を導入したモデルファミリーです。ある層の入力を後段の出力に直接足し合わせ、ネットワークが恒等写像に近い変換から始めつつ残差だけを学習しやすくします。非常に深い層でも勾配が伝わりやすくなり、学習が安定しやすい点が特徴です。
ResNetとDenseNetは同じですか?
同じではありません。ResNetはスキップ結合で入力を出力に足し合わせ残差を学習しやすくします。DenseNetは以前の全層の特徴マップを結合して受け渡す密結合です。どちらも深いCNNの学習を助けますが、接続の仕方が異なります。
残差接続は正解ラベルを削除する処理ですか?
いいえ。残差接続は、層の入力を後段の出力に足し合わせるネットワーク構造です。正解ラベルを削除する処理ではありません。ResNetの中核的な構成要素として試験に登場します(G-303)。