[๋ ผ๋ฌธ๋ฆฌ๋ทฐ]
ABSTRACT
- ์ด์ ์ ํ์ต ๋ฐฉ๋ฒ๋ณด๋ค ๊น์ ๋คํธ์ํฌ์ ํ์ต์ ์ข ๋ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํ ํ๋ ์์ํฌ๋ฅผ ์ ์ํ๋ค.
- Residual networks๊ฐ ์ต์ ํํ๊ธฐ ๋ ์ฝ๊ณ , Depth๊ฐ ์ฆ๊ฐ๋ ๋ชจ๋ธ์์๋ ์๋นํ ์ฆ๊ฐ๋ ์ ํ๋๋ฅผ ์ป์ ์ ์์์ ๋ณด์ฌ์ค๋ค.
INTRODUCTION
- Is learning better networks as easy as stacking more layers?
- ๋ ๋์ ๋คํธ์ํฌ๋ฅผ ํ์ตํ๋ ๊ฒ์ด ๋ ๋ง์ ๊ณ์ธต์ ์๋ ๊ฒ๋งํผ ์ฌ์ด๊ฐ?
- ์ ๊ทธ๋ฆผ์์ layer๊ฐ ๋ ๊น์ ๋นจ๊ฐ์์ด error๊ฐ ๋ ๋์ ๊ฒ์ ํ์ธํ ์ ์๋ค.
- layer๊ฐ ๊น์ด์ง์๋ก gradient๊ฐ vanishing/exploding ํ๋ ๋ฌธ์ ๊ฐ ์กด์ฌํ๋ค.
- ์ด ๋ฌธ์ ๋ normalized initialization, batch normalization ๋ฑ์ผ๋ก ํด๊ฒฐ์ด ๊ฐ๋ฅํ๋ค.
- ๋คํธ์ํฌ์ ๊น์ด๊ฐ ์ฆ๊ฐํ๋ฉด accuracy๊ฐ saturatedํ ์ํ๊ฐ ๋๊ณ ๊ทธ ์ดํ ๋น ๋ฅด๊ฒ ๊ฐ์๋๋ค.
- ์ด ๋ฌธ์ ๋ ๊ณผ์ ํฉ์ ๋ฌธ์ ๊ฐ ์๋๋ฉฐ, ๋ ๋ง์ ๋ ์ด์ด๋ฅผ ์ถ๊ฐํ๋ฉด ๋ฐ์ํ๋ ๋ฌธ์ ์ด๋ค.
- ๋ ์์ ๋ชจ๋ธ๊ณผ ๋ ๋ง์ layer๋ฅผ ์ถ๊ฐํ ๋ชจ๋ธ์ ๊ณ ๋ คํ๋ฉด ์ถ๊ฐ๋ layer๋ identity mapping์ด๊ณ , ๋ค๋ฅธ layer๋ ํ์ต๋ ์์ ๋ชจ๋ธ์์ ๋ณต์ฌ๋๋ค. ๋ฐ๋ผ์ ๋ ๊น์ ๋ชจ๋ธ์ด ๋ ์์ ๋ชจ๋ธ๋ณด๋ค ๋ ๋์ training error๋ฅผ ์์ฑํ์ง ์์์ผํ๋ค. ๊ทธ๋ฌ๋ ์คํ์ ๋ฐ๋ฅด๋ฉด ํ์ฌ ๋ ๋์ ์๋ฃจ์ ์ ์ฐพ์ ์ ์๋ค.
Deep Residual Learning
Residual Learning
- ๋ณธ ๋ ผ๋ฌธ์์๋ deep residual learning framework๋ฅผ ์ ์ํ์ฌ degradation ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ค.
- ResNet์ Residual Learning์ H(x)๊ฐ ์๋ ์ถ๋ ฅ๊ณผ ์ ๋ ฅ์ ์ฐจ์ธ H(x) - x๋ฅผ ์ป๋๋ก ๋ชฉํ๋ฅผ ์์
- Residual Function์ธ F(x) = H(x) - x๋ฅผ ์ต์ํํด์ผํ๋ค. ์ฆ, ์ถ๋ ฅ๊ณผ ์ ๋ ฅ์ ์ฐจ์ด๋ฅผ ์ค์ธ๋ค๋ ์๋ฏธ์ด๋ค.
- ์ฌ๊ธฐ์์ x๋ ๋์ค์ ๋ณ๊ฒฝ์ด ๋ถ๊ฐ๋ฅํ ์ ๋ ฅ๊ฐ์ด๋ฏ๋ก F(x)๊ฐ 0์ด ๋๋ ๊ฒ์ด ์ต์ ์ ํด์ด๋ค. ๋ฐ๋ผ์ H(x) = x, H(x)๋ฅผ x๋ก mapping ํ๋ ๊ฒ์ด ํ์ต์ ๋ชฉํ๊ฐ ๋๋ค.
- ์ด์ ์๋ ์์ง ๋ชปํ๋ ์ต์ ์ ๊ฐ์ผ๋ก H(x)๋ฅผ ๊ทผ์ฌ์์ผ์ผ ํด์ ์ด๋ ค์์ด ์์๋๋ฐ, ์ด์ ๋ H(x) = x๋ผ๋ ์ต์ ์ ๋ชฉํ๊ฐ์ด ์กด์ฌํ๊ธฐ์ F(x)์ ํ์ต์ด ๋์ฑ ์ฌ์์ง๋ค.
Identity Mapping
$ y = F(x, {W_i}) + x. $
- x์ y๋ ์ธํ๊ณผ ์์ํ ๋ฒกํฐ์ด๋ค.
- Function $ F(x,{W_i}) $๋ ํ์ต๋ residual mapping์ ๋ํ๋ธ๋ค.
- $ F = W_2\sigma(W_1x) $ ์์ $ \sigma $๋ ReLU๋ฅผ ๋ํ๋ธ๋ค.
- $ F + x $๋ shortcut connection์ element-wise addition์ ์ํด ์ํ๋๋ค.
- ์ ์์์์๋ x์ F์ ์ฐจ์์ด ๊ฐ๋ค.
- ํ๋ผ๋ฏธํฐ ์์ ๊ณ์ฐ ๋ณต์ก๋๋ฅผ ์ฆ๊ฐ์์ง ์๋๋ค๋ ์ฅ์ ์ด ์๋ค.
$ y = F(x, {W_i}) + W_s x $
- ์ฐจ์์ด ๊ฐ์ด ์์ ๊ฒฝ์ฐ Shortcut connection์ ์ ์ฌ๊ฐํ ํ๋ ฌ W_s๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
Network Atrchitectures
- Plain nets๊ณผ Residual nets์ ๋น๊ตํ์๋ค.
- input๊ณผ output dimension์ด ๋ค๋ฅธ ๊ฒฝ์ฐ ์ ์ ์ผ๋ก ํ์ํ๋ค.
Implementation
- mini-batch(256 size) SGD ์ฌ์ฉ
- learning rate๋ 0.1๋ถํฐ ์์ํ์ฌ error๊ฐ ์์ ๋๋ฉด 10์ผ๋ก ๋๋
- 0.0001์ weight decay์ 0.9์ momentum์ ์ฌ์ฉ
- Convolution ์งํ์ Activation ์ด์ ์ batch normalization์ ์ํ
Experiments
- Plain Networks : 34-layer๊ฐ ๋ ๋์ error๋ฅผ ๋ณด์ธ๋ค.
- training error๋ ๋์๊ธฐ ๋๋ฌธ์ degradation ๋ฌธ์ ๊ฐ ์๋ค๊ณ ํ๋จ
- ์ด๋ฌํ ์ต์ ํ ๋ฌธ์ ๋ Vanishing gradient ๋๋ฌธ์ ๋ฐ์ํ๋ ๊ฒ์ ์๋๋ผ ํ๋จ -> plain ๋ชจ๋ธ์ batch normalization์ด ์ ์ฉ๋์ด ์์ ํ ๊ณผ์ ์์ variance๋ 0์ด ์๋๋ฉฐ, ์ญ์ ํ ๊ณผ์ ์์์ ๊ธฐ์ธ๊ธฐ ๋ํ ์ ๋ํ๋๊ธฐ ๋๋ฌธ
- exponentially low convergence rate๋ฅผ ๊ฐ์ง๊ธฐ ๋๋ฌธ์ training error์ ๊ฐ์์ ์ข์ง ๋ชปํ ์ํฅ์ ๋ผ์ณค์ ๊ฒ์ด๋ผ ์ถ์ธกํจ.
- Residual Networks : ๋ฒ ์ด์ค๋ผ์ธ์ Plaine net๊ณผ ๋์ผํ๊ฒ ์งํํ์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก 34-layer๊ฐ ๋ ๋ฎ์ error๋ฅผ ๋ณด์๋ค.
- Shortcut connection์ด ๊ฐ 3 x 3 ํํฐ์ ์ถ๊ฐ๋์๋ค.
- ๋ชจ๋ shortcuts์ identity mapping์ ์ฌ์ฉํ์๊ณ ์ฐจ์ ์ฆ๊ฐ๋ฅผ ์ํด zero-padding์ ์ฌ์ฉํ์๋ค.
- ๋ฐ๋ผ์ plain๊ณผ ๋น๊ตํ์ ๋ ์ถ๊ฐ์ ์ธ ํ๋ผ๋ฏธํฐ๊ฐ ์๋ค.
Identity vs Projection Shortcuts
- identity shortcuts์ด training์ ๋์์ด ๋๋ค๋ ๊ฒ์ ํ์ธํ์๋ค. ๋ฐ๋ผ์ ๋ค์์ผ๋ก projection shortcuts์ ๋ํด ์กฐ์ฌํ์๋ค.
- (A) ์ฆ๊ฐํ๋ ์ฐจ์์ ๋ํด zero-padding shortcut, ๋ชจ๋ shortcut์ parameter free
- (B) ์ฆ๊ฐํ๋ ์ฐจ์์ ๋ํด Projection shortcut ์ ์ฉ, ๊ทธ๋ ์ง ์์ผ๋ฉด identity shortcut ์ ์ฉ
- (C) ๋ชจ๋ ๊ฒฝ์ฐ์ Projection shortcut ์ ์ฉ
- (B)๊ฐ (A)๋ณด๋ค ๋ฏธ์ธํ๊ฒ ๋ ์ข์๋ค. -> A์ zero-padding ์ฐจ์์ ์ฌ์ค์ residual-learning์ด ์๋๊ธฐ ๋๋ฌธ์ด๋ผ ์ถ์ธก
- (C)๊ฐ (B)๋ณด๋ค ๋ฏธ์ธํ๊ฒ ๋ ์ข์๋ค. -> Projection shortcut์ ์ํด ์ถ๊ฐ์ ์ธ ํ๋ผ๋ฏธํฐ๊ฐ ์๊ฒผ๊ธฐ ๋์ด๋ผ๊ณ ์ถ์ธก
- ๋ฉ๋ชจ๋ฆฌ/์๊ฐ ๋ณต์ก๋์ ๋ชจ๋ธ์ ์ฌ์ด์ฆ๋ฅผ ์ค์ด๊ธฐ ์ํด (C)๋ ์ฌ์ฉํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์๋ค.
- (A)(B)(C) ๊ฐ์ ๋ฏธ์ธํ ์ฐจ์ด๋ projection shortcut์ degradation ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๋๋ฐ ์ค์ํ ์์๊ฐ ์๋์ ์ ์ ์๋ค.
Deeper Bottleneck Architectures
- layer๋ฅผ ์์์๋ก dimension์ ํฌ๊ธฐ๊ฐ ์ปค์ง์ ๋ฐ๋ผ, ํ๋ผ๋ฏธํฐ์ ์๊ฐ ๋ง์์ง๊ณ ๋ณต์ก๋๊ฐ ์ฆ๊ฐํ๋ค. ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด bottleneck architecture๋ฅผ ์ฌ์ฉํ์๋ค.
- ํ์ต์ ํฌ์ํ ์ ์๋ ์๊ฐ์ ๊ณ ๋ คํด์ผ ํ๊ธฐ ๋๋ฌธ์, building block์ bottleneck ๋์์ธ์ผ๋ก ์์ ํ์๋ค.
- 2๊ฐ์ layer ๋์ 3๊ฐ์ layer stack์ ์ฌ์ฉํ์๋ค.
- 1 x 1 layer๋ ์ฐจ์์ ์ค์ด๊ณ ๋๋ฆฌ๋ ์ญํ
- 3 x 3 layer๋ ๋ ์์ input๊ณผ output ์ฐจ์์ bottleneck ๊ตฌ์กฐ๋ฅผ ๋ง๋ค์ด์ค๋ค.
- ์ฌ๊ธฐ์ parameter-free์ธ identity shortcut์ bottleneck ๊ตฌ์กฐ์์ ํนํ ์ค์ํ๋ค. ๋ง์ฝ identity shortcut์ด projection shortcut์ผ๋ก ๋์ฒด๋๋ฉด shortcut์ด 2๊ฐ์ ๊ณ ์ฐจ์ ์ถ๋ ฅ๊ณผ ์ฐ๊ฒฐ๋๊ธฐ ๋๋ฌธ์, ๋ชจ๋ธ์ ๋ณต์ก๋์ ํฌ๊ธฐ๊ฐ 2๋ฐฐ๊ฐ ๋๋ค. ๋ฐ๋ผ์ identity shortcut์ด bottleneck ๋์์ธ์์ ํจ์จ์ ์ธ ๋ชจ๋ธ๋ก ์ด๋์ด์ค๋ค.
- ์คํ ๊ฒฐ๊ณผ 152 layer๊น์ง๋ 34 layer๋ณด๋ค ๋ ์ ํํจ.
Conclusion
- ๊ฒฐ๊ณผ์ ์ผ๋ก residual learning์ ๋์
ํ Resnet์ ํตํด ๊น์ด๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ error๊ฐ ๊ฐ์ํ๊ณ , plain network๋ณด๋ค ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์ค๋ค.
- degration ๋ฌธ์ ๋ฅผ ํด๊ฒฐํจ
- ๊ธฐ์กด์ mapping๋ณด๋ค optimizeํ๊ธฐ ์ฝ๋ค. (H(x) = F(x) + x)
- ๊ธฐ์กด์ model๋ณด๋ค ๋ ๊น์ layer์ ์ ์ ํ๋ผ๋ฏธํฐ๋ฅผ ํตํด ๋น ๋ฅธ ํ๋ จ ์๋๋ฅผ ๊ฐ์ง๋ค.