Q. 「ResNetの一番の利点は」?
このQ and A記事では,ResNetの利点点は? という質問に対して,管理人なりの回答を行う.言い換えると,「(ResNet以前の)従来型CNNバックーンと最も異なっていた点は?」という質問であるとも言える.
ちなみに,ここでいう「ResNet以前の従来型のCNN」とは,直前に提案され,スタンダードになりつつあったVGGNetやInceptionNetなどのバックボーン構造をさすものとする.
2. Answer
2.1 Answer 1:残差表現の直列化.
「残差表現の直列構成により,Encoder CNNを構成するようにした」というのが,Answerである.
ResNetの研究は,残差ブロック $F(\bm{x})$の「畳み込み層–ReLU–畳込み層」を1セットとみなし,その入り口と出口を残差接続(スキップ接続)で繋ぐ,残差ブロック表現(図1)の超Deep化を提案した(図2).
図1・図2の青色パスの残差接続(スキップ接続)部分がないものが,従来のVGGNetなどの構造であった.それが図2のように,「残差ブロックとスキップ経路の並列」を直列につないでいくことにより,ResNetは超深い50~150層の構成でも,勾配逆伝搬と順伝搬を,奥の方のブロックまで分散させやすくなった.おかげで,劣化問題なしに超深いネットワークも学習できるようになった.より詳しい話は,以下のResNet記事を参考にされたい.
2.2 Answer 2 :ワイド化ではなく、超直列化により性能向上
一方,当時はVGGNetのような直列路線ではなく,それと対照的な「並列化路線」のCNN構造の研究も試されていた.具体的には,ブロック内のワイド化(InceptionNetブロックなど)がそれに相当する
しかしそれまでの「AlexNet→VGGNet」の直列化路線を,ResNetは一気に超多層化することに成功した.つまり,「(InceptionNetなどのような)ワイド化路線ではなく超直列化」したことも,Questionの「一番の違い」の答えであるとも言える.ただし,残差接続の提案による超多層化したので,Answer 1の「残差表現の超直列の利用」が,従来CNNとの1番異なる点ではある.
ResNetはその後,WideResNetやResNeXtなど,「ResNetに,極端なワイド化(並列化)」を加える改善路線も登場して,CNNの性能改善に寄与した.したがって,結局は時系列的に,最初に「ResNetの残差接続が,極端なワイド化よりも先に登場しただけ」であるとも言える.
関連記事
関連書籍
- 深層学習 改訂第2版 (機械学習プロフェッショナルシリーズ) 岡谷貴之,講談社,2022.
- Probabilistic Machine Learning: An Introduction, Kevin Patrick Murphy , MIT Press, 2022.