Batch Normalization - BD-SEARCH/MLtutorial GitHub Wiki
Batch Normalization
paper: https://arxiv.org/abs/1502.03167
repo: https://github.com/shuuki4/Batch-Normalization
Ioffe, S., & Szegedy, C. (2015). Batch normalization: Accelerating deep network training by reducing internal covariate shift. arXiv preprint arXiv:1502.03167.
01. Batch Normalization?
- ๋ฐฐ์น ์ ๊ทํ.
- ๋ฏธ๋๋ฐฐ์น ๋จ์๋ก ๋ฐ์ดํฐ ๋ถํฌ๋ฅผ ์ ๊ทํํ์ฌ ๊ฐ ์ธต์ ํ์ฑํ๋ฅผ ์ ๋นํ ํผํธ๋ฆฌ๋๋ก ๊ฐ์ ํ๋ค.
- Covariate Shift๋ฅผ ๋ง๊ธฐ ์ํ ๋ฐฉ๋ฒ
Covariate Shift
- ํ์ตํ๋ ๋์ค์ ์ด์ layer์ ํ๋ผ๋ฏธํฐ ๋ณํ๋ก ์ธํด ํ์ฌ layer์ ์ ๋ ฅ ๋ถํฌ๊ฐ ๋ฐ๋๋ ํ์.
- ์ด๋ฅผ ์ค์ด๊ธฐ ์ํด์๋
- ๊ฐ layer๋ก ๋ค์ด๊ฐ๋ input์ whitening(input์ ํ๊ท 0, ๋ถ์ฐ1๋ก ํ๋ ๊ฒ)ํด์ค๋ค.
- backpropagation๊ณผ ๋ฌด๊ดํ๊ฒ ์งํ๋๊ธฐ ๋๋ฌธ์ ํน์ ํ๋ผ๋ฏธํฐ๊ฐ ๊ณ์ ์ปค์ง ์ ์๋ค.
- Batch Normalization์ ์ฌ์ฉ
- ๋ณ๋์ process๊ฐ ์๋๋ผ training ์์ ํ๊ท , ๋ถ์ฐ ์กฐ์ ๊ณผ์ ์ด ๊ฐ์ด ์กฐ์ ๋๋ฏ๋ก whitening๊ณผ ๋ค๋ฅด๋ค.
- ๊ฐ layer๋ก ๋ค์ด๊ฐ๋ input์ whitening(input์ ํ๊ท 0, ๋ถ์ฐ1๋ก ํ๋ ๊ฒ)ํด์ค๋ค.
02. ๋ฐฐ์น ์ ๊ทํ์ ์ฅ์
- ํ์ต ์๋ ๊ฐ์ : ๋ ์ ์ epoch๋ก ๋ ๋ฎ์ error rate๋ฅผ ๊ฐ์ง ์ ์๋ค.
- ์ด๊น๊ฐ์ ์์กดํ์ง ์์: ์ด๊น๊ฐ์ ์ ์ค์ ํ์ง ์์๋ ๊ฐ ์ธต์ ํ์ฑํ๊ฐ ๋ถํฌ๊ฐ ๊ณ ๋ฅด๊ฒ ๋๋ค
- ์ค๋ฒํผํ ์ต์ : ๋๋กญ์์ ๋ฑ์ ํ์์ฑ ๊ฐ์
03. ๋ฐฐ์น ์ ๊ทํ ๋ฐฉ๋ฒ
input์ผ๋ก ๋ค์ด์จ ๊ฐ๊ฐ์ feature์ ๋ํ์ฌ Batch Normalization์ ์ํํ๋ค.
- mini-batch์ ๋ฐ์ดํฐ ๋ถํฌ๊ฐ ํ๊ท ์ด 0, ๋ถ์ฐ์ด 1์ด ๋๋๋ก ์ ๊ทํ๋ฅผ ์ํํ๋ค. (์ ์์ normalize ๋ถ๋ถ)
- ๋ฐ์ดํฐ์ ํ๋ ๋ฐ ์ด๋์ ์ํํ๋ค. (์ ์์ scale and shift ๋ถ๋ถ)
- ฯต๋ normalize์ devide-by-zero error๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํ ์์ ๊ฐ์ด๋ค.
- ฮณ๋ ๋ฐ์ดํฐ์ ํ๋๋ฅผ, ฮฒ๋ ๋ฐ์ดํฐ์ ์ด๋์ ๋ด๋นํ๋ค.
Batch Normalization์ ์ํ factor๋, ฮณ๋ 1, ฮฒ์ 0์ผ๋ก ์ง์ ํ ๋ค ์๋ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐ๋ผ ํ์ตํ๋ค.
ํ์ต์ด ์๋ฃ๋๋ฉด ํ์ต ์ ์ ์ฒด์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ๊ธฐ๋กํด ๋๋ค. inferenceํ ๋๋ mini-batch์ ํ๊ท ๊ณผ ๋ถ์ฐ ๋์ , ์ด ๊ธฐ๋ก๋ ํ๊ท ๊ณผ ๋ถ์ฐ์ ์ด์ฉํด normalization์ ํ๋ค.
CNN์ batch normalization์ convolution์ ์ฑ์ง์ ์ ์งํ๊ธฐ ์ํด channel๋ณ๋ก ์ํํ๋ค.
- g(): activation function
- BN(): Batch Normalization
์ฆ, channel ๊ฐ์๊ฐ n๊ฐ๋ผ๋ฉด n๊ฐ์ ๋ ๋ฆฝ์ ์ธ Batch Normalization์ ์ํํ๊ฒ ๋๋ค.
04. Reference
- ๋ฐ๋ฐ๋ฅ๋ถํฐ ์์ํ๋ ๋ฅ๋ฌ๋ - 6์ฅ
- https://shuuki4.wordpress.com/2016/01/13/batch-normalization-%EC%84%A4%EB%AA%85-%EB%B0%8F-%EA%B5%AC%ED%98%84/