[์ธ๊ณต์ง๋ฅ ์์๊ฐ๊ธฐ] ๋จธ์ ๋ฌ๋๊ณผ ๋ฅ๋ฌ๋์ ์ข ๋ฅ์ ๋ํ์ ์ธ ํ๋ ์์ํฌ
INTRO. ์ธ๊ณต์ง๋ฅ ๋ถ์ด ์ค๋ค.
์ต๊ทผ ๋ถ์ํ ์ค ์์๋ ์ธ๊ณต์ง๋ฅ์ ์๊ฐ๋ณด๋ค ๊ธด 80๋ ์ ๋์ ์ญ์ฌ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ฃผ์ ๋ง๋ฅ ๋ถ์ด ์๋ค๊ฐ ํญ๋ฝํ๊ณ ๋ค์ ๋ถ์ด ์๋ค๊ฐ ํญ๋ฝํ๋ ํ์์ ๋ฐ๋ณตํ๋ค ์ง๊ธ ๋๋์ด ์ง์ง๋ก ๋ถ์ด ์จ ๊ฒ ๊ฐ๋ค. ์ ๋ฌด ํผ
์ธ๊ณต์ง๋ฅ๋ฐ์ ์ ์ญ์ฌ์์๋ ์์ด๋์ด๋ฅผ ๋ท๋ฐ์นจํด์ค ํ๋์จ์ด ๋ฑ์ด ๋ถ์กฑํ์ฌ ์ฐ๊ตฌ๊ฐ ์ ๋์ง ์๋ ์นจ์ฒด๊ธฐ๊ฐ ์์๋ค๊ณ ํ๋ค. ์ด๋ฐ ์ํฉ์์ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ ๊ณผ ๊ณ ์ฑ๋ฅ ์ปดํจํ ํ์(GPU, TPU ๋ฑ ์๋น๋์๊ฐ ํ๋ ๊ทธ๋ฐ..)๊ฐ ๋ฐ์ ํ๋ฉด์ ๋ฅ๋ฌ๋๊น์ง ๋ฐ์ ํ ์ ์๋ ๋๋ ฅ์ด ์๊ธฐ๊ฒ ๋์๋ค๊ณ ํ๋ค.
๋ฌผ๋ก "์ง๋ฅ"์ธ ์ํํธ์จ์ด ์ธก๋ฉด์์๋ ์นจ์ฒด๊ธฐ์์๋ ํ์ต๊ธฐ๋ฒ๊ณผ ์๊ณ ๋ฆฌ์ฆ์ ๊ณ์ ์ฐ๊ตฌํด์จ ์ฐ๊ตฌ์๋ค๊ณผ ์ด๋ฐ ์ฐ๊ตฌ๋ฅผ ์คํ์์ค๋ก ๊ณต๊ฐํ ์ฐ๊ตฌ์๋ค์ด ๊ธฐ์ฌํ๋ค๊ณ ํ ์ ์๋ค. (ํ์ ํ Scikit Learn, TensorFlow, PyTorch ๋ฑ..)
์ด ๊ธ์์๋ ์ธ๊ณต์ง๋ฅ๊ณผ ์ธ๋ถ ๋ถ์ผ์ธ ๋จธ์ ๋ฌ๋, ๊ทธ๋ฆฌ๊ณ ๋ฅ๋ฌ๋์ ์ข ๋ฅ์ ๋ํ ํ๋ ์์ํฌ๋ฅผ ์์๋ณด๋ ค๊ณ ํ๋ค.
์ฝ๋ฉ์ ์ ํ์ง 1๋ ๋ ์ฑ ๋์ง ์์ ์ด๋ณด์์๊ฒ CNN, RNN ๋ญ๋ผ๊ณ ํ๋ ์ด์ผ๊ธฐ๊ฐ ์ธ๊ณ์ด์๋ ํฐ๋ผ ์ฉ์ด์ ๋ฆฌ๊ฒธ ๋๋ต์ ์ธ ๋ฐ์ ๊ณผ์ ๊ณผ ๊ฐ๋จํ ์ฅ๋จ์ ๊ทธ๋ฆฌ๊ณ (๋ฏธ์ฝํ) ์๋ฆฌ๋ฅผ ๊ณต๋ถํด๋ณด์๋ค.
๊ทธ๋์ ๊ฐ์์ด๋ค.
1. ์ธ๊ณต์ง๋ฅ์ด๋?
2. ๋จธ์ ๋ฌ๋์ด๋?
2-1. ๋ํ์ ์ธ ๋จธ์ ๋ฌ๋ ํ๋ ์์ํฌ, Scikit Learn
2-2. ๊ณ ์ฑ๋ฅ์ ์ํ๋ค๋ฉด, XGBoost, LightGBM, CatBoost ํ๋ ์์ํฌ
3. ๋ฅ๋ฌ๋์ด๋?
3-1. ๋ฅ๋ฌ๋์ ์ญ์ฌ์ ๋ํ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ฅ
3-2. ๋ฅ๋ฌ๋์ ๋ํ์ ์ธ ํ๋ ์์ํฌ, TensorFlow, PyTorch, Keras
Q. ์ธ๊ณต์ง๋ฅ์ด๋?
์ฌ๋์ฒ๋ผ ํ์ตํ๊ณ ์ถ๋ก ํ ์ ์๋ ์ง๋ฅ์ ๊ฐ์ง ์ปดํจํฐ ์์คํ ์ ๋ง๋๋ ๊ธฐ์ ๋ก, ์ธ๊ณต์ง๋ฅ์ด๋ผ๋ ํฐ ๋ฒ์ฃผ ์์ ๋ค์ํ ์ปดํจํฐ ๊ณผํ๊ณผ ํต๊ณํ์ ๋ถ์ผ๋ค์ด ์ํด์๋ค. ๊ทธ ์ค "์ถ๋ก ๊ธฐ๋ฅ์ด ๊ฐ๋ฅํ ์ง๋ฅ" ์์ฒด์ ์ง์ค์ ํด์ ๋์ฑ ๋ฒ์ฃผํ๋ฅผ ํ์ ๋, ์ธ๊ณต์ง๋ฅ ์์ ๋จธ์ ๋ฌ๋, ๋จธ์ ๋ฌ๋์ ์ธ๋ถ๋ถ์ผ๋ก์ ๋ฅ๋ฌ๋์ด ์กด์ฌํ ์ ์๋ค.
Q. ๋จธ์ ๋ฌ๋์ด๋?
๋จธ์ ๋ฌ๋์ ๊ท์น์ ํ๋ก๊ทธ๋๋ฐํ์ง ์์๋ ์๋์ผ๋ก ๋ฐ์ดํฐ์์ ๊ท์น์ ํ์ตํ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฐ๊ตฌํ๋ ๋ถ์ผ๋ฅผ ์๋ฏธํ๋ค. ๋ฐ์ดํฐ์ ๊ท์น์ ๋ณธ๋ค๋ ์๋ฏธ์์ ํต๊ณํ๊ณผ ๊ด๋ จ์ด ๊น์ผ๋ฉฐ, ๋ฐ๋ผ์ ํต๊ณํ์์ ์ ๋๋ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๊ฝค ๋ง๋ค.
๊ทธ๋์์ธ์ง ํต๊ณํ์ ๋ํ์ ์ธ ์คํ์์ค ์ํํธ์จ์ด์ธ R์๋ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ด ๊ตฌํ๋์ด ์๋ค๊ณ ํ๋ค. ๊ทธ๋ฌ๋ ์ข ๋ฅ๊ฐ ์ ํ์ ์ด๋ฉฐ ํจํค์ง๊ฐ ๋ค์ํ์ง ์์์ ์ฃผ๋ก ํ์ด์ฌ(Python) ์ํํธ์จ์ด์์ ์ฌ๋ฌ ํ๋ ์์ํฌ๊ฐ ํ์ฉ๋๊ณ ์๋ค๊ณ ํ๋ค.
๋ํ์ ์ธ ๋จธ์ ๋ฌ๋ ํจํค์ง์๋ Scikit-learn์ด ์๋ค.
์ฃผ๋ก ์ง๋ํ์ต(Supervised Learning), ๋น์ง๋ํ์ต(Unsupervised Learning), ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ, ๋ชจ๋ธ ํ๊ฐ ๋ฑ ๋ค์ํ ๋จธ์ ๋ฌ๋ ์์ ์ ํ์ฉ๋๋ฉฐ, ์ด๋ณด์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๊ฐ๋จํ ๋๊ตฌ๋ผ๊ณ ํ๋ค.
์ฅ๋จ์ ์ ์ ๋ฆฌํ์๋ฉด,
(+) ํ์ด์ฌ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ฌ์ ํ์ํ ํจ์๋ง ๊ฐ์ ธ์์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค๋ ์ ์ฐ์ฑ
(+) ํ์ด์ฌ์ ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Numpy, SciPy, pandas ๋ฑ๊ณผ์ ํธํ์ฑ
(+) RandomForest, SVM, Logistic Regression ๊ณผ ๊ฐ์ ๋ค์ํ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ๋ค์ด ์ ๊ณต๋๋ค.
(-) ๋ฅ๋ฌ๋ ๋ชจ๋ธ ์ง์์ด ๋ถ์กฑํจ.
(-) ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ ํ์ ์.
(-) CPU ๊ธฐ๋ฐ์ฒ๋ฆฌ์ฌ์ GPU ์ง์์ด ๋ถ์กฑํจ.
์ ํต์ ์ธ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์ต์ ํ๋์ด ์์ด์, ๋ฐ์ดํฐ ๊ณผํ์ ๊ธฐ์ด, EDA(ํ์์ ๋ฐ์ดํฐ๋ถ์), ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ ํ์ต์์ ์ฌ์ ํ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ผ๊ณ ํ๋ค.
๊ทธ๋ฌ๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ ๊ณ ์ฑ๋ฅ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๊ฐ๋ฐํ๊ณ ์ถ์ ๋๋ Scikit-learn์ด ํ๊ณ๊ฐ ์์ ์ ์๋ค.
์ด๋ฐ ๊ฒฝ์ฐ XGBoost / Light GBM / CatBoost์ ๊ฐ์ ํ๋ ์์ํฌ๊ฐ ํ์ฉ๋๋ค.
์ด๋ค์ "Gradient Boosting"์ด๋ผ๋ ์๊ณ ๋ฆฌ์ฆ์ ํนํ๋ ํ๋ ์์ํฌ๋ก, ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ผํ๋ ๊ฒฝ์ฐ๋ ๊ณ ์ฑ๋ฅ ๋ชจ๋ธ์ด ํ์ํ ๊ฒฝ์ฐ์ ํ์ฉ๋๋ค.
ํ๋ ์์ํฌ๊ฐ ํ์ฉ๋๋ ๊น๋ญ์,
๊ณ ๊ธ๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ CPU / GPU๊ฐ ์ง์ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์, ์ฒ๋ฆฌ์๋๊ฐ ๋น ๋ฅด๊ณ ,
๊ฒฐ์ธก์น ์ฒ๋ฆฌ์ ๋ํด์ ์ ์ฒ๋ฆฌ๊ฐ ํ์ํ Scikit learn๊ณผ ๋ฌ๋ฆฌ ์๋์ฒ๋ฆฌ๊ฐ ๊ฐ๋ฅํ๋ค๋ ์ฅ์ ์ด ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ฐ๋ผ์ ๋ฐ์ดํฐ ๋ถ์๋ํ ๋ฑ์์ ๊ณ ์ฑ๋ฅ, ๋น ๋ฅธ ํ์ต์๋, ๋ฐ์ด๋ ์ผ๋ฐํ ์ฑ๋ฅ์ผ๋ก ์ ๋ช ํด์ ธ์ ํ์ฉ๋๊ณ ์๋ค.
์ฐธ๊ณ ๋ก, CatBoost๋ ์กฐ๊ธ ๋ ๋ฒ์ฃผํ ๋ฐ์ดํฐ์ ์ต์ ํ๋ ๋ชจ๋ธ์ด๋ผ๊ณ ํ๋ค.
์ด๊ธฐ์ ํ์ํ๊ฑฐ๋ ๋ค์ํ ๋ชจ๋ธ์ ์คํ์ ํ ๋ Scikit learn์ผ๋ก ๋ชจ๋ธ์ ๋น ๋ฅด๊ฒ ํ๋กํ ํ์ดํ์ ํ๊ณ , ์ฑ๋ฅ์ด ์ค์ํ ๊ฒฝ์ฐ์๋ XGBoost์ ๊ฐ์ ํ๋ ์์ํฌ๋ก ์ต์ ํํ๋ ์ ๋ต์ ํํ ์๋ ์์ ๊ฒ ๊ฐ๋ค.
(๋๋ ์ฐ์ ์ด๋ณด์์ด๊ธฐ ๋๋ฌธ์ Scikit learn์ผ๋ก ์ ํต์ ์ธ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ๋ค๊ณผ ์ ์ฉ ๋ฐฉ๋ฒ์ ๋ํด์ ๋ฐฐ์๋ณด๋๋ก ํ๊ฒ ๋ค.)
Q. ๋ฅ๋ฌ๋์ด๋?
์ญ์ ๋จธ์ ๋ฌ๋์ ์ธ๋ถ๋ถ์ผ๋ก, ๋ค์ํ ๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ค์์ ์ธ๊ฐ์ ๋์์ ์๊ฐ์ ๋ฐ์ ๋ฐ์ ํ ์ธ๊ณต์ ๊ฒฝ๋ง(Artificial Neural Network)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ๋ฐฉ๋ฒ๋ค์ ํต์นญํ์ฌ ๋ฅ๋ฌ๋(Deep Learning)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
ANN(Artificial Neural Network, ์ธ๊ณต์ ๊ฒฝ๋ง)์ ํ๊ธฐ์ ํ ๋ค์ธต ํผ์ ํธ๋ก (MLP), DNN, CNN, RNN ๋ฑ ๋ชจ๋ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ ํฌ๊ดํ๋ ์ด์นญ์ด๋ผ๊ณ ํ ์ ์์ผ๋ฉฐ, ๋ฅ๋ฌ๋๊ณผ ์ ๊ตฌ๋ถํ์ง ์๊ณ ์ฌ์ฉ๋๋ค.
๋ฅ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ฅ (๋ผ๊ธฐ๋ณด๋ค๋ ์ญ์ฌ์ ํจ๊ป ์์๋ณด๋ ์ข ๋ฅ)
๋ฅ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ข ๋ฅ์ ๋ํด์ ์ ํํ ์ดํดํ๋ฉด์ ๊ณต๋ถํ๋ ค๋ฉด ์ฌ์ค ์ํ์ ์ผ๋ก ์ ๊ทผ์ ํด์ผํ๋ ๊ฒ ๊ฐ๋ค. ํ์ง๋ง ์์ง ์ด ๋จ๊ณ๋ ์ด๋ฅธ ๊ฒ ๊ฐ์์, ์ฐ์ ์ ์ข ๋ฅ์๋ผ๋ ์ต์ํด์ง๊ณ ์ถ์ด์ ๋ฅ๋ฌ๋์ ์ญ์ฌ๋ฅผ ์ ๋ฆฌํด๋ณด์๋ค. ์ค์ ๋ก ๋๊ฐ ์ด๋ค ํ์ ์ ๊ฐ์ ธ์๊ณ , ์ฐ๋ฆฌ๊ฐ ํ์ฉ ์ค์ธ ๋ชจ๋ธ๋ค๊ณผ ์ด๋ป๊ฒ ์ฐ๊ฒฐ๋์ด ์๋์ง๋ฅผ ์ ์ ์์ด์ ์๋ฏธ๊ฐ ์๋ ๊ฒ ๊ฐ๋ค.
์์์ 1943๋ ๋งค์ปฌ๋ฆญ๊ณผ ํผ์ธ ๊ฐ ์ธ๊ฐ์ ๋๋ฅผ ์ํ์ ์ผ๋ก ๋ชจ๋ธ๋งํ ์ธ๊ณต ๋ด๋ฐ ์ด๋ก ์ ๋ฐํํ๋ฉด์ ์ธ๊ฐ์ ๋๋ฅผ ๋ ผ๋ฆฌ๊ตฌ์กฐ๋ก ์ค๋ช ๊ฐ๋ฅํ๋ค๋ ์์ด๋์ด๋ฅผ ์ ์ํ๋ฉด์ ์ธ๊ฐ์ฒ๋ผ ์๊ฐํ๋ ๊ธฐ๊ณ์ ๋ํ ๊ณต์์ ํ์คํํ๋ ์์ ์ด ์์๋์๋ค๊ณ ํ ์ ์์ ๊ฒ์ด๋ค.
์ด๋ ๊ทธ ์ ๋ช ํ Percept + =tron, ์ฆ ์ง๊ฐํ๋ ๊ธฐ๊ณ, ํผ์ ํธ๋ก ์ ๋ฑ์ฅ์ผ๋ก ์ด์ด์ก๋ค. ํผ์ ํธ๋ก (Perceptron)์ Rosenblatt๊ฐ 1957๋ ์ ๊ฐ๋ฐํ ์ต์ด์ ์ค์ ์๋ํ๋ ์ ๊ฒฝ๋ง ๋ชจ๋ธ์ด๋ค. ์ธ๊ฐ์ ๋๊ฐ ์ ๋ณด๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐฉ์์ ๋ชจ๋ฐฉํ์ฌ ์ค๊ณ๋ ์ธ๊ณต๋ด๋ฐ์ ๊ธฐ์ด๋ชจ๋ธ๋ก, ์ค๋๋ ๋ฅ๋ฌ๋์ ์ถ๋ฐ์ ์ด ๋์๋ค. ๊ฐ๋จํ ์ค๋ช ํ์๋ฉด, ์ ๋ ฅ๊ฐ(Input), ๊ฐ์ค์น(Weight), ๋ฐ์ด์ด์ค(Bias), ๊ทธ๋ฆฌ๊ณ ํ์ฑํํจ์๋ก ๊ตฌ์ฑ๋์ด, ์ ๋ ฅ์ ๋ณด๋ฅผ ๋ฐ์ ์ค์๋๋ฅผ ๋ฐ์ง๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ด์ง(0 or 1)๋ก ๋ด๋ฆฌ๋ ๋จ์ํ ์ธ๊ณต ๋ด๋ฐ์ด๋ผ๊ณ ํ ์ ์๋ค. (์ถํ ๋ ์์๋ณด๊ฒ ๋ค)
์ธ๊ฐ์ ๋ด๋ฐ์ ํ๋ด๋ธ ํํ๋ก๋ ์ ํ ๋ถ๋ฆฌ๊ฐ ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์๋ค๋ ์ ์์ ์๋ฏธ๋ฅผ ๊ฐ์ก์ผ๋ 1969๋ Minsky์ Papert๊ฐ ๋น์ ํ ๋ฌธ์ ๋ ํด๊ฒฐํ ์ ์๋ค๋ ํ๊ณ๋ฅผ ์ง์ ํ๋ฉด์ AI ์ฐ๊ตฌ๊ฐ ํ๋์ ์นจ์ฒด๊ธฐ์ ๋น ์ก๋ค๊ณ ํ๋ค. ์ญ์ ๊ฐ๋จํ๊ฒ ์ค๋ช ํ์๋ฉด, XOR(Exclusive OR)์ ์ค๋ช ๋ชปํ๋ค๋ ๊ฒ์ด๊ณ ์ด๋ ๋ ์ค ํ๋๋ง ์ฐธ์ด์ด์ผ ์ฐธ์ธ ์ฐ์ฐ์ ์ฒ๋ฆฌ ๋ชปํ๋ค๋ ๋ป์ด๋ค.
ํผ์ ํธ๋ก ์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํด์ ๋ฑ์ฅํ ๊ฒ์ด ๋ฐ๋ก 1986๋ ์ ๋ค์ธต ํผ์ ํธ๋ก (Multi Layer Perceptron, MLP)์ด๋ค. ์ฌ๊ธฐ์์๋ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ ์ฌ์ด์ ์ฌ๋ฌ๊ฐ์ ์๋์ธต์ ์ถ๊ฐํ์ฌ ๋ณต์กํ ํจํด์ ํ์ต ๊ฐ๋ฅํ๊ฒ ํ๋ค. ๋ํ ๋ค์ํ ReLu, Sigmoid ๋ฑ์ ํ์ฑํ ํจ์๋ฅผ ํตํด ํผ์ ํธ๋ก ์ ํ๊ณ์๋ ๋น์ ํ ๋ฐ์ดํฐ๋ ์ฒ๋ฆฌ๊ฐ๋ฅํ๊ฒ ๋์๋ค.
๊ทธ๋ฆฌ๊ณ ์ค๋ฅ๋ฅผ ๋ค๋ก ์ ํํ์ฌ ๊ฐ์ค์น๋ฅผ ์ ๋ฐ์ดํธ ํ๋ ์ญ์ ํ ์๊ณ ๋ฆฌ์ฆ(Backpropagation)์ด ๊ฐ๋ฐ๋๋ฉด์ ๋ฅ๋ฌ๋์ ํ์ต์ ํต์ฌ ๋ฉ์ปค๋์ฆ์ด ์์ฑ๋์๋ค๊ณ ํ๋ค.
DNN(Deep Neural Network, ์ฌ์ธต์ ๊ฒฝ๋ง)์ ์ด๋ฐ ์๋์ธต์ด ์ฌ๋ฌ๊ฐ ์๋ ๊ฒฝ์ฐ๋ฅผ ์๋ฏธํ๋ฉฐ, MLP๋ณด๋ค ๋ ๊น์ ๋คํธ์ํฌ๋ก ๋ณต์กํ ํจํด์ ํ์ต ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ชจ๋ธ์ด๋ผ๊ณ ํ ์ ์๋ค.
์ด๋ 1989๋ ์ RNN(Recurrent Neural Network)์ ๊ตฌ์กฐ๋ก ์ด์ด์ก๋ค. RNN์ ์๊ณ์ด ๋ฐ์ดํฐ, ์์ฐ์ด์ฒ๋ฆฌ, ์์ฑ์ธ์ ๋ฑ ์์ฐจ๋ฐ์ดํฐ์ ํจํด์ ํ์ตํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ์ด์ด์ฃผ์๋ค. ํ์ง๋ง RNN์ ๊ธฐ์ธ๊ธฐ์์ค์ด๋ผ๋ ํ๊ณ์ ์ ์ง๋๊ณ ์์๋ค. ์ด๋ ํ์ต์ด ์งํ๋ ์๋ก ๊ณผ๊ฑฐ ์ ๋ณด๊ฐ ์ฌ๋ผ์ง๊ฑฐ๋(Gradient Vanishing), ๊ธฐ์ธ๊ธฐ๊ฐ ๋ฌดํํ ์ปค์ ธ์(Exploding Gradient) ๋ชจ๋ธ์ด ๋ถ์์ ํด์ง๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ด๋ค. ํ์ค์ ์ผ๋ก๋ ๋ชจ๋ธ์ด ๊ณผ๊ฑฐ์ ์ค์ํ ์ ๋ณด๋ฅผ ์์ด๋ฒ๋ฆฌ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ฒ ๋๋ค.
์ดํ 1990๋ ๋์ ๊ธฐ์ด ๋ฅ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ๋ค์ด ๋ฐ์ ๋์๋ค๊ณ ํ๋ค.
1997๋ ์ LSTM (Long Short Term Memory)์ ์ค์ ์ ๋ณด๋ ๊ธฐ์ตํ๊ณ ๋ถํ์ํ ์ ๋ณด๋ ์์ด๋ฒ๋ฆฌ๋ ๋ฐฉ์์ผ๋ก ๊ธฐ์กด์ RNN(Recurrent Neural Network)๋ ๊ธด ์ํ์ค ํ์ต์ ๊ธฐ์ธ๊ธฐ ์์ค ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ํด๊ฒฐํ์ฌ, ์์ฐ์ด์ฒ๋ฆฌ, ์์ฑ ์ธ์์ ํ์ ์ ๊ฐ์ ธ์๋ค.
1998๋ ์ Yann LeCun์ด ๊ฐ๋ฐํ LeNet-5 ๋ชจ๋ธ์ CNN(Convolutional Neural Network, ํฉ์ฑ๊ณฑ ์ ๊ฒฝ๋ง)๊ณผ ํ๋ง๊ณ์ธต(Pooling)์ ๋์ ํ์ฌ ์๊ธ์จ ์ซ์ ์ธ์์ ์ฑ๊ณต์์ผฐ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ ํ๋์จ์ด์ ๋ฐ์ดํฐ์ ๋ฐ์ ๊ณผ ๋ง๋ฌผ๋ ค 2010๋ ๋ ๋ฅ๋ฌ๋์ ๋์คํ์ ํ์ ์ผ๋ก ์ด์ด์ก๋ค๊ณ ํ๋ค.
2012๋ ์ ํ๋ฆฌ ํํด์ ํ์ด ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ํ์ธ ImageNet์์ ๊ธฐ์กด์ ๋จธ์ ๋ฌ๋ ๊ธฐ๋ฒ์ ๋๋ฅด๊ณ ์๋์ ์ธ ์ฑ๋ฅ์ผ๋ก ์ฐ์นํ๋ฉด์, AlexNet์ด๋ผ๋ CNN ๊ธฐ๋ฐ๋ชจ๋ธ์ด ์ด๋ฏธ์ง ๋ถ๋ฅ ์์ ์ ๋๋ฆฌ ์ฌ์ฉ๋๊ธฐ ์์ํ๋ค.
์ดํ 2014๋ GAN(Generative Adversarial Networks)์ ๋ฑ์ฅ์ผ๋ก ์์ฑ์์ ํ๋ณ์๊ฐ ๊ฒฝ์ํ๋ฉฐ ํ์ตํ๋ฉฐ ๊ฐ์ง ๋ฐ์ดํฐ ์์ฑ๊น์ง ๊ฐ๋ฅํ๊ฒ ํ๋ค.
2015๋ Microsoft ์ ResNet(Residual Network)๋ ๋ฅ๋ฌ๋์ด ๊น์ด์ง ์๋ก ์ฑ๋ฅ์ด์ ํ๋๋ ๋ฌธ์ ๋ฅผ Skip Connection(์์ฐจ ์ฐ๊ฒฐ)๋ก ํด๊ฒฐํ์ฌ ๋งค์ฐ ๊น์ ๋คํธ์ํฌ๋ ํจ์จ์ ์ผ๋ก ํ์ต ๊ฐ๋ฅํ๊ฒ ํ์ ์ ์ด๋์๋ค.
์ดํ 2017๋ "Attention is All you Need"๋ผ๋ ๋ ผ๋ฌธ๊ณผ ํจ๊ป Transformer ๋ชจ๋ธ์ด ๋ฑ์ฅํ์๋๋ฐ, RNN ์์ด '์ ๋ ฅ๋ฐ์ดํฐ์ ์ค์ํ ๋ถ๋ถ์ ๋ ๋ง์ ์ฃผ์๋ฅผ ๊ธฐ์ธ์ด๋' Attention ๋ฉ์ปค๋์ฆ๋ง์ผ๋ก๋ ์์ฐ์ด๊ฐ ์ฒ๋ฆฌ ๊ฐ๋ฅํ๊ฒ ๋ง๋ค์๋ค. ๋ํ์ ์ผ๋ก 2018๋ ์ BERT๋ ๊ตฌ๊ธ์ ์ธ์ด๋ชจ๋ธ๋ก ๊ฒ์์์ง ํ์ ์ ๊ฐ์ ธ์์ผ๋ฉฐ, ์ฑ GPT๋ ์ด๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
ํ์ฌ 2020๋ ๋๋ ๋ฉํฐ๋ชจ๋ฌ AI์ ์์ฑํ AI์ ์๋๋ผ๊ณ ํ ์ ์๋ค. ๋ฉํฐ๋ชจ๋ฌ AI๋ ํ ์คํธ, ์ด๋ฏธ์ง, ์ค๋์ค๋ฅผ ๋์์ ์ฒ๋ฆฌํ๋ AI ๋ชจ๋ธ๋ก ๋ํ์ ์ผ๋ก CLIP์ด๋ DALL-E ๋ฑ์ด ์๋ค. ์์ฑํ AI๋ ํ ์คํธ, ์ด๋ฏธ์ง, ์์ ๋ฑ ์๋ก์ด ์ฝํ ์ธ ๋ฅผ ์์ฑํ๋๋ฐ ์ฌ์ฉ๋๋ค. ๋ํ ํ์ฌ๋ ์์ฐ์ด์ฒ๋ฆฌ ๋ชจ๋ธ ๋ํ GPT, PaLM, LLaMA ๋ฑ ์ด๊ฑฐ๋ ๊ท๋ชจ์ ๋ชจ๋ธ์ด ๊ฐ๋ฐ๋๊ณ ์์ผ๋ฉฐ, ์ด๋ LLM(๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์ด ๋ด์ฉ์ ๋ฐํ์ผ๋ก ์์ฃผ ๊ฐ๋ตํ๊ฒ ๋ฅ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ๋ฆฌํด๋ณด์!
์ธ๊ณต์ ๊ฒฝ๋ง / ๋ฅ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ ์ข ๋ฅ | ํน์ง | ํ์ฉ ๋ถ์ผ |
ANN (์ธ๊ณต์ ๊ฒฝ๋ง) | ์์ ๊ตฌ์กฐ, ๊ฐ๋จํ ๋ฌธ์ ํด๊ฒฐ๊ฐ๋ฅ ์ ์ฒด ์ ๊ฒฝ๋ง์ ํต์นญ์ผ๋ก ์ฐ์ด๊ธฐ๋ ํจ |
๊ธฐ์ด์ ์ธ ๋ถ๋ฅ ๋ฐ ํ๊ท ๋ฌธ์ |
DNN (์ฌ์ธต์ ๊ฒฝ๋ง) | ์ฌ๋ฌ ์๋์ธต์ผ๋ก ๋ณต์กํ ํจํด ํ์ต ๊ฐ๋ฅํจ. | ์ด๋ฏธ์ง ์ธ์, ์์ฐ์ด ์ฒ๋ฆฌ, ์์ฑ์ธ์ |
CNN (ํฉ์ฑ๊ณฑ์ ๊ฒฝ๋ง) | ์ด๋ฏธ์ง์ ์์ ์ฒ๋ฆฌ์ ์ต์ ํ๋จ | ์ด๋ฏธ์ง ๋ถ๋ฅ, ๊ฐ์ฒด ํ์ง, ์์ ๋ถ์ |
RNN (์ํ์ ๊ฒฝ๋ง) | ์ํ์ค ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ํนํ๋ ๊ตฌ์กฐ | ์์ฐ์ด ์ฒ๋ฆฌ, ์๊ณ์ด ๋ถ์, ๋ฒ์ญ |
LSTM (Long Short Term Memory) | RNN์ ํ์ฅํ์ผ๋ก ์ฅ๊ธฐ์์กด์ฑ ๋ฌธ์ ํด๊ฒฐ | ๋ฒ์ญ, ์์ฑ์ธ์, ๊ฐ์ ๋ถ์, ์๊ณ์ด์์ธก |
GAN (Generative Adversarial Networks) | ์์ฑ์์ ํ๋ณ์๊ฐ ๊ฒฝ์ํ๋ฉฐ ์๋ก์ด ๋ฐ์ดํฐ ์์ฑ | ์ด๋ฏธ์ง ์์ฑ, ๋ฅํ์ดํฌ, ๋ฐ์ดํฐ ์ฆ๊ฐ, ์์ ์ฐฝ์ |
ResNet( Residual Network) | ์์ฐจ ์ฐ๊ฒฐ(Skip connectino)๋ก ๋งค์ฐ ๊น์ ์ ๊ฒฝ๋ง ํ์ต ๊ฐ๋ฅ | ์ด๋ฏธ์ง ๋ถ๋ฅ, ๊ฐ์ฒด ํ์ง, ์์ ์ธ์ |
Transformer | ๋ณ๋ ฌ ์ฒ๋ฆฌ์ ์ฅ๊ธฐ์์กด์ฑ ํ์ต์ ์ต์ ํ๋ ๋ชจ๋ธ | GPT, BERT ๋ฑ ๋๊ท๋ชจ ์ธ์ด ๋ชจ๋ธ ๊ฐ๋ฐ |
๋ํ์ ์ธ ๋ฅ๋ฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์๋ TensorFlow, PyTorch, Keras, MXNet, Caffe ๋ฑ์ด ์๋ค.
๊ตฌ๊ธ์์ ๋ง๋ TensorFlow, ๋ฉํ(ํ์ด์ค๋ถ)์์ ๋ง๋ PyTorch, TensorFlow์ ๊ณ ์์ค API์ธ Keras, ์๋ง์กด AWS์ ๊ณต์ ๋ฅ๋ฌ๋ ํ๋ ์์ํฌ์ธ MXNet(Apache), CNN ๊ธฐ๋ฐ ์์ ์ ์ต์ ํ๋ Caffe ๋ฑ์ด ์๋ค.
๋ณดํต์ ๋ฅ๋ฌ๋ ์ ๋ฌธ ๋ฐ ๊ต์ก์ฉ์ผ๋ก Keras๋ฅผ ์ด๋ค๊ณ ํ๋ค. ๊ฐ๊ฒฐํ ์ฝ๋์ ์ง๊ด์ ์ธ API๋ก ํ์ต์ด ์ฝ๊ธฐ ๋๋ฌธ์ด๋ค. PyTorch๋ ์ฃผ๋ก AI ์ฐ๊ตฌ์์ ๋ง์ด ์ฐ๋ฉฐ ์ด๋ ๋น ๋ฅธ ์คํํ๊ฒฝ์ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ด๋ผ๊ณ ํ๋ค. TensorFlow๋ ์ฐ์ ์ฉ ๋ชจ๋ธ ๋ฐฐํฌ์ ๋๊ท๋ชจ ์๋น์ค์ ๊ฐ์ ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, ์ปค๋ฎค๋ํฐ๊ฐ ํ์ฑํ๋์ด ์๋ค๊ณ ํ๋ค.
์ง๊ธ๊น์ง ๋จธ์ ๋ฌ๋๊ณผ ๋ฅ๋ฌ๋์ ์ข ๋ฅ์ ์ญ์ฌ, ๊ทธ๋ฆฌ๊ณ ๋ํ์ ์ธ ํ๋ ์์ํฌ์ ๋ํด์ ๊ณต๋ถํด๋ณด์๋ค.
BRAND NEW ๊ณต๋ถ์ธ๋งํผ ํฅ๋ฏธ๊ฐ ๊ฐ๋ค.