論文 · arXiv 1512.03385
Deep Residual Learning for Image Recognition
3行まとめ
- 🎯 層を深くしたプレーンなニューラルネットワークは最適化の劣化(degradation)に悩まされ、勾配消失が起きていないにもかかわらず層を深くすると訓練誤差が高くなる。
- 🔧 パラメータ不要の恒等ショートカット接続 を用い、積み重ねた層が残差マッピング に適合するよう再定式化した。
- 📈 ImageNetにおいて最大152層のネットワークの学習を可能にし(アンサンブルでTop-5エラー率3.57%を達成)、ILSVRCおよびCOCO 2015コンペティションで優勝した。
概要
ニューラルネットワークは深くなるほど学習が困難になります。本論文では、従来使用されていたものよりも大幅に深いネットワークの学習を容易にする残差学習(residual learning)フレームワークを提案します。参照を持たない関数を学習する代わりに、層の入力に対する残差関数を学習する形へと明示的に層を再定式化します。私たちは、これらの残差ネットワークが最適化しやすく、大幅な層の深化から精度向上を得られることを示す包括的な実証的証拠を提示します。ImageNetデータセットにおいて、VGGネットの8倍深くありながら依然として計算量が少ない、最大152層の残差ネットワークを評価しました。これらの残差ネットワークのアンサンブルは、ImageNetテストセットで3.57%のエラー率を達成し、ILSVRC 2015分類タスクで第1位を獲得しました。また、100層および1000層のCIFAR-10による解析も示します。表現の深さは多くの視覚認識タスクにおいて極めて重要です。極めて深い表現のみにより、COCO物体検出データセットで相対的に28%の改善を達成しました。深層残差ネットワークはILSVRCおよびCOCO 2015コンペティションの提出基盤となり、ImageNet検出、ImageNet局所化、COCO検出、COCOセグメンテーションの各タスクでも第1位を獲得しました。
英語の原文概要
Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with reference to the layer inputs, instead of learning unreferenced functions. We provide comprehensive empirical evidence showing that these residual networks are easier to optimize, and can gain accuracy from considerably increased depth. On the ImageNet dataset we evaluate residual nets with a depth of up to 152 layers---8x deeper than VGG nets but still having lower complexity. An ensemble of these residual nets achieves 3.57% error on the ImageNet test set. This result won the 1st place on the ILSVRC 2015 classification task. We also present analysis on CIFAR-10 with 100 and 1000 layers. The depth of representations is of central importance for many visual recognition tasks. Solely due to our extremely deep representations, we obtain a 28% relative improvement on the COCO object detection dataset. Deep residual nets are foundations of our submissions to ILSVRC & COCO 2015 competitions, where we also won the 1st places on the tasks of ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation.
論文解説
問題意識と動機
視覚認識の表現においてネットワークの深さは極めて重要ですが、層を深く積み重ねると本質的な劣化問題(degradation problem)が生じます。層が深くなるにつれて精度が飽和し、その後急速に低下する現象です。重要なのは、この劣化が過学習によって引き起こされているのではないという点です。Batch Normalizationや正規化初期化によって順伝播のアクティベーションと逆伝播の勾配が消失しないことが保証されているにもかかわらず、より深いネットワークは浅いネットワークよりも高い訓練誤差を示します。
理論的には、深いモデルは構造上、恒等写像の解を持ちます。すなわち、学習済みの浅いモデルをコピーし、追加の層を恒等変換に設定すればよいはずです。しかし、参照のない非線形マッピングを直接学習する従来の最適化手法では、この解を見つけることができません。
主要なアイデア
- 残差学習フレームワーク(Residual Learning Framework): 積み重ねた層で所望のマッピング を直接近似する代わりに、残差マッピング を明示的に近似させます。元のマッピングは として復元されます。
- 恒等ショートカット接続(Identity Shortcut Connections): 1つ以上の層をスキップするフィードフォワードショートカット接続により を実現します。恒等ショートカットは追加パラメータを一切必要とせず、計算オーバーヘッドも実質的にゼロです。
- 容易な最適化とプレコンディショニング: 恒等写像が最適である場合、オプティマイザは単に残差の重みをゼロに近づけるだけで済みます。実際、残差関数の応答は振幅が小さく、恒等接続が効果的な前処理(プレコンディショニング)として機能していることを示しています。
- ボトルネック構造(Bottleneck Architecture): 非常に深いモデル(ResNet-50、ResNet-101、ResNet-152)では、2層の残差ユニットを3層のボトルネックブロック(、、 畳み込み)に置き換え、表現能力を維持しながら計算量を削減しています。
手法
入力と出力の次元が一致する残差ビルディングブロックの場合: ここで と は入力ベクトルと出力ベクトルであり、2層ユニットでは となります( はReLUを示し、簡略化のためバイアスは省略)。要素ごとの加算は、2回目のReLU活性化 を適用する前に行われます。
特徴マップの次元が変化する場合(空間的なダウンサンプリングやチャンネル数の倍増など): ここで は以下のいずれかを表します:
- Option A: 余分な次元をゼロパディングし恒等ショートカットを使用(サブサンプリングにはストライド2を使用)。追加パラメータは0。
- Option B: 次元が増加する場合にのみ の線形畳み込み射影 を使用し、それ以外は純粋な恒等接続を使用。
- Option C: すべての残差ブロックに対して線形射影ショートカット を使用。
本論文ではImageNetモデル(ResNet-50/101/152)にOption Bを採用しています。Option Cは大幅な精度向上なしにパラメータ数を肥大化させるのに対し、純粋な恒等ショートカットはボトルネック構造の効率性を維持するために不可欠だからです。
実験結果
- ImageNet分類:
- ResNet-34はplain-34に対してTop-1エラーを3.5%改善し(10-crop検証エラーで25.03% vs 28.54%)、訓練時の劣化問題を解消しました。
- ResNet-152は単一モデルでTop-5検証エラー率4.49%を達成しました(113億FLOPsであり、153億FLOPsのVGG-16よりも低計算量)。
- ResNetのアンサンブルはテストセットでTop-5エラー率3.57%を達成し、ILSVRC 2015分類チャレンジで優勝しました。
- CIFAR-10: ResNetの深さは20、32、44、56、110層へとスムーズにスケールし、ResNet-110はテストエラー率6.43%に達しました。実験的な1202層のネットワークでも最適化の失敗は一切なく学習できました(訓練エラー率 )。
- 転移学習および下流タスク: Faster R-CNNのバックボーンをVGG-16からResNet-101に置き換えることで、MS COCOのmAP@[.5, .95]が21.2%から27.2%へと向上し(相対的に28%増)、PASCAL VOC 2007テストmAPも73.2%から76.4%へと向上しました。深層残差ネットワークはImageNet検出、ImageNet局所化、COCO検出、COCOセグメンテーションでも第1位を獲得しました。
限界と今後の課題
- 超深層アーキテクチャにおける過学習: CIFAR-10において、1202層モデルは訓練エラー率が に達したにもかかわらず、小規模データセットに対する正則化が不足していたため、テストエラー率(7.93%)はResNet-110(6.43%)より悪化しました。
- 劣化問題の理論的要因: 本論文では勾配消失が原因ではないことを実験的に示し、プレーンなネットワークは指数関数的に収束率が低いと推測していますが、最適化ダイナミクスの理論的証明は今後の課題として残されています。
- 単一層の残差: が1層のみで構成されている場合( に縮退)、残差定式化による顕著な利点は見られませんでした。
重要用語
- degradation problem (劣化問題)
- 深層ニューラルネットワークにおいて、勾配消失や勾配爆発が存在しないにもかかわらず、層を増やすことで訓練誤差が高くなってしまう直感に反する現象。
- residual learning (残差学習)
- 積み重ねた層に入力を参照しないマッピング を直接学習させるのではなく、入力に対する残差関数 を明示的に学習させる再定式化。
- identity shortcut connection (恒等ショートカット接続)
- 入力ベクトルまたは特徴マップを変更せずにそのまま通過させ、積み重ねた畳み込み層の出力に要素ごとに加算するパラメータ不要のスキップ接続。
- projection shortcut (射影ショートカット)
- 入力と出力のチャンネル深度や空間サイズが異なる場合に、線形変換行列または 畳み込み () を用いて次元を一致させるショートカット接続。
- bottleneck design (ボトルネック設計)
- 、、 の畳み込みで構成される3層の残差ビルディングブロック。 層で特徴次元の圧縮と復元を行うことで計算量を削減する。
- plain network (プレーンネットワーク)
- ショートカット接続や残差接続を持たず、標準的な畳み込み層とプーリング層を単純に積み重ねたベースラインの畳み込みネットワーク構造。
よくある質問
劣化問題(degradation problem)の原因が勾配消失ではないのはなぜですか?
ネットワークはBatch Normalizationと正規化初期化を用いて学習されており、順伝播における非ゼロの信号分散と逆伝播における健全な勾配ノルムが維持されていることが確認されています。さらに、plain-34のような深いプレーンネットワークも意味のある解へと収束していましたが、より浅いネットワークよりも高い訓練誤差で収束していました。
ResNetの恒等ショートカットとHighway Networksの違いは何ですか?
Highway Networksはデータに依存するパラメータ付きゲーティング関数を使用しており、ゲートが閉じることで層が非残差的になることがあります。一方、ResNetのショートカットはパラメータ不要の恒等写像であり、決して閉じることがないため、常に残差学習が保証されます。
恒等ショートカットではなく射影(projection)が使用されるのはどのような場合ですか?
射影( 畳み込みを使用)は、主に入力と出力の特徴次元が一致しない場合(例:ストライド2で空間解像度を半減させ、チャンネル数を2倍にする場合)に使用されます。次元が一致する場合は恒等写像で十分であり、より計算効率が高く、ボトルネックユニットでのパラメータ肥大化を防ぐことができます。
CIFAR-10でResNet-1202がResNet-110より性能が低かったのはなぜですか?
ResNet-1202は最適化の失敗ではなく、過学習が原因でした。訓練誤差は に達していましたが、Dropoutなどの追加の正則化手法がなかったため、小さなCIFAR-10データセットに対して19.4Mというパラメータ数は不必要に大きすぎました。
このページの解説は AI が論文から作成したもので、誤りを含む場合があります。詳細は原文をご確認ください。