๐[๋
ผ๋ฌธ ๋ณด๋ฌ๊ฐ๊ธฐ](https://arxiv.org/abs/1512.03385)
๐[์ฝ๋ ๋ณด๋ฌ๊ฐ๊ธฐ](https://github.com/kuangliu/pytorch-cifar/blob/master/models/resnet.py)
# ์ฌ์ ์กฐ์ฌ
## Deep Residual Learning
- **Deep Residual Learning** ๋๋ **Residual Networks(ResNets)** ์ ๊น์ ์ ๊ฒฝ๋ง์ ํ๋ จํ๊ธฐ ์ํ ํ์ ์ ์ธ ๋ฐฉ๋ฒ๋ก ์ ๋งํ๋ค.
- ํต์ฌ ์์ด๋์ด๋ **์์ฐจ(residual) ์ฐ๊ฒฐ**์ ๋์
ํ์ฌ ์ธต์ ๊น๊ฒ ์์ ๋ ๋ฐ์ํ๋ **๊ธฐ์ธ๊ธฐ ์์ค(vanishing gradients)** ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด๋ค.
## ์ ํ์ํ ๊ฐ
- ์ ๊ฒฝ๋ง์ ์ฑ๋ฅ์ ๋์ด๊ธฐ ์ํด ์ธต์ ๊น๊ฒ ์๋ ๊ฒ์ด ์ผ๋ฐ์ ์ด์ง๋ง, ์ธต์ด ๊น์ด์ง์๋ก ํ์ต์ด ์ด๋ ค์์ง๋ค.
- **๊ธฐ์ธ๊ธฐ ์์ค (Vanishing Gradients)** : ์ญ์ ํ ๊ณผ์ ์์ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ ์๋ ดํ์ฌ ์์ชฝ ์ธต์ ๊ฐ์ค์น๊ฐ ๊ฑฐ์ ์
๋ฐ์ดํธ ๋์ง ์๋ ํ์.
- **์ฑ๋ฅ ์ ํ (Degradation)** : ์ธต์ด ๊น๊ฒ ์์์๋ก ์คํ๋ ค ํ๋ จ ์ ํ๋๊ฐ ๋ฎ์์ง๋ ํ์. ์ด๋ ๊ณผ์ ํฉ ๋๋ฌธ์ด ์๋๋ผ, ์ต์ ํ๊ฐ ๋ ์ด๋ ค์์ ธ ๋ฐ์ํ๋ค.
### ๊ธฐ์ธ๊ธฐ ์์ค์ ์ ์ผ์ด๋๋๊ฐ
- ๊ธฐ์ธ๊ธฐ ์์ค ํ์์ ์ฃผ๋ก **Sigmoid**๋ **tanh** ๊ณ์ด์ ํ์ฑํ ํจ์๋ฅผ ์ธ ๋ ๋ํ๋๋ ํ์์ด๋ค.
- **Sigmoid** ํน์ฑ์ ํจ์๋ ๋คํธ์ํฌ ์ธต์ด ๊น์ด์ง ์๋ก ์ถ๋ ฅ๊ฐ์ด ์๊ทน๋จ (0 ๋๋ 1)์ผ๋ก ๊ฐ๊ฒ ๋๋ ์ฑํฅ์ด ์๊ณ ์ด๋ฌํ ์ฑํฅ ๋๋ฌธ์ ์
๋ ฅ๊ฐ์ ์ฐจ์ด๊ฐ ๋ฏธ๋ฏธํด์ง๋ ๊ฒฝํฅ์ด ์๋ค.![[sigmoid.jpg]]
- ๋ํ ์ค์ฐจ๋ก๋ถํฐ ์์๋ ์ญ์ ํ์ **gradient**๊ฐ ์ด๊ธฐ์ธต์ผ๋ก ๋ด๋ ค๊ฐ ์๋ก ์ฒด์ธ๋ฃฐ์ ์ํด ๊ณฑํด์ ธ์ผ ํ ํญ๋ค์ด ๋ง์ด์ง๊ฒ ๋์ด ์ด๊ธฐ์ธต์ ๊ฐ๊น์ด ๊ฐ์ค์น๋ค์ **๊ธฐ์ธ๊ธฐ๊ฐ ๊ฑฐ์ 0์ ๊ฐ๊น์์ง๋ ํ์**์ด ๋ฐ์ํ๊ฒ ๋๋ค.
## ์์ฐจ ์ฐ๊ฒฐ (Residual Connection)
- ResNet์ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด **์์ฐจ ๋ธ๋ก(residual block)** ์ด๋ผ๋ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ค. ์์ฐจ ๋ธ๋ก์ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ค.
1. **Skip Connection (์ง๋ฆ๊ธธ ์ฐ๊ฒฐ)** : ์
๋ ฅ(x)์ ๋ธ๋ก์ ์ถ๋ ฅ์ ์ง์ ๋ํด์ฃผ๋ **์ง๋ฆ๊ธธ ์ฐ๊ฒฐ**์ ๋ง๋ญ๋๋ค.
2. **์์ฐจ ํจ์ (Residual Function)** : ๋ธ๋ก ๋ด์ ์ฌ๋ฌ ์ธต์ ํต๊ณผํ ์ถ๋ ฅ F(x)๋ **์์ฐจ ํจ์**๋ฅผ ๋ํ๋ธ๋ค.
3. **์ต์ข
์ถ๋ ฅ** : ๋ธ๋ก์ ์ต์ข
์ถ๋ ฅ์ $H(x) = F(x) + x$์ด๋ค.
- ์ฌ๊ธฐ์ **F(x)** ๋ `์
๋ ฅ x์ ์ถ๋ ฅ H(x)์ ์ฐจ์ด`์ธ **์์ฐจ**๋ฅผ ํ์ตํ๋ค. ์ฆ, ๋คํธ์ํฌ๋ H(x)๋ฅผ ์ง์ ํ์ตํ๋ ๋์ , $F(x) = H(x) - x$๋ฅผ ํ์ตํ๋ค.
- ๋ง์ฝ ๊น์ ์ธต์ด ํ์ ์๋ ๊ฒฝ์ฐ, ๋คํธ์ํฌ๋ $F(x) = 0$์ ์ฝ๊ฒ ํ์ตํ์ฌ **ํญ๋ฑ ํจ์**๋ฅผ ๋ง๋ค ์ ์๋ค. ์ฆ, $H(x) = x$๊ฐ ๋์ด ์
๋ ฅ์ด ๊ทธ๋๋ก ์ ๋ฌ๋๋ค. ์ด๋ ์ธต์ ์ถ๊ฐํ๋๋ผ๋ **์ฑ๋ฅ์ด ์ต์ํ ์ ํ๋์ง ์๋๋ก ๋ณด์ฅํ๋ ํจ๊ณผ๋ฅผ ๊ฐ์ ธ์จ๋ค.**
## ์์ฐจ ๋คํธ์ํฌ ํ์ต ๋ฐฉ๋ฒ
- **ํ๋์ ๋ธ๋ก**์ ์ค์ ํ๋ค. ์ด ๋ธ๋ก ์์๋ ์ฌ๋ฌ ์ธต์ ๋
ธ๋๋ค์ด ์กด์ฌํ๋ค.
- ์ด ๋ธ๋ก ์ ์ฒด๊ฐ $F(x)$๋ฅผ ์ถ๋ ฅํ๋๋ก ํ๋ จ ์ํจ๋ค. ๋ธ๋ก ๋ด์ ๋ชจ๋ ๋
ธ๋๋ค์ ์๋ก ํ๋ ฅํ์ฌ(๊ฐ์ค์น์ ํธํฅ์ ์กฐ์ ํ์ฌ) ๋ชฉํํ๋ $F(x)$๋ฅผ ๋ง๋ค์ด๋
๋๋ค.
- ์ด๋ ๋ธ๋ก์ ์
๋ ฅ์ธ x์ ๋ํด์ ธ ์ต์ข
์ถ๋ ฅ(H(x))์ด ๋ฉ๋๋ค.
## ResNet์ ์์
- ResNet์ ์ด๋ฏธ์ง ์ธ์ ๋ถ์ผ์์ ํ๊ธฐ์ ์ธ ์ฑ๋ฅ ํฅ์์ ๊ฐ์ ธ์์ผ๋ฉฐ, 2015๋
ImageNet ๋ํ์์ ์ฐ์น์ ์ฐจ์งํ๊ณ ์ดํ ๋ค์ํ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์ ๊ธฐ๋ณธ ๊ตฌ์กฐ๋ก ํ์ฉ๋๊ณ ์๋ค.
## ๋ด๊ฐ ์ดํดํ ๋ด์ฉ (๋์ ๋ฌธ์ฅ)
- ๋ณดํต ์ด์ ์ ์ ๊ฒฝ๋ง ํ์ต ๋ฐฉ๋ฒ์ $x$์ ๋ฃ์ด $H(x)$๋ฅผ ๊ตฌํ๊ธฐ ์ํด ์ฌ๋ฌ ๊ฐ์ค์น๋ฅผ ๋ณ๊ฒฝํ์ฌ ์ค์ฐจ๋ฅผ ์ค์ด๋ ๋ฐฉ์์ด๋ค. ํ์ง๋ง ์ด๋ฌํ ๋ฐฉ์์ ์ธต์ด ๊น์ด์ง ์๋ก **๊ธฐ์ธ๊ธฐ ์์ค**, **์ฑ๋ฅ ์ ํ (Degradation)** ๊ฐ ์ผ์ด๋๋ค.
- **ResNet**์ ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ ๋ต $H(x)$ ๋์ ์์ฐจ $F(x)$๋ฅผ ํ์ตํ์ฌ ์ ๋ต์ ๋ค๊ฐ๊ฐ ์ ์๋๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ด๋ค. ๋ค์ ๋งํด, $H(x)$์ $F(x) + x$ ์ฌ์ด์ **error**๋ฅผ ๊ณ์ฐํ๊ณ error ์ต์ํ ํ๊ธฐ ์ํด ๊ฐ์ค์น๋ฅผ ์กฐ์ ํ๋ค.
- **ResNet**์ $F(x) = 0$ ์ฆ, 0์ ํ์ตํ๋ ๋์ด๋๊ฐ ์ฝ๋ค. ์ง๊ธ๊น์ง ๊ณ์ํด์ **๊ธฐ์กด์ Plain Network**๋ *์๋ฌด๊ฒ๋ ํ์ง ์๋ ์์ ์ธต* ์ ๋ง๋๋ ๊ฒ์ด ๋๋ฌด ์ด๋ ค์ ๋ค. ์๋ํ๋ฉด ์ ๋ง์ ๊ฐ์ค์น๋ฅผ ๊ณ์ ๋ฐ๊พธ๋ฉด์ 0์ ๋ง๋ค์ด์ผ ํ๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง **ResNet**์ *F(x) = 0*์ ๋ฃ์ผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๊ธฐ์กด ๋ฐฉ์์ ๋นํด ๋งค์ฐ ์ฝ๋ค.
- *์๋ฌด๊ฒ๋ ํ์ง ์๋ ์์ ์ธต*์ ์ถ๊ฐํ๋ค๊ณ ๋น์ฐํ ์ฑ๋ฅ์ด ์ข์์ง์ง๋ ์๋๋ค. ํ์ง๋ง ์ด๋ฌํ ์ด ์ธต์ **์ฑ๋ฅ์ ํ**๋ฅผ ๋ง์ ์ ์๋ค. ์๋ ๊น์ด๊ฐ ๊น์ด์ง ์๋ก ๊ฐ์ค์น๊ฐ ๋ค์ํด์ง์ ๋ฐ๋ผ ์ฑ๋ฅ์ด ๋น์ฐํ ์ฆ๊ฐ๋๋๋ฐ, ๊ธฐ์กด์ ์ฑ๋ฅ์ ํ๋ฅผ ํด๊ฒฐํ๊ธฐ ๋๋ฌธ์ ๊ฒฐ๊ณผ์ ์ผ๋ก ๋น์ฐํ ์ฑ๋ฅ์ด ์ฆ๊ฐํ ์ ๋ฐ์ ์๋ค๋ ๊ฒ์ด๋ค.
### ๊ธฐ์กด ์ ๊ฒฝ๋ง์ ํ์ต vs. ์์ฐจ ๋คํธ์ํฌ์ ํ์ต
| ๊ตฌ๋ถ | ๊ธฐ์กด ์ ๊ฒฝ๋ง (Plain Network) | ์์ฐจ ๋คํธ์ํฌ (Residual Network) |
| ---------- | ---------------------------------------- | -------------------------------------------------------------------- |
| **๋ชฉํ ํจ์** | **H(x)** ๋ฅผ ํ์ต | **F(x)** ๋ฅผ ํ์ต |
| **ํ์ต ๊ณผ์ ** | ์
๋ ฅ $x$๋ฅผ ์ต์ข
์ถ๋ ฅ $H(x)$๋ก ์ง์ ๋ณํํ๊ธฐ ์ํด ๊ฐ์ค์น๋ฅผ ์กฐ์ | **์ด๋ฏธ ์กด์ฌํ๋ ์
๋ ฅ๊ฐ($x$)์ 'ํ์ํ ์์ '($F(x)$)๋ง์ ํ์ต**ํ์ฌ ๊น์ ์ ๊ฒฝ๋ง์ ํจ์จ์ ์ด๊ณ ์์ ์ ์ผ๋ก ํ๋ จ |
| **๊ฐ์ค์น ์กฐ์ ** | $H(x)$๊ฐ ์ ๋ต($x$)๊ณผ ์ผ์นํ๋๋ก ๊ฐ์ค์น๋ฅผ ์กฐ์ | $H(x)=F(x)+x$ ์ **๊ฐ๊น๋๋ก** ๊ฐ์ค์น๋ฅผ ์กฐ์ |
# Abstract
- ์ด์ ์ Deep neural networks๋ ํ์ตํ๋๊ฒ ์ด๋ ค์ ์ง๋ง, **residual learning framework**์ ์ฌ์ฉํ๋ฉด ๋ณด๋ค ์ฝ๊ฒ ํ์ต์ํฌ ์ ์๋ค.
- **ImageNet dataset**์์ **VGG nets**๋ณด๋ค 8๋ฐฐ ๋ ๊น์ **152 Layer Depth**๋ก ๋ง๋ค์ด์ง residual nets์ ์ด์ฉํด `3.57%`์ error์ ์ป์ด๋ผ ์ ์์๋ค. ์ด๋ฅผ ํตํด **ILSVRC 2015 classfication task**์์ 1๋ฑ์ ์ฐจ์งํ๋ค.
- **๊น์ด์ ๋ํ ํํ**์ **visual recognition tasks**์ ๋งค์ฐ ์ค์ํ ์ญํ ์ ๋งก๋๋ฐ **Deep Residual Nets**์ ๋คํธ์ํฌ๊ฐ ๊น์ด์ง์ ์์ด ์ผ์ด๋๋ ๋ฌธ์ ๋ค์ ํจ๊ณผ์ ์ผ๋ก ํด๊ฒฐํ๋ค.
# 1. Introduction
- ์ต๊ทผ(2015๋
๊ธฐ์ค) ์๊ฐ ์ธ์ ์์
๋ฐ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ฐ์ดํฐ์ ๋ํ ์ฃผ์ ๊ฒฐ๊ณผ๋ฅผ ๋ดค์ ๋ **๋คํธ์ํฌ ๊น์ด๊ฐ ๊น์ ์๋ก** ๋ฐ์ด๋ ์ฑ๋ฅ์ ๋ณด์ฌ์คฌ๋ค. ํ์ง๋ง ๊น์ด๊ฐ ๊น์ด์ง ์๋ก ํ์ตํ๊ธฐ ๋ ์ด๋ ค์์ง๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
- Network๊ฐ ๊น์ด์ง ์๋ก **vansihing/exploding gradients** ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ ๋ ๊ฐ์ง ๊ธฐ์ ๋ก ํด๊ฒฐ๋์๋ค.
- **Normalized Initialization(์ด๊ธฐ๊ฐ์ ์ ์ค์ ํ๊ธฐ)** : ์ ๊ฒฝ๋ง ๊ฐ์ค์น๋ฅผ ๋ฌด์์๊ฐ ์๋ **์ข์ ์ด๊ธฐ๊ฐ**์ ์ ์ฐพ์์ฃผ๋ ๋ฐฉ์
- **Intermediate Normalization Layers(์ค๊ฐ์ค๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ๊ทํํ๊ธฐ)** : ์ ๊ฒฝ๋ง์ ์ธต ์ฌ์ด์ **์ ๊ทํ ์ธต(Normalization Layer)** ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ด๋ค. ์ด๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ ๋ถํฌ๊ฐ ๋๋ฌด ์ปค์ง๊ฑฐ๋ ์์์ง์ง ์๋๋ก ์ค๊ฐ์ ์์ ์ ์ผ๋ก ๋ง์ถฐ์ฃผ๋ ์ญํ ์ ํ๋ค. ๋ํ์ ์ธ ์์๊ฐ (`Batch Normalization`)
- ์ด ๋ ๊ฐ์ง ๊ธฐ์ ๋ก ํ๋ฅ ์ ๊ฒฝ์ฌ ํ๊ฐ๋ฒ(**Stochastic gradient descent(SGD)**)์ด๋ผ๋ ํ์ต ๋ฐฉ๋ฒ์ผ๋ก ์ค์ฐจ๋ฅผ ์ค์ฌ๊ฐ๋ฉฐ ํ์ต(**converge**)์ ์์ํ ์ ์๊ฒ ๋์๋ค. / (converge : **์ค์ฐจ(loss)๊ฐ ์ ์ ์ค์ด๋ค๊ณ ์์ ๋๋ ์ํ**๋ฅผ ์๋ฏธ)
- ํ์ง๋ง ์ด๋ฌํ ๋ฐฉ์๋ค์ ๊น์ด๊ฐ ๊ธธ์ด์ง ๋ ์๊ธฐ๋ **๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ **๋ ํด๊ฒฐํ์ง๋ง **์ฑ๋ฅ ์ ํ ๋ฌธ์ **๋ ํด๊ฒฐํ์ง ๋ชปํ๋ค. ์ฑ๋ฅ ์ ํ ๋ฌธ์ ๋ **๊ณผ์ ํฉ** ๋๋ฌธ์ ๋ฐ์ํ๋ ๊ฒ์ด ์๋๋ผ **์ต์ ํ๋ฅผ ํ์ง ๋ชปํด** ๋ฐ์ํ๋ ๊ฒ์ด๋ค. CIFAR-10์์ Layer๊ฐ 20์ธต์ธ model๊ณผ 56์ธต์ธ model์ ๋น๊ตํ์ ๋, **Training Error**์ **Test Error** ๋ชจ๋ Layer๊ฐ 20์ธต ๋ณด๋ค 56์ธต์ธ Model์์ ๋ ๋๊ฒ ๋์๋ค.
![[Error with 20-layer and 56-layer.png]]
- ์ด๋ก ์ ์ผ๋ก๋ ๊น์ ๋ชจ๋ธ์ด ์์ ๋ชจ๋ธ๋ณด๋ค ์ฑ๋ฅ์ด ๋์ ์ด์ ๊ฐ ์๋ค. ์๋ํ๋ฉด ๊น์ ๋ชจ๋ธ์ ์๋ฌด ๊ธฐ๋ฅ๋ ํ์ง ์๋ ์์ ์ธต์ ์ถ๊ฐํ๋ค๊ณ ์ฑ๋ฅ์ด ๋๋น ์ง๋ค๋ ๋
ผ๋ฆฌ์ ๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค. ํ์ง๋ง ์คํ์ ๊ฒฐ๊ณผ์์ ๋ดค๋ฏ์ด ์๋ฌด๊ฒ๋ ํ์ง ์๋ ์ ๊ฒฝ๋ง์ ๋ง๋ค์ด๋ด์ง ๋ชปํ๊ณ ์คํ๋ ค ๊ธฐ์กด **์ฑ๋ฅ์ ์ ํ(Degradation)** ์ํค๋ ํ์์ด ๋ํ๋ฌ๋ค.
- ์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด **deep residual learning framework**๋ฅผ ์ฌ์ฉํ๋ค. deep residual learning framework์ **Underly mapping** ๋์ **Residual Mapping**์ ๊ตฌํ๋ค.
- **Underly mapping** : ๊ธฐ์กด ์ ๊ฒฝ๋ง์ด ํ์ตํ๋ ค๋ ์ต์ข
์ ์ธ ํจ์ $H(x)$
- **Residual Mapping** : ์์ฐจ ๋คํธ์ํฌ๊ฐ ํ์ตํ๋ ค๋ ๋ณํ๋ ํจ์ $F(x)$, ์ต์ข
์ถ๋ ฅ์ $H(x) = F(x) + x$
- *Residual Mapping*์ ์ฌ์ฉํ๋ฉด ์๊น ์ ์ ๋งํ๋ '์๋ฌด ๊ธฐ๋ฅ๋ ํ์ง ์๋ ์์ ์ธต'์ $F(x) = 0$์ ํตํด ์ฝ๊ฒ ๋ง๋ค ์๋ ์๋ค. (์ ํํ๋ ์ด๋ฅผ ํ๋๋ก ์ ๋ํ๋ ๊ฑฐ์, ๊ธฐ์กด *Underly mapping* ๋ณด๋ค ์ฌ์)
- **deep residual learning framework**์์๋ **shortcut connections**์ด ์กด์ฌํ๋ค. ์ด์ ๊ฐ์ ๋ค๋ฅธ ์ธต๋ค์ ๊ฑฐ์น์ง ์๊ณ ๊ทธ ๋ค์ ์ธต ๋๋ ๋ ๋ง์ ์ธต๋ค์ ๋ฐ์ด ๋์ด ํด๋น ๊ฐ์ ์ ๋ฌํ๋ค. ์ด๋ฅผ ํตํด ์ฌ๋ฌ Layer๋ค์ ๊ฑฐ์ณ ์ป์ด๊ฐ $F(x)$์ *shortcut connections*์ ํตํด ๋์ด๊ฐ $x$๊ฐ์ ๋ ํด $H(x) = F(x) + x$์ด ์์ฑ๋๋ค. ์ด๋ฌํ *shortcut connections*์ **Identity mapping**์ด๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค.
![[Residual Learning ShortCut.png]]
- ์ด๋ฌํ **ResNets**์ ๊ธฐ์กด ๋ฐฉ์(**plain nets**)๋ณด๋ค ๋ ์ต์ ํ ํ๊ธฐ ์ฝ๊ณ ์ ํ๋๊ฐ ๋์๋ค. ๋ํ ์ด ๋ฐฉ์์ *vision* ๋ฟ๋ง ์๋๋ผ *non-vision problem*๋ ํด๊ฒฐ ๊ฐ๋ฅํ **์ผ๋ฐ์ ์ผ๋ก ์ ์ฉ ๊ฐ๋ฅํ ๋ฐฉ์**์ด๋ค.
# 2. Related Work
## Residual Representations
- **๊ธฐ์กด ๋ฐฉ์**(์๋ณธ ๋ฐ์ดํฐ ์ฌ์ฉ)์ **์ด๋ฏธ์ง ์ ์ฒด(๋ชจ๋ ํฝ์
๊ฐ)๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ์ฌ ํํํ๋ ๋ฐฉ์**์ด๋ผ ๋ฐ์ดํฐ๊ฐ ๋๋ฌด ๋ฐฉ๋ํ๊ณ ๋นํจ์จ์ ์ด๋ค.
- **์์ฐจ ๋ฐฉ์(์์ฐจ ํํ)** ์ **์ฌ์ (dictionary)** ์ด๋ผ๋ ๊ฒ์ ๋ง๋ ๋ค. ์ฌ๊ธฐ์ ์ฌ์ ์ ํน์ ์ด๋ฏธ์ง์ ๋ํ ๋ช ๊ฐ์ง ๋ํ์ ์ธ ํํ๋ฅผ ๋ฏธ๋ฆฌ ์ ์ฅํด๋ ์ผ์ข
์ **ํฌํ๋ฆฟ ๋ชจ์**์ด๋ค. ์ด๋ฌํ ์ฌ์ ์ ์ด์ฉํด ํน์ ์ด๋ฏธ์ง๊ฐ ๋ค์ด์ค๋ฉด ํด๋น ์ด๋ฏธ์ง๋ ์ฌ์ ์ด๋ ์ผ๋ง๋ ๋ค๋ฅธ์ง๋ง ๊ธฐ๋กํ๋ค. ์ฆ, **์๋ณธ๊ณผ ํฌํ๋ฆฟ์ ์ฐจ์ด(์ ์ฐจ(residual))๋ง ๊ธฐ๋กํ๋ค.**
- **VLAD**์ **Fisher Vector**๋ ํด๋น **์์ฐจ**๋ฅผ ์ด์ฉํด ์ด๋ฏธ์ง๋ฅผ ํํํ๋ ๋ํ์ ์ธ ๊ธฐ์ ์ด๋ค. ํด๋น ๊ธฐ์ ๋ค์ ๋ฅ๋ฌ๋ ๋ฑ์ฅ ์ , ์ด๋ฏธ์ง ๊ฒ์์ด๋ ๋ถ๋ฅ ๋ถ์ผ์์ ๋งค์ฐ ๊ฐ๋ ฅํ ์ฑ๋ฅ์ ๋ณด์ฌ์ค **์์ ํํ(Shallow representations)** ๋ฐฉ์์ด๋ค.
- **VLAD** : ์ฃผ์ด์ง ์ด๋ฏธ์ง์ ํน์ง๋ค์ ์ฌ์ ์ ํ
ํ๋ฆฟ๊ณผ ๋น๊ตํ์ฌ ๊ทธ **์์ฐจ ๋ฒกํฐ**๋ค์ ๋ชจ์์ ํ๋์ ๋ฒกํฐ๋ก ๋ง๋๋ ๋ฐฉ์์ด๋ค.
- **Fisher Vector** : VLAD๋ฅผ ํ๋ฅ ์ ์ผ๋ก ๋ ์ ๊ตํ๊ฒ ๋ฐ์ ์ํจ ๋ฐฉ์์ด๋ค.
- ์ปดํจํฐ ๋น์ ๊ณผ ๊ทธ๋ํฝ์ค ๋ถ์ผ์๋ *์ ์ฐจ*๋ฅผ ํ์ฉํด ๋ฌธ์ ํด๊ฒฐ ํ๋ ๋ฐฉ๋ฒ๋ค์ด ์ค๋์ ๋ถํฐ ์กด์ฌํ๋ค. ์ฆ **๋ณต์กํ ๋ฌธ์ ๋ฅผ ํ ๋, ๋ฌธ์ ์ ์ฒด๋ฅผ ํ ๋ฒ์ ํด๊ฒฐํ๋ ๊ฒ๋ณด๋ค '์ฌ๋ฌ ๋จ๊ณ์ ๊ฑธ์ณ ํ์ํ ๋ณํ๋(์์ฐจ)'๋ง ํด๊ฒฐํ๋ ๊ฒ์ด ํจ์ฌ ๋ ํจ์จ์ ์ธ ๊ฒ**์ด๋ค.
- ์์ฐจ ๋ฐฉ์(Multigrid / ๊ณ์ธต์ ๊ธฐ์ ๋ฐฉ๋ฒ)์ ๊ฑฐ์น ๋จ๊ณ์ ์ธ๋ฐํ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ๊ทธ๋ฆผ์ ๊ทธ๋ฆฐ๋ค.
- **1๋จ๊ณ (Coarser scale, ๊ฑฐ์น ๋จ๊ณ)**: ๋จผ์ ์์ฃผ ๊ฑฐ์น ๊ณ ๊ฐ๋จํ ์ค์ผ์น๋ฅผ ๋น ๋ฅด๊ฒ ๊ทธ๋ฆฐ๋ค.
- **2๋จ๊ณ (Finer scale, ์ธ๋ฐํ ๋จ๊ณ)**: ์ด์ ์ด ๊ฑฐ์น ์ค์ผ์น ์์ ์ธ๋ฐํ ๋ถ๋ถ๋ค์ ์ถ๊ฐํ๋ค. ์ด๋, **'๊ฑฐ์น ์ค์ผ์น์ ์ต์ข
์์ฑ๋ณธ ์ฌ์ด์ ์ฐจ์ด', ์ฆ '์์ฐจ'** ๋ง์ ์ฑ์ ๋ฃ๋ ์์
์ ์ง์คํ๋ค.
## Shortcut Connections
- **Shortcut Connection**๋ *ResNet*์ ๋
์ฐฝ์ ์ธ ์์ด๋์ด๊ฐ ์๋๋ผ ์์ญ ๋
๋ถํฐ ์์๋ ์์ด๋์ด๋ค.
- **์ด๊ธฐ MLP (๋ค์ธต ํผ์
ํธ๋ก )** : ๋คํธ์ํฌ์ ์
๋ ฅ๊ฐ๊ณผ ์ถ๋ ฅ๊ฐ์ ์ ํ์ ์ผ๋ก ์ฐ๊ฒฐํ์ฌ, ํ์ต์ ๋ ์์ ์ ์ผ๋ก ๋ง๋ค์๋ค.
- **๋ณด์กฐ ๋ถ๋ฅ๊ธฐ (Auxiliary Classifiers)**: ์ค๊ฐ ์ธต์ ์ถ๊ฐ์ ์ธ ๋ถ๋ฅ๊ธฐ๋ฅผ ์ฐ๊ฒฐํด, ๊น์ ๋คํธ์ํฌ์ ํ์ต์ ๋ฐฉํดํ๋ **๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ **๋ฅผ ํด๊ฒฐํ๋ ค ํ๋ค.
- **์ธ์
์
๋ ์ด์ด (Inception Layer)**: ์ธ์
์
๊ตฌ์กฐ์๋ ์ง๋ฆ๊ธธ ์ญํ ์ ํ๋ ๋ธ๋์น๊ฐ ํฌํจ๋์ด ์์ต๋๋ค
- ํ์ง๋ง ์ด๋ฌํ ๊ธฐ์ ๋ค์ ์์ฃผ ๊น์ ๋คํธ์ํฌ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํ๋ จํ๋๋ฐ์๋ **ํ๊ณ**๊ฐ ์์๋ค.
- **ํ์ด์จ์ด ๋คํธ์ํฌ** ๋ํ **๊ฒ์ดํธ**๋ผ๋ ์ฅ์น๋ฅผ ํตํด **์ ๋ณด์ ํ๋ฆ์ ์กฐ์ **ํ๋๋ฐ ์ด ๊ธฐ๋ฅ์ 100์ธต ์ด์ ๊น์ด์ง๋ฉด ์คํ๋ ค ํ์ต์ด ์ ๋๋ก ๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค. ํ์ง๋ง ๋ฐ๋๋ก **ResNet**์ ๊ฒ์ดํธ ์์ด **'ํญ์ ์ด๋ ค ์๋ Identity Mapping'** ์ ํตํด ์๋ฌด๋ฆฌ ์ธต์ ๊น๊ฒ ์์๋ ํ์ต์ด ์ํํ๊ฒ ์งํ๋์๋ค.
# 3. Deep Residual Learning
## 3.1 Residual Learning
- ๊ธฐ์กด์ ์ ๊ฒฝ๋ง์์ ์ต์ข
์ ์ผ๋ก ๊ตฌํ๋ ค๋ ๊ฐ์ $H(x)$๋ผ ํ๊ณ Resnet์์ ๊ตฌํ๋ ค๋ ๊ฐ์ $H(x) -x$๋ผ ๊ฐ์ ํ์. ์ด ๊ณผ์ ์์ ์์ฐจํจ์๋ฅผ $F(x) = H(x) - x$๋ผ๊ณ ์ ์ํ๋ฉด **Original Function(์ต์ข
์ ์ธ ๊ฐ)** ์ $H(x) = F(x) + x$๋ผ ํ ์ ์๋ค.
- ์ด๋ฌํ ๋ณํ๋ ํ์ต์ฑ ์ฉ์ด์ฑ(ease of learning)์ด ๋ค๋ฅด๋ค. ๋ค์ ๋งํด, **'ํ์ํ ๋ณํ๋'์ ํ์ตํ๋ ๊ฒ์ด '๋ณต์กํ ํจ์ ์ ์ฒด๋ฅผ ํ์ตํ๋ ๊ฒ'๋ณด๋ค ํจ์ฌ ์ฌ์ด ๋ฌธ์ **๋ก ๋ฐ๋๋ค.
- *Introduction*์์ ๋งํ๋ฏ์ด ๊น์ด๊ฐ ๋ ๊น์ ์ ๊ฒฝ๋ง์ด ์์ ์ ๊ฒฝ๋ง๋ณด๋ค error๊ฐ ๋ ๋์ ๊ฒ์ ๋ง์ด ์๋๋ค. ์ด๋ฌํ ๋ฌธ์ ๊ฐ ์ผ์ด๋๋ ์ด์ ๋ ๊ธฐ์กด ์ ๊ฒฝ๋ง ๋ฐฉ์์ ์ด **Identtiy mapping**์ ๋ง๋๋๋ฐ, ์ด๋ ค์์ ๋๋๋ค๋ ๊ฒ์ด๋ค.
- ์ฌ๊ธฐ์ **ResNet**์ ํต์ฌ์ ์ธ ์๋๊ฐ ์ฒ์ $x$ ๊ฐ์ ๊ทธ๋๋ก ์ฌ์ฉํ์ฌ ํ์ต ๋ชฉํ๋ฅผ $F(x) = H(x) - x$๋ก ๋ฐ๊พธ๋ ๊ฒ์ด๋ค.(๋ง์ฝ ๊ฒฐ๊ณผ๊ฐ ํญ๋ฑ๊ฐ์ด์ฌ์ผ ํ๋ค๋ฉด $H(x) = x$์ด๊ธฐ ๋๋ฌธ์ $F(x) = 0$์ด๋ค.) ์ด๋ ๊ฒ ํ๋ฉด ์ ๋ต๊ณผ ๋งค์ฐ ์ ์ฌํ ๊ฐ(ํญ๋ฑ ํจ์)์์ ์์ํด์ **์์ ๋ณํ๋(์ ์ฐจ)** ๋ง ์ฐพ์ผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์ฌ์ด ๋ฌธ์ ๊ฐ ๋๋ค.
## 3.2 Identity Mapping by Shortcuts
- ์์ฐจ ๋ธ๋ญ์ ํต์ฌ ๊ณต์์ $y = F(x, {W_i}) + x$์ด๋ค.
- *F* ์์ $x$ : ๋ธ๋ก์ ๋ค์ด๊ฐ๋ ์
๋ ฅ ๊ฐ
- $y$ : ๋ธ๋ก์์ ๋์ค๋ ์ต์ข
์ถ๋ ฅ ๊ฐ
- $F(x, {W_i})$ : ๋ธ๋ก ๋ด์ ์๋ ์ฌ๋ฌ ์ธต์ด ํ์ตํ๋ **๋ณํ๋**์ด๋ค. ${W_i}$๋ ์ด ์ธต๋ค์ ๊ฐ์ค์น๋ฅผ ์๋ฏธํ๋ค.
- $+x$ : **shortcut connection**์ ํตํด ์
๋ ฅํ $x$๊ฐ ๊ทธ๋๋ก ๋ํด์ง๋ ๋ถ๋ถ์ด๋ค.
- **์ด ๊ณต์์ ์ถ๋ ฅ์ ์
๋ ฅ๊ฐ์ 'ํ์ต๋ ๋ณํ๋'์ ๋ํ ๊ฒ๊ณผ ๊ฐ๋ค.** ๋ผ๋ ๋ป์ด๋ค.
- ์ค์ฉ์ ์ธ ์ค๊ณ ์์น
1. *shortcut connection*์ ๋น์ฉ์ ๊ฑฐ์ ๋ค์ง ์๋๋ค.
- ๋จ์ํ ๋ํ๊ธฐ ์ฐ์ฐ๋ง ์ถ๊ฐ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ณต์กํ ์ฐ์ฐ์ด ํ์์๋ค.
2. ์
๋ ฅ ๊ฐ๊ณผ ์ถ๋ ฅ ๊ฐ์ ์ฐจ์์ ๋ง์ถฐ์ผ ํ๋ค.
- ์
๋ ฅ($x$)๊ณผ ์ถ๋ ฅ($F$)์ด ๋ค๋ฅผ ๊ฒฝ์ฐ ์ด ๋์ ๋ํ ์ ์๊ธฐ ๋๋ฌธ์ **ํฌ๊ธฐ ์กฐ์ ๋ฉํธ๋ฆญ์ค($W_s$)** ๋ฅผ ์ฌ์ฉํ์ฌ $x$์ ํฌ๊ธฐ๋ฅผ ๋ง์ถฐ์ฃผ์ด์ผ ํ๋ค.
3. $F(x)$๋ ์ฌ๋ฌ ์ธต์ผ๋ก ๊ตฌ์ฑ๋์ด์ผ ํ๋ค.
- $F(x)$๊ฐ ๋จ ํ ๊ฐ์ ์ธต์ผ๋ก๋ง ๊ตฌ์ฑ๋ ๊ฒฝ์ฐ **ResNet**์ ์ฑ๋ฅ ํฅ์์ด ์ ๋๋ก ๋ํ๋์ง ์๊ธฐ ๋๋ฌธ์ $F(x)$/์์ฐจ ๋ธ๋ก์ ๋ณดํต ๋์ธ ๊ฐ์ ์ธต์ผ๋ก ๊ตฌ์ฑ๋๋ค.
4. **CNN**์๋ ์ ์ฉ ๊ฐ๋ฅํ๋ค.
- CNN์๋ ๊ทธ๋๋ก ์ ์ฉ ๊ฐ๋ฅํ๊ณ ํฝ์
๋์ **ํน์ง ๋งต(feature map)** ๋จ์๋ก *shortcut connection*์ ์ฐ๊ฒฐํ๊ณ ๋ํ๋ ์ฐ์ฐ์ ์ํํ๋ค.
## 3.3 Network Architectures
- **์ผ๋ฐ ์ ๊ฒฝ๋ง(Plain Network)์ ์์ฐจ ์ ๊ฒฝ๋ง(Residual Network)** ์ ์ฐจ์ด๋ฅผ ๋ณด๊ธฐ ์ํด ์ ์ฒด์ ์ธ ๊ตฌ์กฐ์ ์ธต์ ๊น์ด ๊ณ์ฐ๋์ ๊ฑฐ์ ๋์ผํ๊ฒ ๋ง๋ค๊ณ **shortcut connections** ์ ๋ฌด ๋ง์ ์ฐจ์ด๋ก ๋๊ณ ๊ณต์ ํ๊ฒ ์ฑ๋ฅ์ ๋น๊ตํ๋๋ก ์ค๊ณํด๋ณด์.
- **Plain Network**์ ์ ๋ช
๋ชจ๋ธ **VGG ๋ชจ๋ธ**์ ์ฒ ํ์ ๋ฐ๋ผ ๋จ์ํ ๊ท์น์ผ๋ก ์ค๊ณํ์๋ค. (34์ธต์ Layer)
- ๊ท์น 1 : ๊ฐ์ ํฌ๊ธฐ์ ์ด๋ฏธ์ง ํน์ง๋งต(feature map)์์๋ **Filter์ ์๋ฅผ ๋์ผํ๊ฒ ์ ์ง**ํ๋ค.
- ๊ท์น 2 : ํน์ง๋งต ํฌ๊ธฐ๊ฐ ์ ๋ฐ์ผ๋ก ์ค์ด๋ค ๋, **Filter ์๋ ๋ ๋ฐฐ**๋ก ๋๋ ค ์ฐ์ฐ๋์ ์ผ์ ํ๊ฒ ์ ์งํ๋ค.
- **Residual Network**์ *Plain Network*์ ๊ธฐ๋ฐ์ผ๋ก, ๊ทธ ์์ **shortcut connections**๋ง ์ถ๊ฐํ์ฌ ๋ง๋ค์๋ค.
- ๊ท์น 1 : ์
๋ ฅ๊ณผ ์ถ๋ ฅ ํฌ๊ธฐ๊ฐ ๊ฐ์ ๋, ์
๋ ฅ ๊ฐ์ ๊ทธ๋๋ก ์ถ๋ ฅํด ๋ํด์ฃผ๋ **identity mapping**์ ์ฌ์ฉํ๋ค.
- ๊ท์น 2 : ์
๋ ฅ๊ณผ ์ถ๋ ฅ ํฌ๊ธฐ๊ฐ ๋ค๋ฅผ ๋, ์ด๋ด ๋๋ ์ ์ ๋งํ ๊ฑฐ์ฒ๋ผ ๊ทธ๋ฅ ๋ํ ์๋ ์๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด 2๊ฐ์ง ์ต์
์ ์ฌ์ฉํ๋ค.
- ์ต์
A (๋งค๊ฐ๋ณ์ ์์) : **zero-padding**์ ํตํด ํฌ๊ธฐ๋ฅผ ๋ง์ถ๋ค. ์ด ๋ฐฉ์์ ์ถ๊ฐ์ ์ธ ํ์ต ๋งค๊ฐ๋ณ์๊ฐ ํ์ ์๋ค.
- ์ต์
B (๋งค๊ฐ๋ณ์ ์์) : **1x1 ํฉ์ฑ๊ณฑ(convolution)** ์ ์ฌ์ฉํด ์
๋ ฅ ๊ฐ์ ํฌ๊ธฐ๋ฅผ ์ถ๋ ฅ์ ๋ง๊ฒ ๋ณํํ๋ค. ์ด ๋ฐฉ๋ฒ์ ์ถ๊ฐ ๋งค๊ฐ๋ณ์๊ฐ ํ์ํ์ง๋ง ๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์ผ ์๋ ์๋ค.
## 3.4 Implementation
- ResNet ๋ชจ๋ธ์ ํ์ต์ํค๊ธฐ ์ํ ๋ฐ์ดํฐ ํ๋ จ ๋ฐฉ๋ฒ
- **์ด๋ฏธ์ง ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ**
- **ํฌ๊ธฐ ์กฐ์ ** : ์ด๋ฏธ์ง์ ์งง์ ์ชฝ์ 256์์ 480 pexel ์ฌ์ด์ ๊ฐ์ ๋ฌด์์๋ก ์กฐ์
- **์๋ฅด๊ธฐ** : 224 x 224 ํฌ๊ธฐ์ ์์ญ์ ์ด๋ฏธ์ง์์ ๋ฌด์์๋ก ์๋ผ๋ด๊ณ ์ข์ฐ๋ก ๋ค์ง์
- **ํ๊ท ๊ฐ ์ ๊ฑฐ** : ๊ฐ ํฝ์
๊ฐ์์ ์ ์ฒด ์ด๋ฏธ์ง์ ํ๊ท ๊ฐ์ ๋นผ๋ ์์
์ ์งํ ( ๋ฐ์ดํฐ๊ฐ 0์ ์ค์ฌ์ผ๋ก ์์นํ๋ฉด ๊ฐ์ค์น ๋ฐฉํฅ์ด ๋ ์์ ์ ์ผ๋ก ๋ณํ๊ฒ ๋ ํ๋ค.)
- **์์ ์ฆ๊ฐ** : ์์์ ๋ฌด์์๋ก ๋ณ๊ฒฝํ์ฌ ๋ชจ๋ธ์ด ๋ค์ํ ํ๊ฒฝ์ ๊ฐํด์ง๋๋ก ํจ.
- **๋ชจ๋ธ ์ค์ **
- **๋ฐฐ์น ์ ๊ทํ(BN)** : ๊ฐ ํฉ์ฑ๊ณฑ ์ฐ์ฐ ์งํ, ํ์ฑํ ํจ์ ์ด์ ์ ๋ฐฐ์น ์ ๊ทํ ์ธต์ ๋ฐฐ์นํจ
- **๊ฐ์ค์น ์ด๊ธฐํ** : ํน๋ณํ ์ด๊ธฐํ ๋ฐฉ๋ฒ(**He Initialization**) ์ฌ์ฉ
- **์ต์ ํ** : *SGD*๋ฅผ ์ฌ์ฉํด ํ ๋ฒ์ 256๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ์ฒ๋ฆฌํจ
- **ํ์ต ๊ท์น**
- **ํ์ต๋ฅ ** : 0.1์์ ์์ํด, ๋ชจ๋ธ์ ์ค์ฐจ๊ฐ ๋ ์ด์ ์ค์ด๋ค์ง ์์ ๋๋ง๋ค 10์ผ๋ก ๋๋์ด ๊ฐ์ ์ค์๋ค.
- **ํ๋ จ ํ์** : ์ด 60๋ง ๋ฒ์ ๋ฐ๋ณต์ ์ํํจ.
- **๊ท์ ** : ๊ณผ์ ํฉ์ ๋ง๊ธฐ ์ํด **๊ฐ์ค์น ๊ฐ์ (weight decay)**์ **๋ชจ๋ฉํ
(momentum)** ์ ์ฌ์ฉํจ
- **๋๋กฏ์์ ๋ฏธ์ฌ์ฉ** : **๋๋กญ์์(dropout)** ์ ์ฌ์ฉํ์ง ์์์
# 4. Experiments
## 4.1 ImageNet Classification
- ImageNet์์ *Plain Networks*์ ๊ฒฐ๊ณผ๋ฅผ ๋ดค์ ๋ 18 Layer๋ณด๋ค 34 Layer์ผ ๋ ์คํ๋ ค **validation error**๊ฐ ๋ ๋๊ฒ ๋์๋ค. ๋ฐ๋ฉด *ResNet*์ ์ธต์ด ๋์์ก์ ๋ error๊ฐ ๋ ์ ๊ฒ ๋์จ ๊ฑธ์ ํ์ธ ํ ์ ์๋ค.
![[Top-1 error on ImageNet validation.png]]
- ์ด๋ฌํ ์ต์ ํ์ ์ด๋ ค์(์ฑ๋ฅ ์ ํ)์ **๊ธฐ์ธ๊ธฐ ์์ค**์ ์ํด ์ ๋ฐ๋ ๊ฒ์ด ์๋๋ผ **๋งค์ฐ ๋๋ฆฐ ํ์ต ์๋(๋งค์ฐ ๋ฎ์ ์๋ ด์๋)** ๋๋ฌธ์ผ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
- ๊ทธ ์ด์ ๋ ์ ์๋ค์ ์ด๋ฏธ **๋ฐฐ์น ์ ๊ทํ(BN)** ์ ์ฌ์ฉํ๋๋ฐ, ์ด๋ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด๊ณ ์ค์ ๋ก ์คํ์ ํตํด ๋ชจ๋ธ์ ํ์ต ์ ํธ(๊ธฐ์ธ๊ธฐ)๊ฐ ์ ์ ๋ฌ๋จ์ ํ์ธํ๋ค.
- ๋ํ ๊ธฐ์ธ๊ธฐ๊ฐ ์์ ํ ์์ค๋์๋ค๋ฉด ํ์ต์ด ๊ฑฐ์ ๋ถ๊ฐ๋ฅ ํ์ ํ
๋ฐ, ์ฑ๋ฅ์ด ์ ํ๋์๊ธด ํ์ง๋ง **๊ด์ฐฎ์ ์ ํ๋**๋ฅผ ๋ณด์ด๊ธด ํ๋ค.
- ImageNet์์ **Residual Networks**์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉด 3๊ฐ์ง์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์์๋ค.
1. **์ฑ๋ฅ ์ ํ ๋ฌธ์ ํด๊ฒฐ** : 34 Layer์ *Residual Networks*๊ฐ 18 Layer์ *Residual Networks* ๋ณด๋ค ์ ํ๋๊ฐ ๋ ๋๊ฒ ๋์ ๊น์ด๊ฐ ๊น์ด์ง ์๋ก ์ฑ๋ฅ์ด ๋จ์ด์ง๋ **์ฑ๋ฅ ์ ํ(degradation)** ์ ํด๊ฒฐํ ๊ฒ์ ๋ณผ ์ ์๋ค.
2. **์์ฐจ ํ์ต์ ํจ๊ณผ ์ฆ๋ช
** : ๊ฐ์ Layer๋ฅผ ์ด๋ฃจ๋ *Plain Networks*์ ๋น๊ตํด ๋ดค์ ๋ *Residual Networks*๊ฐ ๋ ์ฑ๋ฅ์ด ๋๊ฒ ๋์๊ธฐ ๋๋ฌธ์ **์์ฐจ ํ์ต์ด ํจ๊ณผ**๊ฐ ์์์ ์ ์ ์๋ค.
3. **๋น ๋ฅธ ์๋ ด ์๋** : 18 Layer ๋ชจ๋ธ์์๋ ๋ Networks๋ ์ต์ข
์ฑ๋ฅ์ด ๋น์ทํ๊ฒ ๋์์ง๋ง, **ResNet**์ด ์ด ์ฑ๋ฅ์ ํจ์ฌ ๋ ๋น ๋ฅด๊ฒ ์๋ ดํ๋ค.
- **Residual Networks**์์ ์ฌ๋ฌ ์ง๋ฆ๊ธธ์ ์ฌ์ฉํ๋ฉฐ ์ด๋ค ๊ฒ์ด ๋ ํจ๊ณผ์ ์ธ์ง ํ์ธํด๋ณด์๋ค.
- **์ต์
A** : ํฌ๊ธฐ(dimension)๊ฐ ๊ฐ์ ๋ ๋งค๊ฐ ๋ณ์๊ฐ ์๋ **identity** ์ง๋ฆ๊ธธ ์ฌ์ฉํ๊ณ ํฌ๊ธฐ๊ฐ ์ปค์ง ๋ **zero padding** ์ฌ์ฉ
- **์ต์ B** : ํฌ๊ธฐ๊ฐ ๊ฐ์ ๋ **identity** ์ง๋ฆ๊ธธ ์ฌ์ฉํ๊ณ ํฌ๊ธฐ๊ฐ ์ปค์ง ๋ **๋ณํ(projection)** ์ง๋ฆ๊ธธ(1x1 ํฉ์ฑ๊ณฑ) ์ฌ์ฉ
- **์ต์ C** : ๋ชจ๋ ์ง๋ฆ๊ธธ์ **๋ณํ(projection)** ์ง๋ฆ๊ธธ ์ฌ์ฉ
- A->B->C๋ก ๊ฐ๋ฉด์ ๋งค๊ฐ๋ณ์๊ฐ ์ฆ๊ฐํ๊ณ ์ฑ๋ฅ๋ ์ฆ๊ฐํ๋ค. ํ์ง๋ง ์ด๋ฌํ ์ฑ๋ฅ ์ฆ๊ฐ๋ ๋ฏธ๋ฏธํ๊ณ **๋งค๊ฐ๋ณ์๊ฐ ์ถ๊ฐ๋๋ ๋ณต์กํ ์ง๋ฆ๊ธธ**์ ๊ตณ์ด ํ์ ์๋ค. ์ด๋ ์ต์
A๋ผ๋ ์ถฉ๋ถํ ์ข์ ์ฑ๋ฅ์ด ๋์ค๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์ฐ๋์ ์๋ ์๋ ์๊ธฐ ๋๋ฌธ์ด๋ค.
- ๊ธฐ์กด์ 2๊ฐ ์ธต ๋ธ๋ก ๋์ , ์ ์๋ค์ ํ๋ จ ์๊ฐ๊ณผ ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด **๋ณ๋ชฉ ๊ตฌ์กฐ(Bottlneck Architecture)** ์ ๋ง๋ค์๋ค.
- **๊ตฌ์กฐ** : **1x1 ํฉ์ฑ๊ณฑ ์ธต -> 3x3 ํฉ์ฑ๊ณฑ ์ธต -> 1x1 ํฉ์ฑ๊ณฑ ์ธต**์ผ๋ก ๊ตฌ์ฑ๋ 3๊ฐ ์ธต์ ์์ ์์ฐจ ํจ์($F$)๋ฅผ ๋ง๋ ๋ค.
![[Bottleneck Architecture.png]]
- **์๋ฆฌ** : ์ฒซ ๋ฒ์งธ 1x1 ์ธต์ด ์ฑ๋(*channel*) ์๋ฅผ **์ค์ฌ์**, 3x3 ์ธต์ด ์ ์ ์์ ์ฑ๋๋ก ํจ์จ์ ์ผ๋ก ์ฐ์ฐ์ ์ํํ๊ณ ๋ง์ง๋ง 1x1์ธต์ ๋ค์ ์ฑ๋ ์๋ฅผ **๋ณต์**ํ์ฌ ์๋๋๋ก ๋๋๋ฆฐ๋ค.
- **ํจ๊ณผ** : ์ฐ์ฐ๋์ด ๋ง์ 3x3 ์ธต์ ๊ณ์ฐ์ ํจ์จ์ ์ผ๋ก ๋ง๋ค์ด ์ ์ฒด ๋ธ๋ก์ **์ฐ์ฐ ์๋์ ํจ์จ์ฑ**์ ํฌ๊ฒ ๋์ธ๋ค. ์ด๊ฒ ๊ฐ๋ฅํ๋ ์ด์ ๋ **๋ณํ(projection)** ์ง๋ฆ๊ธธ์ ์ฌ์ฉํ๊ฒ ์๋๋ผ **identity** ์ง๋ฆ๊ธธ์ ์ฌ์ฉํด ์ถ๊ฐ ๋งค๊ฐ๋ณ์๊ฐ ์์ด ์ฐ์ฐ๋์ ์ ์งํ๊ธฐ ๋๋ฌธ์ด๋ค.
- ์ด ๋ณ๋ชฉ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํด 50 Layer, 101 Layer, 152 Layer์ ๋ง๋ค์๊ณ ํด๋น ๊ตฌ์กฐ๋ก **๋ฎ์ ๋ณต์ก๋, ์ฑ๋ฅ ํฅ์**์ ์ด๋ฃจ์ด๋ผ ์ ์์๋ค.
## 4.2 COFAR-10 and Analysis
- ํด๋น ๋ฐ์ดํฐ๋ฅผ ํตํด ๊ฐ **์์ฐจ($F$)์ ํฌ๊ธฐ**๋ฅผ ๋ถ์ํ๋ค. ResNet์ ์์ฐจ๋ ์ผ๋ฐ ์ ๊ฒฝ๋ง์ ์ถ๋ ฅ๋ณด๋ค ์ ๋ฐ์ ์ผ๋ก ์์๊ณ ๋คํธ์ํฌ๊ฐ **๋ ๊น์ด์ง ์๋ก ๊ฐ๋ณ ์ธต์ ์์ฐจ ํฌ๊ธฐ๊ฐ ๋ ์์์ง๋** ๊ฒฝํฅ์ ๋ณด์๋ค. ์ด๋ ๊น์ ๋คํธ์ํฌ์ ๊ฐ ์ธต์ด ์ ํธ๋ฅผ ๋ ๋ฏธ์ธํ๊ฒ ์กฐ์ ํ๋ค๋ ์๋ฏธ์ด๋ค.
- **110๊ฐ์ Layer(ResNet-110)**์ **1202๊ฐ์ Layer(ResNet-1202)** ์ ResNet ๋ชจ๋ธ์ ๋ง๋ค์๊ณ ํนํ *ResNet-110*์ ๊ฒฝ์ฐ๋ ๋ชจ๋ ๋ชจ๋ธ๊ณผ ๋น๊ตํ์ ๋ **์ต๊ณ ์์ค์ ์ ํ๋**๋ฅผ ๋ฌ์ฑํ๋ค. ๋ค๋ง *ResNet-1202*์ ๊ฒฝ์ฐ๋ 0.1% ๋ฏธ๋ง์ผ๋ก ๋จ์ด์ก์ง๋ง *ResNet-110*๋ณด๋จ ๋จ์ด์ก๋๋ฐ ์ด ์ด์ ๋ **๊ณผ์ ํฉ(Overfiting)** ๋๋ฌธ์ด๋ค. ์ด๋ฅผ ํตํด์ *ResNet*์ด ์ต์ ํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ง๋ง, ์ฌ์ ํ ๋ชจ๋ธ ํฌ๊ธฐ์ **๋ฐ์ดํฐ์
๊ฐ์ ๊ท ํ์ด ์ค์**ํ๋ค๋ ๊ฒ์ ๋ณด์ฌ์ค๋ค.
## 4.3 Object Detection on PASCAL and MS COCO
- **์ฌ๋ฌผ ํ์ง(Object Detection)** ๊ณผ์ ์์๋ ResNet์ ์ ์ฉํ๋๋ฐ **COCO**์์ **6.0%์ ์ ํ๋ ํฅ์**์ ์ด๋ฃจ์ด๋๊ณ , ์ด๋ 28%์ ์๋์ ์ฑ๋ฅ ํฅ์์ ํด๋นํ๋ ๋๋ผ์ด ๊ฒฐ๊ณผ์ด๋ค.
- ์ด ๊ฒฐ๊ณผ๋ ResNet์ด ๋จ์ํ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ฟ ์๋๋ผ, ์ฌ๋ฌผ ํ์ง ๊ฐ์ **๋ค๋ฅธ ๋ณต์กํ ๋ฌธ์ ์๋ ๋งค์ฐ ํจ๊ณผ์ ์ด๋ผ๋ ๊ฒ**์ ์ฆ๋ช
ํ๋ค.
# Code review