[๋ฅ๋ฌ๋] ๋ฅ๋ฌ๋ ์์๋ณด๊ธฐ1 - ์ธ๊ณต ์ ๊ฒฝ๋ง, ํผ์ ํธ๋ก , ์๋์ธต, ๋ฅ๋ฌ๋ ๋ฌธ์ ์ ๋ฐ ํด๊ฒฐ ๋ฐฉ๋ฒ
๐[์ฐธ๊ณ ๋ฌธํ]
- https://todayisbetterthanyesterday.tistory.com/42
- ๋ชจ๋์ ์ฐ๊ตฌ์ ๊ฐ์ ์๋ฃ
์ด๋ฏธ์ง๋ ์ถ์ฒ ์ด์๋ก ์ง์ ๊ทธ๋ ธ๋ค.
1. ๐ ์ธ๊ณต ์ ๊ฒฝ๋ง ๋ชจํ
์ธ๊ณต ์ ๊ฒฝ๋ง ๋ชจํ์ ์ธ๊ฐ์ ๋ด๋ฐ ์๊ทน ์ ๋ฌ ๊ณผ์ ์ ์์ด๋์ด๋ฅผ ์ฐฉ์ํ์ฌ ๋ฐ์ํ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค.
์ธ๊ฐ์ ์๋ ์ค๋ฅผ ํตํ์ฌ ๋ค๋ฅธ ๋ด๋ฐ์ผ๋ก๋ถํฐ ์๊ทน์ ์ ๋ฌ๋ฐ๊ณ , ์๋ ์ค๋ฅผ ํตํด ๋ค๋ฅธ ๋ด๋ฐ์๊ฒ ์๊ทน์ ์ ๋ฌํ๋ค.
์ธ๊ณต์ ๊ฒฝ๋ง์์๋ ๋ด๋ฐ์ ๐ ๋ ธ๋ ๋๋ ๋ด๋ฐ์ด๋ผ ๋ถ๋ฅธ๋ค.
์ด ๋ ธ๋๋ค์ด ์ฌ๋ฌ ๊ฐ ๋ชจ์ด๋ฉด ๐ ์ธต layer๋ฅผ ์ด๋ฃฌ๋ค.
์ด ๊ตฌ์กฐ๋ฅผ ์ํ์ ์ผ๋ก ๋ชจ๋ธ๋งํ ๊ฒ ํผ์ ํธ๋ก perceptron์ด๋ค.
2. ๐ ํผ์ ํธ๋ก
ํ๋์ ํผ์ ํธ๋ก ์ ์ด๋ค ๊ตฌ์กฐ๋ก ๋์ด์์๊น?
ํ๋์ ํผ์ ํธ๋ก ์ ์ฌ๋ฌ ๊ฐ์ ์ ๋ ฅ๊ฐ์ ๋ฐ์ ํ ๊ฐ์ ์ถ๋ ฅ์ ๋ง๋ค๊ธฐ ๋๋ฌธ์ ๋ง์น ๐ํจ์์ ๋น์ทํ๋ค.
ํ๋์ ๋ ธ๋ ์์์ ์ ๋ ฅ inputs๊ณผ ๊ฐ์ค์น weights๋ฅผ ๊ณฑํ๊ณ ๋ํ๋ ์ ํ ๊ตฌ์กฐ linear๋ก ์ด๋ฃจ์ด์ ธ ์๋๋ฐ,
๐ ํ์ฑํ ํจ์ activation function๋ฅผ ํตํ ๋น์ ํ ๊ตฌ์กฐ non-linear๋ก ํํ ๊ฐ๋ฅํ๋ค.
๋ฐ๋ผ์ ์ ๊ฒฝ๋ง์ ๋จ์ํ ์ ํ ๋ชจ๋ธ์ ๋์ด ๋ณต์กํ ๋น์ ํ ๋ฌธ์ ๋ ํ์ต ๊ฐ๋ฅํ๋ค.
์ด๋ฐ ํผ์ ํธ๋ก ์ ์ฌ๋ฌ ๊ฐ ๋๋ํ ๋ฐฐ์นํ๋ฉด ํ๋์ ์ธต์ด ๋๋ค.
f(x) ์์ sum๊ณผ activation function์ผ๋ก ๋๋์ด์ ธ ์๋๋ฐ sum์ ์๋ฏธ๋ถํฐ ์ดํด๋ณด์๋ฉด,
sum ์ ๐ transfer function์ผ๋ก ์ดํดํ๋ฉด ๋๋ค.
z = wโ·xโ + wโ·xโ + ... + wโ·xโ + b
๋ค์๊ณผ ๊ฐ์ ์ ํ ๊ณ์ฐ์ ํ๋๋ฐ ์ฝ๊ฒ ๋งํด ์ ๋ ฅ๊ฐ์ ๊ฐ์ค์น๋ฅผ ๊ณฑํ์ฌ ๋ชจ๋ ๋ํ๋ ์ฐ์ฐ์ ์ฒ๋ฆฌํ๋ ํจ์์ด๋ค.
ํ์ฑํ ํจ์ activation function๋,
transfer function์ผ๋ก ์ฒ๋ฆฌํ ๊ฒฐ๊ณผ์ธ z๋ฅผ ๋น์ ํ ํจ์์ ํต๊ณผ์์ผ ๋ณต์กํ ํจํด๋ ํ์ต ๊ฐ๋ฅํ๊ฒ ๋ง๋ ๋ค.
transfer function ํจ์๋ง ํ๋ฉด ์ ํ์ ์ฒ๋ฆฌํ๊ณ , ๊ฑฐ๊ธฐ์ ํ์ฑํ ํจ์๊น์ง ๋ํด์ผ ๋น์ ํ์ ์ฒ๋ฆฌํ ์ ์๋ค.
์ด ๋์ ํฉ์ณ์ผ ๋น๋ก์ ํ๋์ ํผ์ ํธ๋ก ์ด ์ ๋๋ก ๋์ํ๊ณ , ๋น์ ํ์ฑ์ด ์์ด์ผ ์ธ๊ณต์ ๊ฒฝ๋ง์ด ๋ณต์กํ ๋ฌธ์ ๋ ํ์ต ๊ฐ๋ฅํ๋ค.
๊ทธ๋ฆผ์์๋ ์ ์ ์๋ฏ์ด, ๊ฐ ํผ์ ํธ๋ก ๋ง๋ค ๋ ๋ฆฝ์ ์ผ๋ก ์ฐ์ฐ์ ์ํํ๋ค.
์ด๋ฒ์๋ ์ฌ๋ฌ ๊ฐ์ ํผ์ ํธ๋ก ์ ์ฌ๋ฌ ์ธต์ ๊ฑธ์ณ ๋ง๋ , ๐ Multi Layer Perceptron์ ์์๋ณด์.
์ ์ฒด ์ธ๊ณต์ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ์๋ ๊ทธ๋ฆผ์ผ๋ก ๊ทธ๋ ค๋ณด์๋ค.
โ ์ ์ฒด ์ธ๊ณต์ ๊ฒฝ๋ง ๊ตฌ์กฐ
- ๐ ์
๋ ฅ์ธต (Input Layer)
- ์ค์ ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ค๋ ๋ถ๋ถ ( ์ฐ์ฐ์ ์ํํ๋ ํผ์ ํธ๋ก ์ด๋ผ๊ธฐ๋ณด๋ค๋, ๋ฐ์ดํฐ๊ฐ ๋ค์ด์ค๋ ํฌ์ธํธ ์ญํ )
- ๐ ์๋์ธต (Hidden Layer)
- ์ฌ๋ฌ ํผ์ ํธ๋ก ์ด ์๋ ์ธต๋ค
- ์ด ์ธต์ด ์ฌ๋ฌ ๊ฐ๋ฉด → ๋ฅ๋ฌ๋( Deep Learning )
- ๐ ์ถ๋ ฅ์ธต (Output Layer)
- ์ต์ข ๊ฒฐ๊ณผ๋ฅผ ๋ง๋ค์ด๋ด๋ ํผ์ ํธ๋ก ๋ค
์ ๋ ฅ -> ์๋์ธต hidden layer -> ์ถ๋ ฅ์ธต output layer ๊ตฌ์กฐ๋ก ์์ฌ์๋ค.
์์ฝํ์๋ฉด, ์ด๋ฌํ ์ ๋ฌ ๊ณผ์ ์์ layer์ perceptron์ผ๋ก ๋ด๋ฐ๊ณผ ์๋ ์ค๋ฅผ ๊ตฌ์ฑํ์ฌ ์ฐ๊ฒฐ์ง์ ๊ฒ์ด ์ธ๊ณต์ ๊ฒฝ๋ง ๋ชจํ์ด๋ค.
Q. ๋ ธ๋? ํผ์ ํธ๋ก ? ๐
๐ ๋ ธ๋๋ "ํผ์ ํธ๋ก ํ ๊ฐ"๋ผ๊ณ ์๊ฐํ์.
ex) ์๋์ธต์ ๋ ธ๋ 3๊ฐ → ํผ์ ํธ๋ก 3๊ฐ๊ฐ ์๋ ์ธต
์ด ๋ ธ๋ ํ๋ํ๋๊ฐ ์ ๋ ฅ๊ฐ๋ค์ ๋ฐ์ ๊ณ์ฐ → ๊ฒฐ๊ณผ๋ฅผ ๋ค์ ์ธต์ ์ ๋ฌ
๐ ์ฆ, ํผ์ ํธ๋ก = ๋ ธ๋ = ์ธ๊ณต ๋ด๋ฐ
์ด ํผ์ ํธ๋ก ๋ค์ด ์ฌ๋ฌ ๊ฐ ๋ชจ์ด๋ฉด ์ธต(layer)์ด ๋๋ค.
์ด๋ค์ ์ ์ถ๋ ฅ ํ๋ฆ์ ํตํด ํ์ต๊ณผ ์์ธก์ ์ํํ๋ค.
3. ๐ Hidden Layer ์๋์ธต
์ธ๊ณต์ ๊ฒฝ๋ง์ ์ฌ๋ฌ ๊ฐ์ ์ธ๊ณต ๋ด๋ฐ๋ค์ด ๋ชจ์ฌ ์ฐ๊ฒฐ๋ ํํ๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
๋ด๋ฐ๋ค์ด ๋ชจ์ธ ํ๋์ ๋จ์๋ฅผ ์ธต layer๋ผ๊ณ ํ๊ณ , ์ฌ๋ฌ ์ธต์ผ๋ก ์ด๋ฃจ์ด์ง ์๋ ์๋ค.
๋ค์ํ ์ข ๋ฅ์ ์ธต layer๋ค์ด ์กด์ฌํ๋๋ฐ ๊ทธ์ค์์๋ ์ด ๊ธ์์๋ ์๋์ธต hidden layer์ ์๊ฐํ์๋ค.
์ธ๊ณต์ ๊ฒฝ๋ง์ ์๋์ธต์ด ์์์ง๋ง ๋ฅ๋ฌ๋์ ์๋์ธต์ด ๋ค์ ํฌํจ๋ ์ฌ์ธต ์ ๊ฒฝ๋ง์ด๋ผ๋ ์ ์์ ์ฐจ์ด๊ฐ ์๋ค.
4. ๋ฅ๋ฌ๋ ๋ฐ์ ๊ณผ์
๋ฅ๋ฌ๋ ๋ฐ์ ๊ณผ์ ์์ ๋ฐ๊ฒฌ๋ ๋ํ์ ์ธ ๋ฌธ์ ์ ๋ค๊ณผ ๊ทธ ํด๊ฒฐ ๋ฐฉ๋ฒ
1) ๊ธฐ์ธ๊ธฐ ์๋ฉธ ๋ฌธ์
์๋์ธต์ ์๊ฐ ๋ง์์๋ก ๋ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์๋ ์์ง๋ง,
๋๋ฌด ๊น์ผ๋ฉด ์ญ์ ํ๋ฅผ ์ํด ๊ฐ์ค์น w์ ๋ฐ์ด์ด์ค b๋ฅผ ๋ณ๊ฒฝํ๋ ์ํ์ ๋ฐฉ๋ฒ์ธ ๋ฏธ๋ถ์ด ๋ถ๊ฐ๋ฅํด์ ธ์ 0์ผ๋ก ์๋ ด๋๋, ์ฆ ์๋ฉธ๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ => ์๊ทธ๋ชจ์ด๋๋ ์๊ณก ํ์ ํธ ๋์ ๐ ReLU ํจ์
2) ๊ณผ์ ํฉ ๋ฌธ์
๋ชจ๋ธ์ด ์ง๋์น๊ฒ ํ์ต ๋ฐ์ดํฐ์ ๋ง์ถ์ด์ง ์ํ๋ฅผ ๊ณผ์ ํฉ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
๊ณผ์ ํฉ๋ ๋ชจ๋ธ์ ํ์ต๋์ง ์์ ๋ฐ์ดํฐ์ ๋ํด ์ฑ๋ฅ์ด ์ ํ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ => ๐ ๊ท์ ํ regularization ๊ธฐ๋ฒ, ๐ ๋๋กญ์์ dropout ๊ธฐ๋ฒ, ๐ ๋ฐฐ์น ์ ๊ทํ batch normalization ๊ธฐ๋ฒ
๋ฅ๋ฌ๋์ ๋ค์ํ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๋ ๊ณผ์ ์์ ReLU, Dropout, BatchNorm, Adam ๋ฑ ํต์ฌ ๊ธฐ์ ๋ค์ด ๋ฐ์ ํ์ผ๋ฉฐ,
์ด๋ฌํ ๋ ธ๋ ฅ ๋๋ถ์ ํ์ฌ์ ์์ฐ์ด ์ฒ๋ฆฌ(NLP), ์ปดํจํฐ ๋น์ (CV), ์์จ์ฃผํ ๋ฑ ๋ค์ํ ๋ถ์ผ์์ ์ค์ฉ์ ์ธ ์ฑ๊ณผ๋ฅผ ๋ด๊ณ ์๋ค.๐