原論文
Residual Networks Behave Like Ensembles of Relatively Shallow Networks
https://arxiv.org/pdf/1605.06431.pdf
日本語解説
ResNet なんて全く理解していないだけの人生だった(破)
https://qiita.com/kenmaro/items/07d72feac966008af034
結論
ResNetは浅い層のアンサンブル効果で性能向上したと考える.
概要
下図はResNetのスキップ接続を使用したモデル構造であり,(a)の構造図を展開すると(b)の構造図とも書くことができる.3層あるため,8パターンのルートが存在し,出力はその8ルートを合わせて計算する.各ルートが層数を↓に示す.
0層:1ルート
1層:3ルート
2層:3ルート
3層:1ルート
3層あるが,実際に3層を計算してるルートは1つしかない.ほとんどのルートは1層か2層しか計算しない.ResNetは,従来手法と比較して飛躍的に層数を増やすことが可能になり性能向上したが,その成功の秘訣は層を増やしたことなのか?
(b)の図は平均して1.5層の8ルートがあり,それぞれが合わさって出力値となる.これは,8つのアンサンブル学習の特徴と同じである.ResNetの成功の秘訣は,浅い層のアンサンブル効果なのかもしれない.
接続部分の切断
上図(b)のモデルの接続部分をランダムに複数切断する.すると青で示すResNetのエラー率はほぼ変化ない.しかし,オレンジで示すVGGのモデルでは,エラー率が低下しない.これは,アンサンブルの1つのルートが使えなくとも他ルートで補完する効果が確認できる.
層の削除とシャフル
ResNetの層をランダムに削除(a),ResNetの構成ブロックをシャフル(b)しても,誤差は緩やかに増加して,致命的なダメージを負わない.これも,アンサンブルから得られる恩恵と似ている.
貢献してるルート
ResNet50の場合(a)は各ルートの総数のカウントである.0~10,40~50層のルートは極端に少なく,25層あたりのルートが大半を占める.
(c)では,学習の際に,どのルートのものが学習により貢献しているのかを示す.結果として,比較的浅い層のルートが貢献する傾向にある.ResNetは深い層を実現しているけど,本来はゴールまでのルートが長くなっているのではなく,層をふっとばしてるので,本来は浅い層で学習して性能向上している.
まとめ
ResNetは深層が実現したことにより性能向上できたと思っていたが,実際は,深層ルートの関与は少なく,多くの浅い層で得られた情報を集めて,アンサンブル効果により性能向上したと考えられる.