読者です 読者をやめる 読者になる 読者になる

笑う猫の手

機械学習を学ぶ文系学生の勉強メモ

ResNetに関する情報をまとめた

Deep Residual Learning for Image Recognition
https://arxiv.org/abs/1512.03385

2015.10 伝説の152層DCNN。


モチベ
深くすることが正義だと考えられていた[1]が、深くし過ぎると性能が悪化することがわかっていた
※現在では広さも重要であるとされている

 

悪くなる理由は、

1. 逆伝播で小さな重みが何度も乗算されるため。degradation(=勾配消失・爆発)が起きる。[2]

消失: 浅い層では入力と出力の差が大きいため勾配を取りやすいが、深い層になるとその差が小さくなり、勾配が取りづらくなる。学習が進めばこの勾配は極めて小さくなり、やがて消滅してしまう。


2. 順伝播の際、ランダムに初期化された重みによって特徴が消えてしまい、後ろの層まで伝わらないため[2]

 

3. 単純に計算時間がかかる

[1]The Power of Depth for Feedforward Neural Networks
https://arxiv.org/abs/1512.03965
[2]Deep Networks with Stochastic Depth
https://arxiv.org/abs/1603.09382

 

解決策
identity mappingを追加し、Residual learningを行う

何層か前の情報をそのまま足すことで、その間の層は入力と最適な出力の差分(=残差)を学習する

 

何が良いのか?
feedforward時の情報消失を防げる。同様にbackpropagationの際も勾配消失しにくい。
入力が最適な出力に近ければ、重みを少しだけ更新すれば良い

 

派生研究
ResNetのモデル構造[3]
full pre-activationが一番良いらしい。 BN→ReLU→Conv→BN→ReLU→Conv→Concat

いろいろな派生モデル(有名所)[4]
Wide ResNet[5]]
浅くWideにしたほうが、パラメータは増えるが高精度+高速に学習できる
Residual unitの中にDropoutを入れることを提案

PyramidNet[6]
Deep Networks with Stochastic Depth[7]
Dropoutのようなイメージで、バッチ毎にResidual unitをランダムにDropする。
通常のResNetと比較して学習が早く高精度

PyramidSepDrop[8]
例の阪大の学生が趣味で発見したモデル
PyramidNet + Stochastic Depth
CIFAR-100/100でSOTA

ResNeXt[9]
ResNetは浅いネットワークのアンサンブル学習を行っている[10]

 

[3]Identity Mappings in Deep Residual Networks
https://arxiv.org/abs/1603.05027v1
http://qiita.com/supersaiakujin/items/eaa0fe0460c470c28bd8

[4]ConvNetの歴史とResNet亜種、ベストプラクティス
https://www.slideshare.net/ren4yu/convnetresnet

[5]Wide Residual Networks
https://arxiv.org/abs/1605.07146

[6]Deep Pyramidal Residual Networks
https://arxiv.org/abs/1610.02915

[7]Deep Networks with Stochastic Depth
https://arxiv.org/abs/1603.09382

[8]Deep Pyramidal Residual Networks with Separated Stochastic Depth
https://arxiv.org/abs/1612.01230

[9]Aggregated Residual Transformations for Deep Neural Networks
https://arxiv.org/abs/1611.05431

[10]Residual Networks Behave Like Ensembles of Relatively Shallow Networks
https://arxiv.org/abs/1605.06431

 

[お世話になった参考記事たち]
https://deepage.net/deep_learning/2016/11/30/resnet.html
http://qiita.com/supersaiakujin/items/935bbc9610d0f87607e8
https://www.slideshare.net/masatakanishimori/res-net
http://terada-h.hatenablog.com/entry/2016/12/13/192940

 

 

evernoteのメモから貼り付けたのですが箇条書きが綺麗に出なかった・・・
めちゃ見づらいので後日修正予定。