Batch Normalization
์ด ๊ธ์ ICML 2015์์ ๋ฐํ๋ ICML 2015์์ ๋ฐํ๋ Ioffe, Szegedy์ ๋ ผ๋ฌธ ๊ณผ ์ ๊ฐ ์๊ฐํ๋ ์ฌ์ธต์ ๊ฒฝ๋ง ๊ฐ์์ ๊ธฐ๋ฐํฉ๋๋ค.
ICML 2015 ๋ ผ๋ฌธ์์๋ ๋ฅ๋ฌ๋์์ training์ ๊ฐ์ํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ผ๋ก, Batch normalization์ด๋ผ๋ ๊ธฐ๋ฒ์ ์ ์ํ์ต๋๋ค. ์ด ๊ธ์์๋ ๊ทธ ๊ธฐ๋ฒ์ ๋ํด ์ดํด๋ด ๋๋ค.
Internal Covariate Shift
์ธ์ ๋, ์ด๋ค ์๋ก์ด ๊ธฐ๋ฒ์ด ์ ์๋๊ธฐ ์ํด์๋ ๊ทธ ์ด์ ๋ฐฉ๋ฒ (๋๋ ๊ทธ ๊ธฐ๋ฒ์ด ์์ ๋) ์ ๋นํด ๋ฌด์ธ๊ฐ๊ฐ ๋์์ ธ์ผ ํ๊ณ , ๊ทธ๋ฌ๊ธฐ ์ํด์๋ ์ด๋ค ๋ฌธ์ ๊ฐ ์๋์ง๋ฅผ ์์์ผ ํฉ๋๋ค. ๊น์ ์ ๊ฒฝ๋ง ๋คํธ์ํฌ์์ ๊ฐ์ฅ ํํ ๋ฐ์ํ๋ ๋ฌธ์ ์ค ํ๋๋ Vanishing Gradient ์ ๋๋ค.
Vanishing Gradient๋, sigmoid ๊ฐ์ ํจ์๋ฅผ activation function์ผ๋ก ์ธ ๋, ์ ๋ ฅ๊ฐ์ด ๊ต์ฅํ ํฌ๋ฉด ๊ธฐ์ธ๊ธฐ๊ฐ ๋๋ฌด ์์์ ธ์ training์ด ์ ์์ ์ผ๋ก ์งํ๋์ง ์๋ ์ํฉ์ ๋งํฉ๋๋ค. ์ด ๋ฌธ์ ๋๋ฌธ์ ์ค๊ฐ์ ํ๋ฒ์ด๋ผ๋ ๊ฐ์ด ํ์ด์ $x$์ ์ ๋๊ฐ์ด ์ง๋์น๊ฒ ์ปค์ง๋ฉด, ๊ทธ ์์น์์ ์๋ฌด๋ฆฌ gradient๋ฅผ ๊ตฌํด๋ ๊ทธ ๊ฐ์ด ๋๋ฌด ์๊ธฐ ๋๋ฌธ์ ๋น ์ ธ๋์ค์ง ๋ชปํ๊ณ ๊ฐํ๋ฒ๋ฆฌ๊ฒ ๋ฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์ ์๋์์ต๋๋ค.
- Sigmoid๊ฐ์ ํจ์๋ฅผ ์ฐ์ง ๋ง๊ณ , ReLU๋ฅผ ์ฐ์. ReLU๋ $x$๊ฐ ์ปค์ ธ๋ ๊ธฐ์ธ๊ธฐ๊ฐ 0์ด ๋์ง ์๊ณ , ๋์ ์ ์์๊ฐ ๋๋ฉด 0์ด ๋๋ค๋ ๋จ์ ์ด ์์ต๋๋ค. ์ด๋ฅผ ๋ณด์ํ Leaky ReLU๊ฐ์ activation function์ ๊ณ ๋ คํ ์ ์์ต๋๋ค.
- ๋ง์ฝ ์
๋ ฅ๊ฐ์ด ๊ณ์ -1~1, ๋๋ 0~1 ์ ๋ ๋ฒ์ ์ฌ์ด๋ฅผ ์๋ค๊ฐ๋ค ํ๋ค๋ ๊ฒ์ ๋ณด์ฅํ ์ ์๋ค๋ฉด, ์ฌ์ค sigmoid๋ฅผ ์จ๋ ๋ฉ๋๋ค. ์ฆ, ์ด๋ค ์์ผ๋ก๋ ์
๋ ฅ์ stabilizeํ ์ ์์ผ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
- ๊ธ๋ก ๋ค๋ฃฌ ์ ์ ์์ง๋ง, ์ด ๋ฌธ์ ๋๋ฌธ์ ๋ฅ๋ฌ๋์ (Convexํ ํจ์์ ์ต์ ํ์๋ ๋ค๋ฅด๊ฒ) initialization์ ์ ํด์ผ ํฉ๋๋ค. Initialization์ ์ด๋ป๊ฒ ํ ์ง์ ๋ํด์๋ ๋ง์ ๋ ผ๋ฌธ๋ค์ด ์์ต๋๋ค.
- ์ค๋ ๋ค๋ฃฐ ๋ฐฉ๋ฒ๋ ์ด ๊ด์ ์์ ๋ฌธ์ ๋ฅผ ์ดํด๋ด ๋๋ค.
Ioffe์ Szegedy๋ (์ดํ, ์ ์๋ค์) ์ด๊ธฐ์ ์ ๋ ฅ์ด ์ข์ ์ํ (-1~1 ์ ๋ ๊ตฌ๊ฐ ์ฌ์ด์ ์กด์ฌ) ํ๋ ์ํฉ์ผ๋ก ์์ํ๋๋ผ๋ ๋์ค์ ๋ด๋ฐ๋ค์ ๊ฑฐ์น๋ค ๋ณด๋ฉด ์ด ๋ถํฌ๊ฐ ๋ณํํจ์ ๊ด์ฐฐํ์์ผ๋ฉฐ, ์ด๋ฅผ Internal Covariate Shift ๋ผ๊ณ ๋ถ๋ ์ต๋๋ค. ์ฆ, ์ด๊ธฐ์๋ ํ๊ท 0, ๋ถ์ฐ 1์ธ ์๋ฆ๋ค์ด ๋ฐ์ดํฐ๋ฅผ ๋ค๊ณ ์์ํ๋๋ผ๋ ์ค๊ฐ์ ํ๊ท ๊ณผ ๋ถ์ฐ์ด ํ์ด์ง๋ฉฐ, ์ด๋ฅผ ๊ต์ ํ๊ณ ์ถ๋ค๋ ๊ฒ์ ๋๋ค.
Batch Normalization
ํต๊ณํ๊ณผ ๊ธฐ์กด์ ๋จธ์ ๋ฌ๋์์๋ ์ด๋ฏธ ์๋ก ๋ค๋ฅธ ๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋, ์ ๊ทํ๋ผ๋ ๊ธฐ๋ฒ์ ์ด์ฉํด ์์ต๋๋ค. ์๋ฅผ๋ค์ด ์ด๋ค ๋๋ฌผ์ข A์ B์ ๊ฐ์ฒด์์ ๋ฐ๋ฅธ ํ๊ท๋ชจํ์ ๋ง๋ค๊ณ ์ ํ ๋, A๋ 1~100 ์ ๋ ๋ถํฌํ๊ณ B๋ 1~10,000 ์ ๋ ๋ถํฌํ๋ค๋ฉด B์ ์ฐจ์ด์ ๋นํด A์ ์ฐจ์ด๊ฐ ๋๋ฌด ์์์ ธ์ A์ ๋ฐ๋ฅธ ๋ณํ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๋ฐ์๋์ง ๋ชปํ ๊ฒ์ ๋๋ค. ์ด๋ฅผ ๋ง๊ธฐ ์ํด, ๋ณดํต์ ํ๊ท ์ด 0์ด๊ณ ๋ถ์ฐ์ด 1์ด ๋๋๋ก ์ ์ฒด ๊ฐ์ ๋ง์ถฐ์ค๋ค๊ฑฐ๋ ํ๋ ์ ๊ทํ๋ฅผ ์ํํฉ๋๋ค. ์ด๋, ๋ฐ์ดํฐ $x_1, \dots x_n$์ ๋ํด ์ ๊ทํ๋ ๋ค์๊ณผ ๊ฐ์ด ์ฝ๊ฒ ์ํํ ์ ์์ต๋๋ค. \(y_i = \frac{x_i - \expect{x}}{\sqrt{\var[x]}}\) ์ด ๋ฐฉ๋ฒ์ ์ฌ์ด ์ ๊ทํ์ง๋ง, ์ฝ๊ฐ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ ๊ทํ ๋๋ฌธ์ ํน์ ๋คํธ์ํฌ๊ฐ ํํ๊ฐ๋ฅํ ํจ์์ ์งํฉ (์ด๋ฅผ Representation power๋ผ ํฉ๋๋ค) ์ด ์ค์ด๋ค์ง ์๋๋๋ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด sigmoid๊ฐ -1, 1 ๊ตฌ๊ฐ์์ ๊ฑฐ์ linearํ๊ณ ์์ชฝ๋ถ๋ถ์์ nonlinearํ๋ฐ ๋ชจ๋ ์ค๊ฐ ๋ ์ด์ด๊ฐ์ ์ด๊ฑฐ์ง๋ก ์ด๋ ๊ฒ ์ค๊ฐ์ ๋ฐ์ด๋ฃ๋๊ฒ ์ฌ๋ฐ๋ฅด๋? ๋ ๋ง์ ์ ๋ป ๋ตํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
๊ทธ๋์ ์ ์๋ค์ ์๋ก์ด ๋ฐฉ๋ฒ์ผ๋ก, ๋ค์๊ณผ ๊ฐ์ normalization์ ์ ์ํฉ๋๋ค. \(y_i = \gamma_i \frac{x_i - \expect{x}}{\sqrt{\var[x]}} + \beta_i\) ์ด๋, $\gamma_i$ ์ $\beta_i$๋ trainable parameter์ ๋๋ค.
์ด์ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ณ ๋๋ฉด, ๋๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. Stochastic optimization์ ํ๋ ์ฐ๋ฆฌ์ ํน์ฑ์, batch ํ๋ฒ์ ์ด์ฉํด์ gradient update๋ฅผ ํ๊ณ ๋๋ฉด ํ๊ท ๊ณผ ํ์คํธ์ฐจ๊ฐ ๋ฌ๋ผ์ง๋๋ค. ์ ์ฒด ๋ฐ์ดํฐ๊ฐ 1๋ง๊ฐ๊ณ batch๊ฐ 100๊ฐ์ฉ์ด๋ผ๊ณ ํ๋ฉด, 100๊ฐ๋ฅผ ์ด์ฉํด์ ๋ ์ด์ด์ ๊ฐ ํ๋ผ๋ฏธํฐ๋ฅผ ํ๋ฒ ๋ฐ๊พธ๊ณ ๋๋ฉด 1๋ง๊ฐ์ ์ ๋ ฅ์ ๋ฃ๊ณ ๋๋ ค์ ์๋ก์ด ํ๊ท ์ ๊ตฌํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด๋ด๊ฑฐ๋ฉด ์ ์ด์ batch๋ฅผ ์ก์์ stochasticํ๊ฒ ๋ญ๊ฐ๋ฅผ ํ๋ ์๋ฏธ๊ฐ ์์ด์ ธ ๋ฒ๋ฆฝ๋๋ค.
๊ทธ๋์ ์ ์๋ค์ ์ค์ ํ๊ท ๊ณผ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํด์ ์ฐ๋๊ฒ ์๋๋ผ, batch๋ณ๋ก ํ๊ท ๊ณผ ํ์คํธ์ฐจ๋ฅผ ๊ตฌํด์ ๊ทธ ๊ฐ๋ค๋ง ํ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค. ์ฆโฆ Tensor $X$๋ฅผ $B \times N$ ๋ก ๋ณผ ๋, \(\begin{align*} \mu[:] &= \frac{1}{B} \sum_{b = 1}^{B} X[b, :] \\ \sigma^2[:] &= \frac{1}{B} \sum_{b = 1}^{B} (X[b, :] - \mu[:])^2 + \epsilon \\ \text{BN}_{\beta, \gamma}(X)[b, :] &= \gamma[:] \odot \frac{X[b, :] - \mu[:]}{\sigma[:]} + \beta[:] \end{align*}\) ์ด๋ ๊ฒ ๋ฉ๋๋ค. $\epsilon$์ floating point error๋ฅผ ํผํ๊ธฐ ์ํด ์ง์ด๋ฃ์ ์ ๋นํ ์์ ์์ด๋ฏ๋ก ์ํ์ ์ผ๋ก๋ ๊ณ ๋ คํ์ง ์์๋ ๋ฉ๋๋ค.
Convolution ์ฐ์ฐ์์๋ ๊ฑฐ์ ๊ฐ์ต๋๋ค. ๋ค๋ง, Convolution์ ๊ฒฝ์ฐ ์ด๋ค spatial locality๋ฅผ ์ ์งํ๋ค๋ ์ฑ์ง์ ์ ์งํ๊ณ ์ถ๊ธฐ ๋๋ฌธ์ (์ด ์ ๋ณด๊ฐ ์ด๋์ ์๋์ง๋ฅผ ์ด๋์ ๋๋ ๋ณด์กดํ๋ฉด์ ๊ฐ๊ณ ์ถ๊ธฐ ๋๋ฌธ์) H, W ๋ฐฉํฅ์ผ๋ก๋ ์ ๊ทํํ์ง ์๊ณ , C๋ฐฉํฅ๋ง ์ด์ฉํด์ ์ํํฉ๋๋ค. ์ฆ, tensor $X$๋ฅผ $B \times C \times H \times W$ ๋ก ๋ณผ ๋, \(\begin{align*} \mu[:] &= \frac{1}{BHW} \sum_{b = 1}^{B} \sum_{i = 1}^{H} \sum_{j = 1}^{W} X[b, :, i, j] \\ \sigma^2[:] &= \frac{1}{BHW} \sum_{b = 1}^{B} \sum_{i = 1}^{H} \sum_{j = 1}^{W} (X[b, :, i, j] - \mu[:])^2 + \epsilon^2 \\ \text{BN}_{\beta, \gamma}(X)[b, :, i, j] &= \gamma[:] \odot \frac{X[b, :, i, j] - \mu[:]}{\sigma[:]} + \beta[:] \end{align*}\)
Experimental Result
์ ์๋ค์ ๋ค์๊ณผ ๊ฐ์ ์ฌํญ๋ค์ ์คํ์ ์ผ๋ก ํ์ธํ์ต๋๋ค.
- Dropout๊ณผ Batch norm์ ๋ ๋ค ์ธ ํ์๋ ์์ต๋๋ค. BN ์์ฒด๊ฐ ์ด๋์ ๋์ regularizaitonํจ๊ณผ๊ฐ ์๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํฉ๋๋ค.
- BN์ด ์๊ธฐ ๋๋ฌธ์, learning rate๋ฅผ ์ข๋ ํฌ๊ฒ ์ก์ ์ ์์ต๋๋ค. ๊ฐ์ ์๋ฆฌ๋ก, momentum์ ๋๋ฆฌ๊ฑฐ๋ lr decay๋ฅผ ์ค์ผ ์๋ ์๊ฒ ์ต๋๋ค.
- ReLU๊ฐ ์๋ tanh, sigmoid ๋ฑ์ ํจ์๋ activation์ผ๋ก ์ธ ์ ์์ต๋๋ค.
- Local Response Normalization ์ด๋ผ๋ ๋ฐฉ๋ฒ์ AlexNet ํฌ์คํ ์์ ์ธ๊ธํ์ง๋ง ๋์ด์ ์ฐ์ด์ง ์๋๋ค๊ณ ๋งํ์๋๋ฐ, ๊ทธ ์ด์ ๊ฐ ์ฌ๊ธฐ์ ์์ต๋๋ค. BN์ ์ฌ์ฉํ๋ฉด Local Response Normalization์ ๊ตณ์ด ํ์ํ์ง ์๋ค๊ณ ํฉ๋๋ค.
๋ํ, VGGNet ํฌ์คํ ์์๋ โVGGNet์ ๊น์ด์ training์ด ์ด๋ ต๊ธฐ ๋๋ฌธ์ 11๋ ์ด์ด ํ๋ จํ๊ณ ๊ฑฐ๊ธฐ์ 2๊ฐ ์น๊ณ โฆํ๋ ์์ผ๋ก trainingํ๋คโ ๋ ๋ง์ ์ธ๊ธํ ์ ์ด ์๋๋ฐ, BN์ ์ฌ์ฉํ๋ฉด ์ด๊ฒ๋ ๊ตณ์ด ๊ทธ๋ ๊ฒ ํ์ง ์์๋ ๊ทธ๋ฅ ๋ฐ๋ก 16๋ ์ด์ด๋ฅผ ํ๋ จํ ์ ์์ต๋๋ค.
ํ์์ฐ๊ตฌ : Real effect of BN?
MIT์ ์ฐ๊ตฌํ (Santurkar et al) ์ 2018๋ NeurlPS์ ๋ฐํ๋ ์ฐ๊ตฌ์์, BN์ ์ ์๋ค์ด ์ฃผ์ฅํ Internal Covariate Shift (์ดํ ICS)์ ๋ํ ๋ถ๋ถ์ ๋ฐ๋ฐํ์ต๋๋ค. ๋ณด๋ค ์ ํํ๋, ์ด ๋ ผ๋ฌธ์ ์์ ์ ์ ๋ฆฌํ์๋ฉดโฆ
- ICS๋ฅผ ๊ต์ ํ๋ค๊ณ ์ค์ ๋ก performance๊ฐ ๋์์ง๋ค๋ ๊ทผ๊ฑฐ๋ ๋ณ๋ก ์๋ค. BN์ ์ ์๋ค์ด (BN์ด ICS๋ฅผ ๊ต์ ํ๋ฉฐ) (๊ทธ๋์ performance๊ฐ ๋์์ง๋ค) ๋ผ๊ณ ์ฃผ์ฅํ์ง๋ง, concrete evidence๊ฐ ์๋๊ฒ์ ์๋๋ค.
- In fact, BN์ด ICS๋ฅผ ์ ๋ง ๊ต์ ํ๋ ๊ฒ๋ ์ฌ์ค ์๋๋ค. ์คํ ๊ฒฐ๊ณผ๋ BN์ด ICS ๊ต์ ๊ณผ ๋ณ๋ก ์๊ด์ด ์๋๊ฒ ๊ฐ๋ค.
- ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ BN์ด performance๋ฅผ ๊ฐ์ ํ๋๊ฑด ์ฌ์ค์ด๋ค.
- ์ฌ์ค BN์ ์ง์ง ํจ๊ณผ๋, loss function์ surface๋ฅผ smoothํ๊ฒ ๋ง๋๋ ํจ๊ณผ๊ฐ ์๋ค. ๋ํ, ๋ค๋ฅธ regularization ๋ฐฉ๋ฒ๋ค๋ ์ํ์ ์ผ๋ก ๋ถ์ํด๋ณด๋ฉด ๊ทธ๋ฐ ํจ๊ณผ๊ฐ ์๋ค.
์ด์ ๋๋ก ์์ฝํ ์ ์์ต๋๋ค. ์ฆ, Loss function์ด ์ข๋ ์ข์ ํํ๋ก ์กํ๊ธฐ ๋๋ฌธ์ BN์ ์จ์ผ ํ๊ธด ํ์ง๋ง, ๊ทธ๊ฒ ICS ๋๋ฌธ์ ์๋๋ผ๋ ๊ฒ์ ๋๋ค. ์ด ๋ ผ๋ฌธ์ ๋ค์ํ ์คํ๊ฒฐ๊ณผ์ ํจ๊ป ์ด๋ก ์ ์ผ๋ก๋ ๋ถ์ํ๊ณ ์๋๋ฐ, ์ด๋ก ์ ๊ธฐ๋ฐ์ ๋จผ์ ๊ฐ์ถ์ํ๋ก ์ ํํ ํ์ํ ๊ฒ์ด ๋ฌด์์ธ์ง๋ฅผ ์ก์๋ด์ ์คํ์ ์ค๊ณํ๋ฉด ๋ณด๋ค ์ํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ฝ๊ณ ์ ํํ๊ฒ ์ป์ ์ ์๋ค๋ ์ ๊ณผ, ์ฐ๋ฆฌ๊ฐ ์ ์๋ ค์ง ๊ธฐ๋ฒ๋ค์ ๋ํด์๋ ์ํ์ /ํต๊ณํ์ ์ผ๋ก ๋ช ํํ๊ฒ ์ดํดํ๊ณ ์๋ ๊ฒ์ ์๋๋ผ๋ ๊ฒ์ ๋ณด์ฌ์ฃผ๋ ์์๋ผ๊ณ ํ ์ ์๊ฒ ์ต๋๋ค.
๊ทธ๋ผ์๋, ์ดํ์ ๋ง์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ๋ค - ํนํ CNN๋ค์ ๋ํด์, Batch Normalization์ ๊ฑฐ์ ํ์์ ์ธ ๊ฒ์ผ๋ก ๋ฐ์๋ค์ฌ์ง๊ณ ์์ ๋งํผ ์ฑ๋ฅ ๊ฐ์ ํจ๊ณผ๊ฐ ๋๋ ทํ๊ธฐ์ ์ ์ ์๋ค์ ์ฐ๊ตฌ๊ฐ ๋น์ด ๋ฐ๋๋ ๊ฒ์ ์๋๋๋ค. 2014๋ ์ดํ์ Deep CNN ๋ชจ๋ธ๋ค์ BN์ ํจ๊ณผ ๋๋ถ์ ํ๋ จ์ด ๊ฐ๋ฅํด์ก๋ค๊ณ ํด๋ ๊ณผ์ธ์ด ์๋๋๊น์. ์์ผ๋ก๋ ์ด๋ฐ ๋ฐฉ๋ฒ๋ค์ ์ ์ฉํ, ๋ ๊น์ network๋ค์ ๋ํด ์ข๋ ์ดํด๋ณด๊ฒ ์ต๋๋ค.