-
๋ณธ ๊ธ์ '๋ชจ๋๋ฅผ ์ํ ๋ฅ๋ฌ๋ ์์ฆ 2'์ 'pytorch๋ก ์์ํ๋ ๋ฅ ๋ฌ๋ ์ ๋ฌธ'์ ๋ณด๋ฉฐ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํ ๊ธ์ ๋๋ค.
ํ์์ ์๊ฒฌ์ด ์์ฌ ๋ค์ด๊ฐ ๋ถ์ ํํ ๋ด์ฉ์ด ์กด์ฌํ ์ ์์ต๋๋ค.
We initialized the weights in a stupid way - Geoffrey Hinton
์ธ๊ณต์ ๊ฒฝ๋ง ํ์ต์์ ์ค์ํ ๋ถ๋ถ ์ค ํ๋์ธ, ๊ฐ์ค์น ์ด๊ธฐํ! Initialized! ๊ฐ์ ๋ชจ๋ธ์ ํ๋ จ์์ผ๋ ๊ฐ์ค์น์ ์ด๊ธฐ๊ฐ์ ๋ฐ๋ผ ๋ชจ๋ธ์ ํ๋ จ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๊ธฐ๋ ํ๋ค. ์ฆ, ๊ฐ์ค์น์ ์ด๊ธฐํ๊ฐ ์ ๋์ด์ผ ๋ฅ๋ฌ๋ ์ฑ๋ฅ๋ ์ฌ๋ผ๊ฐ๊ณ ๊ธฐ์ธ๊ธฐ ์์ค๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ์ํ์ํฌ ์๋ ์๋ค. ๊ทธ๋ ๋ค๋ฉด, ์ด๋ป๊ฒ ์ด๊ธฐํ๋ฅผ ํด์ผ ํ ๊น?
- ์ผ๋จ, 0์ผ๋ก ์ด๊ธฐํ ํ๋ ๊ฒ์ ๊ต์ฅํ ๋์๋ค! ์๋ชปํ๋ค๊ฐ๋, ์ญ์ ํ๋ฅผ ํ ๋ ๋ชจ๋ ๊ธฐ์ธ๊ธฐ ๊ฐ์ด 0์ด ๋์ด์ ํ์ต์ด ๋ถ๊ฐ๋ฅ ํ๋ค.
- ๊ทธ๋ฆฌ๊ณ ์ด๊ธฐํ๋ ๋งค์ฐ ๋ฏผ๊ฐํ๊ณ , ์ด๋ ค์ด ์ด์๋ค.
- ๊ทธ๋ฐ๋ฐ ๋ฅ๋ฌ๋์ ์๋จธ์ง๋ผ ๋ถ๋ฆฌ๋ Geoffrey Hinton ๊ต์๊ฐ RBM์ด๋ผ๋ ์ด๊ธฐํ ๊ธฐ๋ฒ์ ์ ๋ณด์๋ค.
1. Restricted Boltzmann Machine (RBM)
restrcted = no connections within a layer
์ฆ, layer ์์์๋ ์ฐ๊ฒฐ์ด ์๊ณ layer์ layer๋ผ๋ฆฌ ์ ๋ถ ์ฐ๊ฒฐ์ด ์๋ ๋ชจ๋ธ์ ์ ํ๋ ๋ณผ์ธ ๋ง ๋จธ์ ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ฐ์ layer์์ ๋ ธ๋๋ผ๋ฆฌ๋ ์ฐ๊ฒฐ์ด ์ ํ๋์ด ์์ด์ '์ ํ๋'์ด ๋ถ์๋ค.
ํ๋ จ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
- 1๋จ๊ณ forward : x๊ฐ ๋ค์ด์์ ๋ y๋ฅผ ๋ง๋ ๋ค. (Encoding)
- 2๋จ๊ณ backward : x'=y๊ฐ ๋ค์ด์์ ๋, ๋ค์ x๋ฅผ ๋ณต์ํ๋ค. (Decoding)
- 3๋จ๊ณ : ์ฌ๊ตฌ์ฑ๋ ๊ฐ๊ณผ ์๋์ ์ ๋ ฅ ๊ฐ์ ๋น๊ตํ์ฌ ํ๊ฐ.
์ด๋ ๊ฒ 3๋จ๊ณ๋ฅผ ์ ๋ ฅ๊ฐ๊ณผ ์ฌ๊ตฌ์ฑ๋ ๊ฐ์ด ์ต๋ํ ๊ฐ๊น์ ์ง ๋ ๊น์ง ๋ฐ๋ณตํ๋ค.
๊ทธ๋ฐ๋ฐ ๋๋ฌด ๋ณต์กํด์ ์ด์ ๋ ์ ์ฐ์ด์ง ์๋๋ค.
๊ทธ๋ ๋ค๋ฉด, RBM์ ์ฌ์ฉํ์ง ์๊ณ ๊ฐ๋จํ๊ฒ, ๋ ์ด์ด์ ํน์ฑ์ ๋ฐ๋ผ์ ๋ค๋ฅด๊ฒ ์ด๊ธฐํ ํ๋ ๋ค๋ฅธ ๋ฐฉ๋ฒ์๋ ๋ญ๊ฐ ์์๊น?
2. Xavier initialization
์ธ์ด๋น์ด ์ด๊ธฐํ, ๋๋ ๊ธ๋ก๋ฟ ์ด๊ธฐํ๋ผ๊ณ ํ๋ค.
์ด ๋ฐฉ๋ฒ์ ๊ท ๋ฑ ๋ถํฌ, ์ ๊ท ๋ถํฌ ๋๊ฐ์ง ๊ฒฝ์ฐ๋ก ๋๋๋ค.
์ด์ ์ธต์ ๋ด๋ฐ ๊ฐ์์ ๋ค์ ์ธต์ ๋ด๋ฐ ๊ฐ์๋ฅผ ๊ฐ์ง๊ณ ์์ ์ธ์ฐ๋ฉฐ, ์ด๋ ๊ฒ ์ธ์์ง ์ ๋ฒ์ ๋ด์์ ๋๋คํ๊ฒ ์๋ฅผ ๊ฐ์ ธ์์ ์ด๊ธฐํ ํ๋ค.
1) Xavier Normal initialization (์ ๊ท ๋ถํฌ)
์ ๊ท ๋ถํฌ๋ก ์ด๊ธฐํ ํ ๊ฒฝ์ฐ์๋ ํ๊ท ์ด 0์ด๊ณ ํ์คํธ์ฐจ๊ฐ var(W)๋ฅผ ๋ง์กฑํ๋๋ก ํด์ผ ํ๋ค.
2) Xavier Uniform initilazation (๊ท ๋ฑ ๋ถํฌ)
์ ํ ๋ฉ์ด๋ฆฌ๋ฅผ m์ด๋ผ๊ณ ํ ๋, -m๊ณผ +m ์ฌ์ด์ ๊ท ๋ฑ ๋ถํฌ๋ฅผ ์๋ฏธํ๋ค.
- Xavier ์ด๊ธฐํ๋ ์ฌ๋ฌ ์ธต์ ๊ธฐ์ธ๊ธฐ ๋ถ์ฐ ์ฌ์ด์ ๊ท ํ์ ๋ง์ถฐ์ ํน์ ์ธต์ด ๋๋ฌด ์ฃผ๋ชฉ์ ๋ฐ๊ฑฐ๋ ๋ค๋ฅธ ์ธต์ด ๋ค์ณ์ง๋ ๊ฒ์ ๋ง๋๋ค.
- S์ ํํ์ธ ํ์ฑํ ํจ์์ ํจ๊ป ์ฌ์ฉํ ๋์๋ ์ข์ ์ฑ๋ฅ์ ๋ณด์ด์ง๋ง, ReLU์ ํจ๊ป ์ฌ์ฉํ ๋์ ์ฑ๋ฅ์ด ์ข์ง ์๋ค. ์ฆ, ๋ค๋ฅธ ์ด๊ธฐํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค.
3. He initialization
xavier initialization๊ณผ ์ ์ฌํ๊ฒ ์ ๊ท ๋ถํฌ์ ๊ท ๋ฑ ๋ถํฌ ๋ ๊ฐ์ง ๊ฒฝ์ฐ๋ก ๋๋๋ค. ๋์ , ์ธ์ด๋น์ด ์ด๊ธฐํ์ ๋ค๋ฅด๊ฒ ๋ค์ ์ธต์ ๋ด๋ฐ ์๋ฅผ ๋ฐ์ํ์ง ์๋๋ค.
1) He Normal initialization (์ ๊ท ๋ถํฌ)
์ ๊ท ๋ถํฌ๋ก ์ด๊ธฐํํ ๊ฒฝ์ฐ์๋ ํ์ค ํธ์ฐจ σ๊ฐ ์๋ฅผ ๋ง์กฑํ๋๋ก ํด์ผ ํ๋ค.
2) He Uniform initialization (๊ท ๋ฑ ๋ถํฌ)
4. ์์ฝ
- ์๊ทธ๋ชจ์ด๋, ํ์ดํผ๋ณผ๋ฆญํ์ ํธ ํจ์๋ฅผ ์ฌ์ฉ => ์ธ์ด๋น์ด ์ด๊ธฐํ
- ReLU ๊ณ์ด ํจ์ -> He ์ด๊ธฐํ
ReLU + He ์ด๊ธฐํ ๋ฐฉ๋ฒ์ด ์ข ๋ ๋ณดํธ์ !
<Reference>
https://deeplearningzerotoall.github.io/season2/lec_pytorch.html
https://steemit.com/kr/@yoonheeseung/2-restricted-boltzmann-machines-rbms
'๐STUDY > ๐ฅPytorch ML&DL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
09-4. Batch Normalization (0) 2020.03.12 09-3. Overfitting์ ๋ง๋ ๋ฐฉ๋ฒ (0) 2020.03.10 09-1. ํ์ฑํ ํจ์(Activation function) (0) 2020.03.07 08. Perceptron (0) 2020.03.03 07. Tips and MNIST data (0) 2020.03.01 ๋๊ธ