-
๋ณธ ๊ธ์ '๋ชจ๋๋ฅผ ์ํ ๋ฅ๋ฌ๋ ์์ฆ 2'์ 'pytorch๋ก ์์ํ๋ ๋ฅ ๋ฌ๋ ์ ๋ฌธ'์ ๋ณด๋ฉฐ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
ํ์์ ์๊ฒฌ์ด ์์ฌ ๋ค์ด๊ฐ ๋ถ์ ํํ ๋ด์ฉ์ด ์กด์ฌํ ์ ์์ต๋๋ค.
0. Gradient Vanishing / Gradient Exploding
- Gradient Vanishing : sigmid function์ ์ฌ์ฉํ ๋ ์๊ธฐ๋ ๋ฌธ์ ์ . (๊ธฐ์ธ๊ธฐ ์์ค)
- Gradient Exploding : ๊ธฐ์ธ๊ธฐ๊ฐ ๋๋ฌด ํฌ๊ฒ ๊ณ์ฐ์ด ๋์ ์๊ธฐ๋ ๋ฌธ์ ์ . (Nand ๊ฐ์ด ๋์ด)
์ด๋ฐ ๋ฌธ์ ์ ๋ค์ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์์๊น?
- ํ์ฑํ ํจ์ ๋ณ๊ฒฝ
- ์ ์คํ ์ด๊ธฐํ (Xavier, he initialization)
- ์์ learing rate๋ฅผ ์ฌ์ฉ
์! ํ์ง๋ง ์์ ํด๊ฒฐ์ฑ ๋ค์ ์ฐ์ง ์๊ณ , ๋ณธ์ง์ ์ผ๋ก ํด๊ฒฐํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค?
1. Internal Covariate Shift (ICS)
์์ ๋ฌธ์ ๋ค์ ๊ทผ๋ณธ์ ์ธ ์์ธ์ด๋ค.
Covariate : ๊ณต๋ณ๋
์ฌ๋ฌ ๋ณ์๋ค์ด ๊ณตํต์ ์ผ๋ก ํจ๊ป ๊ณต์ ํ๋ ๋ณ๋.
Covariate shift : ๊ณต๋ณ๋ ๋ณํ
ํ๋ จ ๋ฐ์ดํฐ์ ๋ถํฌ์ ํ ์คํธ ๋ฐ์ดํฐ์ ๋ถํฌ๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ.
Internal Covariate Shift : ๋ด๋ถ ๊ณต๋ณ๋ ๋ณํ
์ ๊ฒฝ๋ง ์ธต ์ฌ์ด์์ ๋ฐ์ํ๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ถํฌ ๋ณํ.
ํ์ตํ๋ ๋์ ์ด์ ๋ ์ด์ด์์์ ๊ฐ์ค์น ๋งค๊ฐ๋ณ์๊ฐ ๋ณํจ์ ๋ฐ๋ผ ํ์ฑํ ํจ์ ์ถ๋ ฅ๊ฐ์ ๋ถํฌ๊ฐ ๋ณํ๋ ๋ฌธ์ ๋ผ๊ณ ํ ์ ์๋ค. ์ด๋ฌํ ๋ฌธ์ ๋ ํ๋ จ์ ๋ฆ์ถ๊ณ ๋ฎ์ ํ์ต๋ฅ ์ ์์ธ์ด ๋๋ค. ํ ๋ ์ด์ด ๋ง๋ค ์ ์ถ๋ ฅ์ ๊ฐ๊ฐ ๊ฐ์ง๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ ์ด์ด ๋ง๋ค covariate shift๊ฐ ๋ฐ์ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ด์ด๊ฐ ๊น์์๋ก ๋ ์ปค์ง๊ฒ ๋๋ค.
์ด์ ์ธต๋ค์ ํ์ต์ ์ํด ์ด์ ์ธต์ ๊ฐ์ค์น ๊ฐ์ด ๋ฐ๋๊ฒ ๋๋ฉด, ํ์ฌ ์ธต์ ์ ๋ฌ๋๋ ์ ๋ ฅ ๋ฐ์ดํฐ์ ๋ถํฌ๊ฐ ํ์ฌ ์ธต์ด ํ์ตํ๋ ์์ ์ ๋ถํฌ์ ์ฐจ์ด๊ฐ ๋ฐ์ํ๋ค. ๋ฐฐ์น ์ ๊ทํ๋ฅผ ์ ์ํ ๋ ผ๋ฌธ์์๋ ๊ธฐ์ธ๊ธฐ ์์ค/ํญ์ฃผ ๋ฑ์ ๋ฅ ๋ฌ๋ ๋ชจ๋ธ์ ๋ถ์์ ์ฑ์ด ์ธต๋ง๋ค ์ ๋ ฅ์ ๋ถํฌ๊ฐ ๋ฌ๋ผ์ง๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ์ฃผ์ฅํ๋ค.
์ด๋ฌํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์ ์๋ ํด๊ฒฐ์ฑ ์ด ๋ฐฐ์น ์ ๊ทํ(Batch Normalization)๋ค.
2. ๋ฐฐ์น ์ ๊ทํ (Batch Normalization)
๋ง ๊ทธ๋๋ก ๋ฐฐ์น ๋จ์๋ก ์ ๊ทํ ํ๋ค๋ ์๋ฏธ๋ค. ๋ฐฐ์น ์ ๊ทํ๋ ๊ฐ ๋ ์ด์ด์ ํ์ฑํ ํจ์์ ์ถ๋ ฅ๊ฐ ๋ถํฌ๊ฐ ๊ณ ๋ฃจ ๋ถํฌ๋๋๋ก '๊ฐ์ 'ํ๋ค. ๊ทธ๋์ ์ด๋ ๊ฒ ์ถ๋ ฅ๊ฐ๋ค์ด ์ ๊ท ๋ถํฌ๋ฅผ ์ด๋ฃจ๋๋ก ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
๋ฐฐ์น ์ ๊ทํ๋ ๊ฐ ์ธต์์ ํ์ฑํ ํจ์๋ฅผ ํต๊ณผํ๊ธฐ ์ ์ ์ํ๋๋ค.
- ์ ๋ ฅ์ ๋ํด ํ๊ท ์ 0์ผ๋ก ๋ง๋ค๊ณ , ์ ๊ทํ.
- ์ ๊ทํ ๋ ๋ฐ์ดํฐ์ ๋ํด์ ์ค์ผ์ผ๊ณผ ์ํํธ๋ฅผ ์ํ. (์ด ๋ ๋ ๊ฐ์ ๋งค๊ฐ๋ณ์ γ์ β๋ฅผ ์ฌ์ฉํ๋๋ฐ, γ๋ ์ค์ผ์ผ์ ์ํด ์ฌ์ฉํ๊ณ , β๋ ์ํํธ๋ฅผ ํ๋ ๊ฒ์ ์ฌ์ฉํ๋ฉฐ ๋ค์ ๋ ์ด์ด์ ์ผ์ ํ ๋ฒ์์ ๊ฐ๋ค๋ง ์ ๋ฌ๋๊ฒ ํจ.)
๋ฐฐ์น ์ ๊ทํ๋ ํ์ต ์ ๋ฐฐ์น ๋จ์์ ํ๊ท ๊ณผ ๋ถ์ฐ๋ค์ ์ฐจ๋ก๋๋ก ๋ฐ์ ์ด๋ ํ๊ท ๊ณผ ์ด๋ ๋ถ์ฐ์ ์ ์ฅํด๋์๋ค๊ฐ ํ ์คํธ ํ ๋๋ ํด๋น ๋ฐฐ์น์ ํ๊ท ๊ณผ ๋ถ์ฐ์ ๊ตฌํ์ง ์๊ณ ๊ตฌํด๋์๋ ํ๊ท ๊ณผ ๋ถ์ฐ์ผ๋ก ์ ๊ทํ๋ฅผ ํ๋ค.
์ฅ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ํฌ๊ฒ ๊ฐ์ .
- ๊ฐ์ค์น ์ด๊ธฐํ์ ๋ํด ๋ ๋ฏผ๊ฐ.
- ํจ์ฌ ํฐ ํ์ต๋ฅ ์ฌ์ฉ ๊ฐ๋ฅ -> ํ์ต ์๋ ๊ฐ์
๊ทธ๋ฐ๋ฐ ๋ฐฐ์น ์ ๊ทํ์ ํจ๊ณผ๋ ๊ต์ฅํ์ง๋ง, ๋ ๋์ ํ์ต์ ์ํฅ์ ๋ผ์น๋ ์์ธ์ด ๋ฐฐ์น ์ ๊ทํ๋ฅผ ์ฌ์ฉํ๋ ์์ธ์ธ ๋ด๋ถ ๊ณต๋ณ๋ ๋ณํ ๋๋ฌธ์ ์๋๋ผ๋ ๋ ผ๋ฌธ๋ ์๋ค.
https://arxiv.org/pdf/1805.11604.pdf
ํ๊ณ๋ ๋ค์๊ณผ ๊ฐ๋ค.
- ๋ฏธ๋ ๋ฐฐ์น ํฌ๊ธฐ์ ์์กด์ (๋๋ฌด ์์ ๋ฐฐ์น ํฌ๊ธฐ์์๋ ์ ๋์ ์ํจ)
- RNN์ ์ ์ฉ ์ด๋ ค์
<Reference>
https://deeplearningzerotoall.github.io/season2/lec_pytorch.html
'๐STUDY > ๐ฅPytorch ML&DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Skip connection์์ add(summation) vs concatenation (0) 2021.11.22 09-3. Overfitting์ ๋ง๋ ๋ฐฉ๋ฒ (0) 2020.03.10 09-2. Weight initialization (0) 2020.03.10 09-1. ํ์ฑํ ํจ์(Activation function) (0) 2020.03.07 08. Perceptron (0) 2020.03.03 ๋๊ธ