๐๋ค์ด๊ฐ๋ฉฐ
๋ณธ ํฌ์คํ ์ ๋ฅ๋ฌ๋ ๋ ผ๋ฌธ์ค Deep Residual Learning for Image Recognition ๋ ผ๋ฌธ์ ์ ๋ฌธ์ ์ ์ฅ์์ ์ดํดํ ์ ์๋๋ก ๋ฆฌ๋ทฐํฉ๋๋ค. ํน์ฌ ์๋ชป๋ ๋ถ๋ถ์ด ์๊ฑฐ๋ ์ง๋ฌธ์ด ์์ผ์๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์.
๊ฐ์
CNN์์ ๋ ์ด์ด์ ๊น์ด๋ ์ค์ํ ์์๋ก ์ฌ๊ฒจ์ก๊ณ , ๋ ์ด์ด์ ๊น์ด๊ฐ ๊น์ ๋ชจ๋ธ์ผ ์๋ก ๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์๋ค. ๋๋ฌธ์ ๋ฅ๋ฌ๋ ์ฐ๊ตฌ์๋ค์ ๋คํธ์ํฌ์ ๊น์ด๋ฅผ ์ค์ํ ์์๋ก ์ฌ๊ฒผ๊ณ DCNN์ ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ถ์ผ์์ ํ๊ธฐ์ ์ธ ๋ฐ์ ์ ์ด๋์๋ค.
ResNetํ์ ๊น์ด๋ฅผ ๋๋ฆฌ๋ ๊ฒ๋ง์ผ๋ก ์ฝ๊ฒ ์ฑ๋ฅ์ ํฅ์ ์ํฌ ์ ์๋์ง ์๋ฌธ์ ํ๊ณ ์คํ์ ์งํํ๊ฒ ๋๋ค.
์คํ ๊ฒฐ๊ณผ๋ ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ๋ค. ๊น์ ๋ชจ๋ธ์ผ ์๋ก ๋ ์ข์ ์ฑ๋ฅ์ ๊ฐ๋๋ค๊ณ ์๊ฐํ๋ ์์๊ณผ ๋ค๋ฅด๊ฒ ๋จ์ํ ๊น์ด๋ฅผ ๋๋ฆฌ๋ ๊ฒ๋ง์ผ๋ก๋ ์ฝ๊ฒ ํ์ต์ด ๋์ง ์์๋ค. ๊ทธ๋ฆผ์์ ๋ณด์ด๋ ๊ฒ๊ณผ ๊ฐ์ด 20๊ฐ layer๋ฅผ ์์ ๋ชจ๋ธ๋ณด๋ค 56๊ฐ์ layer ์์ ๋ชจ๋ธ์ด ํ๋ จ ์ค์ฐจ์ ํ ์คํธ ์ค์ฐจ๊ฐ ๋์๊ณ ์ฑ๋ฅ์ด ์ข์ง ์์๋ค.
ResNetํ์ ๊น์ ๋ชจ๋ธ์ด ์ฝ๊ฒ ํ์ต ๋์ง ์๋ ๋ ๊ฐ์ง ์ด์ ๋ฅผ ์ค๋ช ํ๋ค.
- Convergence Problem
- ์ด์ : ๊ธฐ์ธ๊ธฐ์ ์๋ฉธ/ํญ๋ฐ๋ก ์ธํ์ฌ ๋ฐ์ํ์๋ค.
- ํด๊ฒฐ : ์ ๊ท์ด๊ธฐํ์ ์ค๊ฐ ์ ๊ทํ์ธต์ ์ด์ฉํ๋ฉด ํด๊ฒฐ๋์๋ค.
- Degradation Problem
- ์ด์ : ๊ณผ์ ํฉ์ ์ํด ๋ฐ์๋๋ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ์ง๋ง ๊ณผ์ ํฉ์ ์ํด ๋ฐ์ํ๋ ๋ฌธ์ ๊ฐ ์๋์๊ณ , ๋ชจ๋ธ์ ์ธต์ ์ถ๊ฐํ์ฌ ๊น์ด๊ฐ ์ฆ๊ฐํ๋ฉด ๊ธฐ์ธ๊ธฐ์ ์๋ฉธ/ํญ๋ฐ์ ์ํด ํ๋ จ ์ค์ฐจ๊ฐ ๋์์ง๋ฉฐ ์ฑ๋ฅ์ด ํ๋ฝํ์ฌ ๋ฐ์ํ์๋ค.
- ํด๊ฒฐ : ์์ฌ ํ์ต ํ๋ ์์ํฌ๋ฅผ ํตํด ํด๊ฒฐํ์๋ค.
๋จผ์ ๊ฐ๋จํ๊ฒ Identity mapping layer๋ฅผ ์ถ๊ฐํด๋ดค์ง๋ง ์คํ์ ํตํด ์ข์ ํด๊ฒฐ์ฑ ์ด ์๋๋ผ๋ ๊ฒฐ๊ณผ๋ฅผ ์ป์๋ค. ๋๋ฌธ์ ์์ฌ์ง ๋ ์ด์ด๊ฐ ๊ทธ ๋ค์ ๋ ์ด์ด์ ๋ฐ๋ก ์ ํฉ๋๋ ๊ฒ์ด ์๋๋ผ residual mapping์ ์ ํฉํ๋๋ก ๋ง๋ ๊ตฌ์กฐ์ธ Deep residual learing framework๋ผ๋ ๊ฐ๋ ์ด ๋์๋ค.
๊ธฐ์กด์ mappingํ๋ ํจ์๊ฐ H(x)๋ผ๊ณ ํ ๋ ์ด ๋ ผ๋ฌธ์์๋ ๋น์ ํ์ ์ธ layer mapping์ธ F(x)๋ฅผ ์ ์ํ๋๋ฐ F(x) = H(x) - x๋ก ๊ธฐ์กด H(x)์์ ์ ๋ ฅ ๋ฐ์ดํฐ x๋ฅผ ๋บ ๊ฒ์ด๋ค. ๋ฐ๋ผ์ H(x) = F(x) + x๊ฐ ๋๊ณ ResNetํ์ ๊ธฐ์กด H(x)๋ฅผ ํ์ตํ๋ ๊ฒ ๋ณด๋ค ์์ฐจํจ์ H(x) = F(x) + x๊ฐ ํ์ต์ ๋ ์ฉ์ดํ๋ค๊ณ ์ ์ํ๋ค.
์ F(x) + x๋ Shortcut Connection๊ณผ ๋์ผํ๊ณ Shortcut Connection์ ํ๋ ๋๋ ์ด์์ ๋ ์ด์ด๋ฅผ skipํ๋ ํํ์ด๋ฉฐ ์ถ๊ฐ์ ์ธ ํ๋ผ๋ฏธํฐ๋ ํ์ํ์ง ์๊ณ ๋ณต์กํ ๊ณฑ์ ์ฐ์ฐ๋ ํ์ํ์ง ์๋ ๊ฒ์ด ์ฅ์ ์ด๋ค.
๋ค์ ํ๋ฒ ์ค๋ช ํ๋ฉด x๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ด๊ณ ๋ชจ๋ธ์ ๊ฑฐ์ณ ์ฐ์ฐ์ด ๋๋ฉด F(x)(weight layer์ relu๋ฑ)์ ํต๊ณผ ํ๊ฒ ๋์ด F(x)๊ฐ ๋๋๋ฐ ์ด๋ ๊ธฐ์กด ์ ๋ ฅ ๋ฐ์ดํฐ์ธ x(identity)๊ฐ ๋ํด์ ธ ์ถ๋ ฅ์ผ๋ก F(x) + x๊ฐ ๋์ค๋ ๊ตฌ์กฐ๋ค.
Deep Residual Learning
๊ธฐ์กด DCNN์์๋ ์ ๋ ฅ ์ด๋ฏธ์ง์ ํด๋นํ๋ x๋ฅผ ์กฐ๊ธ์ฉ ๋ณํ์์ผ ์ํ๋ ์ถ๋ ฅ H(x)๋ฅผ ๋ง๋๋ ํจ์๋ฅผ ํ์ตํ๋ค. ํ์ง๋ง ResNet์์๋ H(x) = F(x) + x์์ ์ถ๊ฐ ํ์ต๋์ ํด๋นํ๋ F(x) = H(x) – x๊ฐ ์ต์๊ฐ(0)์ด ๋๋๋ก ํ์ต์ด ์งํ ๋๋ค.
์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ฐจ์์ด ๊ฐ๋ค๋ฉด ์(1)์ ์ฌ์ฉํ๊ณ
๋ง์ฝ ๋ค๋ฅด๋ค๋ฉด Ws๋ฅผ ์ฌ์ฉํด์ ๋จ์ํ ์ฐจ์์ ๋ง์ถฐ์ค๋ค.
์ ๊ทธ๋ฆผ์ ๋ณด๋ฉด VGG19, 34-layer plain, 34-layer residual์ ๊ตฌ์กฐ๋ฅผ ์ ์ ์๋ค. ์ฌ๊ธฐ์ plain์ VGG๋ท์ ์๊ฐ์ ๋ฐ์ VGG๋ณด๋ค filters๊ฐ ์ ๊ณ 18% ์ ์ ๋ณต์ก๋๋ฅผ ๊ฐ๋ ๋ชจ๋ธ์ resnet๊ณผ ๋น๊ต๋ฅผ ์ํด ์ค๊ณ๋ ๋ชจ๋ธ์ด๋ค.
Deeper Bottleneck Architetures
๋ ๊น์ ๋คํธ์ํฌ๋ฅผ ๊ตฌ์ฑ ํ ๋ building block์ modifyํ์ฌ Bottleneck block์ ๋ง๋ค์๋ค. Bottleneck Architectures๋ฅผ ์ฌ์ฉ ํ์ ๋ Identity shortcuts์ด ๋ ํจ๊ณผ์ ์ด๋ฉฐ resnet 34 layer์ resnet 50 layer๋ฅผ ๋น๊ตํ์ ๋ 50 layer๊ฐ ํ๋ผ๋ฏธํฐ ์์ ๊ณ์ฐ ์๋์์ ๊ฑฐ์ ์ฐจ์ด๊ฐ ๋์ง ์๋๋ค.
๋ํ 152-layer resnet์ด VGG๋ณด๋ค ์์ ๋ณต์ก์ฑ๊ณผ ์ ์ ์ฐ์ฐ์ ๊ฐ์ ธ์ ์ ์๋ฏธํ๋ค. ๋ํ 50/101/151 layer๋ 34-layer๋ณด๋ค ํ์คํ ๋ ์ ํํ๋ค.
๊ตฌํ
- image resized 224 * 224
- Batch normalization BN ์ฌ์ฉ
- Initialize Weights
- SGD, mini batch 256
- Learning rate 0.1
- Iteration 60 * 10^4
- weight decay 0.0001, momentum 0.9
- No dropout
๊ฒฐ๋ก
์ฌ๋ฌ ๋ฐ์ดํฐ ์ ์์ ํ ์คํธํ ๋ด์ฉ์ ๋ฐํ๋ฉฐ ์ฑ๋ฅ์ ๋น๊ตํ ๋ฐ์ดํฐ๋ฅผ ๊ณต๊ฐํ๊ณ ์๋ค.
18-layer ResNet ๋ณด๋ค 34-layer ResNet์ด ๋ ๋ฎ์ training error๋ฅผ ๊ฐ์ง๋ฉฐ ์ฑ๋ฅ์ด ์ข๋ค. 18-layer๋ค ๋ผ๋ฆฌ ๋น๊ตํ์ ๋ accruracy๋ ๋น์ทํ์ง๋ง 18-layer ResNet์ด ๋ ์๋ ด์ด ๋นจ๋๋ค. (converges faster)
degradation ๋ฌธ์ ๊ฐ ์ ํด๊ฒฐ๋์์ผ๋ฉฐ, depth๊ฐ ์ฆ๊ฐํ๋๋ผ๋ ์ข์ ์ ํ๋๋ฅผ ์ป์ ์ ์์์ ์๋ฏธํ๋ค.
resnet34๋ฅผ ์ธ๊ฐ์ง ์ต์ ์ผ๋ก ๊ตฌ๋ถํ์๋ค.
A) zero-padding shortcut์ ์ฌ์ฉํ ๊ฒฝ์ฐ. (dimension matching์์ ์ฌ์ฉ) ์ด๋, ๋ชจ๋ shortcut์ parameter-free ํ๋ค.
B) projection shortcut์ ์ฌ์ฉํ ๊ฒฝ์ฐ. (dimension์ ํค์์ค ๋์๋ง ์ฌ์ฉ) ๋ค๋ฅธ ๋ชจ๋ shortcut์ identity ํ๋ค.
C) ๋ชจ๋ shortcut์ผ๋ก projection shortcut์ ์ฌ์ฉํ ๊ฒฝ์ฐ.
์ด๋, 3๊ฐ์ง ์ต์ ๋ชจ๋ plain model๋ณด๋ค ์ข์ ์ฑ๋ฅ์ ๋ณด์๊ณ , ๊ทธ ์์๋ A < B < C ์์ด์๋ค. ๋จผ์ A < B๋ zero-padded ์ฐจ์์ด residual learning์ ์ํํ์ง ์๊ธฐ ๋๋ฌธ์ด๊ณ , B < C๋ projection shortcut์ ์ํด ํ๋ผ๋ฏธํฐ๊ฐ ์ถ๊ฐ๋์๊ธฐ ๋๋ฌธ์ด๋ค.
3๊ฐ์ง ์ต์ ์ ์ฑ๋ฅ์ฐจ๊ฐ ๋ฏธ๋ฏธํ๊ธฐ์ projection shortuct์ด degradation ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋๋ฐ ํ์์ ์ด์ง๋ ์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์๋ค. ๋ฐ๋ผ์ memory / time complexity์ model size๋ฅผ ์ค์ด๊ธฐ ์ํด ์ด ๋ ผ๋ฌธ์์๋ C ์ต์ ์ ์ฌ์ฉํ์ง ์๋๋ค. ํนํ Identity shortcut์ bottleneck ๊ตฌ์กฐ์ ๋ณต์ก์ฑ์ ๋์ด์ง ์๋ ๋ฐ์ ๋งค์ฐ ์ค์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
34-layer ResNet์ 2-layer block์ 3-layer bottleneck block์ผ๋ก ๋์ฒดํ์ฌ 50-layer ResNet, 101-layer ๋ฐ 152-layer ResNet์ ๊ตฌ์ฑํ์๋ค. depth๊ฐ ์๋นํ ์ฆ๊ฐํ์์์๋ VGG-16 / 19 ๋ชจ๋ธ๋ณด๋ค ๋ ๋ฎ์ ๋ณต์ก์ฑ์ ๊ฐ์ก์ผ๋ฉฐ, degradation ๋ฌธ์ ์์ด ์๋นํ ๋์ ์ ํ๋๋ฅผ ๋ณด์๋ค. ์ด๋, dimension matching์ ์ํด B ์ต์ ์ ์ฌ์ฉํ์๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก Resnet์ ์ ์๋ฏธํ ๊ฒฐ๊ณผ๋ฅผ ์ผ์ผ์ผฐ์ผ๋ฉฐ ๋ฅ๋ฌ๋์์ ํ์ฌ๊น์ง ๋ง์ด ์ธ์ฉ๋๊ณ ์๋ ๋ ผ๋ฌธ์ผ๋ก ์๊ฐ์ด ์์ผ์๋ฉด ๊ฐ๋ ๋ง ์ ๋ฆฌํ์๋๋ผ๋ ์๊ฐ์ด ์์ผ์๋ฉด ๊ผญ ํ๋ฒ ์ฝ์ด ๋ณด์ธ์!
์๊ฒฌ๊ณผ ์ง๋ฌธ์ ์ธ์ ๋ ๊ฐ์ฌํฉ๋๋ค.