deep residual learning (ilsvrc2015 winner)
TRANSCRIPT
160112 DL勉強会
片岡 裕雄, Ph.D. 産業技術総合研究所
知能システム研究部門 コンピュータビジョン研究グループ
http://www.hirokatsukataoka.net/
紹介論文 • Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun: Deep Residual Learning for Image Recognition, in arXiv:1512.03385, 2015. http://arxiv.org/abs/1512.03385
第一著者紹介 • Dr. Kaiming He • (Lead Researcher at Microsoft Research Asia) – ILSVRC 2015 第1位 (classification, detection, ) • ImageNet: classification, detection, localization • MS COCO: detection, segmentation
– Instance-aware Semantic Segmentation, arXiv2015 (CVPR2016 submission?) – Faster R-CNN: Region Proposal Networks (RPN), NIPS2015 – SPPnet, TPAMI2015 – PReLU, ICCV2015 – CNN evaluation, CVPR2015 – 最近の成果 • 2015: NIPS2015x1, CVPR2015x5, TPAMI2015x3, ICCV2015x2 • 2014: ECCV2014x3, TPAMI2014x2, CVPR2014x1
Deep Residual Learning (ResNet) • アイディア – 残差の(Residual)学習をすることで構造をディープにしても性能向上
• 概要 – 152層のアーキテクチャ (VGG-19の8倍の深さ) – 「順伝播」と「迂回による伝播」 – 単純に深くするよりも訓練/テストエラー共に向上 – Max-poolingはなく,Average-poolingのみ – ImageNet のテストセットにて3.57%のエラー率 • (参考:GoogLeNet 6.67%, VGGNet: 7.3%)
CNN発展の歴史 ネットワークアーキテクチャ
Neocognitron [Fukushima, 1980] LeNet-5 [LeCun+, 1998]
AlexNet [Krizhevsky+, ILSVRC2012/NIPS2012]
VGGNet [Simonyan+, ILSVRC2014/ICLR2015] GoogLeNet [Szegedy+, ILSVRC2014/CVPR2015]
Inception-v3 [Szegedy+, arXiv1512]
ResNet [He+, ILSVRC2015]
CNNのベースモデル CNNの基本形
ILSVRC2012 winner,DLの火付け役
16/19層ネット,deeperモデルの知識 ILSVRC2014 winner,22層モデル
ILSVRC2015 winner, 152層!(実験では103+層も)
構造を深くすればいいんじゃ? • 単純に構造を深くすると... – CIFAR-10(10クラス物体認識)の例 – 訓練・テスト誤差: (20層) < (56層) – 勾配が消失!もしくは発散! – パラメータを調整しきれていないので精度低い&安定しない!
畳み込みのマッピング • 直接の特徴マッピング • 残差による特徴マッピング – 入力xと出力H(x)が類似 – F(x)とH(x)-xの誤差が最小になるように学習 – 残差画像F(x)を入力xから推定するようにネットワークを学習
Underlying mapping : H (x)Re sidual mapping :F(x)H (x) = F(x)+ xF(x) = H (x)− x
Shortcut Connections • 畳み込みの順伝播に,入力を迂回させて繋ぐ – ひとつ以上のレイヤをスキップ – 入力を複数先のレイヤに飛ばす – 追加のパラメータが必要ない – 計算量の複雑性も増えない – 誤差逆伝播法で最適化可能
これのこと
最小構成の定義 • 残差マッピング + 入力x
– 左項:学習可能な残差マッピング – 右項:入力マップ
• もしFとxの次元数が異なる場合でも
– ショートカット側に線形射影のWsを与えて調整
y = F(x,{Wi})+ x
y = F(x,{Wi})+Wsx
アーキテクチャ比較 • 34層ResNet, 34層PlainNet, 19層VGGNet
アーキテクチャ比較 • VGGNetを参考にしているが,異なる点 – Max-poolingを用いていない
– ダウンサンプリングには(Poolingせず)ストライドを2x2にする
– ネットワークの出力にはGlobal Average Poolingにより1000パラメータへの全結合
– パラメータ数が18%に (VGG: 19.6 billion, Res: 3.6 billion)
– Shortcut Connectionによるパラメータや計算複雑性の増加は無い
各タスクへの対応 • ImageNet Classification
– 152層!
各タスクへの対応 • ImageNet Detection/Localization
– 50/101層! – Region Proposal Networks (RPN) from Faster R-CNN [Ren+, NIPS2015] – Faster R-CNNの識別をVGGNetからResNet-50/101に変更
• MS COCO Detection/Segmentation
– 50/101層!
実装 • パラメータ – 入力画像:224x224 – Data Augmentationアリ – Batch Normalization – SGDによる最適化 – ミニバッチサイズ:256 – 学習率の初期値は0.1 ( /10) – 最大60x104の繰り返し – Weight decay:0.0001 – Momentum:0.9 – Dropoutナシ
実装 • アーキテクチャ – パッチサイズ1x1,3x3,1x1を積層して3層で同じ出力になるようにする (VGGNetよりも計算コスト低)
ResNetの最適化 • Deepにしても勾配を学習可能 – (左) 単純にDeepにした例 – (右) ResNetによる学習 – 構造を深くするほど精度が向上
ILSVRC2015 テストセットでの実験 • 画像識別 (1,000クラス) – ResNet: 3.57% – GoogLeNet: 6.66% – VGGNet: 7.32%
ILSVRC2015 & Pascal VOC detection • 物体検出 (20クラス@Pascal VOC, 200クラス@ILSVRC) – 手法はFaster R-CNNのRegion Proposal Net. + ResNet – ResNet: 83.8% (Pascal VOC 2012), 62.1% (ILSVRC) – VGGNet: 70.4% (Pascal VOC 2012) – GoogLeNet: 43.9% (ILSVRC)
物体検出結果
セマンティックセグメンテーション結果