-
[AI] ํผ์ ํธ๋ก ๊ณผ ํ์ฑํ ํจ์๐ปProgramming/AI 2023. 10. 31. 23:41
๐ ํผ์ ํธ๋ก
- ์ธ๊ณต ์ ๊ฒฝ๋ง(Artificial Neural Network, ANN)์ ๊ตฌ์ฑ์์๋ก ๋ค์์ ๊ฐ์ ์ ๋ ฅ ๋ฐ์ ํ๋์ ๊ฐ์ผ๋ก ์ถ๋ ฅํ๋ ์๊ณ ๋ฆฌ์ฆ.
- ์ด์ง ๋ถ๋ฅ(Binary Classification) ๋ชจ๋ธ์ ํ์ตํ๊ธฐ ์ํ ์ง๋ํ์ต(Supervised Learning) ๊ธฐ๋ฐ์ ์๊ณ ๋ฆฌ์ฆ.
- ์ด์ง ๋ถ๋ฅ: ๊ณ ์์ด์ ๊ฐ์์ง ์ฌ์ง์ ๋ฌด์์๋ก ๋ณด์ฌ์ฃผ์์ ๋ ๊ณ ์์ด ์ฌ์ง์ธ์ง ๊ฐ์์ง ์ฌ์ง์ธ์ง ๋ถ๋ฅํ๋ ๊ฒ. ← ๊ณ ์์ด, ๊ฐ์์ง์ ๊ฐ์ ์ ํ์ง๋ฅผ ํด๋์ค๋ผ๊ณ ๋ถ๋ฅด๊ณ ์ ํ์ง๊ฐ 2๊ฐ์ธ ๊ฒฝ์ฐ๋ฅผ ์ด์ง ๋ถ๋ฅ๋ผ๊ณ ํจ.
- ์ง๋ํ์ต: ๋ฐ์ดํฐ(=feature)์ ์ ๋ต(=label)์ ๋ชจ๋ ํ์ฉํ์ฌ ํ์ตํ๋ ๋ฐฉ์. ์๋ฅผ๋ค์ด ๊ฐ์์ง์ ๊ณ ์์ด ์ฌ์ง์ ๋ถ๋ฅํ๋ ๋ชจ๋ธ์ ํ์ตํ ๋ ๋๋ฌผ ์ด๋ฆ๊น์ง ํจ๊ป ์๋ ค์ฃผ๋ ๊ฒฝ์ฐ.
๐ ํผ์ ํธ๋ก ์ ๋์๊ณผ์
- ๋ค์์ ๊ฐ x๋ฅผ ์ ๋ ฅ๋ฐ๊ณ , ์ ๋ ฅ๋ ๊ฐ๋ง๋ค ๊ฐ์ค์น(weight)๋ฅผ ๊ณฑํ๋ค.
- ๊ฐ์ค์น๊ฐ ํด์๋ก ์ ๋ ฅ๊ฐ์ด ์ค์ํ๋ค๋ ๊ฒ์ ์๋ฏธ. ์ ๋ ฅ๊ฐ์ผ๋ก์จ x์ธ์๋ ํธํฅ(bias)์ ๋ฅ๋ฌ๋ ๋ชจ๋ธ ์ต์ ํ์ ์ค์ ๋ณ์ ์ค ํ๋.
- ์ ๋ ฅ๊ฐ๊ณผ ๊ฐ์ค์น์ ๊ณฑ, ํธํฅ์ ํผ์ ํธ๋ก ์ผ๋ก ์ ๋ฌ. ํผ์ ํธ๋ก ์ ์ ๋ฌ๋ ๊ฐ์ ๋ชจ๋ ํฉ์ฐ. → ํฉ์ฐ๋ ๊ฒฐ๊ณผ๊ฐ: ๊ฐ์คํฉ
๐ ํผ์ ํธ๋ก ์ ์ข ๋ฅ
- ์ ๋ ฅ์ธต๊ณผ ์ถ๋ ฅ์ธต ์ฌ์ด์ ์๋์ธต์ ์กด์ฌ ์ฌ๋ถ์ ๋ฐ๋ผ ๋จ์ธต ํผ์ ํธ๋ก ๊ณผ ๋ค์ธต ํผ์ ํธ๋ก ์ผ๋ก ๋ถ๋ฅ
๐ ๋จ์ธต ํผ์ ํธ๋ก
- ์๋์ธต์ด ์์ด ์ ๋ ฅ์ธต๊ณผ ์ถ๋ ฅ์ธต๋ง ์๋ ๊ฒฝ์ฐ. ๋์งํธ ๋ ผ๋ฆฌ ํ๋ก ๊ฐ๋ ์์ AND, NAND, OR ๊ฒ์ดํธ๋ฅผ ๊ตฌํ ๊ฐ๋ฅํ์ง๋ง, XOR ๊ฒ์ดํธ๋ ๊ตฌํ ๋ถ๊ฐ๋ฅ → ๋จ์ธต ํผ์ ํธ๋ก ์ ์ ๋ ฅ๊ฐ์ ๋ฐ๋ฅธ ์ถ๋ ฅ๊ฐ์ ๊ตฌ๋ถ์ง๋ ์ง์ ์ 1๊ฐ๋ฐ์ ๊ทธ๋ฆด ์ ์๊ธฐ ๋๋ฌธ
- XOR๊ฒ์ดํธ์ ๊ฐ์ด ์กฐ๊ธ๋ง ๋ก์ง์ด ๋ณต์กํด์ง๋ฉด ์ด๋ฅผ ๊ตฌํํ ์ ์๋ค๋ ์ ์ด ๋จ์ธต ํผ์ ํธ๋ก ์ ํ๊ณ
๐ ๋ค์ธต ํผ์ ํธ๋ก
- ์ ๋ ฅ์ธต๊ณผ ์ถ๋ ฅ์ธต ์ฌ์ด์ 1๊ฐ ์ด์์ ์๋์ธต์ด ์๋ ํผ์ ํธ๋ก (Multi-Layer Perceptron, MLP)
- ๋จ์ผ ํผ์ ํธ๋ก ์ด XOR ๊ฒ์ดํธ๋ฅผ ๊ตฌํํ์ง ๋ชปํ๋ค๋ ํ๊ณ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋ฑ์ฅ
- AND, NAND, OR ๊ฒ์ดํธ๋ฅผ ์กฐํฉํ์ฌ XOR ๊ฒ์ดํธ ๊ตฌํ. XOR ๊ฒ์ดํธ๋ ์๋์ธต 1๊ฐ๋ฅผ ์ถ๊ฐํ์ฌ ๊ตฌํ ๊ฐ๋ฅํ์ง๋ง ๋์ฑ ๋ณต์กํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ผ๋ฐ์ ์ผ๋ก 2๊ฐ ์ด์์ ์๋์ธต ์ถ๊ฐ. → 2๊ฐ ์ด์์ ์๋์ธต์ ๊ฐ์ง ๋ค์ธต ํผ์ ํธ๋ก ์ “์ฌ์ธต ์ ๊ฒฝ๋ง(Deep Neural Network, DNN)์ด๋ผ ๋ถ๋ฅธ๋ค.
- ๋ฅ๋ฌ๋์ ์ด๋ฌํ ์ฌ์ธต ์ ๊ฒฝ๋ง์ ํ์ต(Learning)ํ๋ ๊ฒ์ ์๋ฏธ
๐ ํ์ฑํ ํจ์
- ํผ์ ํธ๋ก ์ ์ถ๋ ฅ๊ฐ์ ๊ฒฐ์ ํ๋ ๋น์ ํ(non-linear) ํจ์. ์ ๋ ฅ๊ฐ์ ์ดํฉ์ ์ถ๋ ฅํ ์ง ๋ง์ง ๊ฒฐ์ ํ๊ณ , ์ถ๋ ฅํ๋ค๋ฉด ์ด๋ค ๊ฐ์ผ๋ก ๋ณํํ์ฌ ์ถ๋ ฅํ ์ง ๊ฒฐ์ ํ๋ ํจ์.
- ํ์ฑํ ํจ์์ ์ข ๋ฅ์๋ ์ฌ๋ฌ๊ฐ์ง๊ฐ ์๋ค.
๐ 1. Sign ํจ์
- ํผ์ ํธ๋ก ๋ด ์ ๋ ฅ๊ฐ์ ์ดํฉ์ด 0๋ณด๋ค ์์ ๊ฒฝ์ฐ -1์ ์ถ๋ ฅํ๊ณ , 0๋ณด๋ค ํด๊ฒฝ์ฐ 1์ ์ถ๋ ฅํ๋ ์ญํ → ๋น์ ํ ํจ์
ํ๊ณ: ๋ฐ์ดํฐ์ ๊ฒฐ์ ๊ฒฝ๊ณ(Decision Boundary) ๊ฐ ๊ฑฐ๋ฆฌ ์ ๋ณด๋ฅผ ๊ณ ๋ คํ์ง ์๋ ํ๊ณ ์กด์ฌ → ์๋์ ์๋ฃ์ฒ๋ผ ์ฐ์ธก ๊ทธ๋ฆผ์ฒ๋ผ ๋ ์ข์ ๊ฒฐ์ ๊ฒฐ๊ณ๊ฐ ์์์๋ ์๋๋ฐ ๊ณ ๋ ค ์ํจ.
- ๊ฒฐ์ ๊ฒฐ๊ณ: ํด๋์ค๋ณ๋ก ๊ฐ์ฅ ๊ฐ๊น์ด ๋ฐ์ดํฐ๊ฐ ๊ฑฐ๋ฆฌ๋ฅผ ๋ง์ง(margin)์ด๋ผ๊ณ ๋ถ๋ฅด๋๋ฐ, ๋ง์ง์ ํฌ๊ธฐ๊ฐ ํด์๋ก ์ข์ ๊ฒฐ์ ๊ฒฝ๊ณ
๐ 2. ๊ณ๋จ ํจ์(step function)
- ํผ์ ํธ๋ก ๋ด ์ ๋ ฅ๊ฐ์ ํฉ์ด 0๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉด 0, ํฌ๋ฉด 1์ ์ถ๋ ฅํ๋ ์ญํ . → ๋น์ ํ ํจ์
๐ 3. ์๊ทธ๋ชจ์ด๋ ํจ์(Sigmoid ํจ์)
- ํน์ง
- ๋ชจ๋ ์ ๋ ฅ๊ฐ์ ๋ํด ์ถ๋ ฅ๊ฐ์ด ์ค์๊ฐ์ผ๋ก ์ ์(=Soft Decision)
- ๊ฐ์ด ์์์ง์๋ก 0, ์ปค์ง์๋ก 1์ ์๋ ด
- ์ถ๋ ฅ์ด 0~1์ฌ์ด๋ก ํ๋ฅ ํํ ๊ฐ๋ฅ(=Binary Classification)
- Vanishing Gradinet(๊ธฐ์ธ๊ธฐ ์์ค) ๋ฌธ์ ์กด์ฌ
๐ 4. ReLU ํจ์(Rectified Linear Unit, ReLU)
- y = x์ธ ์ ํํจ์๊ฐ ์ ๋ ฅ๊ฐ 0 ์ดํ์์๋ถํฐ rectified(์ ๋ฅ)๋ ํจ์ → ํผ์ ํธ๋ก ๋ด ์ ๋ ฅ๊ฐ์ ์ดํฉ์ด 0๋ณด๋ค ์์ ๊ฒฝ์ฐ 0, ํฌ๋ฉด ๊ทธ ๊ฐ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ ํจ์.
- ํน์ง
- ๋ฅ๋ฌ๋ ๋ถ์ผ์์ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ํ์ฑํ ํจ์
- ์ ๋ ฅ๊ฐ์ด ์์์ผ ๊ฒฝ์ฐ ์ถ๋ ฅ๊ฐ๊ณผ ๋ฏธ๋ถ๊ฐ์ ๋ชจ๋ 0์ผ๋ก ๊ฐ์ ํ๋ฏ๋ก ์ฃฝ์ ๋ด๋ฐ์ ํ์ํ๋๋ฐ ์ด๋ ค์ ์กด์ฌ
- ๊ตฌํ์ด ๋จ์ํ๊ณ ์ฐ์ฐ์ด ํ์ ์์ด ์๊ณ๊ฐ(์์/์์ ์ฌ๋ถ)๋ง ํ์ฉํ๋ฏ๋ก ์ฐ์ฐ์๋ ๋น ๋ฆ
๐ 5. Softmax ํจ์
- N๊ฐ์ง ์ถ๋ ฅ๊ฐ์ ๊ฐ๋ ํจ์๋ก์จ ์ ๋ ฅ๊ฐ์ N๊ฐ์ง ํด๋์ค ์ค ํ๋๋ก ๋ถ๋ฅํ๋ Multi-class Classification์ ์ฃผ๋ก ์ฌ์ฉ
- ํน์ง
- ์ถ๋ ฅ๊ฐ N๊ฐ
- ์ ๋ ฅ๊ฐ์ ๊ฐ๊ฐ ์ง์ํจ์๋ก ์ทจํ๊ณ , ์ด๋ฅผ ์ ๊ทํ(=์ดํฉ์ 1๋ก ๋ง๋ฆ)
- ๋ชจ๋ ์ถ๋ ฅ๊ฐ์ ํฉ์ ๋ฐ๋์ 1
- N๊ฐ์ง ์ค ํ ๊ฐ์ง์ ์ํ ํ๋ฅ ํํ ๊ฐ๋ฅ → Multi-class Classification
๐ ํ์ฑํ ํจ์์ ์ ์ ํ ์ด์ฉ
- ํ๊ท ๋ฌธ์ : ํญ๋ฑ ํจ์
- ์ด์ง ๋ถ๋ฅ: Sigmoid ํจ์
- ๋ค์ค ๋ถ๋ฅ: Softmax ํจ์
๐ ํ์ฑํ ํจ์: ์ ํํจ์ vs ๋น์ ํํจ์
- ๋ค์ธต ํผ์ ํธ๋ก ์์ ํ์ฑํ ํจ์๋ “๋น์ ํ ํจ์”์ฌ์ผ ํ๋ค.
- ์ ํํจ์์ ์๋ฏธ: ์ ๋ ฅ๊ฐ์ ์ถ๋ ฅ์ด ์ ๋ ฅ์ ์์๋ฅผ ๊ณฑํ ๊ฒ์ธ ํจ์.
- ์ ํ ํจ์๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ์ ๊ฒฝ๋ง์ ์ธต์ ๊น๊ฒ ์๋ ๊ฒ์ ์๋ฏธ๊ฐ ์ฌ๋ผ์ง๊ธฐ ๋๋ฌธ.
- ์๋ฅผ ๋ค์ด, ํ์ฑํ ํจ์๋ฅผ h(x) = cx๋ผ ํ ๋, y(x) = h(h(x)) = c * c * c * x = c^3x → y=ax์์ a =c^3๊ณผ ๊ฐ๋ค. ์ฆ ์์ ๋งํ ์ ํํจ์์ ์๋ฏธ์ ๋ฑ ๋ค์ด๋ง๋๋ค. → 3์ธต์ด๋ ์์๋๋ฐ 1์ธต๋ง ์์ ๊ฒ๊ณผ ๊ฐ์ ํจ๊ณผ → ๋น์ ํํจ์ ์ฌ์ฉํ์^^
๐ ์ ๋ฆฌ
1. ํผ์ ํธ๋ก ์ ์ ์ถ๋ ฅ์ ๊ฐ์ถ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ ๋ ฅ์ ์ฃผ๋ฉด ์ ํด์ง ๊ฐ์ ๋ฐ๋ฅธ ๊ฐ์ ์ถ๋ ฅํ๋ค.
2. ํผ์ ํธ๋ก ์์๋ ๊ฐ์ค์น์ ํธํฅ์ ๋งค๊ฐ๋ณ์๋ก ์ค์ ํ๋ค.
3. ํผ์ ํธ๋ก ์ผ๋ก AND, OR ๊ฒ์ดํธ ๋ฑ์ ๋ ผ๋ฆฌํ๋ก๋ฅผ ํํํ ์ ์๋ค.
4. XOR ๊ฒ์ดํธ๋ ๋จ์ธต ํผ์ ํธ๋ก ์ผ๋ก๋ ํํํ ์ ์๋ค.
5. 2์ธต ํผ์ ํธ๋ก ์ ์ด์ฉํ๋ฉด XOR ๊ฒ์ดํธ๋ฅผ ํํํ ์ ์๋ค.
6. ๋จ์ธต ํผ์ ํธ๋ก ์ ์ง์ ํ ์์ญ๋ง ํํํ ์ ์๊ณ , ๋ค์ธต ํผ์ ํธ๋ก ์ ๋น์ ํ ์์ญ๋ ํํํ ์ ์๋ค.
๐ References
'๐ปProgramming > AI' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ