Deep Residual Learning for Image Recognition
Deep Residual Learning for Image Recognition
- Link : https://arxiv.org/abs/1512.03385
ResNet์ผ๋ก ๋ ์ ๋ช ํ ๋ ผ๋ฌธ
Residual ์์ฐจ
Neural Network์์ ํน์ layer๋ฅผ ํต๊ณผํ input๊ณผ ํด๋น layer์ output์ ์ฐจ์ด๋ฅผ Residual(์์ฐจ)๋ผ๊ณ ํ๋ค.
Residual Learning(์์ฐจ ํ์ต)์ ์ด ์ฐจ์ด, ์ฆ ์์ฐจ๋ฅผ ํ์ตํ๋ ๋ฐฉ์์ ๋งํ๋ค.
๋ฅ๋ฌ๋์์ ์ผ๋ฐ์ ์ผ๋ก๋ layer๋ฅผ ํต๊ณผํ input $x$ ์ ๋ํ output $H(x)$ ๋ฅผ ์ป์ต๋๋ค. Residual Learning์์๋ ์ด output $H(x)$ ๋์ , input $x$ ์ $H(x)$ ์ฌ์ด์ Residual(์์ฐจ) $F(x)=H(x)โx$๋ฅผ ์ง์ ์ ์ผ๋ก ํ์ตํ๋ค.
Residual Learning์ ํต์ฌ ์์ด๋์ด๋, ๋ง์ฝ $H(x)$๊ฐ $x$ ์ ๋งค์ฐ ๊ทผ์ ํ ๊ฐ์ด๋ผ๋ฉด $F(x)$ ๋ ๊ฑฐ์ $0$์ ๊ฐ๊น์ธ ๊ฒ์ด๋ค. ๋ฐ๋ผ์, $H(x)$ ๋ฅผ ์์ธกํ๋ ๋์ $F(x)$ ๋ฅผ ์์ธกํจ์ผ๋ก์จ, network๋ ๋ ์ฝ๊ฒ ํ์ต๋ ์ ์๊ณ (0์ด๋ผ๋ ์ซ์ ๊ฐ๋ ์ผ๋ก ์๋ ดํ๊ฒ ํ๋ ๊ฒ์ด ๋ ์ฝ๊ธฐ ๋๋ฌธ), ์ด๋ ๋ชจ๋ธ์ด ๊น์ด์ง๋ ๋ฐ์ํ ์ ์๋ ์์ gradient vanishing problem์ ์ํ์ํค๊ณ , ํ์ต์ ๋ ํจ์จ์ ์ผ๋ก ํ ์ ์๊ฒ ํ๋ค.
โinput๊ณผ ๋์ผํ ๊ฐ์ ๋๊ธฐ๋๋ก ํ๋ ๊ฒ๊ณผ์ ์ฐจ์ด๋ ๋ญ์ง?โ
โ ๋จ์ํ input๊ณผ ๋์ผํ ๊ฐ์ ๋๊ธฐ๋ ํจ์๋ฅผ ํ์ตํ๋ ๊ฒ๋ณด๋ค $H(x)-x=0$์ ๋ชฉํ๋ก ํ์ฌ ์ ๊ฒฝ๋ง์ ํ์ต ํจ์จ์ฑ์ ๋์ด๊ณ , ๊น์ด๊ฐ ๊ธธ์ด์ง์๋ก ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ฅผ ์ํํ ์ ์๋ค.
Bottleneck Block ๋ณ๋ชฉ ๋ธ๋ก
Bottleneck block์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ์์ ๋ฉ๋ชจ๋ฆฌ์ ์ฐ์ฐ ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด ์ฌ์ฉ๋๋ ํจ์จ์ ์ธ ๊ตฌ์กฐ์ด๋ค. ์ฃผ๋ก 1x1, 3x3, 1x1 ํฌ๊ธฐ์ convolution layer๋ฅผ ์์ฐจ์ ์ผ๋ก ์์์ ๊ตฌ์ฑํ๋ฉฐ, ์ฃผ๋ก ResNet๊ณผ ๊ฐ์ deep neural network์์ ์ฌ์ฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ํน์ง์ด ์๋ค.
- Dimension Reduction : 1x1 convolution๊ณผ ๊ฐ์ ์์ convolution layer๋ฅผ ์ฌ์ฉํ์ฌ input data์ dimension์ ์ค์ฌ, ๋ ์์ ์ฐจ์์์ ์ฐ์ฐ์ ์ํํ๊ณ , ์ด์ ๋ฐ๋ผ ๋ ์ ์ parameter๋ฅผ ์ฌ์ฉํ๊ฒ ํ์ฌ ๋ชจ๋ธ์ ํจ์จ์ฑ์ ๋์ธ๋ค.
- Deep Block : ๊ทธ ๋ค์, ์์ ์ฐจ์์์ ์ฐ์ฐ๋ output์ deep convolution layer์ ํจ๊ป ์ฒ๋ฆฌํ์ฌ, ๋ ๋ณต์กํ๊ณ ์ถ์ํ๋ ํน์ง์ ํ์ตํ ์ ์๋ค.
- Dimension Increase : ๋ง์ง๋ง์ผ๋ก ์ต์ข ouptut dimension์ ์๋์ ์ฐจ์์ผ๋ก ๋ณต์ํ๋ convolution layer๋ฅผ ์ฌ์ฉํ์ฌ ์ต์ข output์ ๊ตฌํ๋ค.
Abstract
Deep Neural Network๋ ๋ชจ๋ธ์ depth๊ฐ ๊น์ด์ง์๋ก ํ์ตํ๊ธฐ ์ด๋ ต๋ค๋ ๋จ์ ์ด ์๋ค. ์ด๋ฅผ ์ํด Deeper ๋ชจ๋ธ์ ์ฝ๊ฒ ํ์ตํ๊ธฐ ์ํ Residual Learning Framework ์ ์ํ๋ค.
Residual network ์ด์ฉํ์ฌ ๋ ์ฝ๊ฒ optimize ํ๊ณ , depth๊ฐ ์๋นํ ๊น์ด์ง์ ๋ฐ๋ผ ๋์ ์ ํ๋๋ฅผ ์ป์ ์ ์๋ค๋ ๊ฒฝํ์ ์ธ ์ฆ๊ฑฐ๋ฅผ ๋ณด์ฌ์ค๋ค.
VGG net๋ณด๋ค 8๋ฐฐ๋ ๊น์ 152๊ฐ์ layers๋ฅผ ์ฌ์ฉํ๋ฉด์ VGG net๋ณด๋ค ๋ณต์ก์ฑ์ด ๋ฎ๊ณ , ImageNet test set์์ ๋ ๋ฎ์ error๋ฅผ ๋ณด์ฌ์ค
Introduction
Deep CNN์ image classification์์ ํ๊ธฐ์ ์ธ(breakthroughs) ์ฑ๋ฅ์ ๋ณด์ฌ์คฌ๋๋ฐ, ๋ชจ๋ธ์ด ๊น์ด์ง ์๋ก ์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์คฌ๋ค. ๋ชจ๋ธ์ด ๊น์ด์ง์๋ก vanishing/exploding gradients problem์ด ๋ฐ์ํ๋๋ฐ, ์ด๋ normalized initialization, intermediate normalization layers ๋ฑ์ผ๋ก ์ด๋์ ๋ ํด๊ฒฐ์ ํด์๋ค.
ํ์ง๋ง, netwrok๊ฐ ๊น์ด์ง์๋ก accuracy๊ฐ ๋จ์ด์ง๋ Degradation Problem์ด ๋ฐ์ํ๋๋ฐ, ์ด๋ overfitting ๋ฌธ์ ์ ๋ฌ๋ฆฌ train accuracy์ test accuracy๊ฐ ๋ชจ๋ ๋จ์ด์ง๋ ํ์์ ๋ณด์ธ๋ค.(overfitting์ train accuracy๋ ์ฌ๋ผ๊ฐ๋, test accuracy๊ฐ ๋จ์ด์ง๋ ํํ์)
์ฌ๊ธฐ์๋ layer๊ฐ ๋ ๊น์ด ์์ผ์๋ก optimize๊ฐ ๋ณต์กํ๊ธฐ ๋๋ฌธ์ ์๊ธฐ๋ ๋ฌธ์ ๋ผ๊ณ ๋ณด๊ณ , shallow architecture(์์ ๊ตฌ์กฐ์ ๋ชจ๋ธ)๊ณผ deep architecutre๋ฅผ ๋น๊ตํด๋ณด๋ ค๊ณ ํ๋ค. ํ์ต๋ ์์ ๋ชจ๋ธ์ identity mapping(์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ด ๋์ผํ ๋งคํ ํจ์. ์ฌ๊ธฐ์๋ skip connection์ ํตํด ์ง์ ์ ์ผ๋ก ์ ๋ ฅ์ ์ถ๋ ฅ์ผ๋ก ์ ๋ฌํ๋ ๊ณผ์ ์ ์๋ฏธ)์ ์ถ๊ฐํ์ฌ ๋จ์ํ ๊น๊ฒ ์๋ deep architecture๋ฅผ ๋ง๋ค์์ง๋ง ์ข์ solution์ ์๋์๋ค.
์ด ๋ ผ๋ฌธ์์๋ degradation problem์ ํด๊ฒฐํ๊ธฐ ์ํด deep residual learning framework๋ฅผ ์ ์ํ๋ค. ์ด๋ ๊ธฐ์กด mapping์ธ $H(x)$๋ฅผ $F(x) := H(x)-x$ ์ฆ, $H(x):=F(x)+x$๋ก mapping ํ๊ฒ ๋ง๋ ๋ค. ์ด residual mappingd ๊ธฐ์กด์ mapping๋ณด๋ค optimizeํ๊ธฐ ๋ ์ฌ์ด๊ฒ์ผ๋ก ๊ฐ์ ํ๋ค.
$F(x)+x$๋ฅผ shortcut connection์ด๋ผ๊ณ ๋ ๋งํ๋๋ฐ, ์ด๋ ์ ๊ทธ๋ฆผ์ฒ๋ผ ํ ๊ฐ ์ด์์ layer๋ฅผ ๊ฑด๋๋ฐ๊ธฐ ๋๋ฌธ์ด๋ค. Shortcut connection์ ๋ ๋ค๋ฅธ ์ฅ์ ์ ๋ณต์กํ ๊ณ์ฐ์ skipํ๋ค๋ ๊ฒ์ด๋ค.
Deeper model ์ผ์๋ก ์ฑ๋ฅ์ด ์ข์์ง๋ ๊ธฐ์กด ์ฐ๊ตฌ์๋ ๋ฌ๋ฆฌ, ๋ชจ๋ธ์ด ๊น์ด์ง์๋ก ๋ฐ์ํ๋ Degradtion problem์ ํด๊ฒฐํ๊ธฐ ์ํด, residual learning์ ๋์ ํ Residual Network(ResNet)์ ์ ์ํ์ฌ, ๋ชจ๋ธ์ด ๊น์ด์ ธ๋ ๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์๋ค. 50-layer ์ด์๋ถํฐ๋ bottleneck block์ ์ฌ์ฉํ์ฌ ๊ณ์ฐ๋์ ์ค์๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก, residual learning์ ์ฌ์ฉํ ResNet์ด VGG๋ฅผ ๋ฐํ์ผ๋ก ๋ง๋ plain network๋ณด๋ค ๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์๋ค.
Reference
https://velog.io/@jinhoyoho/๋ ผ๋ฌธ-๋ถ์-Deep-Residual-Learning-for-Image-Recognition
Leave a comment