<content>
- batch normalization์ ๋ชฉ์
- batch normalization์ ์ฌ์ฉํ๋ฉด ํ์ต์ด ์ ๋๋ ์ด์
- batch normalization ๋ฐฉ๋ฒ
- mini-batch์์์ batch normalization
- test-time์์์ batch normalization
- batch normalization ์ฌ์ฉํ๋ฉด bias๋ ํ์์๋ค
1. ๊ทธ ์ ๋ช ํ batch normalization, ์ ํ๋๊ฑธ๊น?
- ํ์ต์ ๋๋๋ค.
- ์ ๋ ฅ ์ ๊ทํ(input normalization)์ ๋ค๋ฅด๊ฒ, ์ค๊ฐ์ hidden node๊น์ง ์ ๊ทํ๋ฅผ ํ ์ ์๋ค.
2. BN์ ์ฌ์ฉํ๋ฉด ์ ํ์ต์ด ์ ๋๋๊ฐ?
- batch normalization์ ์ด์ฉํ์ฌ layer์ input scale๋ฅผ ์ ์ฌํ๊ฒ ๋ง์ถฐ์ฃผ๋ฉด zig-zag์์ parameter update๊ฐ ๋ฐ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋น ๋ฅธ ํ์ต์ด ๊ฐ๋ฅํ๋ค
- covariate shift์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ ๋ค๋ฅธ ์ธต๊ณผ ๋ ๋ฆฝ์ ์ผ๋ก ํ์ต์ด ์ด๋ค์ง๊ฒ ํ๋ค.
+ ์ถ๊ฐ์ค๋ช
- batch normalization์ ์ด์ฉํ์ฌ layer์ input scale๋ฅผ ์ ์ฌํ๊ฒ ๋ง์ถฐ์ฃผ๋ฉด zig-zag์์ parameter update๊ฐ ๋ฐ์ํ์ง ์๊ธฐ ๋๋ฌธ์ ๋น ๋ฅธ ํ์ต์ด ๊ฐ๋ฅํ๋ค.
- ์ด์ ์ ํ์ต์ ๋ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด ์
๋ ฅ์ normalization ํด์ค ์ ์ด ์์๋ค.
- ์ ๋ ฅ ๋ณ์์ scale์ด ๋ค๋ฅด๋ฉด weight์ scale ๋ํ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ zig-zag ๊ฐ์ค์น ์ ๋ฐ์ดํธ๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๋ค.
- zig-zag ๊ฐ์ค์น ์ ๋ฐ์ดํธ๋ ์๋ ด ์๋๋ฅผ ๋ฆ์ถ๊ธฐ ๋๋ฌธ์ ํ์ต์ ๋ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆฌ๊ฒ ๋๋ ๊ฒ์ด๋ค.
- ๋ฐ๋ผ์ scaling์ ํตํด ์ ๋ ฅ๋ณ์์ scale์ ๋ง์ถฐ์ฃผ๋ฉด zig-zag ๊ฐ์ค์น ์ ๋ฐ์ดํธ๋ฅผ ๋ง์ ํ์ต ํจ์จ์ด ๋์์ง๋ค.
- ์
๋ ฅ ๋ฟ ์๋๋ผ, hidden node๊น์ง normalizationํด์ฃผ๋ฉด ๋ ๋น ๋ฅด๊ฒ train๋์ง ์์๊น? ํ๋ ์๊ฐ์์ batch norm์ด ํ์ํ์๋ค.
- batch normalization์ linear ํต๊ณผํ ํ, activation function ์ ์ฉํ๊ธฐ ์ ์ํํ๋ค. (linear - BN - activation)
- ์ด์ ์ ํ์ต์ ๋ ๋น ๋ฅด๊ฒ ํ๊ธฐ ์ํด ์
๋ ฅ์ normalization ํด์ค ์ ์ด ์์๋ค.
- ๋ํ covariate shift์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ฌ ๋ค๋ฅธ ์ธต๊ณผ ๋
๋ฆฝ์ ์ผ๋ก ํ์ต์ด ์ด๋ค์ง๊ฒ ํ๋ค.
- ์ค๊ฐ layer์์๋ ์ด์ layer์์์ ์ถ๋ ฅ์ ์ ๋ ฅ์ผ๋ก ๋น์ ์ ๋ต์ ๋ง์ถ๋ ์์ผ๋ก ํ์ตํ๋ค.
- ํ์ง๋ง ์ค๊ฐ layer์์ ์
๋ ฅ์ผ๋ก ๋ฐ๋ ๊ฐ์ parameter๊ฐ update๋๋ฉด์ ํญ์ ๋ฌ๋ผ์ง๋ค.
์ฆ covariate shift ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด๋ค. - ์ด๋ฌํ ๊ฒฝ์ฐ BN์ ์ฌ์ฉํ๋ฉด ์
๋ ฅ์ผ๋ก ๋ฐ๋ ๊ฐ์ ํ๊ท ๊ณผ ๋ถ์ฐ ์ ๋๋ ์ ์งํ ์ ์๊ธฐ ๋๋ฌธ์ ํ์ต์ ๋์์ด ๋๋ค.
3. batch normalization, ์ด๋ป๊ฒ ํ๋ ๊ฑธ๊น?
- 1. ํ๊ท ์ ๊ตฌํ๋ค
- $$ \mu = \frac{1}{m} \sum_i z^{[l](i)} $$
- 2. ๋ถ์ฐ์ ๊ตฌํ๋ค.
- $$ \sigma^2 = \frac{1}{m} \sum_i (z^{[l](i)}-\mu)^2$$
- 3. ํ๊ท 0, ํ์คํธ์ฐจ 1์ด ๋๋๋ก ์ ๊ทํ ํด์ค๋ค
- $$ z_{norm}^{[l](i)} = \frac{z^{[l](i)}-\mu}{\sqrt{\sigma^2+\epsilon}} $$
- 4. gamma์ beta parameter๋ฅผ ํตํด ์ ํฉํ ๋ถํฌ๋ก ๋ณ๊ฒฝ (layer๋ง๋ค ์ ํฉํ distribution์ด ๋ค๋ฅผ ๊ฒ์ด๋ผ๋ ๊ฐ์ค)
- $$ \tilde{z}^{[l](i)} = \gamma z_{norm}^{[l](i)} + \beta $$
- * ์ฒจ์ [l](i)์ ์๋ฏธ๋ l-th layer์ i๋ฒ์งธ ๊ฐ์ด๋ค. (i๋ฒ์งธ ๊ฐ์ ๋จ์ผ๊ฐ์ผ์๋, ๋ฒกํฐ์ผ์๋ ์๋ค)
- ์ฌ๊ธฐ์ gamma์ beta๋ ํ์ต๋๋ ํ๋ผ๋ฏธํฐ์ด๋ค. (ํ์ดํผํ๋ผ๋ฏธํฐ๊ฐ ์๋๋ค!)
- ์ด์ ๊ฐ์ batch normalization์ linear ํต๊ณผํ ํ activation function ํต๊ณผํ๊ธฐ ์ ๊ฐ์ ์ ์ฉ๋์ด์ง๋ค.
4. mini batch์์๋ batch normalization์ด ์ด๋ป๊ฒ ์ด๋ค์ง๋๊ฐ?
- batch๋ณ๋ก ๊ณ์ฐ๋ ํ๊ท ๊ณผ ํ์คํธ์ฐจ ์ ๋ณด ์ด์ฉํ์ฌ batch normalization์ด ์ํ๋๋ค.
5. test time์์๋ BN์ด ์ด๋ป๊ฒ ์ ์ฉ๋๋๊ฐ?
- M, sigma์ ๊ฒฝ์ฐ mini-batch์์ ๊ณ์ฐ๋ M, sigma์ expnentially weighted average๋ฅผ ์ด์ฉํ์ฌ ์ถ์ ๋ ๊ฐ์ ์ฌ์ฉํ๋ค.
- gamma์ beta๋ train์์ ํ์ต๋ ๊ฐ์ ์ด์ฉํ๋ค.
6. batch normalization์ ์ ์ฉํ๋ฉด beta parameter๋ ํ์ ์๋ค.
- BN ์ํํ๋ฉฐ ํ๊ท ๋นผ์ฃผ๋ ๊ณผ์ ์์ beta์ ํจ๊ณผ๊ฐ ์ฌ๋ผ์ง๋ค.
- ๋ฐ๋ผ์ BN์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์ beta(=bias)๋ ๋ถํ์ํ parameter๊ฐ ๋๋ค.
'๐ > Coursera_DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
WEEK5 : ML ๋ชจ๋ธ์ ๋ชฉํ ์ค์ ํ๊ณ ๋ฌ์ฑํ๊ธฐ (0) | 2020.12.20 |
---|---|
WEEK5 : Machine Learning Strategy (0) | 2020.12.20 |
WEEK4 : problem of optimization (0) | 2020.12.19 |
WEEK4 : Optimizer (์ต์ ํ ์๊ณ ๋ฆฌ์ฆ) (0) | 2020.12.19 |
WEEK3 : weight initialization (๊ฐ์ค์น ์ด๊ธฐํ) (0) | 2020.12.19 |