-
Notifications
You must be signed in to change notification settings - Fork 0
ResNet
- ResNet ์ ์ต์ด๋ก 100 ๊ฐ ์ด์์ Layer ๋ฅผ ์์ผ๋ฉด์, layer๊ฐ ๊น์ด์ ธ๋ ์ฑ๋ฅ์ด ํฅ์๋์ง ์๋ ํ๊ณ (Degradation problem) ๋ฅผ ๊ทน๋ณตํ๋ฉฐ ์ข์ ์ฑ๋ฅ์ ์ด๋์ด๋ธ ๋ชจ๋ธ
- ์ธ๊ฐ์ ๋ฅ๋ ฅ์ ๋ฐ์ด๋์ผ๋ฉฐ ImageNet Classification ๋ฟ์๋๋ผ, localization, Detection, Segmentation ๋ 1๋ฑ ์ฐจ์ง
- Architecture
- Shortcut connection
-
์์ part
- 7x7 Conv layer 1๊ฐ
- He initialization
- ResNet ์ ์ ํฉํ initialization
- He ๊ฐ ์๋ ์ผ๋ฐ์ ์ธ initialization ์ ์ฌ์ฉํ๋ฉด,
skip connection ๊ณผ์ ์์ ์ฒ์๋ถํฐ ๋ํด์ง๋ ๊ฐ์ด ์ปค์ง๊ฒ๋๋ค
-
Residual Block part
- Stack residual blocks
- Every residual block has two 3x3 conv layers
- residual block ๋ด๋ถ์ layer ๋ ๋ชจ๋ 3x3 conv ์ฌ์ฉ
- parameter ์๊ฐ ๊ธ๊ฒฉํ๊ฒ ์ฆ๊ฐํ์ง ์์ผ๋ฉฐ, ์๋์ ์ผ๋ก ์ฐ์ฐ์ด ๋น ๋ฅธ ์ด์ ๊ฐ ๋๋ค
- Batch norm after every conv layer
- Doubling the number of filters and spatially down-sampling by stride 2 instead of spatial pooling
- residual block part ๊ฐ ๋ฐ๋๋๋ง๋ค,
down sampling ์ ํตํด ๊ณต๊ฐ์์ ํฌ๊ธฐ๋ ์ ๋ฐ์ผ๋ก ์ค๊ณ , ์ฑ๋ ์๋ ๋ ๋ฐฐ์ฉ ์ฆ๊ฐ
- residual block part ๊ฐ ๋ฐ๋๋๋ง๋ค,
-
์ต์ข ์ถ๋ ฅ
- Only a single FC layer for output classes
- avg pool ์ ์ ์ฉํ ํ, ํ๋์ FC layer ๋ก ๊ตฌ์ฑ
-
cf) stride 2๋ก spatially down sampling ํ๋ ์ด์
-
downsampling : ์ด๋ฏธ์ง์ ํฌ๊ธฐ๋ฅผ ์ค์ด๋ ๊ณผ์
- ์ฐธ๊ณ : 08. Downsampling (tistory.com)
-
Convolutional Neural Network์์ feature์ resolution์ ์ค์ผ ๋, stride=2 ๋๋ max/average pooling์ ์ด์ฉํ์ฌ resolution์ 1/2๋ก ์ค์ด๋ ๋ฐฉ๋ฒ์ ๋ง์ด ์ฌ์ฉ
-
convolution layer๋ฅผ ์ด์ฉํ์ฌ stride = 2๋ก ์ค์ด๋ฉด ํ์ต ๊ฐ๋ฅํ ํ๋ผ๋ฏธํฐ๊ฐ ์ถ๊ฐ๋๋ฏ๋ก ํ์ต ๊ฐ๋ฅํ ๋ฐฉ์์ผ๋ก resolution์ ์ค์ด๊ฒ ๋๋
๊ทธ๋งํผ ํ๋ผ๋ฏธํฐ์ ์ฆ๊ฐ ๋ฐ ์ฐ์ฐ๋์ด ์ฆ๊ฐํ๊ฒ ๋ฉ๋๋ค. -
pooling์ ์ด์ฉํ์ฌ resolution์ ์ค์ด๊ฒ ๋๋ฉด ํ์ต๊ณผ ๋ฌด๊ดํด์ง๋ฉฐ ํ์ตํ ํ๋ผ๋ฏธํฐ ์์ด ์ ํด์ง ๋ฐฉ์ (max, average)์ผ๋ก resolution์ ์ค์ด๊ฒ ๋์ด ์ฐ์ฐ ๋ฐ ํ์ต๋์ ์ค์ด๋ค์ง๋ง convolution with stride ๋ฐฉ์๋ณด๋ค ์ฑ๋ฅ์ด ์ข์ง ๋ชปํ๋ค๊ณ ์๋ ค์ ธ ์๋ค
-
-
cf) He initializaiton
- He ์ด๊ธฐํ(He Initialization)๋ ReLU๋ฅผ ํ์ฑํ ํจ์๋ก ์ฌ์ฉํ ๋ ์ถ์ฒ๋๋ ์ด๊ธฐํ ๋ฐฉ๋ฒ์ ๋๋ค.
-
cf) Batch normalization
- Batch normalization ๋ ์ด๊ธฐ ๊ฐ์ค์น ์ค์ ๋ฌธ์ ์ ๋น์ทํ๊ฒ ๊ฐ์ค์น ์๋ฉธ ๋ฌธ์ (Gradient Vanishing) ๋๋ ๊ฐ์ค์น ํญ๋ฐ ๋ฌธ์ (Gradient Exploding)๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ ๊ทผ ๋ฐฉ๋ฒ ์ค ํ๋
- Batch Normalization ์ ํจ๊ณผ
- ํ์ต ์๋๊ฐ ๊ฐ์ ๋๋ค (ํ์ต๋ฅ ์ ๋๊ฒ ์ค์ ํ ์ ์๊ธฐ ๋๋ฌธ)
- ๊ฐ์ค์น ์ด๊น๊ฐ ์ ํ์ ์์กด์ฑ์ด ์ ์ด์ง๋ค (ํ์ต์ ํ ๋๋ง๋ค ์ถ๋ ฅ๊ฐ์ ์ ๊ทํํ๊ธฐ ๋๋ฌธ)
- ๊ณผ์ ํฉ(overfitting) ์ํ์ ์ค์ผ ์ ์๋ค (๋๋กญ์์ ๊ฐ์ ๊ธฐ๋ฒ ๋์ฒด ๊ฐ๋ฅ)
- Gradient Vanishing ๋ฌธ์ ํด๊ฒฐ
-
์ฐธ๊ณ : ๋ฌธ๊ณผ์๋ ์ดํดํ๋ ๋ฅ๋ฌ๋ (10) - ๋ฐฐ์น ์ ๊ทํ (tistory.com)
- skip connection ์ด๋ผ๊ณ ๋ ํ๋ค
- ๊ธฐ์กด์ gradient ๊ฐ vanishing ๋๋๋ผ๋, shortcut connection (identity) ์ ์ํ gradient ๊ฐ ๋จ์์๊ธฐ์,
gradient vanishing ๋ฌธ์ ๋ฅผ ํด์ํ ์ ์๊ฒ๋จ - ๋ ๊น๊ฒ layer ๋ฅผ ์์ ์ ์๊ฒ๋์ด degradation problem ์ ํด๊ฒฐํ ์ ์๊ฒ ๋จ
-
Plain Layer
- As the layers get deeper, it is hard to learn good
$H(x)$ directly -
$H(x)$ ๋ผ๋ mapping ์ ํ์ตํ ๋์,
layer ๋ฅผ ๋๊ฒ ์์์ ๊ณง๋ฐ๋ก$x$ ์์$H(x)$ ์ ๊ด๊ณ๋ฅผ ํ์ตํ๋ ค๊ณ ํ๋ฉด,
๋ณต์กํ๊ธฐ์ ํ์ตํ๊ธฐ ์ด๋ ต๋ค
- As the layers get deeper, it is hard to learn good
-
Residual block
- ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง
$x$ (identity) ์ธ์ ์์ฌ ๋ถ๋ถ (residual) ๋ง ๋ชจ๋ธ๋งํ์ฌ,
ํ์ตํ๊ฒ๋ ๋ณ๊ฒฝ - Target function :
$H(x) = F(x) + x$ - Residual function :
$F(x) = H(x) - x$
- ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง
- As the network depth increases, accuracy gets saturated -> degrade rapidly
- ๋ชจ๋ธ์ parameter ๊ฐ ๋ง์์ง๋ฉด Overfitting ์ ์ทจ์ฝํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์์ง๋ง,
๋ ๊น์ ์ธต (56-layer) ์ training, test error ๊ฐ ๋ชจ๋ ๋ ์์ ์ธต (20-layer) ์ error ๋ณด๋ค ์์ข์
์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ๋ฉฐ Overfitting ๋ฌธ์ ๊ฐ ์๋ degradation problem (optimization) ๋ฌธ์ ๋ผ๋ ๊ฒฐ๋ก ์ ๋- cf) Overfitting ์ด ๋ฌธ์ ์๋ค๋ฉด, ๋ ๊น์ ์ธต์ training error ๋ ๋ ์ข์ ์ฑ๋ฅ์ ๋ด์ง๋ง,
test error ์์ ๋ ์์ข์ ์ฑ๋ฅ์ ๋ณด์ฌ์ฃผ์์ด์ผํ๋ค
- cf) Overfitting ์ด ๋ฌธ์ ์๋ค๋ฉด, ๋ ๊น์ ์ธต์ training error ๋ ๋ ์ข์ ์ฑ๋ฅ์ ๋ด์ง๋ง,
- gradient ๊ฐ ์ง๋๊ฐ ์ ์๋ 2^n^ ๊ฐ์ input, output path ๊ฐ ์์ฑ๋๋ค
- ๋ค์ํ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ฐ๋ ๊ฒฝ๋ก๋ฅผ ํตํด์ ๋ณต์กํ mapping ์ ํ์ตํ ์ ์๊ฒ ๋๋ค๋ ๋ถ์
- residual block ์ด ํ๋ ์ถ๊ฐ๋ ๋๋ง๋ค ๊ฒฝ๋ก ์๊ฐ 2๋ฐฐ์ฉ ์ฆ๊ฐ
- Residual networks have
$O(2^n)$ implicit paths connecting input and output,
and adding a block doubles the number of paths
Human Pose Estimation
CNN Visualization
Image Generation
Multi-modal Learning