オムライスの備忘録

数学・統計学・機械学習・プログラミングに関することを記す

【深層学習】Residual Network / ResNet

この記事の読者

深層学習・ディープラーニングの手法の1つである「Residual Network」について知りたい.

Index

Residual Network : ResNet とは

2015 年 Microsoft から発表されたCNN の改善手法.

精度を上げるために層を深くした際に発生した「勾配消失問題」へ改善を行った手法.

Shortcut Connection / Skip Connection

Skip 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

実装編

参考

  • Deep Residual Learning for Image Recognition