この記事の読者
深層学習・ディープラーニングの手法の1つである「Residual Network」について知りたい.
Index
- Index
- Residual Network : ResNet とは
- Shortcut Connection / Skip Connection
- Residual Block (残差ブロック)
- 実装編
- 参考
Residual Network : ResNet とは
2015 年 Microsoft から発表されたCNN の改善手法.
精度を上げるために層を深くした際に発生した「勾配消失問題」へ改善を行った手法.
Shortcut Connection / Skip Connection
Skip Connection / スキップ接続とも呼ばれる、層を超えて情報を前に伝達する手法.
- Skip Layer Connection #まとめ編
この手法を用いることで「勾配消失問題」に対応した.
Residual Block (残差ブロック)
CNN と Shortcut Connection (Skip Connection) とを組み合わせたひとかたまりのブロック.
Residual Block を複数組み込むことで、ネットワークを構成していく.
- 左 : Plain Block
- 右 : Bottleneck Block
Residual Block のアーキテクチャには、 Bottleneck Block が採用されており、最後のレイヤでチャネル数を決める.
連結
提案されている Bottleneck Block では入力と出力の幅と高さのサイズが同じになるようにしているため、チャネルサイズさえ調整できれば、
テンサー同士の足し算が可能になり、連結は和演算で行うことが可能.
Input : W x H x C
Conv1 : kernel = 1 x 1, padding = 0, strode = 1, Channel = OC
Output1 : W x H x OC
Conv2 : kernel = 3 x 3, padding = 1, strode = 1, Channel = OC
Output2 : W x H x OC
Conv3 : kernel = 1 x 1, padding = 0, strode = 1, Channel = C
Output3 : W x H x C
Conv1 : kernel = 1 x 1, padding = 0, strode = 1, Channel = OC
Output1 : W x H x OC
Conv2 : kernel = 3 x 3, padding = 1, strode = 1, Channel = OC
Output2 : W x H x OC
Conv3 : kernel = 1 x 1, padding = 0, strode = 1, Channel = C
Output3 : W x H x C
実装編
- ResNet #実装編
- CNN を用いない Skip Layer Connection の実装
- yhayato1320.hatenablog.com
参考
- Deep Residual Learning for Image Recognition
- [2015]
- arxiv.org