オムライスの備忘録

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

【深層学習】Residual Network : ResNet

この記事の読者

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


キーワード・知ってると理解がしやすい

  • CNN
  • Stacking

yhayato1320.hatenablog.com


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
    • 発表論文

arxiv.org