๐ก 'Deep Learning from Scratch'๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑ
1. ๊ฐ์ค์น์ ์ด๊น๊ฐ(Initial value)
์ ๊ฒฝ๋ง์ ํ์ต์์ ํนํ๋ ์ค์ํ ๊ฒ์ ๊ฐ์ค์น์ ์ด๊น๊ฐ์ ๋๋ค. ๊ฐ์ค์น์ ์ด๊น๊ฐ์ ๋ฌด์์ผ๋ก ์ค์ ํ๋๋์ ๋ฐ๋ผ ์ ๊ฒฝ๋ง ํ์ต์ ์ฑํจ๊ฐ ๊ฐ๋ฆฌ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
1.1 ์ด๊น๊ฐ์ 0์ผ๋ก ์ค์
๊ฐ์ค์น์ ์ด๊น๊ฐ์ ๋ชจ๋ 0์ผ๋ก ์ค์ ํ๋ฉด, ์ฌ๋ฐ๋ฅธ ํ์ต์ด ์ด๋ฃจ์ด์ง์ง ์์ต๋๋ค. ๊ฐ์ค์น๊ฐ ๋ชจ๋ 0์ผ ๊ฒฝ์ฐ, ์์ ํ์ ๊ฐ์ ๊ฐ๋ค์ด ๋ค์์ผ๋ก ์ ๋ฌ๋ฉ๋๋ค. ์ด๋ ์ค์ฐจ์ญ์ ํ๋ฒ(back-propagation)์์ ๋ชจ๋ ๊ฐ์ค์น์ ๊ฐ์ด ๋์ผํ๊ฒ ๊ฐฑ์ ๋๋๋ก ๋ง๋ญ๋๋ค. ์ด๋ ๊ฒ ๊ฐ์ค์น๊ฐ ๊ณ ๋ฅด๊ฒ ๋์ด๋ฒ๋ฆฌ๋ ์ํฉ์ ๋ง๊ธฐ ์ํด ์ด๊น๊ฐ์ ๋ฌด์์๋ก ์ค์ ํด์ผ ํฉ๋๋ค.
1.2 ์๋์ธต(Hidden layer)์ ํ์ฑํ๊ฐ ๋ถํฌ
1.2์ ์์๋ ๊ฐ์ค์น์ ์ด๊น๊ฐ์ ๋ฐ๋ผ ์๋์ธต์ ํ์ฑํ๊ฐ์ด ์ด๋ป๊ฒ ๋ณํํ๋์ง ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์์๋ฅผ ์ํ์ฌ 5๊ฐ์ ์ธต์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ ์ธต์ ๋ ธ๋๊ฐ 100๊ฐ์ฉ์ธ ๋ชจ๋ธ์ ์ฌ์ฉํ๊ฒ ์ต๋๋ค. ์ด ๋ชจ๋ธ์ 1000๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ ๊ท๋ถํฌ(normal distribution)๋ก ๋ฌด์์ ํ๊ฒ ์์ฑํ์ฌ ์ ๋ ฅ ๋ฐ์ดํฐ๋ก ์ฌ์ฉํฉ๋๋ค. ํ์ฑํ ํจ์(activation function)๋ก๋ ์๊ทธ๋ชจ์ด๋(Sigmoid) ํจ์๋ฅผ ์ด์ฉํ์ต๋๋ค.
์ฐ์ ๊ฐ์ค์น์ ๋ถํฌ์ ํ์คํธ์ฐจ๊ฐ 1์ธ ์ ๊ท๋ถํฌ๋ฅผ ์ด์ฉํ ๊ฒฐ๊ณผ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๊ฐ ์ธต์ ํ์ฑํ๊ฐ ๋ฐ์ดํฐ๋ ํ์คํ ๊ทธ๋จ์ผ๋ก ์ถ๋ ฅํฉ๋๋ค.
๊ทธ๋ฆผ 1์์ ๊ฐ ์ธต์ ํ์ฑํ๊ฐ๋ค์ด 0๊ณผ 1์ ์น์ฐ์ณ ๋ถํฌํ๊ณ ์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ํ์ฑํ ํจ์๋ก ์๊ทธ๋ชจ์ด๋ ํจ์๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์, ๋ฐ์ดํฐ๊ฐ 0๊ณผ 1์ ์น์ฐ์ณ ๋ถํฌํ๊ฒ ๋๋ฉด ์ญ์ ํ์ ๊ธฐ์ธ๊ธฐ ๊ฐ์ด ์ ์ ์์์ง๋ค๊ฐ ์ฌ๋ผ์ง๊ฒ ๋ฉ๋๋ค. ์ด๊ฒ์ด ๊ธฐ์ธ๊ธฐ ์์ค(vanishing gradient)๋ก ์๋ ค์ง ๋ฌธ์ ์ ๋๋ค. ์ด๋ฒ์๋ ํ์คํธ์ฐจ๋ฅผ 0.01๋ก ์์ ํ์ฌ ์คํํ๊ฒ ์ต๋๋ค.
๊ทธ๋ฆผ 2๋ ํ์ฑํ๊ฐ๋ค์ด 0.5 ๋ถ๊ทผ์ ์ง์ค๋์ด ์์ต๋๋ค. ์ด๋ ์์ ์ธ๊ธํ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ก๋ ์ด์ด์ง์ง ์๊ฒ ์ง๋ง, ํ์ฑํ๊ฐ์ด ์น์ฐ์ณค๋ค๋ ๊ฒ์ ํํ๋ ฅ์ ์ ํํ๋ค๋ ์ ์์ ํฐ ๋ฌธ์ ์ ๋๋ค. ์ด๋ ๋ค์์ ๋ ธ๋๊ฐ ๊ฑฐ์ ๊ฐ์ ๊ฐ์ ์ถ๋ ฅํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ ธ๋๋ฅผ ์ฌ๋ฌ ๊ฐ ์ฌ์ฉํ ์๋ฏธ๊ฐ ์์ด์ง๋ค๋ ๊ฒ์ผ๋ก ์ด์ด์ง๋๋ค.
1.3 Xavier ์ด๊น๊ฐ(Xavier initialization)
ํ์ฑํ ํจ์๋ก ReLU๋ฅผ ์ ์ธํ ์๊ทธ๋ชจ์ด๋ ํจ์์ Tanh ๊ฐ์ ๋น์ ํ ํจ์๋ฅผ ์ฌ์ฉํ ๋ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. Xavier ์ด๊น๊ฐ์ ๊ฐ ์ธต์ ํ์ฑํ๊ฐ์ ๊ด๋ฒ์ํ๊ฒ ๋ถํฌ์ํค๋ ๊ฒ์ ๋ชฉ์ ์ผ๋ก ๊ฐ์ค์น์ ์ ์ ํ ๋ถํฌ๋ฅผ ์ฐพ๊ณ ์ ํ์์ต๋๋ค. Xavier ์ด๊น๊ฐ์ ์ ๊ณ์ธต์ ๋ ธ๋๊ฐ $ n $๊ฐ๋ผ๋ฉด $ \frac{1}{\sqrt{n}} $์ธ ๋ถํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋๋ค๋ ๊ฒฐ๋ก ์ ๋์ถํ์ต๋๋ค. ์ด๋ฅผ ์์์ผ๋ก ํํํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
$$ W_{i, j} \sim N \left(0, \frac{1}{\sqrt{n}} \right) $$
- $ N $ : ์ ๊ท ๋ถํฌ
- $ n $ : ์ด์ ๊ณ์ธต์ ๋ ธ๋ ์
Xavier ์ด๊น๊ฐ์ ์ฌ์ฉํ๋ฉด, ์ ์ธต์ ๋ ธ๋๊ฐ ๋ง์์๋ก ๋์ ๋ ธ๋์ ์ด๊น๊ฐ์ผ๋ก ์ค์ ํ๋ ๊ฐ์ค์น๊ฐ ์ข๊ฒ ํผ์ง๋๋ค. ์ด๋ฅผ ์ ์ฉํ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ฆผ 3์ ๋ณด๋ฉด ์ธต์ด ๊น์ด์ง๋ฉด์ ํํ๊ฐ ๋ค์ ์ผ๊ทธ๋ฌ์ง์ง๋ง, ์์์ ๋ณธ ๋ฐฉ์๋ค๋ณด๋ค๋ ํ์คํ ๋๊ฒ ๋ถํฌํ๊ณ ์์์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ๊ฐ ์ธต์ ๋ฐ์ดํฐ๊ฐ ์ ๋นํ ํผ์ ธ ์์ด, ์๊ทธ๋ชจ์ด๋ ํจ์์ ํํ๋ ฅ๋ ์ ํ๋ฐ์ง ์๊ณ ํ์ต์ด ํจ์จ์ ์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฒ์ผ๋ก ๊ธฐ๋ํ ์ ์์ต๋๋ค. ์ผ๊ทธ๋ฌ์ง ํํ๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด์๋ ํ์ฑํ ํจ์๋ฅผ Tanh๋ก ๋ฐ๊พธ๋ฉด ๋ฉ๋๋ค. Tanh๋ฅผ ์ ์ฉํ ํ์ฑํ๊ฐ ๋ถํฌ๋ ์๋์ ๊ฐ์ต๋๋ค.
1.4 He ์ด๊น๊ฐ(He initialization)
ํ์ฑํ ํจ์์ ReLU๋ฅผ ์ด์ฉํ ๊ฒฝ์ฐ, ReLU์ ํนํ๋ ์ด๊น๊ฐ์ ์ด์ฉํ๊ธฐ๋ฅผ ๊ถ์ฅํฉ๋๋ค. ์ด ํนํ๋ ์ด๊น๊ฐ์ ์ฐพ์๋ด๋ ๋ฐฉ๋ฒ์ด ๋ฐ๋ก He ์ด๊น๊ฐ์ ๋๋ค. He ์ด๊น๊ฐ์ ์ ๊ณ์ธต์ ๋ ธ๋๊ฐ $ n $๊ฐ์ผ ๋, ํ์คํธ์ฐจ๊ฐ $ \sqrt{\frac{2}{n}} $์ธ ์ ๊ท๋ถํฌ๋ฅผ ์ด์ฉํฉ๋๋ค. ์ด๋ฅผ ์์์ผ๋ก ํํํ๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
$$ W_{i, j} \sim N \left(0, \sqrt{\frac{2}{n}} \right) $$
ํ์ฑํ ํจ์๋ก ReLU๋ฅผ ์ด์ฉํ ๊ฒฝ์ฐ์ ํ์ฑํ๊ฐ ๋ถํฌ๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ํ, Xavier ์ด๊น๊ฐ์ ReLU๋ฅผ ์ ์ฉํ ๊ฒฝ์ฐ์๋ ๋น๊ตํ๊ฒ ์ต๋๋ค. ์๊ฐํ ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ์ต๋๋ค. ์๋์ ํ์คํ ๊ทธ๋จ์ ๋น๋์๊ฐ 7000์ด ๋๋ ๋ถ๋ถ์ ์๊ฐํ์์ ์ ์ธํ์ต๋๋ค.
Xavier ์ด๊น๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ดํด๋ณด๋ฉด, ์ธต์ด ๊น์ด์ง์๋ก 0์ผ๋ก ์น์ฐ์น๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ์ธต์ด ๊น์ด์ง์๋ก ํ์ฑํ๊ฐ๋ค์ ์น์ฐ์นจ์ด ์ปค์ง๊ณ , ์ด์ ๋ฐ๋ผ ํ์ตํ ๋ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๋ก ์ด์ด์ง๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ฉด, He ์ด๊น๊ฐ์ ๋ชจ๋ ์ธต์์ ๊ท ์ผํ๊ฒ ๋ถํฌํ๊ณ ์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ์ธต์ด ๊น์ด์ง๋๋ผ๋ ๋ถํฌ๊ฐ ๊ท ์ผํ๊ฒ ์ ์งํ๊ธฐ ๋๋ฌธ์ ์ญ์ ํ์์๋ ์ ์ ํ ๊ฐ์ด ๋์ฌ ๊ฒ์ผ๋ก ๊ธฐ๋ํ ์ ์์ต๋๋ค.
2. ๋ฐฐ์น ์ ๊ทํ(Batch normalization)
๋ฐฐ์น ์ ๊ทํ๋ 2015๋ ์ ์ ์๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ฐฐ์น ์ ๊ทํ๊ฐ ์ฃผ๋ชฉ์ ๋ฐ์๋ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ์์ต๋๋ค.
- ํ์ต ์๋์ ๊ฐ์
- ์ด๊น๊ฐ์ ํฌ๊ฒ ์์กดํ์ง ์์
- ๊ณผ์ ํฉ์ ์ต์ ํจ
๋ฐฐ์น ์ ๊ทํ๋ ๊ฐ ์ธต์ ํ์ฑํ๊ฐ์ด ์ ์ ํ๊ฒ ๋ถํฌ๋๋๋ก ์กฐ์ ํ๋ ์ญํ ์ ๋งก์ต๋๋ค. ๋ฐ๋ผ์ ์๋์ ๊ทธ๋ฆผ 7๊ณผ ๊ฐ์ด ์ ๊ฒฝ๋ง ์ฌ์ด์ '๋ฐฐ์น ์ ๊ทํ ๊ณ์ธต(batch normalization layer)'์ ์ฝ์ ํ์ฌ ์ฌ์ฉํฉ๋๋ค.
๋ฐฐ์น ์ ๊ทํ๋ ํ์ต์ ๋ฏธ๋๋ฐฐ์น๋ฅผ ๋จ์๋ก ๋ฐ์ดํฐ์ ๋ถํฌ๊ฐ $ N(0,1) $์ด ๋๋๋ก ์ ๊ทํํฉ๋๋ค. ์์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$ \begin{aligned} \mu_B &\leftarrow \frac{1}{m} \sum_{i=1}^m{x_i}\\ \sigma^2 &\leftarrow \frac{1}{m}\sum_{i=1}^m{(x_i-\mu_B)^2}\\ \hat{x_i} &\leftarrow \frac{x_i-\mu_B}{\sqrt{\sigma_B^2 + \epsilon}} \end{aligned} $$
๋ฏธ๋๋ฐฐ์น $ B = {x_1, x_2, ..., x_m} $์ด๋ผ๋ $ m $๊ฐ์ ์ ๋ ฅ ๋ฐ์ดํฐ์ ์งํฉ์ ๋ํ์ฌ ํ๊ท $ \mu_B $์ ๋ถ์ฐ $ \sigma^2_B $์ ๊ตฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ํ๊ท ์ด 0, ๋ถ์ฐ์ด 1์ด ๋๊ฒ ์ ๊ทํ ํฉ๋๋ค. ์ ์์์ $ \epsilon $์ 10e-7๊ณผ ๊ฐ์ ์์ ๊ฐ์ผ๋ก, 0์ผ๋ก ๋๋๋ ์ผ์ ๋ง๋ ์ญํ ์ ํฉ๋๋ค.
์ ์์ ๋จ์ํ ๋ฏธ๋๋ฐฐ์น ์ ๋ ฅ ๋ฐ์ดํฐ $ B $๋ฅผ ํ๊ท 0, ๋ถ์ฐ 1์ธ ๋ฐ์ดํฐ $ \{\hat{x_1}, \hat{x_2}, ..., \hat{x_m} \} $๋ก ๋ณํํฉ๋๋ค. ์ด ์ฒ๋ฆฌ๋ฅผ ํ์ฑํ ํจ์์ ์ ํน์ ๋ค์ ์ฝ์ ํจ์ผ๋ก์จ ๋ฐ์ดํฐ ๋ถํฌ๊ฐ ๋ ์น์ฐ์น๊ฒ ๋ง๋ญ๋๋ค. ๋ํ, ๋ฐฐ์น ์ ๊ทํ ๊ณ์ธต๋ง๋ค ์ ๊ทํ๋ ๋ฐ์ดํฐ์ ๋ํด ํ๋(scale)์ ์ด๋(shift) ๋ณํ์ ์ํํฉ๋๋ค. ์์์ ์๋์ ๊ฐ์ต๋๋ค.
$$ y_i \leftarrow \gamma \hat{x_i}+\beta $$
์ ์์์ $ \gamma $๊ฐ ํ๋, $ \beta $๊ฐ ์ด๋์ ๋ด๋นํฉ๋๋ค. ์ฒ์์ ๋ ๊ฐ์ ๊ฐ๊ฐ 1๊ณผ 0์ผ๋ก ์์ํ๊ณ ํ์ตํ๋ฉด์ ์ ํฉํ ๊ฐ์ผ๋ก ์กฐ์ ํฉ๋๋ค.
3. ๊ณผ์ ํฉ(Overfitting)
๊ธฐ๊ณํ์ต์์ ๊ณผ์ ํฉ์ ๋ง์ ๋ฌธ์ ๋ฅผ ๋ง๋ญ๋๋ค. ๊ณผ์ ํฉ์ด๋ ์ ๊ฒฝ๋ง์ด ํ์ต ๋ฐ์ดํฐ์๋ง ์ง๋์น๊ฒ ์ ์(fitting)ํ์ฌ ๊ทธ ์ธ์ ๋ฐ์ดํฐ์๋ ์ ๋๋ก ๋์ํ์ง ๋ชปํ๋ ์ํ๋ฅผ ๋งํฉ๋๋ค. ์ด๋ ๋ฒ์ฉ์ฑ์ ์งํฅํ๋ ๊ธฐ๊ณํ์ต์ ํน์ฑ๊ณผ ๋๋น๋ฉ๋๋ค. ๊ณผ์ ํฉ์ ์ฃผ๋ก ๋ค์์ ๋ ๊ฐ์ง ์ด์ ๋ก ๋ฐ์ํฉ๋๋ค.
- ๋งค๊ฐ๋ณ์๊ฐ ๋ง๊ณ ํํ๋ ฅ์ด ๋์ ๋ชจ๋ธ
- ํ์ต ๋ฐ์ดํฐ๊ฐ ์ ๊ฒ ์ด์ฉ๋ ๋ชจ๋ธ
์๋์ ๊ทธ๋ฆผ 8์ฒ๋ผ ํ์ต ๋ฐ์ดํฐ์ ํ ์คํธ ๋ฐ์ดํฐ ์ฌ์ด์ ์ ํ๋ ํฌ๊ฒ ๋ฒ์ด์ง๋ ๊ฒ์ ํ์ต ๋ฐ์ดํฐ์๋ง ์ ์ํ ๊ฒฐ๊ณผ์ ๋๋ค. ์๋์ ๊ทธ๋ฆผ์ ํตํด ํ ์คํธ ๋ฐ์ดํฐ์๋ ์ ๋๋ก ๋์ํ์ง ๋ชปํ๊ณ ์๋ค๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์ด๋ ๊ณผ์ ํฉ์ ์ต์ ํ ๋ฐฉ๋ฒ์ด ํ์ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
3.1 ๊ฐ์ค์น ๊ฐ์(Weight Decay)
๊ณผ์ ํฉ์ ์ต์ ํ๊ธฐ ์ํด ๊ณผ๊ฑฐ๋ถํฐ ๋ง์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ค์น ๊ฐ์์ ๋๋ค. ํ์ต ๊ณผ์ ์์ ํฐ ๊ฐ์ค์น์ ๋ํ์ฌ ๊ทธ์ ์์ํ๋ ํจ๋ํฐ๋ฅผ ๋ถ๊ณผํจ์ผ๋ก์จ ๊ณผ์ ํฉ์ ์ต์ ํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ํจ๋ํฐ์ ๋ถ๊ณผ๋ฅผ ์ํด ๊ฐ์ค์น์ ๋ํ norm์ ์์ค ํจ์์ ๋ํฉ๋๋ค. ์ฌ๊ธฐ์ norm์ ๋ฒกํฐ์ ํฌ๊ธฐ๋ ๊ธธ์ด๋ฅผ ์ธก์ ํ๋ ๋ฐฉ๋ฒ์ ์๋ฏธํฉ๋๋ค. 3.1์ ์์๋ norm์ ๋ํ์ ์ธ 2๊ฐ์ง ๋ฐฉ๋ฒ๊ณผ ๋๋ถ์ด ๊ฐ์ค์น ๊ฐ์๋ฅผ ์ํ ์ผ๋ฐํ(regularization) ๋ฐฉ๋ฒ์ ์๊ฐํ๊ฒ ์ต๋๋ค.
- L1 Norm (Manhattan distance)
norm์ ์ ๋๊ฐ์ ์ด์ฉํ ๊ฑฐ๋ฆฌ์ ํด๋นํฉ๋๋ค. ์ด๋ฅผ ๊ณต์์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
$$ d_1(\mathsf{p}, \mathsf{q})= \rVert \mathsf{p}-\mathsf{q} \rVert_1=\sum_{i=1}^n{|p_i-q_i|} $$
- $ \mathsf{p} $ : ๋ฒกํฐ $ \mathsf{p} =(p_1, p_2, ..., p_n) $
- $ \mathsf{q} $ : ๋ฒกํฐ $ \mathsf{q} =(q_1, q_2, ..., q_n) $
L1 norm์ ๋งจํดํผ ๊ฑฐ๋ฆฌ๋ผ๊ณ ๋ ๋ถ๋ฆฝ๋๋ค. ์ด๋ ๋ฒกํฐ ์ฌ์ด๋ฅผ ๋งจํดํผ์์ ํ์๋ฅผ ํ๊ณ ์ด๋ํ๋ ๊ฒ์ฒ๋ผ ์ด๋ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋๊ฐ์ ์ผ๋ก ๊ฐ๋ก์ง๋ฅด์ง ์๊ณ ์๋์ ๊ทธ๋ฆผ 9์์ ํ๋ ์ ์ด๋ ์ด๋ก์ ์ ์ฒ๋ผ ์ง์ ์ผ๋ก๋ง ์ด๋ํ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
- L2 norm (Euclidean distance)
L2 norm์ ์ ํด๋ฆฌ๋์ธ ๊ฑฐ๋ฆฌ(์ง์ ๊ฑฐ๋ฆฌ)๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ, ๋ ์ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ ๋ ์ฌ์ฉํ๋ ๊ณต์์ ํ์ฉํฉ๋๋ค. ์์ ๊ทธ๋ฆผ 9์์๋ ์ด๋ก์ ์ ์ ํด๋นํฉ๋๋ค. ์ ํด๋ฆฌ๋์ธ ๊ฑฐ๋ฆฌ์ ๊ณต์์ ์๋์ ๊ฐ์ต๋๋ค.
$$ d_1(\mathsf{p}, \mathsf{q})= \rVert \mathsf{p}-\mathsf{q} \rVert_2 = \sqrt{\sum_{i=1}^n{(p_i-q_i)^2}} $$
์ ๋๊ฐ์ง์ norm์ ์ผ๋ฐํ(regularization)๋ฅผ ์ํด ์ ์ฉํฉ๋๋ค. ์ด๋ ์์ ๋งํ ํ์ต ๊ณผ์ ์์ ํฐ ๊ฐ์ค์น์ ์์ํ๋ ํ๋ํฐ๋ฅผ ๋ถ๊ณผํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๊ฐ๊ฐ์ norm์ ์๋์ ๊ฐ์ด ์ผ๋ฐํ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- L1 regularization (Lasso regularization)
$$ Lasso\ cost = J(\theta) + \lambda \sum_{i=1}^n{|w_i|} $$
- $ J(\theta) $ : ์์ค ํจ์
- $ \lambda $ : ์ผ๋ฐํ ๊ณ์
- $ w $ : ๊ฐ์ค์น
L1 regularization์ Lasso regularization์ด๋ผ๊ณ ๋ ํํํฉ๋๋ค. ๊ธฐ์กด์ ์์ค ํจ์์ ๊ฐ์ค์น์ ํฌ๊ธฐ๊ฐ ํฌํจ๋๋ฉด์ ๊ฐ์ค์น๊ฐ ๋๋ฌด ํฌ์ง ์์ ๋ฐฉํฅ์ผ๋ก ํ์ตํ๋๋ก ํฉ๋๋ค. ์ด๋ $ \lambda $์ ๊ฒฝ์ฐ, ํ์ต๋ฅ ๊ณผ ๊ฐ์ ํ์ดํผํ๋ผ๋ฏธํฐ๋ก 0์ ๊ฐ๊น์ธ์๋ก ์ผ๋ฐํ์ ํจ๊ณผ๋ ๋จ์ด์ง๋๋ค.
L1 norm์ ํน์ฑ์ผ๋ก ์ธํด L2 regularization๋ณด๋ค ๋ ๊ฐ๊ฑดํ๋ค(robust)๋ ํน์ง์ด ์์ต๋๋ค. ์ด๋ L2 regularization์ด ์ ๊ณฑ๊ฐ์ ์ฌ์ฉํ์ฌ ํน์ด์น(outlier)์ ๋ํ ํ๋ํฐ๊ฐ ๊ธฐํ๊ธ์์ ์ผ๋ก ์ฆ๊ฐํ ๊ฒฐ๊ณผ์ ๋๋ค. ๋ฐ๋ฉด L1 regularization์ ์ ๋๊ฐ์ ์ทจํ๊ธฐ ๋๋ฌธ์ ์ ํ์ผ๋ก ์ฆ๊ฐํฉ๋๋ค.
๊ฒฌ๊ณ ์ฑ(robustness)
๋ฐ์ดํฐ ์งํฉ์์ ํน์ด์น์ ๋ํ ์ ํญ์ฑ์ ์๋ฏธ. ๋ฐ์ดํฐ์ ๊ทน๋จ๊ฐ์ ๋ ์ ๋ฌด์ํ ์๋ก ๊ฐ๊ฑดํ ๋ชจ๋ธ.
- L2 regularization (Ridge regularization)
$$ Ridge\ cost = J(\theta) + \lambda \sum_{i=1}^n{w_i^2} $$
L2 regularization์ Ridge regularization์ผ๋ก ํํํ๋ฉฐ, ์์ค ํจ์์ ๊ฐ์ค์น์ ์ ๊ณฑ์ ๋ํฉ๋๋ค.
L2 regularization์ ์ฐ์ฐ ๋ณต์ก๋๊ฐ ๋ฎ๋ค๋ ์ฅ์ ์ด ์์ต๋๋ค. L2 norm์ ํน์ฑ์, ์ ํด๋ฆฌ๋์ธ ๊ฑฐ๋ฆฌ๋ ํ๋์ ์ต์ ํด๋ฅผ ๊ฐ์ต๋๋ค. ํ์ง๋ง L1 regularization์ ์ ๋๊ฐ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ํ๋์ ์ต์ ํด๊ฐ ์๋ ์ฌ๋ฌ ๊ฐ์ ์ต์ ํด๊ฐ ๋ง๋ค์ด์ง ์ ์์ต๋๋ค. ์ด๋ ์ปดํจํ ๋น์ฉ์ ์ฆ๊ฐ์ํค๋ ๊ฒ๊ณผ ๋๋ถ์ด, L2 regularization์ด ์ ํํ ํ๋์ ์ต์ ํด๊ฐ ์๋ ๊ทผ์ฌ์น์ ์์กดํ๊ฒ ๋ง๋ญ๋๋ค.
3.2 ๋๋กญ์์(Dropout)
๋๋กญ์์์ ๋ ธ๋๋ฅผ ์์๋ก ์ญ์ ํ๋ฉด์ ํ์ตํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ํ์ต ๊ณผ์ ์์ ์๋์ธต์ ๋ ธ๋๋ฅผ ์ถ๋ ฅ ๋น์จ๋งํผ ๋ฌด์์๋ก ๊ณจ๋ผ ์ญ์ ํฉ๋๋ค. ์ญ์ ๋ ๋ ธ๋๋ ์๋์ ๊ทธ๋ฆผ 10๊ณผ ๊ฐ์ด ์ ํธ๋ฅผ ์ ๋ฌํ์ง ์์ต๋๋ค. ํ์ต ๋๋ ๋ฐ์ดํฐ๋ฅผ ํ๋ฆด ๋๋ง๋ค ์ญ์ ํ ๋ ธ๋๋ฅผ ๋ฌด์์๋ก ์ ํํ์ง๋ง, ์ถ๋ก ๊ณผ์ ์์๋ ๋ชจ๋ ๋ ธ๋๋ฅผ ์ด์ฉํฉ๋๋ค. ๋จ, ์ถ๋ก ๋ ๊ฐ ๋ ธ๋์ ์ถ๋ ฅ์ ํ์ต ๊ณผ์ ์์ ์ญ์ ํ์ง ์์ ๋น์จ์ ๊ณฑํ์ฌ ์ถ๋ ฅํฉ๋๋ค.
๋๋กญ์์์ ์์๋ธ ํ์ต(ensemble learning)๊ณผ ๋ฐ์ ํฉ๋๋ค. ๋๋กญ์์์ด ํ์ต ๊ณผ์ ์์ ๋ ธ๋๋ฅผ ๋ฌด์์๋ก ์ญ์ ํ๋ ํ์๊ฐ ๋งค๋ฒ ๋ค๋ฅธ ๋ชจ๋ธ์ ํ์ต์ํค๋ ๊ฒ์ผ๋ก ํด์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ถ๋ก ๊ณผ์ ์์๋ ๋ ธ๋์ ์ถ๋ ฅ์ ์ญ์ ํ ๋น์จ์ ๊ณฑํจ์ผ๋ก์จ ์์๋ธ ํ์ต์์ ์ฌ๋ฌ ๋ชจ๋ธ์ ํ๊ท ์ ๋ด๋ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ๋ฅผ ์ป์ต๋๋ค. ์ฆ, ๋๋กญ์์์ ์์๋ธ ํ์ต๊ณผ ์ ์ฌํ ํจ๊ณผ๋ฅผ ํ๋์ ๋คํธ์ํฌ๋ก ๊ตฌํํ๋ค๊ณ ์๊ฐํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ค์ ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ๋ค์์๋ ์ญ์ ํ์ง ์์ ๋ ธ๋์ ๋น์จ์ ๊ณฑํ์ง ์๋๋ค๋ ๊ฒ ์ญ์ ํ์ธํ ์ ์์์ต๋๋ค.
์์๋ธ ํ์ต
๋ ๋ฆฝ์ ์ผ๋ก ํ์ตํ ์ฌ๋ฌ ๋ชจ๋ธ์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ํ๊ท ๋ด์ด ์ถ๋ก ํ๋ ๋ฐฉ์
๋๋กญ์์์ ๊ตฌํํ ๊ฒฐ๊ณผ๋ ์๋์ ๊ฐ์ต๋๋ค. ์ฌ๊ธฐ์๋ ๋๋กญ์์์ ์์น๋๋ก ์ถ๋ก ๊ณผ์ ์์ ์ญ์ ํ์ง ์๋ ๋ ธ๋์ ๋น์จ์ ๊ณฑํ๊ฒ ์ต๋๋ค.
class Dropout:
def __init__(self, ratio: float=0.5) -> np.array:
self.ratio = ratio
self.mask = None
def foward(self, x, train_flg=True):
if train_flg:
self.mask = np.random.rand(*x.shape) > self.ratio
return self.mask
else:
return x * (1.0 - self.ratio)
def backward(self, dout: np.array):
return dout * self.mask
์ฐธ๊ณ ์๋ฃ
[1] A. Bilogur, "L1 Norms versus L2 Norms," https://www.kaggle.com/residentmario/l1-norms-versus-l2-norms
[2] CS231N, "Neural Networks Part 2: Setting up the Data and the Loss," https://cs231n.github.io/neural-networks-2/
'๊ธฐ์ด > ์ธ๊ณต์ง๋ฅ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ตํฐ๋ง์ด์ (Optimizer) (2/2) (0) | 2021.09.02 |
---|---|
์ตํฐ๋ง์ด์ (Optimizer) (1/2) (1) | 2021.08.31 |
์ค์ฐจ์ญ์ ํ(Back-Propagation) (0) | 2021.08.29 |
์์ค ํจ์(Loss function) (0) | 2021.08.28 |
ํ์ฑํ ํจ์(Activation function) (0) | 2021.08.26 |