์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ๋ฏธ๋๋_ํ์ฌ์_๊ณผ๊ฑฐ๋ก
- DP
- lazy propagation
- ํ๋ก์ด๋ ์์ฌ
- ํ๊ณ ๋ก
- c++
- ์กฐํฉ๋ก
- ๋ค์ต์คํธ๋ผ
- ์ธ๊ทธ๋จผํธ ํธ๋ฆฌ
- NEXT
- ์ด๋ถ ํ์
- Overfitting
- ๋๋น ์ฐ์ ํ์
- dropout
- object detection
- pytorch
- ๊ฐ๋์_๋ง๋ก
- ๊ฐ๋์ ๋ง๋ก
- ๋ฐฑํธ๋ํน
- ์ฐ์ ์์ ํ
- tensorflow
- back propagation
- BFS
- ๋ถํ ์ ๋ณต
- ์๊ณ ๋ฆฌ์ฆ
- ์๋ฐ์คํฌ๋ฆฝํธ
- 2023
- ๋ฌธ์์ด
- dfs
- ํฌ๋ฃจ์ค์นผ
- Today
- Total
Doby's Lab
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift ๋ณธ๋ฌธ
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
๋๋น(Doby) 2023. 1. 22. 13:18โ Contents
- Intro
- Abstract
- 1. Introduction
- 2. Towards Reducing Internal Covariate Shift
- 3. Normalization via Mini-Batch Statistics
- 4. Experiments & 5. Conclusion (skip)
- Outro
- Reference
โ Intro
๐ Motivation
Batch Normalization์ ๋ํด ์๊ฒ ๋ ํ, ๋จ์์๋ ๊ถ๊ธ์ ์ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ์ง์ ์๋ฌธ์ ๋ณด์์ผ๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์์ต๋๋ค.
๊ถ๊ธํ๋ ๊ฒ์ผ๋ก๋ BN(X)์ Activation์ ์ ํ ๊ด๊ณ๋ ๋คํธ์ํฌ๋ง๋ค Batch Normalization์ ๋ฐฉ๋ฒ์ด ๋ค๋ฅธ ๊ฒ๋ค์ด ๊ถ๊ธํ๊ธฐ๋ ํ๊ณ ,
'Internal Covariate Shift๋ฅผ ํด๊ฒฐํ๋ ๊ฒ์ด ์๋ ๋ค๋ฅธ ๊ฒ์ ํด๊ฒฐํ๋ค'๋ ์ถํ์ ๋์จ ๋ค๋ฅธ ๋ ผ๋ฌธ์์ ํ๋ ์๊ธฐ์์ง๋ง ์กฐ๊ธ ๊ทผ ๋ณธ์ ๋ํด ๋ค๋ฃจ์ด์ ๊ถ๊ธ์ฆ์ ํด๊ฒฐํด๋ณด๊ณ ์ถ์์ต๋๋ค.
Batch Normalization์ ๋ํ ๊ฐ๋ ์ ๋ค๋ฃฌ ํฌ์คํ (๊ธฐ์ด์ ์ธ ๋ด์ฉ)
https://draw-code-boy.tistory.com/504
Batch Normalization์ด๋? (Basic)
Batch Normalization Batch Normalization๋ ๋ชจ๋ธ์ด ๋ณต์กํ ๋, ์ ํํ๋ Layer๊ฐ ๊น์ด์ง๋ฉด์ ๊ฐ์ง๋ ๋ณต์ก๋๊ฐ ๋์ ๋ ์ผ์ด๋๋ Overfitting์ ํด๊ฒฐํ๊ธฐ ์ํ ๊ธฐ๋ฒ์ ๋๋ค. Batch Normalization์ด ์ด๋ป๊ฒ ์๋๋๋์ง
draw-code-boy.tistory.com
๐ Paper Link
https://arxiv.org/abs/1502.03167
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
Training Deep Neural Networks is complicated by the fact that the distribution of each layer's inputs changes during training, as the parameters of the previous layers change. This slows down the training by requiring lower learning rates and careful param
arxiv.org
โ Abstract
DNN ๊ตฌ์กฐ์ Network๋ฅผ ํ์ต์ํค๋ ๊ฒ์ ์ด์ layer์์ Parameter๊ฐ ๋ฌ๋ผ์ง์ ๋ฐ๋ผ ๊ฐ layer์ input์ Distribution์ด ๋ฌ๋ผ์ ธ์ ํ์ต์ํค๊ธฐ ์ด๋ ต์ต๋๋ค.
์ด๋ฌํ ํ์์ ๋ฎ์ Learning Rate, ์กฐ์ฌ์ค๋ฌ์ด Parameter Initialization์ ์๊ตฌํ๊ณ , Distribution์ด ๋ฌ๋ผ์ง์ ๋ฐ๋ผ์ non-linearity(= Activation)์์์ saturation(Activation์ ํธ๋ฏธ๋ถ์ด 0์ด ๋์ด ์ ๋ฐ์ดํธ๊ฐ ์์ด์ง๋ ํ์)์ ๋ฐ๋ผ ๊ฐ์ค์น ์ ๋ฐ์ดํธ๊ฐ ์ค๋จ๋๋ ์ฌํ๊น์ง ๋ฐ์ํ ์ ์์ต๋๋ค.
๋ ผ๋ฌธ์์๋ ์ด๋ฌํ ํ์์ 'Internal Covariate Shift'๋ผ๊ณ ํฉ๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ๋์ํ๊ธฐ ์ํด ๋ ผ๋ฌธ์์๋ ๊ฐ mini-batch์ ๋ฐ๋ฅธ Normalization์ ์งํํ๊ณ , ์ด๋ฅผ ๋ชจ๋ธ์ ํ ๋ถ๋ถ์ผ๋ก ์ ์ฉ์ ์์ผ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ ์ํฉ๋๋ค.
์ ์๋ ๋ฐฉ๋ฒ์ ํตํด ๋ ๋์ Learning Rate๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ํ๊ณ , Initialization์ ๋ํด ์กฐ๊ธ ๋ ์ฃผ์ํด๋ ๋๊ณ , Regularization์ ์ญํ ๊น์ง ํ์ฌ Dropout์ ์์กด์ฑ์ ์ค์ด๋๋ก ํฉ๋๋ค.
โ 1. Introduction
๐ Domain Adaptation
Introduction์์๋ SGD์ ๋ํ ์ค๋ช ๊ณผ mini-batch์ ์ด์ ์ ๋ํด ๋งํ๋ฉฐ ์์ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ , ๊ฐ layers์ input์์ ๋ถํฌ์ ๋ณํ๋ ๊ฐ layer๋ก ํ์ฌ๊ธ ์๋ก์ด ๋ถํฌ์ ์ง์์ ์ผ๋ก ์ ์ํด์ผ ํ๋ค๋ ๋ฌธ์ ๋ฅผ ์ผ๊ณ ์์ต๋๋ค. (Domain Adaptation)
๊ทธ๋ฌ๋, Covariate Shift๋ ํ์์ sub-network๋ layer์๋ ์ ์๋๊ธฐ ์ํด์ Learning System ์ ์ฒด๋ฅผ ๋์ด ํ์ฅ๋ ์๊ฐ ์์ต๋๋ค.
์ ๊ทธ๋ฐ์ง์ ๋ํด์ ํ network๋ฅผ ์๋ก ๋ค์ด ์ค๋ช ํฉ๋๋ค.
$$ l = F_2(F_1(u, \theta_{1}), \theta_{2}) $$
์์์ ๋ํด ์ค๋ช ํ๋ฉด, ์๋์ ๊ฐ์ ๊ตฌ์กฐ์ ๋๋ค.
$$ F(input, parameter) $$
๋ํ, \(F_2(F_1(u, \theta_{1}), \theta_{2})\)๋\(x=F_1(u, \theta_{1})\)๋ก ํํํ๋ค๋ฉด, \(F_2(x, \theta_{2})\)๋ก ๊ฐ๋จํ๊ฒ ๋ํ๋ผ ์ ์์ต๋๋ค.
์ด์ ๋ฐ๋ฅธ \(\theta_{2}\)์ mini-batch Gradient Descent์ ๊ณผ์ ์ ์๋์ ๊ฐ์ด ๋ํ๋ ์ ์์ต๋๋ค.
$$ \theta_2 = \theta_2 - \alpha\frac{1}{m}\sum_{i=1}^{m}
\frac{\partial F_2(x_i, \theta_2)}{\partial \theta_2} $$
์ด๋ฌํ ๊ตฌ์กฐ๋ \(F_2\)๋ผ๋ ๋จ์ผ ๋คํธ์ํฌ์ \(x\)๋ผ๋ input์ด ๋ค์ด๊ฐ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก, training data๋ test data๊ฐ ๋ชจ๋ ๊ฐ์ ๋ถํฌ๋ฅผ ๊ฐ์ง๋ ๊ฒ์ด ํจ์จ์ ์ด๋ผ๋ ๋ง์ ํ๊ณ ์์ต๋๋ค.
input data์ ๋ถํฌ๋ฅผ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ๊ณ ์ ํจ์ผ๋ก์จ \(\theta_2\)๊ฐ ๊ณ์ ๋ณํ๋๋ ๋ถํฌ์ ๋ฐ๋ผ ์๋กญ๊ฒ ์ ์ํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๐ Gradient Vanishing & Saturation
๋ํ, sub-network์ ๋ํ input์ ๊ณ ์ ๋ ๋ถํฌ๋ sub-network์ ์ธ๋ถ layer๋ค์๋ ๊ธ์ ์ ์ธ ํจ๊ณผ๋ฅผ ์ด๋ํ ๊ฒ์ด๋ผ๋ ๋ง์ ํฉ๋๋ค.
layer๋ฅผ ํตํด ์ถ๋ ฅํ output(\(Wu + b\))์ ์๊ทธ๋ชจ์ด๋์ ์ ๋ ฅ ๊ฐ์ด๋ผ๊ณ ๊ฐ์ ํ์์ ๋, ์ด ๊ฐ์ ํฌ๊ธฐ๊ฐ ์ปค์ง์ ๋ฐ๋ผ Gradient Vanishing์ด ๋ฐ์ํฉ๋๋ค. ์ด์ ๋ฐ๋ผ, ํ์ต์ ์๋๊ฐ ๋๋ ค์ง๋ ๊ฒ์ ๋ฌผ๋ก ์ ๋๋ค.
๋ํ, ์๊ทธ๋ชจ์ด๋์ ๋ํ ์ ๋ ฅ๊ฐ์ W, b์ ์ํฅ๊ณผ ๊ทธ ์๋์ layer์ ๋ชจ๋ parameter๋ค์ ์ํฅ์ ๋ฐ๊ธฐ ๋๋ฌธ์ Back-Propagation์ ๊ณผ์ ์์ Vanishing ๋ฟ๋ง ์๋๋ผ Saturation ํ์๊น์ง ๋ํ๋ ์ ์์ต๋๋ค.
(์ด์ ๋ํด ํด๊ฒฐํ๊ธฐ ์ํด sigmoid๋ณด๋ค๋ ReLU activation์ ์ถ์ฒํฉ๋๋ค.)
๊ทธ๋์, nonlinearity(= activation)์ ๋ํ input์ distribution์ด ์์ ์ฑ์ ๊ฐ์ถ๋ค๋ฉด, Vanishing์ด๋ Saturation์ ๋ฌธ์ ์ Gradient Descent๊ฐ ๋ ๋ฐฉ์น๋ ์ ์๊ณ , ํ์ต์ ๋ ๊ฐ์์ํฌ ์ ์์ต๋๋ค.
๐ Suggest 'Batch Normalization'
layer๋ฅผ ๊ฑฐ์นจ์ ๋ฐ๋ผ ๋ถํฌ๊ฐ ๋ณํ๋ ํ์์ 'Internal Covariate Shift'๋ผ๊ณ ์ธ๊ธํฉ๋๋ค.
์ด์ ๋ฐ๋ผ ์ ์ํ ๋ฐฉ์์ด 'Batch Normalization'์ ๋๋ค.
๊ฐ input(mini-batch)์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ํตํด Normalization์ ํจ์ผ๋ก์จ ์ป๋ ์ด์ ๋ค์ ์๋์ ๊ฐ์ต๋๋ค.
- Accelerated Training using much higher learning rates (= ๋์ ํ์ต๋ฅ ์ ์ ์ฉํ ์ ์์์ผ๋ก์จ ๊ฐ์ํ๋ ํ์ต)
- Gradient flow through the network, by reducing the dependence of gradients on the scale of parameters or of their initial values (= ํ๋ผ๋ฏธํฐ์ ์ด๊น๊ฐ์ ์ค์ผ์ผ์ ๋ฐ๋ฅธ gradient์ ์์กด์ฑ์ ์ค์)
- Regularizes the model and reduces the need for Dropout (= ๊ท์ ๋ฅผ ํจ์ผ๋ก์จ Dropout์ ํ์์ฑ์ ์ค์)
โ 2. Towards Reducing Internal Covariate Shift
๐ Whitening
๊ทธ๋์ Fixed Distribution์ ์ํด Whitening ๊ธฐ๋ฒ์ ์ฌ์ฉํด ๋ด ๋๋ค.
Whitening์ด๋ ํ๊ท ์ 0, ๋ถ์ฐ์ 1๋ก ๋ง๋ค๊ณ , ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ decorrelated ํ๊ฒ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋๋ค.
- ์ด ๊ณผ์ ์์ Covariance Matrix์ Inverse๋ฅผ ์ฌ์ฉํ์ฌ ๊ณ์ฐ๋์ด ์์ฒญ ๋ง์์ง๋๋ค.
- ๋ํ, ์ด ๊ณผ์ ์์ ์ ํ๋์ํ์ด ์ฐ์ฌ ์ ํ๋์ํ์ ๊ณต๋ถํด์ผ๊ฒ ๋ค๋ ๊ณ๊ธฐ๊ฐ ๋์์ต๋๋ค.
ํ์ง๋ง, Whitening์ Optimization(= Gradient Descent)์ ๊ณผ์ ๊ณผ ๋ณ๊ฐ๋ก ์ด๋ฃจ์ด์ง๊ธฐ ๋๋ฌธ์ Gradient Descent์ ๊ณผ์ ์์ Whitening์ ๋ํ ์ ๋ฐ์ดํธ๋ ๋์ด์ผ ํ๋๋ฐ ๊ทธ๋ฌ์ง ๋ชป ํด์ Gradient Descent์ ํจ๊ณผ๋ฅผ ๊ฐ์์ํต๋๋ค.
์๋ฅผ ๋ค์ด, ํ layer์ ๋ํ input์ \(u\)๋ผ๊ณ ๋๊ณ , ํ์ต์ ํตํด ๋ง๋ค์ด์ง bias๋ฅผ \(b\)๋ผ๊ณ ํ๊ณ ,
์ด๋ก ์ธํด \(x=u+b\)๋ผ๋ ๊ฒฐ๊ณผ๊ฐ ๋ง๋ค์ด์ง๋ค๊ณ ๊ฐ์ ํด ๋ด ์๋ค.
์ ์ฒด ๋ฐ์ดํฐ์ ํ๊ท ์ ๋บ์ผ๋ก์จ normalize๋ฅผ ํฉ๋๋ค.
$$ \hat{x} = x - E[x] $$
(\(x=u+b, \chi = \{x_{1...N}\}\) set of values of x over the training set, \(E[x] = \frac{1}{N}\sum_{i=1}^{N}x_i\))
Gradient Descent์ ๋ฐ๋ผ \(b = b + \Delta b\)๋ก ์ ๋ฐ์ดํธ๋ ๊ฒ์ ๋๋ค.
(\(\Delta b = -\alpha\frac{\partial l}{\partial \hat{x}}\))
๊ทธ๋ผ ์ ๋ฐ์ดํธ ๊ณผ์ ์์ ์๋์ ๊ฐ์ ์ผ์ด ๋ฐ์ํฉ๋๋ค.
$$ u + (b + \Delta b) - E[u + (b + \Delta b)] = u + b - E[u + b] $$
์ด ๊ณผ์ ์ ๋ฐ๋ผ b์ ์ํฅ์ ์ฌ๋ผ์ง๊ณ , Loss์์๋ ๋ณํจ์ด ์๊ฒ ๋ฉ๋๋ค.
ํ์ง๋ง, Back-Propagation์ ๊ณ์ ์งํ๋๋ \(b\)๋ง ๋ฌด๊ธฐํ์ผ๋ก ์ปค์ง๊ฒ ๋ฉ๋๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ ๋จ์ํ E[x]๋ง ๋นผ๋ ๊ฒ์ด ์๋๋ผ ํ์คํธ์ฐจ๋ก ๋๋์ด์ฃผ๊ฑฐ๋ scaling์ ๊ณผ์ ๊น์ง ํฌํจ๋ ๊ฒฝ์ฐ ๋์ฑ ๋ชจ๋ธ์ด ์ ํ๋๋ ๊ฒฝํฅ์ด ์๋ค๊ณ ํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, Normalization์ด Gradient descent Optimization์ ๊ณผ์ ์ ํ์์ ์ผ๋ก ํฌํจ๋์ด์ผ ํฉ๋๋ค.
๊ทธ๋ ๊ฒ ํจ์ผ๋ก์จ, ๋ชจ๋ธ์ Parameter๋ค์ด Normalization์ ์ค๋ช ํ ์ ์์ด์ผ ํฉ๋๋ค.
๐ Whitening Back-Propagation
๊ทธ๋์, \(x\)๋ฅผ input vector๋ผ๊ณ ํด๋ด ์๋ค. ๊ทธ๋ฆฌ๊ณ , \(\chi\)๋ ์ ์ฒด ๋ฐ์ดํฐ์ ์ ๋๋ค.
Normalize ํ ๊ฐ์ ์๋์ ๊ฐ์ต๋๋ค.
$$ \hat{x} = Norm(x,\chi)$$
์ด๋ ๊ฒ ๋์์ ๋, Back-Propagation์ ๊ด์ ์์ ๋ณด๋ฉด
$$ \frac{\partial Norm(x,\chi)}{\partial x}, \frac{\partial Norm(x,\chi)}{\partial \chi} $$
์ derivative๋ค์ ๊ณ์ฐํด์ผ ํฉ๋๋ค. ์ด ๊ณผ์ ์์ Jacobian, Covariance Matrix, inverse ๋ฑ์ ๊ฐ๋ ์ด ๋์ค๋๋ฐ ์์ง ์ ํ๋์ํ์ ๊ดํด ์ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ ๊ณ์ฐ๋์ด ์์ฒญ ๋ง๋ค๋ ๊ฒ๋ง ์๊ณ ๋์ด๊ฐ๊ฒ ์ต๋๋ค.
์ฆ, ๊ณ์ฐ๋์ด ์์ฒญ ๋ง๋ค๋ ๊ฒ ๋๋ฌธ์ ๋์ฒด์ ์ธ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.
๋์ฒด์ ์ธ ๋ฐฉ๋ฒ์ ๋ํ ์๊ตฌ ์ฌํญ์ผ๋ก๋ ๋ฏธ๋ถ์ด ๊ฐ๋ฅํ Normalization ๋ฐฉ๋ฒ์ด์ด์ผ ํ๊ณ ,
parameter๋ฅผ ์ ๋ฐ์ดํธํ ๋, ์ ์ฒด ๋ฐ์ดํฐ์ ์ ๋ํ ๋ถ์์ด ํ์๋ก ์์์ผ๋ฉด ํ๋ ๊ฒ์ ๋๋ค.
์ด์ ์ ๋ฐฉ๋ฒ ์ค ํ๋๋ ๋จ์ผ sample์ ๋ํ ๊ณ์ฐ๋ ํต๊ณ๋ฅผ ์ด์ฉํ๊ฑฐ๋, Image Network์ ๊ฒฝ์ฐ์๋ ํน์ ํ ์ฃผ์ด์ง ์์น์ feature map์ ์ด์ฉํด ๊ณ์ฐํ๋๋ก ํ๋๋ฐ, ์ด๋ฌํ ๊ฒ์ ๋คํธ์ํฌ์ ์ ๋ณด์ ๋ํด ์์ค์ด ์ฐ๋ ค๋๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๊ทธ๋์, ์ ์ฒด์ ์ธ ๋ฐ์ดํฐ์ ์ด ํ์ํ์ง๋ง ๋ฐ์ดํฐ์ ์ ๋ํ ๊ณ์ฐ๋์ด ๋ง๊ธฐ ๋๋ฌธ์ whitening์ ๋์ฒดํ ๋ฐฉ๋ฒ์ด ํ์ํ ๊ฒ์ ๋๋ค.
โ 3. Normalization via Mini-Batch Statistics
whitening์ด ๊ณ์ฐ๋๋ ๋ง๊ณ , ๋ชจ๋ ๊ณณ์์ ๋ฏธ๋ถ ๊ฐ๋ฅ์ด์ง๋ ์๊ธฐ ๋๋ฌธ์ 2๊ฐ์ง๋ฅผ Simplification(๊ฐ๋จํ) ํด์ผ ํฉ๋๋ค.
๐ Simplification (1): Normalize each scalar feature independently
๊ฐ dimension ๋ณ๋ก scalar ๊ฐ๋ค์ Normalization์ ์งํํ์๋ ๊ฒ์ ๋๋ค.
์ด๋ฌํ Normalization์ ๊ธฐ๋ฒ์ decorrelated ํ์ง ์์ ๊ฒฝ์ฐ์๋ ์๋ ด์ ๊ฐ์ํ์ํต๋๋ค.
์๋ฅผ ๋ค์ด, \(x\)๋ผ๋ input vector๊ฐ d-dimension์ ๊ฐ์ง๊ณ ์๋ค๋ฉด, \(x = (x^{(1)}...x^{(d)})\)๋ก ๋ณด์์ ์๋์ ๊ฐ์ด Normalize ํ๋ค๋ ๋ป์ ๋๋ค.
$$ \hat{x}^{(k)} = \frac{x^{(k)} - E[x^{(k)}]}{\sqrt{Var[x^{(k)}]}} $$
๊ทธ๋ฆฌ๊ณ , ๊ฐ๋จํ๊ฒ Normalize๋ง ํด์๋ ์ ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด, sigmoid ํจ์๋ก Normalized ๋ ๊ฐ๋ค์ ์ด์ฉํ๋ฉด sigmoid์ Non-linearity๊ฐ ๋ณด์ฅ๋์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๋ฌด์จ ์๋ฆฌ๋๋ฉด Gaussian Normal Distribution์ ๋ฐ๋ฅด๋ฉด ์ ๊ทํ๋ ๊ฐ๋ค์ 99.7%๋ \([m-3\sigma, m+3\sigma]\)์ ์ํ๋ค๊ณ ์๋ ค์ ธ ์์ต๋๋ค. ์ ๊ทํ๋ ๊ฐ๋ค์ ๋ชจ๋ sigmoid๋ฅผ ํตํด ํต๊ณผ์ํค๋ฉด sigmoid์ Non-linearity๋ฅผ ์๊ฒ ๋๋ค๋ ๋ป์ ๋๋ค.
๊ทธ๋ฌ๋ฉด์ ๋ ผ๋ฌธ์์๋ ์ด ๋ง์ ๊ฐ์กฐํฉ๋๋ค.
\(the\;transformation\;inserted\;in\;the\;network\;can\;represent\;the\;identity\;transform.\)
transformation์ Network์ ์ ์ฉํ ๋, ์๋์ ์ธ ๋ณํ์ ์ค ๋ฟ, ๋ค๋ฅธ ๋ณํ์ ์ฃผ์ง ๋ง๋ผ๋ ๋ป์ผ๋ก ๋ค๊ฐ์์ ์ ์ด๋์์ต๋๋ค.
๋ณํ์ด identity ํ๊ฒ(=ํญ๋ฑ ํ๊ฒ) ์ด๋ฃจ์ด์ ธ์ผ ํ๋ค๋ ๋ง์ ๋๋ค.
๊ทธ๋์, ์ด๋ป๊ฒ Non-linearity๋ฅผ ๋ณด์ฅ์ํฌ ๊ฑด์ง์ ๋ํ ๊ฒ์ Normalize ๋ ๊ฐ์ parameter๋ฅผ ์ถ๊ฐํฉ๋๋ค.
$$ y^{(k)} = \gamma^{(k)}\hat{x}^{(k)} + \beta^{(k)} $$
\(\gamma^{(k)}\)๋ ์ด๊ธฐ ๊ฐ์ด \(\sqrt{Var[x^{(k)}]}\)๋ก ์ธํ ๋๊ณ , \(\beta^{(k)}\)๋ \(E[x^{(k)}]\)๋ก ์ธํ ์ด ๋์ด ํ์ต์ ํตํด ์ต์ ์ Parameter๋ฅผ ์ฐพ์๊ฐ๋๋ค.
๐ Simplification (2): mini-batches in stochastic gradient training
๊ฐ mini-batch์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ๊ตฌํ์ฌ Gradient descent๋ฅผ ์งํํ ์ ์๋๋ก ํ์๋ ๊ฒ์ ๋๋ค.
mini-batch \(B\)์ ์ฌ์ด์ฆ๋ฅผ \(m\)์ด๋ผ๊ณ ๊ณ ๋ คํ๊ณ , \(x^{(k)}\)๋ ํธ์์ฑ์ ์ํด \(k\)๋ฅผ ์๋ตํ๋ฉด, ์๋์ ๊ฐ์ mini-batch๊ฐ ๋ง๋ค์ด์ง๋๋ค.
$$ B = \{x_{1...m}\} $$
๊ทธ๋ฆฌ๊ณ , normalized ๋ ๊ฐ๋ค \(\hat{x}_{1...m}\)์ \(\gamma\)์ \(\beta\)์ ์ํ ์ ํ์ ์ธ ๋ณํ์ ๊ฑฐ์น๋ฉด Batch Normalization์ด ๋๋ ๊ฒ์ ๋๋ค.
$$ BN_{\gamma, \beta} : x_{1...m} \rightarrow y_{1...m} $$
๊ฒฐ๊ณผ์ ์ผ๋ก Batch Normalizaing Transform์ ๋ํด ์ ๋ฆฌํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
\(\epsilon\)์ด๋ผ๋ ์์ ๊ฐ์ ๋ํด์ฃผ๋ ์ด์ ๋ ๋ถ์ฐ์ด 0์ด ๋๋ ๊ฒฝ์ฐ๋ฅผ ๊ณ ๋ คํ์ฌ ์์น์ ์์ ์ฑ์ ์ํด ๋ฃ์ด์ค๋ค๊ณ ํฉ๋๋ค.
\(\gamma\)์ \(\beta\)๊ฐ ํ์ต์ ํตํด optimal ํ ๊ฐ์ ์ฐพ์๊ฐ ๋, ์๋ฌด๋ฐ ๊ณณ์๋ ์์กด์ ์ด์ง ์์ ๊ฑฐ๋ ์๊ฐ์ ํ๋ฉด ์ ๋ฉ๋๋ค.
์คํ๋ ค \(BN_{\gamma, \beta}(x)\)๋ ๋ง์ ์ํ๋ค์๊ฒ ๋ง์ด ์์กดํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ , Batch Normalization์ parameter๋ค์ Back-Propagation์ ๊ณผ์ ์์ Gradient Descent๋ฅผ ํตํด ํ์ตํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ฏธ๋ถ์ ์ฐ์ ๋ฒ์น์ ์ํด ์๋์ ๊ฐ์ด ์ ๋ฆฌ ๊ฐ๋ฅํ๋ฉฐ, ๋ฏธ๋ถ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ด์ ๋ฐ๋ผ Batch Normalization layer๋ฅผ ํต๊ณผํจ์ผ๋ก์จ, Internal Covariate Shift๋ฅผ ์ค์ด๋ ๋ถํฌ๋ฅผ ๊ฐ๋ ๊ฐ๋ค์ ๋ค์ sub-network๋ก ๋๊ธธ ์ ์๊ฒ ๋์ด ํ์ต์ accelerate ์ํฌ ์ ์๊ฒ ๋ฉ๋๋ค.
๋ ๋์๊ฐ, Non-Linearity๋ฅผ ๋ณด์ฅํ์ฌ Identity Transform(ํญ๋ฑ ๋ณํ, ๋ณ๋ค๋ฅธ ์์ค์ด ์๋๋ก)์ด ๋๋๋ก ํ๊ธฐ ๋๋ฌธ์ ๋คํธ์ํฌ์ ๋ฅ๋ ฅ์ ๋ณด์กดํฉ๋๋ค.
๐ 3.1 Training and Inference with Batch-Normalized Networks
Training์ด ์ด๋ป๊ฒ ๋๋์ง ์์์ผ๋ Inference๊ฐ ์งํ๋ ๋๋ ์ด๋๊ฐ ๋ถ์กฑํ ์ ์ด ๋ณด์ ๋๋ค.
Inference ๋จ๊ณ์์ 'ํ๊ท ', '๋ถ์ฐ'์ ์ด๋ค ๊ฒ์ ์ฌ์ฉํด์ผ ํ๋๊ฐ?
๋ ผ๋ฌธ์์๋ ํฌ๊ฒ 2๊ฐ์ง ๋ฐฉ์์ ์ ์ํฉ๋๋ค. 2๊ฐ์ง ๋ฐฉ์ ๋ค ํ๋ จ ์ธํธ์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ์ฌ์ฉํฉ๋๋ค.
Population statistics
$$ \begin{align}
E[x^{(k)}] &= E_{B}[\mu_{B}^{(k)}] \\ \\
Var[x] &= \frac{m}{m-1}\cdot E_{B}[\sigma_{B}^{2}]
\end{align} $$
Moving Average
$$ \frac{P_M+P_{M-1}+\cdot\cdot\cdot+P_{M-(n-1)}}{n} = \frac{1}{n}\sum_{i=0}^{n-1}P_{M-i} $$
Population statistics๋ ๋นํจ์จ์ ์ด๋ผ ๋ณดํต Moving Average์ ๋ฐฉ์์ ์ฌ์ฉํ๋ค๊ณ ํฉ๋๋ค.
Inference๋ ๋ง์ฐฌ๊ฐ์ง๋ก \(\gamma\)์ \(\beta\)๋ฅผ ์ฌ์ฉํ์ฌ Scaling๊ณผ Shift๋ฅผ ํฉ๋๋ค.
๐ 3.2 Batch-Normalized Convolutional Networks
Covolution layer์์ \(Wx+b\) ํํ๋ก Batch Normalization์ ํ๋๋ฐ, ์ด ๋๋ \(\beta\)๊ฐ shift์ ์ญํ ์ ํ๋ฉด์ \(b\)์ ์ญํ ์ ๋์ฒดํ๊ธฐ ๋๋ฌธ์ \(b\)๋ฅผ ์์ฑ๋๋ค.
๊ทธ๋ฆฌ๊ณ , CNN์ ์ฑ์ง์ ์ ์ง์ํค๊ธฐ ์ํด์๋ ๊ฐ Channel์ ๊ธฐ์ค์ผ๋ก Batch Normalization์ ๋ํ ๋ณ์๊ฐ ์์ด์ผ ํฉ๋๋ค.
Convolution์ ์ ์ฉํ Feature Map์ ํฌ๊ธฐ๊ฐ p x q๋ผ๊ณ ํ๊ณ , Mini-batch์ ์ฌ์ด์ฆ๊ฐ m์ด๋ผ๊ณ ํ๋ค๋ฉด,
Channel ๋ณ๋ก m x p x q์ ๋ํ Mean๊ณผ Variance๋ฅผ ๊ตฌํ๋ ๊ฒ์ ๋๋ค.
๊ทธ๋์ Channel์ด n๊ฐ ๋ผ๋ฉด, ์ด n๊ฐ์ Batch Normalization Parameter(\(\gamma, \beta\))๊ฐ ์๊ธฐ๊ฒ ๋ฉ๋๋ค.
๊ฒฐ๊ณผ์ ์ผ๋ก, \(\gamma\)์ \(\beta\)๋ Channel๋ณ๋ก ์กด์ฌํ์ฌ CNN์ ์ฑ์ง์ ์ด๋ฆฝ๋๋ค.
๐ 3.3 Batch Normalization enables higher learning rates
Batch Normalization์ ํจ์ผ๋ก์จ parameter์ ์์ ๋ณํ๊ฐ ํฌ๊ฒ ๋ณ๋ ์ฌํญ์ ๊ฐ์ ธ์ค์ง ์๊ฒ ๋จ์ผ๋ก์จ, ๋ ๋์ Learning rate๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ์์ต๋๋ค.
๋ํ, Non-linearity์ ์์ค์ ๋ํ ๋ฌธ์ ๋ฅผ ์๋ฐฉํจ์ผ๋ก์จ Saturated Regime ๊ฐ์ ์ํ์ฑ๋ ์ค์์ต๋๋ค.
๐ 3.4 Batch Normalization regularizes the model
Batch Normalization์ด Regularization์ ์ญํ ์ ํ๋ฉด์ Overfitting์ ์ค์ด๊ธฐ ์ํ Dropout์ ์์ ๊ฑฐ๋ ์ค์ฌ๋ ๋๋ค๊ณ ํฉ๋๋ค.
โ 4. Experiments & 5. Conclusion (skip)
๊ฒฐ๊ตญ Batch Normalization์ด ์ข์ ๊ฒฐ๊ณผ๋ฅผ ๋ณ๋๋ค๋ ์๊ธฐ๋ก ์๋ตํ๊ฒ ์ต๋๋ค.
โ Outro
๊ถ๊ธ์ฆ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ ผ๋ฌธ์ ์ฝ๋ค๊ฐ Batch Normalization์ ์ ์ฉํจ์ ๋ฐ๋ผ ์ป๋ ์ด์ ๋ค๋ ๊ณต๋ถํ๊ฒ ๋๋ฉด์ ๊ธฐ์กด ํ๋ก์ ํธ(Cat & Dog Classification Version 2)์์ ๋๋ฒจ๋กญ์ํฌ ๋ถ๋ถ๋ค์ด ๋ณด์์ต๋๋ค.
์๋์ ๊ฐ์ ๋ถ๋ถ๋ค์ ์ ์ฉํ์ฌ Version 2.1์ ๋ง๋ค์ด๋ณผ ์๊ฐ์ ๋๋ค.
- Regularization์ ์ญํ ์ ํ๊ธฐ ๋๋ฌธ์ Dropout์ ํ์์ฑ์ ์ค์.
- 3. Normalization via Mini-Batch Statistics์์ Non-linearity์ ๋ํ ๋ฐฉ์์ ๋ค๋ฃจ๋ ๊ฒ์ ๋ณด์ BN(X) -> Activation์ ๊ตฌ์กฐ๋ก ์ฐ์ด๋ ๊ฒ์ผ๋ก ๋ณด์.
๊ทธ๋ฆฌ๊ณ , Batch Normalization์ ๋ํ ํ์ ๋ ผ๋ฌธ 'How Does Batch Normalization Help Optimization'๋ ์ธ์ ๊ฐ ๊ธฐํ๊ฐ ๋๋ค๋ฉด ์ฝ์ด ๋ด์ผ ํ ๊ฑฐ ๊ฐ์ต๋๋ค. Intenal Covariate Shift๊ฐ ์ด๋ป๊ฒ ์ ๊ฑฐ๋์๋์ง ์ค๋ช ์ด ๋ถ์กฑํ์ฌ ์คํ์ ํตํด BN์ด ์ฑ๋ฅ์ด ์ข์ ์ด์ ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
๋ํ, 2023๋ ์ ๊ณํ์ด์๋ ์ ํ๋์ํ, ํต๊ณํ, ๋ฏธ์ ๋ถํ์ ๋ํด ๊ณํ์ ์ธ์ฐ๋ฉด์๋ '์์ง ๋ด๊ฐ ํ์ํ ๊น'๋ผ๋ ๊ฑฐ๋ฆฌ๋์ ๋ํ ์๊ฐ์ด ์์์ง๋ง, ์ฒ์์ผ๋ก ์๋ก ์ ์ธ ์ด์ผ๊ธฐ๋ฅผ ๋ค๋ฃจ์ด๋ณด๋ฉด์ '๋น์ฅ ํ์ํ๊ตฌ๋'๋ฅผ ๊นจ๋ฌ์ ๊ณต๋ถ์์ต๋๋ค.
์ฌํด ๊ณํ์ ํ์คํ ๊ฑฐ๋ฆฌ๋ ์์ด ์งํํด์ผ ํ ๋ถ๋ถ๋ค์ด๋ผ๋ ํ์ ์ด ๋ค์์์ต๋๋ค.
์ถ๊ฐ์ ์ผ๋ก, ์์ด์ ๋ํ ๊ณต๋ถ๋ ์ ๋ง ๋ง์ด ํ์ํ๊ตฌ๋๋ฅผ ๋๊ผ์ต๋๋ค. ๋ชจ๋ฅด๋ ๋จ์ด๋ง ์์๋ด๋ฉด ํด์์ด ๋งค๋๋ฌ์ธ ๊ฑฐ๋ ์๊ฐ์ ํ์๋๋ฐ ๋ฌธ๋งฅ์ ๋ฌด์จ ์๊ธฐ๋ฅผ ํ๋ ๊ฑด๊ฐ ์ถ์ด์ ํด์๋ณธ์ ๋ง์ด ์ฐพ์๋ณด์์ผ ํ์ต๋๋ค. ๋ฌผ๋ก , ์ํ์ ์ง์์ด ์๋ค๋ ๊ฒ๋ ํด์์ ๋ํด ํ๋ชซํ์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก, ๋ค์ ๋ ผ๋ฌธ ๋ฆฌ๋ทฐ๋ถํฐ๋ ์กฐ๊ธ ๋ ๊ฐ๋ตํํ์ฌ ์์ฑํด ๋ณผ ์๊ฐ์ ๋๋ค. ์กฐ๊ธ ๋ ํ์ํ ํ์์ ์ธ ์ ๋ณด๋ค์ ์ ๊ณตํ์ฌ ๋ถํ์ํ ์๊ฐ๊ณผ ๊ธ์ ์ค์ฌ์ ๋ ํจ์จ์ ์ผ๋ก ๊ธ์ ์์ฑํด ๋ณด๊ฒ ์ต๋๋ค :)
โ Reference
https://dive-into-ds.tistory.com/19
Whitening transformation
Whitening transformation(ํน์ sphering transformation)์ random variable์ ๋ฒกํฐ(covariance matrix๋ฅผ ์๊ณ ์๋)๋ฅผ covariance matric๊ฐ identity matrix์ธ variable๋ค๋ก ๋ณํํ๋ linear transformation์ด๋ค. ์ฆ, ๋ชจ๋ ๋ณ์๊ฐ uncorrelated
dive-into-ds.tistory.com
https://eehoeskrap.tistory.com/430
[Deep Learning] Batch Normalization (๋ฐฐ์น ์ ๊ทํ)
์ฌ๋์ ์ญ์ ๊ธฐ๋ณธ์ ์ถฉ์คํด์ผ ํ๋ฏ๋ก ... ๋ฅ๋ฌ๋์ ๊ธฐ๋ณธ์ค ๊ธฐ๋ณธ์ธ ๋ฐฐ์น ์ ๊ทํ(Batch Normalization)์ ๋ํด์ ์ ๋ฆฌํ๊ณ ์ ํ๋ค. ๋ฐฐ์น ์ ๊ทํ (Batch Normalization) ๋? ๋ฐฐ์น ์ ๊ทํ๋ 2015๋ arXiv์ ๋ฐํ๋ ํ
eehoeskrap.tistory.com
https://gaussian37.github.io/dl-concept-batchnorm/
๋ฐฐ์น ์ ๊ทํ(Batch Normalization)
gaussian37's blog
gaussian37.github.io
Batch Normalization ์ค๋ช ๋ฐ ๊ตฌํ
NIPS (Neural Information Processing Systems) ๋ ๋จธ์ ๋ฌ๋ ๊ด๋ จ ํํ์์ ๊ฐ์ฅ ๊ถ์์๋ ํํ๋ค ์ค ํ๋์ด๋ค. ์ด ํํ์์๋ ๋งค๋ ์ปจํผ๋ฐ์ค๋ฅผ ๊ฐ์ตํ๊ณ , ์๋ 12์์๋ NIPS 2015๋ผ๋ ์ด๋ฆ์ผ๋ก ๋ฌ์์์์ ์ปจ
shuuki4.wordpress.com
https://lifeignite.tistory.com/47
Batch Normalization์ ์ ๋๋ก ์ดํดํด๋ณด์
notion์ผ๋ก ๋ณด๋ฉด ๋ ํธํฉ๋๋ค. www.notion.so/Batch-Normalization-0649da054353471397e97296d6564298 Batch Normalization Summary www.notion.so ๋ชฉ์ฐจ Summary Introduction Background Normalization Covariate Shift Batch Normalization Algorithm Learnable
lifeignite.tistory.com
'AI > Concepts' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Precision๊ณผ Recall์ด ๋ฐ๋น๋ก ๊ด๊ณ์ธ ์ด์ ์ ๋ํ ๊ณ ์ฐฐ (0) | 2023.06.17 |
---|---|
Transfer Learning(pre-training, fine-tuning)์ ๊ฐ๋ ์ ๋ํ์ฌ (Prologue) (0) | 2023.02.04 |
Activation์ด Non-linearity๋ฅผ ๊ฐ๋ ์ด์ (0) | 2023.01.21 |
Gradient Vanishing / Exploding์ ๋ํ์ฌ (1) | 2023.01.17 |
Back-Propagation(์ญ์ ํ)์ ๋ํ์ฌ (1) | 2023.01.16 |