Residual Leaning: 認識ResNet與他的冠名後繼者ResNeXt、ResNeSt

Jia-Yau Shiau
AI Blog TW
Published in
16 min readJun 11, 2020

--

打從ResNet出現後,以residual block / residual learning為主架構的網路接連地在各個論文中出現,也正式撬開了深層數網路的時代。事實上,目前在computer vision上大部分主流的網路幾乎都使用了ResNet的觀念,也衍生出了許多的後繼者。

本篇論文主要會介紹ResNet,包含ResNet改變了什麼以及ResNet原版的幾個架構:ResNet50、ResNet101、ResNet152等等。以及介紹兩個名子跟他有夠像、超容易誤認的ResNeXt以及ResNeSt。前者為ResNet接近官方的後繼者,也是許多當代state-of-the-art (SOTA)的backbone網路,後者為今年現身,數據漂亮的新網路架構。

ResNet與一般網路架構差 (Figure from this paper)

文章難度:★★☆☆☆
閱讀建議:本篇文章大部著重介紹 ResNet的觀念,只要有 convolution neural network基本概念,即使沒看過 ResNet也可以理解。後面一小段則是介紹稍微小改動的 ResNeXt,難度也不高。最後介紹今年新的 ResNeSt,則比較進階一點,關於 ResNeSt的小爭議也放在了文章的末段。
推薦背景知識: convolution neural network、image classification。

ResNet

ResNet論文 [1]出來前,當時的網路相較於現在,都是非常淺的設計。這個原因在於當時較深的網路比較容易訓練不起來,使得更深的網路有時反而帶來更差的效果。而ResNet提出的residual learning簡單地使得深層網路更容易訓練,也開啟了各種超深網路的時代。

Residual / Bottleneck Block

ResNet的網路設計其實很naive,就是簡單地增加一條路線做單純的加法 (如下圖左),而這樣組合起來的convolution layer,論文稱為一個 (building) block,方法簡單卻使的深層網路訓練變得容易許多。而在疊更深的網路時,ResNet設計了bottleneck (building) block,降低3x3 convolution的寬度,大幅減少了所需的運算量。

Basic residual block and bottleneck block (Figure from this paper)

Why Residual Learning

--

--