๐ถ ์ด๋ก (Abstract)
- Deep Neural Net์ training์ "๊ฐ ์ธต์ input๊ณผ parameter๊ฐ ๋ณํ๋ค" ๋ ์ ์์ ๋งค์ฐ ๋ณต์กํ๋ค๋ ๊ฒ์ด ์ ๋ก ์ด๋ค.
- ๋ฎ์ ํ์ต์จ, ์กฐ์ฌ์ค๋ฐ parameter ์ด๊ธฐํ๋ก ์ธํด training์ ๋๋ฆฌ๊ฒ ๋ง๋ค๊ณ ํฌํ ๋น์ ํ์ฑ(saturating nonlinearity)์ผ๋ก ์ธํด model train์ ์ ๋ช ๋๊ฒ ๋ง๋ ๋ค.
- ์ฐ๋ฆฌ๋ ์์ ๊ฐ์ ํ์์ internal covariate shift๋ผ ๋ถ๋ฅด๋ฉฐ, ์ด๋ฐ ๋ฌธ์ ๋ฅผ input layer๋ฅผ normalizing์ ํตํด ๋ค๋ฃฌ๋ค.
- ์ฐ๋ฆฌ์ ๋ฐฉ๋ฒ์ model ๊ตฌ์กฐ์ ์ผ๋ถ์ normalization๊ณผ for each training mini-batch์ normalization์ ์ ์ฉํจ์ ํตํ Batch-Normalization์ ํตํด ๋ ๋์ learning rates์ ์ด๊ธฐํ์ ๋ํด ๋ ์ ๊ฒฝ ์ธ ์ ์๋๋ก ํ๋ ๊ทธ๋ฐ ๊ฐ์ ์ ์ด๋์ด ๋ด์๋ค.
- Batch-Normalization์ ๋ํ regularizer์ ์ญํ ๋ ํ ์ ์๋๋ฐ, ์ด๋ ํ ๊ฒฝ์ฐ์๋ Dropout์ ํ์์ฑ์ ์์ ์ฃผ์๋ค.
- BN(Batch Normalization)์ ์์๋ธ์ ์ฌ์ฉ์ผ๋ก ILSVRC์์ ์ต์์ ๊ฒฐ๊ณผ๋ฅผ ์ป์์ผ๋ฉฐ ๋ ์กฐ๊ธ์ training step์ผ๋ก ๊ฐ์ ๊ฒฐ๊ณผ์ ๋๋ฌํ ์ ์์๋ค.
1. ์๋ก (Introduction)
- ๋ฅ๋ฌ๋์์ SGD๋ ๋งค์ฐ ํจ๊ณผ์ ์ธ ํ๋ จ๋ฐฉ๋ฒ์ผ๋ก ์ฆ๋ช ๋์๋๋ฐ, SGD์ ๋ณํ(momentum, Adagrad)๋ค์ ์์ ์ ๊ฒฝ์ง๋ผ ํ ๋งํ๋ค.
- SGD๋ loss๋ฅผ ์ต์ํํ๊ธฐ ์ํด x1..N์ training data set์์ ์ ๊ฒฝ๋ง์ parameter Θ๋ฅผ ์ต์ ํ ํ๋ค.- SGD์ ์ด์ฉ์ training์ ๊ณผ์ ๋ฐ ๊ฐ step์ ๊ณผ์ ์์ ํฌ๊ธฐ m์ mini-batch x1...m์ ๋ํด ์๊ฐํด๋ณด์.
mini-batch๋ parameter์ ๊ณ์ฐ์ ๊ดํ loss function์ gradient๊ฐ์ ์ถ์ ํ๊ณค ํ๋ค.• mini-batch์ ์ฌ์ฉ์ ๋ช๋ช ์ฅ์ ์ด ์๋ค.
โ mini-batch์ ๋ํ loss์ ๊ธฐ์ธ๊ธฐ(gradient) = ๋ฐฐ์น๊ฐ ์ฆ๊ฐํ๋ฉด์ ํ์ง์ด ํฅ์๋๋ training set์ ๋ํ ๊ธฐ์ธ๊ธฐ์ ์ถ์ ์น์ด๋ค.
โก๋์งธ, ํ๋ ์ปดํจํ ํ๋ซํผ์ด ์ ๊ณตํ๋ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋ก ์ธํด ๋ฐฐ์น๋ฅผ ํตํ ๊ณ์ฐ์ ๊ฐ๋ณ ์์ ์ ๋ํ m๊ฐ ๊ณ์ฐ๋ณด๋ค ํจ์ฌ ๋ ํจ์จ์ ์ผ ์ ์๋ค.
- ์ด๋ฐ SGD๋ ๊ฐ๋จํ๋ฉด์ ํจ์จ์ ์ด์ง๋ง hyper-parameter, ํนํ learning rate์ ๊ด๋ จํ์ฌ ์ธ๋ฐํ ์กฐ์ ์ด ํ์ํ๋ค.
์์ ๋ณํ๋ผ ํด๋ ๊น์ด๊ฐ ๊น์ด์ง์๋ก ๊ทธ๋ฐ ๋ณํ๋ค์ด ์ฆ๋๋๊ธฐ(amplify) ๋๋ฌธ์ด๋ค.
- layer๋ค์ด ์๋ก์ด ๋ถํฌ์ ์ง์์ ์ผ๋ก ์ ์ํ ํ์๊ฐ ์์ด์ layer์ input์ ๋ถํฌ(distribution)๋ณํ๋ ๋ฌธ์ ๋ฅผ ์ ์ํ๋ค.
ํ์ต์ ๋ ฅ๋ถํฌ์ ๋ณํ๋ covariate shift(๊ณต๋ณ๋ ์ด๋)์ ๊ฒฝํํ๋๋ฐ, ์ด๋ ๋ณดํต domain adaptation์ผ๋ก ํด๊ฒฐํ๋ค.
๋ค๋ง, covariate shift์ ๊ฐ๋ ์ sub-network(ํ์ ์ ๊ฒฝ๋ง)๋ layer๊ฐ ๋์ผํ ๋ถ๋ถ์ ์ ์ฉํด์ผ ํ๋ค.
์ด๋ก ์ธํด learning system์ด ์ ์ฒด๋ฅผ ๋์ด์ ํ์ฅ๋ ์ ์๋ค.F1๊ณผ F2๊ฐ ์์์ transformation์ด๊ณ , Loss๋ฅผ ์ต์ํํ๊ธฐ ์ํด parameter Φ1, Φ2๊ฐ ํ์ต๋๋ ์ ๊ฒฝ๋ง์ ๊ณ์ฐ์ ์๊ฐํด๋ณด์. ํ์ต Φ2๋ ์ ๋ ฅ x = F1(u, Φ1)์ด sub-network์ ๊ณต๊ธ๋๋ ๊ฒ(fed into)์ฒ๋ผ ๋ณผ ์ ์๋ค.
์๋ฅผ ๋ค์ด ๊ฒฝ์ฌํ๊ฐ๋จ๊ณ์์ (batch size m .&. learning rate α) input x๊ฐ ์๋ ๋ ๋ฆฝ์คํํ ์ ๊ฒฝ๋ง F2์ ๊ฒฝ์ฐ์ ์ ํํ๊ฒ ๋๋ฑ๋ค.๋ฐ๋ผ์ train๊ณผ test data๊ฐ์ ๋์ผํ ๋ถํฌ๋ฅผ ๊ฐ๋ ๊ฒ์ฒ๋ผ train์ ๋ ํจ์จ์ ์ผ๋ก ๋ง๋๋ input ๋ถํฌ์ ์์ฑ(property)์ sub-network training์๋ ์ ์ฉ๋๋ค.
๊ทธ๋์ x์ ๋ถํฌ๋ ์๊ฐ์ด ์ง๋๊ฒ ๋๋ฉด ๊ณ ์ ๋ ์ํ๋ฅผ ์ ์งํ๋ ๊ฒ์ด ์ ๋ฆฌํ๋ค.
๊ทธ๋ฌ๋ฏ๋ก Φ2๋ x์ ๋ถํฌ ๋ณํ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ์ฌ์กฐ์ ํ ํ์๊ฐ ์๋ค.
• z = g(Wu + b) ( g(x)๋ sigmoid 1 / 1+exp(-x)ํจ์, u๋ input, b๋ bias )์ ๋ํด g'(x) = exp(x) / (exp(x)+1)^2์ผ๋ก x์ ์ ๋๊ฐ์ด ์ฆ๊ฐํ ์๋ก 0์ผ๋ก ์๋ ดํ๋๋ฐ, ์ด๋ก ์ธํด gradient vanishing์ด ๋ฐ์ํด train์ด ๋๋ ค์ง๋ค.
์ด๋, x=Wu + b์์ x๋ ์๋์ธต parameter์ ์ํฅ์ ๋ง์ด ๋ฐ์ train์ค parameter์ ๋ณ๊ฒฝ์ x์ ๋ง์ ์ฐจ์์ "๋น์ ํ์ฑ์ ํฌํ์ํ(saturated regime of the nonlinearity)"๋ก ๋ง๋ค๊ณ ์๋ ด์ ๋๋ฆฌ๊ฒ ๋ง๋ ๋ค.
์ด๋ฐ ์ํฅ์ depth๊ฐ ๊น์ด์ง์๋ก ์ฆ๋๋๋๋ฐ, ์ค์ ๋ก ํฌํ๋ฌธ์ ์ gradient์์ค๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด Rectified Linear Units(ReLU(x) = max(x,0))๊ณผ ์ ์คํ ์ด๊ธฐํ, ์์ learning rates๋ฅผ ์ด์ฉํ๋ค.
- ๋ค๋ง ์ ๋ ฅ๊ฐ์ ๋น์ ํ์ฑ์ ๋ถ๋ฐฐ(non-linearity distribution)๋ ์ ๊ฒฝ๋ง์ ํ๋ จ์ ๋ ์์ ์ ์ผ๋ก ํ ๊ฒ์ด๋ฉฐ optimizer๊ฐ ํฌํ๋ ๊ฐ๋ฅ์ฑ์ด ์ ๊ฒ ํ๊ณ ํ๋ จ์ ๊ฐ์ํ ํ ๊ฒ์ ํ์ ํ ์ ์๋ค. (Rectified Linear Unit (ReLU) activation์ด ์ ๊ฒฝ๋ง์ ๋น์ ํ์ฑ(non-linearity)์ ๋ง๋ค ์ ์๋ค!)
• Internal Covariate Shift (๋ด๋ถ ๊ณต๋ณ๋ ์ด๋)
- training๊ณผ์ ์์ ์ฌ์ธต์ ๊ฒฝ๋ง์ ๋ด๋ถ ๋ ธ๋ ๋ถํฌ์ ๋ณํ๋ฅผ ๋ด๋ถ ๊ณต๋ณ๋ ์ด๋์ด๋ผ ํ๋ฉฐ ์ด๋ฅผ ์ ๊ฑฐํ๋ฉด training์ ๋น ๋ฅด๊ฒ ํ ๊ฐ๋ฅ์ฑ์ด ์๋ค.
- ์ด๋ฅผ ์ํ ์๋ก์ด ๊ธฐ์ ์ ๋์ ํ๋๋ฐ, ์ด๊ฒ์ด ๋ฐ๋ก BN, Batch-Normalization์ผ๋ก ๋ด๋ถ๊ณต๋ณ๋์ด๋์ ์ค์ฌ์ค ์ฌ์ธต์ ๊ฒฝ๋ง์์ ๋งค์ฐ ๊ทน์ ์ผ๋ก training์ ๊ฐ์ํ์ํฌ ์ ์๋ค.
- layer์ ์ ๋ ฅ๊ฐ์ ํ๊ท (means)๊ณผ ๋ถ์ฐ(variance)์ ๊ณ ์ ํจ์ผ๋ก ์ด๋ฅผ ๋ฌ์ฑํ๋ค.
- Batch Normalization์ ์ถ๊ฐ์ ์ธ ์ด์ ์ ๋ฐ๋ก ์ ๊ฒฝ๋ง์์์ gradient flow์ด๋ค.
- ์ด๋ ๋ฐ์ฐ(divergence)์ ์ํ์ฑ์์ด ๋ ๋์ learning rate์ ์ฌ์ฉ์ ํ์ฉํ๊ฒ ํ๋ค.
- ๋ํ, BN์ model์ ๊ท์ ํ(regularize)ํ๊ณ Dropout์ ํ์์ฑ์ ์ค์ฌ์ค๋ค.
์ฆ, ์ ๊ฒฝ๋ง์ ํฌํ์ํ์ ๊ณ ์ฐฉ๋๋ ๊ฒ์ ๋ง์์ค์ผ๋ก ํฌํ ๋น์ ํ์ฑ(saturating nonlinearity)์ ๊ฐ๋ฅํ๊ฒ ํด์ค๋ค.
cf.
non-linearity๋ ์ ํ์ด ์๋ ์ํ์ ์ฐ์ฐ์ ๋งํ๋ฉฐ ์ด๋ ์ถ๋ ฅ์ด ์ ๋ ฅ์ ๋น๋กํ์ง ์์์ ์๋ฏธ. (์ ํ์ ์ด๋ฉด ์ ๋ ฅ์ ๋น๋กํ๊ธฐ ๋๋ฌธ)
์ด๋ ์ถ๋ ฅ์ ์ ์ฉ๋๋ ํ์ฑํํจ์๋ฅผ ํตํด ๋์ ๋๋ค.
[Saturation]
- input์ด ์ฆ๊ฐํด๋ ํจ์์ output์ด ํฌํ๋๊ฑฐ๋ ํน์ ๊ฐ์ "๊ณ ์ "๋๋ ํ์
- ํ์ฑํํจ์ ์ ์ฅ์์ ํฌํ๋ ์ผ๋ฐ์ ์ผ๋ก input์ด ๊ทน๋จ์ ์ผ๋ก ํฌ๊ฑฐ๋ ์์ ๋ ๋ฐ์ํ๋ค.
- ์ด๋ก ์ธํด input๊ณผ ๊ด๊ณ์์ด ์ผ์ ํ ๊ฐ์ ์ถ๋ ฅํ๊ฒ ํ์ฌ ๊ธฐ์ธ๊ธฐ๊ฐ ๋งค์ฐ ์์์ง๋(gradient vanishing) ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
- ๊ฒฐ๊ณผ์ ์ผ๋ก ์ ๊ฒฝ๋ง์์ ํ์ต์๋๋ฅผ ๋ฆ์ถ๊ฑฐ๋ ๋ฐฉํดํ ์ ์๋ค.
[Saturating non-linearity]
- ํฌํ๋ฅผ ๋ํ๋ด๋ ํ์ฑํํจ์๋ก sigmoid, tanhํจ์๊ฐ ๋ํ์ ์ธ ํฌํ ๋น์ ํ์ฑ(saturating non-linearity)์์์ด๋ค.
- ReLU ๋ฐ ๊ทธ ๋ณํ ํ์ฑํํจ์๋ ํฌํ๋ฅผ ๋ํ๋ด์ง ์์ ๋นํฌํ ๋น์ ํ์ฑ(non-saturating non-linearity)๋ผ ๋ถ๋ฅธ๋ค.
[linearity]์ ์ข ๋ฅ
- Identity Function: f(x) = x
- Constant Function: f(x) = c (c๋ ์์., ์์ํจ์)
- Polynomial Function: f(x) = an x^n + a{n-1} x^{n-1} + ... + a1 x + a0 (an, a{n-1}, ..., a0๊ฐ ๋ชจ๋ ์์๊ฐ)
- Linear Regression: y = b1 x + b0 (b0๊ณผ b1๊ฐ ์์๊ฐ)
- Affine Function: f(x) = a x + b (a ์ b ๊ฐ ์์๊ฐ)
2. Towards Reducing Internal Covariate Shift
- Internal Covariate Shift๋ training์ ์ ๊ฒฝ๋ง์ parameter๋ฅผ ๋ฐ๊ฟ ๋ ๋ฐ์ํ๋ค.
- ๋ฐ๋ผ์ training์ ํฅ์์ ์ํด์๋ ๋ด๋ถ๊ณต๋ณ๋์ด๋์ ์ค์ฌ์ผ ํ๋ค.
• Whitening
- layer์ input feature๋ฅผ ์กฐ์ ํ๊ณ ํ๊ท (means)๊ณผ ๋จ์๋ถ์ฐ(unit variance)๊ฐ 0์ด ๋๊ฒ ํ๋ ์ ๊ทํ(normalization) ๊ธฐ์ ๋ก training์๋ ด์ด ๋นจ๋ผ์ง๋ค.
- input์ whiteningํจ์ผ๋ก์จ BN์ ๊ฐ ๊ณ์ธต์ ๋ํ ์ ๋ ฅ ๋ถํฌ(input distribution)๋ฅผ ์์ ํํ๋ ๋ฐ ๋์์ด ๋ ์ ์์ผ๋ฏ๋ก ์ ๊ฒฝ๋ง์ด ์ ๋ ฅ ๋ถํฌ์ ๋ณํ์ โโ๋ ๋ฏผ๊ฐํด์ง๊ณ ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์๋ ดํ ์ ์๋ค.
- ๋ํ ๋ค๋ฅธ ๋ด๋ฐ๊ณผ activation ์ฌ์ด์ ๊ณต๋ถ์ฐ์ ์ค์ฌ ์ ๊ฒฝ๋ง์ ์ ๊ทํ(regularize)ํ๋ ๋ฐ ๋์์ด ๋๊ณ ์ผ๋ฐํ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋ค.
- ์ด๋ฐ whitening์ ์ ๊ฒฝ๋ง์ ์ฆ์ ์์ ํ๊ฑฐ๋ optimization algorithm์ parameter๋ฅผ ๋ฐ๊พธ๋ ๊ฒ์ผ๋ก ๊ณ ๋ ค๋ ์ ์๋ค.
ํ์ง๋ง ์ด๋ฐ ์์ ์ด optimization๋จ๊ณ์ ๊ฐ์ด ๋ถ์ฐ๋๋ฉด ๊ฒฝ์ฌํ๊ฐ ์ updateํ normalization์ ์ ํํด gradient์ ํจ๊ณผ๋ฅผ ์ค์ด๋๋ฐ, ๋ค์ ์์๋ฅผ ํตํด ์ค๋ช ํ๋ค.bias b๋ฅผ ์ถ๊ฐํ๊ณ train data๋ก ๊ณ์ฐ๋ ํ์ฑํ ํ๊ท ์ ๋บ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ทํํ๋ input u๋ฅผ ๊ฐ๋ layer์ ๋ํด: x_hat = x - E[x]์์ x = u + b, X = {x1...N}์ training set์ ๋ํ x์ ์งํฉ์ด๊ณ E[x] = (1/N)Σ N i=1 xi, ์ด๋ค. ๊ฒฝ์ฌํ๊ฐ๋จ๊ณ๊ฐ b์ ๋ํ E[x]์ ์์กด์ฑ์ ๋ฌด์ํ ๋, b ← b + โb๋ฅผ updateํ๋ค. (โb ∝ −∂l / ∂x_hat์ผ ๋.) ๊ทธ๋ ๊ฒ ๋๋ฉด u+(b+โb)−E[u+(b+โb)] = u+b−E[u+b]์ด๋ค. ๋ฐ๋ผ์ b๋ก์ update์ ๊ทธ์ ๋ฐ๋ฅธ noramlization์ ๋ณํ์ ์กฐํฉ์ layer์ output์ ๋ณํ, loss๋ฅผ ์ด๋ํ์ง ์์๋ค.
์ด ๋ฌธ์ ์ ํด๊ฒฐ์ ์ํด ๋ชจ๋ parameter๊ฐ์ ์ ๊ฒฝ๋ง์ด ํญ์ ์ํ๋ ๋ถํฌ๋ก activation์ ์์ฑํ๋ ค ํ๋๋ฐ, ์ด๋ ๋ชจ๋ธ์ parameter ๋ณ์์ ๋ํ loss ๊ธฐ์ธ๊ธฐ(gradient)๊ฐ normalization์ ์ค๋ช ํ๊ณ ๋ชจ๋ธ parameter Θ์ ๋ํ ์์กด์ฑ์ ์ค๋ช ํ ์ ์๋ค.
training์ด ๊ณ์๋ ์๋ก b๋ loss๊ฐ์ด ๊ณ ์ ๋ ์ํ์์ ๋ฌดํํ(indefinitely) ์ปค์ง ๊ฒ์ด๋ค.
์ด ๋ฌธ์ ๋ ์ ๊ทํ๊ฐ activation์ ์ค์ฌ์ผ ๋ฟ๋ง์๋๋ผ scale์กฐ์ ์ ๋ ์ ํ๋ ์ ์๋ค๋ ์ ์ด๋ค.
normalization parameter๊ฐ ๊ฒฝ์ฌํ๊ฐ๋จ๊ณ์ ์ธ๋ถ์์ ๊ณ์ฐ๋๋ฉด ๋ชจ๋ธ์ด ํฐ์ ธ๋ฒ๋ฆฐ๋ค.
x = layer input
X = training data์ ๋ํ ์ด๋ฐ input ์งํฉ
์ด์ ๋ํด Normalization์ ๋ค์๊ณผ ๊ฐ์ด ์์ฑ๋๋ค.์ด๋, ์ ๊ทํ์์ training ์์ ์ธ x ๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ์์ ์ธ X์ ์์กดํ๊ฒ ๋๋ฉฐ
x๊ฐ ๋ค๋ฅธ์ธต์ ์ํด ์์ฑ๋ ๋, ๊ฐ๊ฐ์ ์์ ๋ Θ์ ์์กดํ๊ฒ ๋๋ค.
์ญ์ ํ๋ฅผ ์ํด Jacobians๋ฅผ ๊ณ์ฐํด์ผ ํ๋ฉฐ ์ด๋ ์๋์ ๊ฐ๋ค.์ด๋, ํ์(X์ ๋ํ ํธ๋ฏธ๋ถํจ์)๋ฅผ ๋ฌด์ํ๋ฉด ์์์ ์ค๋ช ํ ๊ฒ์ฒ๋ผ exploding์ ์ด๋ํ๋ค. ์ ๋ ฅ x, X์ ๋ํ gradient๋ฅผ ๊ณ์ฐํ๋๋ฐ ํ์ํ ํธ๋ฏธ๋ถํจ์
์ฌ๊ธฐ์ layer input์ whiteningํ๋ ค๋ฉด ๊ณต๋ถ์ฐ ํ๋ ฌ์ ๊ทธ ์ญ ์ ๊ณฑ๊ทผ์ ๊ณ์ฐํด ๋ค์๊ณผ ๊ฐ์ whitening activation
๊ณผ ์ญ์ ํ๋ฅผ ์ํ transform์ ๋ฏธ๋ถ๊ฐ์ ์์ฑํด์ผํ๊ธฐ ๋๋ฌธ์ ๋น์ฉ์ด ๋ง์ด ๋ ๋ค.
- ์ด๋ ๋ค๋ฅธ ๋์์ ์ฐพ๊ฒ ๋ง๋๋๋ฐ, input normalization์ ์ฑ๋ฅ์ ์ ์ฒด training set์ ๋ชจ๋ parameter update์ดํ์ ๋ํ ๋ถ์์ ํ์๋ก ํ์ง ์๋๋ฐ, ์ด๋ ์ฐ๋ฆฌ๋ก ํ์ฌ๊ธ ์ ์ฒด training data์ ๋ํด trianing๊ณผ์ ์ค activation์ normalization์ ํตํ ์ ๊ฒฝ๋ง์ ๋ณด์ ๋ณด์กด์ ํ๋๋ก ํ์๋ค.
3. Normalization via Mini-Batch Statistics
๊ฐ layer์ ๋ ฅ๋ถ์ full whitening์ ๋น์ฉ์ด ๋ง์ด๋ค๊ณ ๋ชจ๋ ๊ณณ์์ ๊ตฌ๋ณํ ์ ์๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ 2๊ฐ์ง ์ค์ํ ๋จ์์ฑ์ ๋ง๋ค์๋ค.
โ layer์ input๊ณผ output์ ๊ธด๋ฐํ๊ฒ ํ๊ธฐ์ํด feature๋ฅผ whiteningํ๋ ๋์ , N(0, 1)์ normalization์ ๊ฐ scalar feature์ ๋ ๋ฆฝ์ ์ผ๋ก ์ ๊ทํ์ํจ๋ค.
- d์ฐจ์์ input x = (x1 . . . xd)์ ๋ํด ๊ฐ ์ฐจ์์ ์ ๊ทํ(normalize)ํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
(์ด๋, E๋ Expectation, Var๋ Variance๋ก training dataset์ ๋ํด ๊ณ์ฐ๋ ๊ฐ)- LeNet(LeCun et al., 1998b)์์ ๋ณด์๋ฏ normalization์ ์๋ ด์๋๋ฅผ ๋์ฌ์ค๋ค.
์ด๋, ๊ฐ๋จํ ์ ๊ทํ๋ ๊ฐ ์ธต์ ์ ๋ ฅ๋ถ๊ฐ ๋ฐ๋ ์ ์๋๋ฐ, ์๋ฅผ ๋ค๋ฉด sigmoid input์ ์ ๊ทํ(normalization)์ ๊ฒฝ์ฐ, ๋น์ ํ์ฑ์ ์ํฉ์ linearํ๊ฒ ๋ง๋ค ์๋ ์๋ค.
์ด๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด ์ฐ๋ฆฐ "์ ๊ฒฝ๋ง์ ์ฝ์ ๋ transformation์ด transform์ ์ฑ์ง์ ๋ํ๋ผ ์ ์๋ค()"๋ผ๋ ๊ฒ์ ํ์ ํ ์ ์๋ค.the transformation inserted in the network can represent the identity transform
- ์ด๋ฅผ ์ํด ๊ฐ activation์ x(k), parameter์์ γ(k), β(k)๋ผ ํ ๋, ์ ๊ทํ๋ ๊ฐ์ scale๊ณผ shift๋ ๋ค์๊ณผ ๊ฐ๋ค.
์ด parameter๋ค์ ๊ธฐ์กด๋ชจ๋ธparameters์ ํจ๊ป ํ์ต๋๋ฉฐ ์ ๊ฒฝ๋ง์ ํํ๋ ฅ์ ํ๋ณต์ํจ๋ค.- batch ์ค์ ์์ ์ ์ฒด๋ฅผ ์ ๊ทํํ activation์ผ๋ก ํ ๋, SGD์ ์ฌ์ฉ์ ๋นํ์ค์ (impractical)์ด์ด์ ๋๋ฒ์งธ ๋จ์ํ๋ฅผ ๋ง๋ค์๋ค.
โก training์์ SGD๋ฅผ ์ด์ฉํด mini-batch์ ์ฌ์ฉ์ผ๋ก ๊ฐ mini-batch๋ ๊ฐ activation์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ์ถ์ ์น๋ฅผ ์์ฑํ๋ค.
์ด๋ฐ ํต๊ณ๋ก normalization์ ์ฌ์ฉ์ gradient ์ญ์ ํ์ ์ ์ฒด์ ์ผ๋ก ๊ด์ฌํ๋ค.
- ์ฃผ๋ชฉํ ์ ์ mini-batch์ ์ฌ์ฉ์ ๊ณต๋์(joint) covariance๋ณด๋ค ์ฐจ์๋ณ ๋ถ์ฐ์ ๊ณ์ฐ์ ํตํด ๊ฐ๋ฅํ๋ค๋ ์ ์ด๋ค.
in the joint case, (singular covarianceํ๋ ฌ๋ค์ ๊ฒฐ๊ณผ์์) whiten๋ activation์ ์๋ณด๋ค mini-batch size๊ฐ ๋ ์๊ธฐ ๋๋ฌธ์ regularization์ด ํ์ํ๋ค.
- ํฌ๊ธฐ๊ฐ m์ธ mini-batch ๐ฃ์ ๋ํด ์๊ฐํด๋ณด์.
๊ฐ activation์ ๋ ๋ฆฝ์ ์ผ๋ก normalization์ด ์ ์ฉ๋๋ฉฐ ๋ถ๋ถactivation x(k)์ ์ง์คํด๋ณด์.
(์ด๋, ๋ช ํ์ฑ(clarity)์ ์ํด k๋ ์๋ตํ๋ค.)
[Batch Normalizing Transform์ Algorithm]
โฒ๋ ์์น์ ์์ ์ฑ(numerical stability)๋ฅผ ์ํด mini-batch์ ๋ถ์ฐ์ ๋์ ๋ ์์์ด๋ค.
• numerical stability
- training์, lossํจ์์ ๊ธฐ์ธ๊ธฐ๋ Back propagation์ผ๋ก ๊ณ์ฐ๋๋ค. (๋ถ๋ถ๋ํจ์์ ๋ค์ค์ฐ๊ฒฐ๊ณ์ฐ์ด ํฌํจ๋จ)
- ์ด ๊ณ์ฐ์ ๋ง์ ์๋ฅผ ํฌํจํ๊ธฐ์ gradient vanishing/exploding๊ฐ์ ์์น์ ๋ถ์์ ์ฑ์ผ๋ก optimization์ด ์ด๋ ต๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ ์ ์๋ค. (์์์ ์ดํ์ ๊ฐ์ ์์น๊ณ์ฐ์์ ์ค์ฐจ, ๋ถ์ ํ์ฑ์ ์ต์ํ ํ๊ธฐ ์ํ ๊ฐ๋ )
- Batch Normalization์ ์ค๊ฐ์ธต์ activation์ normalizeํ์ฌ training์ค์ ์์น์ ์์ ์ฑ์ ํฅ์์ํค๋ ๊ธฐ์ ๋ก ๋์ ๋์๋ค. (์ด ๋ ผ๋ฌธ์์๋ SGD๋ฅผ ์ฌ์ฉํด ์ ๊ฒฝ๋ง์ ํ๋ จ์ํค๋ ๋ถ๋ถ์์์ ์์น์ ์์ ์ฑ์ ์ค์์ฑ์ ๋งํ๋ค.)
- Activation scale์ ์ค์ฌ BN์ gradient vanishing, exploding์ ๋ฐฉ์งํด ๋ ์์ ํ๊ณ ํจ์จ์ ์ธ training์ด ๊ฐ๋ฅํด์ก๋ค.
- ๋ํ bias๋ฅผ ์ฌ์ฉํ์ง ์์์ ํตํด ์์น๊ณ์ฐ์ ์ค์ฐจ๋ฅผ ์ต์ํ ํ ์๋ ์๋ค.
(๋ค๋ง, ์ฑ๋ฅ์ ํ์ ์ฐ๋ ค๋ก ์ธํด ์ฑ๋ฅ๊ณผ ์์น์ ์์ ์ฑ๊ฐ์ ์ ์ ํ ๊ท ํ์ด ํ์ํ๋ค.)
[numerical instability with. overfitting]
- ์์น์ ๋ถ์์ ์ฑ์ overfitting์ผ๋ก ์ด์ด์ง ์ ์๋๋ฐ, ์๋ฅผ๋ค์ด ๊ธฐ์ธ๊ธฐ๊ฐ ๋งค์ฐ ์ปค์ง๊ฑฐ๋ ์์์ง๋ฉด optimization์ด ๋ถ์์ ํด์ง๊ณ overfitting์ด ๋ฐ์ํ ์ ์๋ค.
- ๋ํ ์์น์ ๋ถ์์ ์ฑ์ผ๋ก ์์น๊ณ์ฐ์ด ๋ถ์ ํํด์ง๋ฉด ์ต์ ์ ๊ฐ์ผ๋ก์ ์๋ ด์ด ๋์ง ์์ overfitting๋ฐ์์ด ๊ฐ๋ฅํ๋ค.
- ๋ค๋ง model์ ๋ณต์ก๋, train data์ ๋ถ์ถฉ๋ถ ๋ฐ ๋ ธ์ด์ฆ๋ก overfitting์ด ์์น์ ๋ถ์์ ์ฑ์ด ์์ด๋ ๋ฐ์๊ฐ๋ฅํ๋ค.
- BN transform์ activation์ ์กฐ์ ํ๊ธฐ ์ํด ๋์ ๋ ์ ์๋ค.์ด๋ฐ ๊ฐ์ ๋ถํฌ๋ Expectation 0๊ณผ 1์ ๋ถ์ฐ๊ฐ์ ๊ฐ๋๊ฒ ๋ฟ๋ง ์๋๋ผ ๊ฐ๊ฐ์ mini-batch์ ์์๋ค์ด ์ฐ๋ฆฌ๊ฐ โฒ๋ฅผ ๋ฌด์ํ๋ค๋ฉด ๊ฐ์ ๋ถํฌ๋ก ๋ถํฐ ํ๋ณธ์ด ๋์ค๋๋ฐ, ์ด๋ ์๋์ ๊ฐ์ expectation ์ฆ, ๊ธฐ๋๊ฐ์์ ๊ด์ฐฐ๊ฐ๋ฅํ๋ค. training์์ transformation๊ณผ์ ์ ํตํด ๋์จ loss์ ๊ธฐ์ธ๊ธฐ โ์ ๋ํด backpropagation์ ์งํํ๊ณ BN transformation์ parameter์ ๋ํ gradient(๊ธฐ์ธ๊ธฐ)๋ฅผ ๊ณ์ฐํ ํ์๊ฐ ์๋ค.
์ด๋, chain rule์ ์ฌ์ฉํด ์๋์ ๊ฐ์ด ๋จ์ํ ํ๋ค.์ฆ, BN transformation์ ์ ๊ทํ๋ activation์ ์ ๊ฒฝ๋ง์ ์ ํ๋ ์ฐจ๋ณํ๋(differentiable) tranformation์ด๋ค.
์ด๋ model training์์ layer๊ฐ internal covariate shift๊ฐ ์ ์ ์ ๋ ฅ๋ถํฌ๋ก ํ์ต์ ๊ณ์ํจ์ ํตํด ํ์ต์ ๊ฐ์ํํ๋ค๋ ๊ฒ์ ํ์ ํ๊ฒ ํด์ค๋ค.
๋ํ ์ด๋ฐ ์ ๊ทํ๋ activation์ ์ ์ฉ๋์ด ํ์ต(learn)๋ affine transformation์ BN transformation์ด identity transformation์ ๋ํ๋ด๊ฒ ํ๋ฉฐ ์ ๊ฒฝ๋ง์ ์์ฉ๋ ฅ์ ๋ณด์กดํ๋ค.
3.1 Training and Inference with Batch-Normalized Networks
- Batch Normalization ์ ๊ฒฝ๋ง์ ์ํด ์ฐ๋ฆฐ activation์ ๋ถ๋ถ์งํฉ์ ํน์ ํด์ผํ๊ณ ๊ทธ ๊ฐ๊ฐ์ ๋ํด BN transform์ Algorithm. 1.์ ์ด์ฉํด ์ง์ด๋ฃ์ด์ผ ํ๋ค.
- ์ผ์ ์ x๋ฅผ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ๋ชจ๋ ์ธต์ ์ด์ BN(x)๋ก ํ๊ธฐํ๋ค.
- BN์ ์ฌ์ฉํ๋ ๋ชจ๋ธ์ [ BGD || mini-batch size m > 1์ธ SGD || Adagrad(Duchi et al., 2011)]๊ฐ์ ๋ณํ(variants)์ ์ฌ์ฉํด ํ๋ จํ ์ ์๋ค.
- mini-batch์ ์์กดํ๋ activation์ ์ ๊ทํ๋ ํจ๊ณผ์ ์ธ training์ ํ์ฉํ์ง๋ง, ์ถ๋ก (inference)์์ ํ์ํ์ง๋, ๋ฐ๋์งํ์ง๋ ์๋๋ฐ ์ฐ๋ฆฌ์ output์ด ๊ฒฐ๊ณผ์ ์ผ๋ก input๊ฐ์๋ง ์์กดํ๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ด๋ค.
3.2 Batch-Normalized Convolutional Networks
- Batch Normalization์ ์ ๊ฒฝ๋ง์ ๋ชจ๋ activation์งํฉ์ ์ ์ฉํ ์ ์๊ธฐ์ ์ฐ๋ฆฌ๋ ์์๋ณ(element-wise) ๋น์ ํ์ฑ์ ๋ฐ๋ฅด๋ affine transformation์ผ๋ก ๊ตฌ์ฑ๋ transform์ ์ด์ ์ ๋ง์ถ๋ค.W ์ b๋ ํ์ต๋ ๋งค๊ฐ๋ณ์์ด๊ณ g(.)๋ (sigmoid, ReLU๊ฐ์) ๋น์ ํ์ฑํจ์(saturating nonlinearity)์ด๋ค.
์ด ์์ FC์ธต๊ณผ convolution์ธต ๋ชจ๋ ์ ์ฉ๋๋๋ฐ, ๋น์ ํ์ฑ ์ ์ x = Wu + b๋ฅผ ์ ๊ทํ ํจ์ ํตํด ๋ฐ๋ก BN transform์ ์ถ๊ฐํด์คฌ๋ค.
๋๋ถ์ด input u๋ ์ ๊ทํํ ์ ์์์ง๋ง u๋ ๋ค๋ฅธ ๋น์ ํ์ฑ์ ์ถ๋ ฅ์ผ ๊ฐ๋ฅ์ฑ์ด ๋์ ๋ถํฌ๊ฐ training๊ณผ์ ์์ ๋ฐ๋ ์ ์๊ธฐ์ ์ฒซ๋ฒ์งธ์ ๋๋ฒ์งธ moment๋ฅผ ์ ํํ๋ ๊ฒ๋ง์ผ๋ก๋ ๊ณต๋ณ๋์ด๋์ ์ ๊ฑฐํ์ง ์์ ๊ฒ์ด๋ค.
- ๊ทธ์๋ ๋์กฐ์ ์ผ๋ก Wu + b๋ ๋์นญ์ ์ด๊ณ ํฌ์ํ์ง์์ ๋ถํฌ๋ฅผ ๊ฐ์ง ๊ฐ๋ฅ์ฑ์ด ๋ ๋์ผ๋ฉฐ, ์ด๋ "more Gaussian (Hyva ฬrinen & Oja, 2000)"์ผ๋ก; ์ด ๋ถํฌ๋ฅผ ์ ๊ทํํ๋ฉด ์์ ์ ์ธ ๋ถํฌ์ activation์ด ๋ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
- ๋ฐ๋ผ์ ์ด์๋ํด ์ฃผ๋ชฉํ ์ ์, ์ฐ๋ฆฌ๊ฐ Wu + b๋ฅผ ์ ๊ทํํ๊ธฐ์ bias b์ ํจ๊ณผ๋ ํ์ ํ๊ท ์ ์ฐจ์ ์ํด ์ทจ์๋ ๊ฒ์ด๊ธฐ์ ๋ฌด์๋ ์ ์๋ค.
์ด๋, bias์ ์ญํ ์ Algorithm. 1.์ β์ ์ํด ๊ฐ์ ๋๋ค.
๋ฐ๋ผ์ z = g(Wu + b)๋ ๋ค์๊ณผ ๊ฐ์ด BN transformation์ด x = Wu์ ๊ฐ ์ฐจ์์ ๋ ๋ฆฝ์ ์ผ๋ก ์ ์ฉ๋๋ ๋ฐฉ์์ผ๋ก ์๋์ ๊ฐ์ด๋์ฒด๋๋ค. (์ด๋, ๊ฐ ์ฐจ์์๋ ํ์ต๋ ๋งค๊ฐ ๋ณ์ γ(k), β(k)๋ผ๋ ๋ณ๋์ ์์ด ์กด์ฌํ๋ค.)- conv.layer์์ ์ฐ๋ฆฐ convolution์ ์์ฑ์ ๋ณต์ข ์ํค๊ธฐ ์ํด normalization์ ์ฌ์ฉํ๋๋ฐ, ๊ทธ๋์ ๋์ผํ ํน์ง๋งต์ ๋ค๋ฅธ์์น์ ์๋ ๋ค๋ฅธ ์์๋ค์ด ๋์ผํ ๋ฐฉ์์ผ๋ก ์ ๊ทํ๋๋ค.
์ด๋ฅผ ๋ฌ์ฑํ๊ธฐ ์ํด ์ฐ๋ฆฐ ๋ชจ๋ ์์น์ mini-batch์ activation์ ๊ธด๋ฐํ๊ฒ ์ฐ๊ฒฐํ๋ค.
- Algorithm.1.์์, ์ฐ๋ฆฐ ๐๊ฐ mini-batch์ ์์์ ๊ณต๊ฐ์์น ๋ชจ๋์ ๊ฑธ์ณ ํน์ง๋งต์ ๋ชจ๋ ์์์ ์งํฉ์ด ๋๊ฒ ํ๋ค. - ๋ฐ๋ผ์ ํฌ๊ธฐ๊ฐ m์ธ mini-batch์ pxqํฌ๊ธฐ์ ํน์ง๋งต์ ๊ฒฝ์ฐ, ํฌ๊ธฐ๊ฐ m' = |๐| = m · pq์ธ ํจ๊ณผ์ ์ธ mini-batch๋ฅผ ์ฌ์ฉํ๋ค.
- ์ฐ๋ฆฐ activation๋น์ด ์๋, feature map๋น parmeter๋ณ์ ์์ธ γ(k)์ β(k)๋ฅผ ํ์ตํ๋ค.
- Algorithm.2.๊ฐ ๋น์ทํ๊ฒ ์์ ๋์๋๋ฐ, ์ถ๋ก ํ๋๋์ BN transform์ ์ฃผ์ด์ง ํน์ง๋งต์ ๊ฐ activation์ ๋์ผํ linear transformation์ ์ ์ฉํ๋ค.
3.3 Batch Normalization enables higher learning rates
- ์ ํต์ ์ธ ์ฌ์ธต์ ๊ฒฝ๋ง์์, ๋๋ฌด ๋์ ํ์ต์จ์ poor local minima์ ๊ฐํ๋ ๊ฒ ๋ฟ๋ง ์๋๋ผ ๊ธฐ์ธ๊ธฐ ์์ค/ํญ๋ฐ์ ์ผ๊ธฐํ๋ค.
- Batch Normalization์ ์ด๋ฐ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ๋ ๊ฒ์ ๋์์ค๋ค.
- ์ ๊ฒฝ๋ง์ ๊ฑฐ์น activation์ ์ ๊ทํํจ์ผ๋ก์จ parameter์ ๋ํ ์์ ๋ณ๊ฒฝ์ด activation์ ๊ธฐ์ธ๊ธฐ๋ฅผ ๋ ํฌ๊ณ ์ต์ ์ ๋ณํ๋ก ์ฆํญ๋๋ ๊ฒ์ ๋ฐฉ์งํ๋๋ฐ, training์ด ๋น์ ํ์ฑ์ ํฌํ์ํ์ ๊ฐํ๋ ๊ฒ์ ๋ฐฉ์งํ๋๊ฒ์ด ๋ฐ๋ก ๊ทธ ์์์ด๋ค.
- ๋ํ BN์ training์์ parameter๋ถ๊ทผ์ ๋ ํ๋ณต๋ ฅ ์๊ฒ ๋ง๋๋๋ฐ, ๋ณดํต large learning rate๋ parameter์ ๊ท๋ชจ๋ฅผ ์ฆ๊ฐ์์ผ gradient ์ญ์ ํ์์ model์ ํญ๋ฐ์ ์ด๋ํ๋ค.
ํ์ง๋ง Batch Normalization๊ณผ ํจ๊ป๋ผ๋ฉด layer์์์ Back Propagation์ parameter์ ๊ท๋ชจ๋ฉด์ ์ํฅ์ ๋ฐ์ง ์๋๋ค.์ด๋, Scale์ Jacobian layer๋ ๊ฒฐ๊ณผ์ ์ผ๋ก gradient ์ ํ์ ์ํฅ์ ๋ฏธ์น์ง ์๋๋ค.
๊ฒ๋ค๊ฐ ๊ฐ์ค์น๊ฐ ํด์๋ก ๊ธฐ์ธ๊ธฐ๊ฐ ์์์ง๊ณ BN์ parameter์ ์ฑ์ฅ(growth)์ ์์ ํํ๋ค.
๋ํ Batch Normalization์ด layer Jacobian์ด training์ ์ ๋ฆฌํ ๊ฒ์ผ๋ก ์๋ ค์ง 1์ ๊ฐ๊น์ด ๋จ์๊ฐ(singular value)์ ๊ฐ๋๋ก ํ ์ ์๋ค๊ณ ์ถ์ธกํ๋ค.(Saxe et al., 2013)์ค์ ๋ก transformation์ ์ ํ์ ์ด์ง ์๊ณ ์ ๊ทํ๋ ๊ฐ์ด Gaussian๋ถํฌ์ด๊ฑฐ๋ ๋ ๋ฆฝ์ ์ด๋ผ๋ ๋ณด์ฅ์ ์๋ค.
ํ์ง๋ง, ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ Batch Normalization์ด gradient propagation์ ๋ ์ ์๋์ํฌ ๊ฒ์ด๋ผ ๋ฏฟ๋๋ค.
- gradient propagation(๊ธฐ์ธ๊ธฐ ์ ํ)์ ๋ํ Batch Normalization์ ์ ํํ ์ํฅ์ ์ถ๊ฐ์ ์ธ ์ฐ๊ตฌ๋ก ๋จ์์๋ค.
3.4 Batch Normalization regularizes the model
- Batch Normalization์ผ๋ก trainingํ ๋, training์์ ๋ mini-batch์ ๋ค๋ฅธ ์์๋ค๊ณผ ํจ๊ป(conjunct) ํ์๋๋ฉฐ, training ์ ๊ฒฝ๋ง์ ๋ ์ด์ ์ฃผ์ด์ง training ์์ ์ ๋ํ ๊ฒฐ์ ์ ์ธ ๊ฐ์ ์์ฑํ์ง ์๋๋ค.
์ด ํจ๊ณผ๋ ์ ๊ฒฝ๋ง์ ์ผ๋ฐํ(generalization)์ ๋งค์ฐ ์ด์ ์ ๊ฐ๋๋ค(advantageous).
- Dropout(Srivastava et al., 2014)์ด overfitting์ ์ค์ด๊ธฐ ์ํด ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ๋ฐฉ์์ธ ๋ฐ๋ฉด์ Batch Normalization์ด ์ ์ฉ๋ ์ ๊ฒฝ๋ง์ Dropout์ด ๊ฐ์๋๊ฑฐ๋ ์ ๊ฑฐ๋ ์ ์์์ ๋ฐ๊ฒฌํ๋ค.
4. Experiments
4.1 Activations over time
- training์์ internal covariateshift์ ์ด์ ๋ํญํ๋ Batch Normalization์ ๋ฅ๋ ฅ์ ์ฆ๋ช ํ๊ธฐ ์ํด MNIST dataset์ ์ฌ์ฉ. (์ด๋, 28x28์ ์์ image๋ฅผ input์ผ๋ก 3๊ฐ์ FC-layer์ 100๊ฐ์ activation์ ๊ฐ๊ฐ ๊ฐ๋ ๋จ์ํ ์ ๊ฒฝ๋ง์ ์ฌ์ฉ)
- ๊ฐ ์ธต์ sigmoidํจ์ y = g(Wu + b)๋ฅผ ํตํด ๊ณ์ฐ๋๋ฉฐ, ์ด๋ W๋ ์์ ๋ฌด์์ Gaussian๊ฐ์ผ๋ก ์ด๊ธฐํ๋๋ค.
- ๋ง์ง๋ง ์ธต์ FC-layer๋ฅผ ์ด์ฉํด 10๊ฐ์ activation์ด๋ฉฐ cross-entropy loss๋ฅผ ์ฌ์ฉํ๋ค.
- Section 3.1์์์ฒ๋ผ ์ ๊ฒฝ๋ง์ ๊ฐ ์๋์ธต์ Batch Normalization์ ์ฌ์ฉํ๋ค.
- ์ฐ๋ฆฌ์ ์ฃผ ๊ด์ฌ์ฌ๋ model์ ์ฑ๋ฅ๋ณด๋ค๋ baseline๊ณผ BN๊ฐ์ ๋น๊ต์ ์ค์ ์ ๋๋ค.(a)๋ฅผ ๋ณด๋ฉด, BN์ ์ฌ์ฉํ ๊ฒ์ด ๋ ๋์ ์ ํ๋๋ฅผ ๊ฐ๋๋ฐ, ๊ทธ ์ด์ ๋ฅผ ์กฐ์ฌํ๊ธฐ์ํด training๊ณผ์ ์ค์ ์ ๊ฒฝ๋ง์ sigmoid์ ๋ํด ์ฐ๊ตฌํ์๋ค.
(b,c)์์ original network(b)๋ ์ ๋ฐ์ ์ผ๋ก ํ๊ท ๊ณผ ๋ถ์ฐ์ด ๋ง์ด ๋ณํํ๋ ๋ฐ๋ฉด, BN์ ์ฌ์ฉํ network(c)์ ๊ฒฝ์ฐ, ๋ถํฌ(distribution)๊ฐ ์์ ์ ์์ ๋ณผ ์ ์๋๋ฐ, ์ด๋ฅผ ํตํด training์ ๋์์ ์ฃผ๋ ๊ฒ์ ์ ์ ์๋ค.
4.2 ImageNet Classification
- 2014๋ ์ Inception network์ Batch Normalization์ ์ ์ฉ, ๋ ์์ธํ ์ฌํญ์ ๋ถ๋ก(Appendix)์ ๊ธฐ์ฌ.
- (Sutskever et al.,2013)์ ๊ธฐ์ฌ๋ momentum๊ณ์์ 32 mini-batch size๋ฅผ ์ฌ์ฉ
- ์ด๋, ๊ธฐ์กด์ Inception์ Batch Normalization์ ์ถ๊ฐํ ์์ ๋ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ evaluate๋ฅผ ์งํํ์๋ค.
- ํนํ, Normalization์ Conv.layer์ ๋น์ ํ์ฑ(non-linearity., ReLU)์ด ์ ๋ ฅ๋ถ๋ถ์ ์ ์ฉํ์๋ค.์ฆ, ์ฝ๋๋ก ๋ํ๋ด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค๋ ๊ฒ์ ์ ์ ์๋ค
• 4.2.1 Accerlerating BN Networks
๋จ์ํ Batch Normalization์ ์ ๊ฒฝ๋ง์ ์ถ๊ฐํ๋ค๊ณ ์์ ํ ์ด์ ์ ์ฃผ๋ ๊ฒ์ ์๋๋ค.
์์ ํ ์ด์ ์ ์ํด ์ ๊ฒฝ๋ง ๋ฐ training parameter์ ๋ํด ๋ค์๊ณผ ๊ฐ์ ๋ณํ์ด ํ์ํ๋ค.
Increase learning rate.
- training speed๋ฅผ ๋์
Remove Dropout.
- Batch Normalization์ Dropout๊ณผ ๋์ผํ ๋ชฉํ๋ฅผ ์ดํํ๊ธฐ ๋๋ฌธ
Reduce the L2 weight regularization.
- L2 ๊ฐ์ค์น๋ฅผ ์ค์ฌ์ ์ ํ๋๋ฅผ ๋์์
Accerlerate the learning rate decay.
- learning rate์ ๊ฐ์ ์จ์ ๊ธฐํ๊ธ์์ ์ผ๋ก ์งํ(for train faster)
Remove Local Response Normalization.
- BN์ ์ฌ์ฉ์ผ๋ก LRN์ ํ์๊ฐ ์์ด์ง
Shuffle training examples more thoroughly.
- ์ฒ ์ ํ๊ฒ train์์๋ฅผ ์์์ผ๋ก mini-batch์์ ๋์ผํ ์์ ๊ฐ ๋์ค๋ ๊ฒ์ ๋ฐฉ์ง
- Reduce the photometric distortions.
- ๊ด๋์ธก์ ์ ์๊ณก์ ์ค์ฌ real image์ ์ง์คํ๊ฒํจ (โต BN์ ๊ฒฝ๋ง์ train faster. &. observe fewer time์ด๊ธฐ ๋๋ฌธ)Inceoption์ Single Crop validation accurarcy ๋ถํฌ๋ก BN๊ณผ์ ๋น๊ต๋ฅผ ๋ํ๋ด๋ ๊ทธ๋
• 4.2.2 Single-Network Classification
Inception.
- ์ฒ์ learning rate๋ 0.0015๋ก ์ด๊ธฐํํ์ฌ train
BN-Baseline.
- non-linearity์ด์ , Batch Normalization์ ์ ์ฉํ Inception๊ณผ ๋์ผ
BN-x5.
- ์์ ๋ชจ๋ธ์ Section 4.2.1์ ์ ์ฉ
- ์ด๊ธฐ ํ์ต๋ฅ ์ 0.0075๋ก 5๋ฐฐ ์ฆ๊ฐ์์ผฐ์ผ๋ฉฐ ๋์ผํ ํ์ต๋ฅ ๋ก ๊ธฐ์กด Inception์ ๋งค๊ฐ๋ณ์๊ฐ ๋ฌดํ๋์ ๋๋ฌํ๊ฒํจ
BN-x30.
- BN-x5์ ๋์ผํ์ง๋ง, ์ด๊ธฐํ์ต๋ฅ ์ 0.045๋ก Inception์ 30๋ฐฐ์ด๋ค.
BN-x5-Sigmoid.
- BN-x5์ ๋์ผํ์ง๋ง, ReLU๋์ sigmoid non-linearity๋ฅผ ์ฌ์ฉํ๋ค.์์ ๊ทธ๋ฆผ์ 4.2.1์ ๊ทธ๋ํ์ Max validation accuracy ๋ฟ๋ง ์๋๋ผ 72.2%์ด ์ ํ๋์ ๋๋ฌํ๊ธฐ๊น์ง ๊ฑธ๋ฆฐ Step์ ๋ํ ํ์ด๋ค. ์ฌ๊ธฐ์ ํฅ๋ฏธ๋ก์ด ์ ์ BN-x30์ด ๋ค์ ์ด๊ธฐ์๋ ๋๋ ธ์ง๋ง ๋ ๋์ ์ต์ข accuracy์ ๋๋ฌํ๋ค๋ ์ ์ด๋ค.
internal covariance shift์ ๊ฐ์๋ก sigmoid๋ฅผ ๋น์ ํ์ฑ์ผ๋ก ์ฌ์ฉํ ๋, Batch Normalization์ ํ๋ จํ ์ ์๋ค๋ ๊ฒ์ ์ฆ๋ช ํ์๋ค. (ํํ๋ค ๊ทธ๋ฐ ์ ๊ฒฝ๋ง train์ด ์ด๋ ต๋ค๊ณ ์๋ ค์ง ๊ฒ์๋ ๋ถ๊ตฌํ๊ณ .)
• 4.2.3 Ensemble Classification
BN-x30์ ๊ธฐ๋ฐ์ ๋ 6๊ฐ์ ์ ๊ฒฝ๋ง์ ์ด์ฉํด ๋ค์๊ณผ ๊ฐ์ ์ฌํญ์ ์ง์คํด ์์ ํ์์ผ๋ฉฐ ๊ฒฐ๊ณผ๋ 5. Conclusion์ ํ๋ฅผ ์ฐธ๊ณ ํ๋ค.
- Conv.layer์ ์ด๊ธฐ weight๋ฅผ ์ฆ๊ฐ์ํด
- Dropout์ ์ฌ์ฉ (Inception์์ ์ฌ์ฉํ๋ 40%์ ๋นํด 5~10%์ ๋๋ง ์ํ)
- model์ ๋ง์ง๋ง ์๋์ธต๊ณผ ํจ๊ป non-convolution, activation ๋น Batch Normalization์ ์ฌ์ฉ
5. Conclusion
- ๊ธฐ๊ณํ์ต์ training์ ๋ณต์กํ๊ฒ ๋ง๋๋ ๊ฒ์ผ๋ก ์๋ ค์ง Covariate Shift(๊ณต๋ณ๋ ์ด๋)์ sub-network์ layer์๋ ์ ์ฉ๋๋ฉฐ
network์ ๋ด๋ถ ํ์ฑํ์์ ์ด๋ฅผ ์ ๊ฑฐํ๋ฉด training์ ๋์์ด ๋๋ค๋ ์ ์ (premise)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.- Normalization์ network๋ฅผ train์ ์ฌ์ฉ๋๊ณ ์๋ optimization method๋ฅผ ์ ์ ํ๊ฒ ๋ค๋ฃฐ ์ ์๋ค.
๊ฐ๊ฐ์ mini-batch์ Normalization์ ์ ์ฉํ๊ณ normalization parameter๋ฅผ ํตํ ๊ธฐ์ธ๊ธฐ์ ์ญ์ ํ๋ฅผ ์ํด SGD๋ฅผ ์ฌ์ฉํ๋ค.
- network์ ๊ฒฐ๊ณผ๋ ํฌํ๋น์ ํ(saturating nonlinearity)๋ก ํ๋ จ๋ ์ ์๊ณ , training rate์ ์ฆ๊ฐ์ ๋์ฑ ๊ด๋(tolerant)ํ๋ฉฐ ์ ๊ทํ(regularization)๋ฅผ ์ํ Dropout์ด ํ์ํ์ง ์์ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
- ์ต์ฒจ๋จ image classification model์ Batch-Normalization์ ์ถ๊ฐํ๋ ๊ฒ ๋ง์ผ๋ก๋ training์๋๋ฅผ ํฌ๊ฒ ํฅ์์ํฌ ์ ์๋ค.
- learining rate๋ฅผ ๋์ด๊ณ Dropout์ ์ ๊ฑฐํ๊ณ Batch-Normalization์ ์ํด ์ ๊ณต๋๋ ๊ธฐํ ์์ ์ฌํญ์ ์ ์ฉํจ์ผ๋ก
์ฐ๋ฆฌ๋ ์ ์ training step์ผ๋ก ์ด์ ์ ์ฒจ๋จ๊ธฐ์ ์ ๋๋ฌํ๋ฉฐ ์ดํ์ single-network image classification์ ๋ฅ๊ฐํ๋ค.
๋ํ, Batch-Normalization์ผ๋ก ํ๋ จ๋ ์ฌ๋ฌ ๋ชจ๋ธ๋ค์ ๊ฒฐํฉ์ผ๋ก ImageNet์์ ๊ฐ์ฅ ์ ์๋ ค์ง ๋ฐฉ๋ฒ๋ณด๋ค ํจ์ฌ ์ฐ์ํ ์ฑ๋ฅ์ ๋ฐํํ ์ ์๋ค.
[Batch-Normalization์ ๋ชฉํ]
- ํ๋ จ ์ ๋ฐ์ ๊ฑธ์ณ activation๊ฐ์ ์์ ์ ์ธ ๋ถํฌ(distribution)์ ๋ฌ์ฑ
- experiments์์ ์ถ๋ ฅ๋ถํฌ์ 1์ฐจ ๋ชจ๋ฉํธ์ 2์ฐจ ๋ชจ๋ฉํธ๋ฅผ ์ผ์น์ํค๋ฉด ์์ ์ ๋ถํฌ๋ฅผ ์ป์ ๊ฐ๋ฅ์ฑ์ด ๋๋ค.
∴ ๋น์ ํ์ฑ ์ ์ Batch-Normalization์ ์ ์ฉ์ํจ๋ค.
- BN์ ๋๋ค๋ฅธ ์ฃผ๋ชฉํ ์ ์ Batch Normalization transform์ด ๋์ผ์ฑ(ํ์คํ layer๋ ๊ฐ๋ ์ ์ผ๋ก ํ์ํ scale๊ณผ shift๋ฅผ ํก์ํ๋ learned linear transform์ด ๋ค๋ฐ๋ฅด๊ธฐ์ ํ์ํ์ง ์์์)์ ๋ํ๋ด๋๋กํ๋ learned scale๊ณผ shift, conv.layer์ ์ฒ๋ฆฌ, mini-batch์ ์์กดํ์ง ์๋ ๊ฒฐ์ ๋ก ์ ์ถ๋ก , ์ ๊ฒฝ๋ง์ ๊ฐ conv.layer์ BN์ด ํฌํจ๋๋ค.
- ์ฆ, Batch Normalization์ด conv.layer๋ฅผ ์ฒ๋ฆฌํ ์ ์๊ณ ๋ฏธ๋ ๋ฐฐ์น์ ์์กดํ์ง ์๋ ๊ฒฐ์ ๋ก ์ ์ถ๋ก ์ ๊ฐ์ง๊ณ ์๋ค๋ ๋ป์ด๋ฉฐ ์ถ๊ฐ์ ์ผ๋ก ์ ๊ฒฝ๋ง์ ๊ฐ conv.layer๋ฅผ ์ ๊ทํํ๋ค๋ ์๋ฏธ์ด๋ค.
[์ด๋ฒ ์ฐ๊ตฌ์ ๋ฌธ์ ์ ๋ฐ ํฅํ ๋ชฉํ]
BN๊ฐ ์ ์ฌ์ ์ผ๋ก ๊ฐ๋ฅ์ผํ๋ ๋ชจ๋ ๋ฒ์์ ๊ฐ๋ฅ์ฑ์ ํ๊ตฌํ์ง "์์๋ค."
- ๋ฐ๋ผ์ internal covariate shift์ gradient vanishing, exploding๊ฐ ํนํ๋ ์ฌ๊ฐํ ์ ์๋ค.
- normalization์ด gradient propagation์ ํฅ์์ํจ๋ค๋ ๊ฐ์ค์ ์ฒ ์ ํ๊ฒ ๊ฒ์ฆํ๋ ๋ฐฉ๋ฒ์ ๋น์ฐํ๋ ๋ง์ด๋ค.
- ์ฐ๋ฆฌ๋ ์ ํต์ ์ธ ์๋ฏธ์์ ์ ์ฉ์ ๋ถ๋ถ์ ๋์์ด ๋ ์ง [์ ๊ฒฝ๋ง์ ์ํด ์ํ๋๋ normalization์ด ๋ชจ์ง๋จ์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ์ฌ๊ณ์ฐ๋ง์ผ๋ก ์ ๋ฐ์ดํฐ๋ถํฌ๋ณด๋ค ์ฝ๊ฒ ์ผ๋ฐํ ๊ฐ๋ฅํ์ง์ ์ฌ๋ถ]๋ฅผ ์กฐ์ฌํ ๊ณํ์ด๋ค.
๐ถ ๋ถ๋ก (Appendix)
Variant of the Inception Model Used
์์ Figure 5๋ GoogleNet๊ตฌ์กฐ์ ๊ด๋ จํด ๋น๊ตํ ๊ฒ์ผ๋ก ํ์ ํด์์ GoogleNet(Szegedy et al., 2014)์ ์ฐธ์กฐ.
GoogLeNet๊ณผ ๋น๊ตํ์ ๋, ์ฃผ๋ชฉํ ๋งํ ๊ตฌ์กฐ๋ ๋ค์๊ณผ ๊ฐ๋ค.
• 5x5 conv.layer๋ 2๊ฐ์ ์ฐ์๋(consecutive) 3x3 conv.layer๋ก ๋์ฒด๋๋ค.
- ์ด๋ network์ ์ต๋๊น์ด๋ฅผ 9๊ฐ์ weight layer๋ก ์ฆ๊ฐ์ํจ๋ค.
- ๋ํ, parameter์๋ฅผ 25% ์ฆ๊ฐ์ํค๊ณ ๊ณ์ฐ๋น์ฉ(computational cost)๋ฅผ 30%์ ๋ ์ฆ๊ฐ์ํจ๋ค.
• 28x28 inception module์ 2๊ฐ์์ 3๊ฐ๋ก ์ฆ๊ฐ์ํจ๋ค.
• module๋ด๋ถ์์๋ maxpooling๊ณผ average pooling์ด ์ฌ์ฉ๋๋ค.
• ๋ inception module์ฌ์ด์์ pooling layer๋ ์์ง๋ง module 3c, 4e์์ filter ์ฐ๊ฒฐ ์ ์ stride=2์ conv/pooling layer๊ฐ ์ฌ์ฉ๋๋ค.
์ฐ๋ฆฌ์ model์ ์ฒซ๋ฒ์งธ conv.layer์์ 8๋ฐฐ์ ๊น์ด๋ฅผ ์ฌ์ฉํ๋ ๋ถ๋ฆฌ๊ฐ๋ฅํ convolution์ ์ฌ์ฉํ๋ค.
์ด๋ training์์ Memory์๋น๋ฅผ ์ฆ๊ฐ์ํค๊ณ computational cost๋ฅผ ๊ฐ์์ํจ๋ค.
๐ง ๋ ผ๋ฌธ ๊ฐ์_์ค์๊ฐ๋ ํต์ฌ ์์ฝ
"Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift"
Sergey Ioffe์ Christian Szegedy๊ฐ 2015๋ ์ ๋ฐํํ ์ฐ๊ตฌ ๋ ผ๋ฌธ์ผ๋ก ์ด ๋ ผ๋ฌธ์ ์ฌ์ธต ์ ๊ฒฝ๋ง์ ํ๋ จ์ ํฌ๊ฒ ํฅ์์ํฌ ์ ์๋ Batch Normalization์ด๋ผ๋ ๊ธฐ์ ์ ์ ์ํ๋ค.
[ํต์ฌ ๊ฐ๋ ]
1. Internal Covariate Shift
์ด ๋ ผ๋ฌธ์ ๋ด๋ถ ๊ณต๋ณ๋ ์ด๋(Internal Covariate Shift) ๋ฌธ์ ์ ๋ํด ์ค๋ช ํ๋๋ฐ, ์ด ๋ฌธ์ ๋ training์ ๋ ์ด์ด์ ๋ํ ์ ๋ ฅ ๊ฐ์ด๋ parameter ๋ถํฌ์ ๋ณํ๋ฅผ ์๋ฏธํ๋ค.
์ด๊ฒ์ ํ์ ๊ณ์ธตํ์ต์ ํ์ต์๋๋ฅผ ๋ฆ์ถ๋ ๊ฒ์ผ๋ก ํ์ต๊ณผ์ ์ ์ด๋ ต๊ฒ ๋ง๋ค ์ ์๋ค.
2. Batch Normalization
์ด ๋ ผ๋ฌธ์ ๋ด๋ถ ๊ณต๋ณ๋ ์ด๋ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์ผ๋ก Batch-Normalization์ ์ ์ํ๋ค.
๋ฐฐ์น ์ ๊ทํ๋ ๋ฐฐ์น ํ๊ท (mean)์ ๋นผ๊ณ ๋ฐฐ์น ํ์คํธ์ฐจ(standard deviation)๋ก ๋๋์ด ๊ณ์ธต์ ๋ํ ์ ๋ ฅ์ ์ ๊ทํํ๋ ๊ฒ์ ๋๋ค
3. Learnable Scale and Shift
์ ๋ ฅ์ ์ ๊ทํ(normalization)ํ๋ ๊ฒ ์ธ์๋ ๋ฐฐ์น ์ ๊ทํ๋ ๋ ๊ฐ์ง ํ์ต ๊ฐ๋ฅํ ๋งค๊ฐ๋ณ์์ธ scale parameter์ shift parameter๋ฅผ ๋์ ํ๋ค.
์ด๋ฌํ parameters๋ฅผ ํตํด ์ ๊ฒฝ๋ง์ ์ ๊ทํ๋ ์ ๋ ฅ์ ๋ํ optimal scale ๋ฐ shift๋ฅผ ํ์ตํ ์ ์๋ค.
4. Improved Training
์ด ๋ ผ๋ฌธ์ ๋ฐฐ์น ์ ๊ทํ๊ฐ ๋ด๋ถ ๊ณต๋ณ๋ ์ด๋์ ์ํฅ์ ์ค์์ผ๋ก์จ ์ฌ์ธต ์ ๊ฒฝ๋ง์ ๊ต์ก์ ํฌ๊ฒ ๊ฐ์ ํ ์ ์์์ ๋ณด์ฌ์ค๋ค.
์ด๊ฒ์ ๋ ๋น ๋ฅธ ์๋ ด, ๋ ๋์ ์ผ๋ฐํ ๋ฐ ๋ค์ํ ์์ ์์ ํฅ์๋ ์ฑ๋ฅ์ผ๋ก ์ด์ด์ง๋ค.
5. Compatibility
์ด ๋ ผ๋ฌธ์ ๋ฐฐ์น ์ ๊ทํ๊ฐ ๋ค์ํ ์ ๊ฒฝ๋ง ์ํคํ ์ฒ ๋ฐ ํ์ฑํ ๊ธฐ๋ฅ๊ณผ ํจ๊ป ์ฌ์ฉ๋ ์ ์์์ ๋ณด์ฌ์ค๋ค.
์ ๋ฐ์ ์ผ๋ก ์ด ๋ ผ๋ฌธ์ ์ฌ์ธต ์ ๊ฒฝ๋ง ํ๋ จ์ ๊ฐ์ ํ๊ธฐ ์ํ ์ค์ํ ๊ธฐ์ ์ ์๊ฐํ๊ณ ๋ค์ํ ์์ ์ ๋ํ ํจ๊ณผ์ ๋ํ ์ฆ๊ฑฐ๋ฅผ ์ ๊ณตํ๋ค.
































