์๋ ํ์ธ์
๊ณต๋ถํ๋ ์ ์ด์ ๋๋ค
๋ฅ๋ฌ๋ ๋ฐฐ์๋ณด๊ธฐ ์ํด, ๊ด๋ จํ ํฌ์คํ ์ ์ฐ์ฌํ ๊ณํ์ ๋๋ค.
Deep Learning Starter 1ํธ์ ๋๋ค.
์ฃผ๋ฅด๋ฅต, ์ฃผ๋ฅด๋ฅต
์ธํฐ๋ท ์์์๋ ์๋ง์ ๋ฐ์ดํฐ๊ฐ ์ ์ก๋์ด์ง๊ณ ์์ต๋๋ค. ์ด๋ฌํ ์ถ์ ๋ ๋ฐ์ดํฐ๋ค์ ์ผ์ ์ํ์์ ์ ์ตํ ์์ฌ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์๋๋ก ๋์์ ์ค ์ ์์ต๋๋ค. ๊ทธ ๊ณผ์ ์์ ๊ธฐ๊ณ๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด๋ค์ด๊ณ , ๋ฌธ์ ๋ ๊ณผ์ ์ ์ค์ ํ์ฌ, ํ์ต์ ์ํฌ ์ ์์ต๋๋ค. ๊ทธ๋์ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋๋ก ํ์ตํ ๊ธฐ๊ณ๋ฅผ ๋ฏธ๋๋ฅผ ์์ธกํ๊ณ ์ฌ๋๋ค์๊ฒ ์ ์ตํ ๊ฒฐ๊ณผ๋ฅผ ์ด๋์ด ๋ผ ์ ์๊ฒ ์์ธก์ ์ํํฉ๋๋ค. ์ด๋ก ์ธํด, ์๋ง์ ์๋น์ค๊ฐ ํ์ํ์์ต๋๋ค. ๊ทธ ์ค์ ํ๋๊ฐ ๋ทํ๋ฆญ์ค์ ์ํ ์๋ ์ถ์ฒ ์๋น์ค, ์ถํด๊ทผ ์๊ฐ๋์ ์ ๋์ ์ผ๋ก ๋ณํ๋ ๋ค์ด๋ฒ์ง ์ง๋ ๊ธธ์ฐพ๊ธฐ ์๋น์ค ๋ฑ, ์๋ง์ ํ์ฌ์์ ์๋ก์ด ์๋น์ค๋ค์ ๋์์์ด ์์ฅ์ ๋ด๋๊ณ ์์ต๋๋ค.
๋ฐ์ดํฐ๋ค์ ์ ์ ํ ์ฒ๋ฆฌ๋ฅผ ์ด๋ค์ค์ผ ํฉ๋๋ค. ๊ธฐ๊ณ๋ ์ด๋ฌํ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ์ฌ ์ฒ๋ฆฌํ๋๋ฐ, ์ด๋ ์ธ๊ณต์ง๋ฅ(AI), ๋จธ์ ๋ฌ๋(Machine Learning), ๋ฅ๋ฌ๋(Deep Learning) ์ ๊ฐ๋ ์ด ๋ฑ์ฅํฉ๋๋ค.
๊ทธ๋ผ ๊ด๋ จ๋ ๊ฐ๋ ๋ค์ ๋ํด์ ํ๋์ฉ ์ ๋ฆฌํ๋์ชฝ์ผ๋ก ํฌ์คํ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ ๊ฒฝ๋ง
์ธ๊ฐ์ ๋ด๋ฐ์ ํ๋์ ๋ ธ๋(์ธ๊ณต ๋ด๋ฐ)์ผ๋ก ๊ฐ์ํํ์ฌ ๊ฐ ๋ ธ๋์ ํน์ฑ(๊ฐ์ค์น)๋ฅผ ๋ค๋ฅด๊ฒ ์ค์ ํ์ฌ ๋์ผํ ์ ๋ ฅ์ ๋ํด ๋ค์ํ ๋ฐ์์ ๋ฐ์ํ๋๋ก ํ๊ฒ ํจ
์ธ๊ณต์ง๋ฅ(AI)
์ธ๊ฐ์ ์ง๋ฅ์ ๊ฐ๊ณ ์๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์ปดํจํฐ ์์คํ ์ด๋ฉฐ, ์ง๋ฅ์ ๊ธฐ๊ณ ๋ฑ์ ์ธ๊ณต์ ์ผ๋ก ์์ฐํ ๊ฒ์ ๋๋ค.
๋จธ์ ๋ฌ๋(Machine Learning)
๊ธฐ๊ณ ํ์ต์ด๋ฉฐ, ์ธ๊ณต์ง๋ฅ์ ํ ๋ถ์ผ๋ก์, ์ปดํจํฐ์๊ฒ ๋ฐ์ดํฐ๋ฅผ ํ์ตํ์ฌ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ธฐ์ ์ ๊ฐ๋ฐํ๋ ๋ถ์ผ์ ๋๋ค
๋ฅ๋ฌ๋(Deep Learning)
์ฌ์ธต ํ์ต ์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฒ์ผ๋ก ๋ณํ ๊ธฐ๋ฒ์ ์กฐํฉ์ ์ด์ฉํ์ฌ ๋์ ์์ค์ ์ถ์ํ๋ฅผ ์๋ํ๋ ๊ฒ์ ๋๋ค
์ฌ๋์ด ์ง์ ์๋ํ์ง ์์๋ ์์์ ํน์ง์ ์ฐพ์๋ด๊ณ ํจํด์ ๋ถ์ํ์ฌ ์์์ ํ์ตํ๋ ๊ธฐ๊ณํ์ต์ ํ ๋ถ์ผ์ ๋๋ค
๋จธ์ ๋ฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์ ํ์ 3๊ฐ์ง ์ ๋๋ค
์ฒซ๋ฒ์งธ, ์์ธก, ๋ถ๋ฅ์ ๋๋ค - Supervised Learning
-train, test ๋ก์ ๋ฌธ์ ์ ์ ๋ต์ ์๋ ค์ฃผ๊ณ ๊ณต๋ถ์ํค๋ ๋ฐฉ๋ฒ์ ๋๋ค.
-๋ถ๋ฅ(Classification), ํ๊ท(Regression), ์์ธก(Forecasting) ์ด ์์ต๋๋ค.
๋๋ฒ์งธ, ์ฐ๊ด ๊ท์น ๋ฐ ๊ตฐ์ง์ ๋๋ค. - Unsupervised Learning
-๋ต์ ๊ฐ๋ฅด์ณ์ฃผ์ง ์๊ณ ๊ณต๋ถ์ํค๋ ๋ฐฉ๋ฒ์ ๋๋ค.
-ํด๋ฌ์คํฐ๋ง(Clustering), ์ฐจ์ ์ถ์(Dimension Reduction) ์ด ์์ต๋๋ค.
- ํด๋ฌ์คํฐ๋ง์๋ ํน์ ๊ธฐ์ค์ ๋ฐ๋ผ ์ ์ฌํ ๋ฐ์ดํฐ ๋ชจ์ง๋ค์ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ง๋๋๋ฐ, ์ด๋ ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ์ธ๋ถ์ ์ผ๋ก ๋ถ๋ฅํ๋ ๊ธฐ๋ฒ์ผ๋ก ๋ฏธ์ธํ๊ฒ ์ต์ ๊ฐ๋ค์ ๋ฐ๊ฟ์ค์ผ๋ก ๊ณ ์ ํ ํจํด์ ์ฐพ๊ธฐ ์ํด ๊ทธ๋ฃน ์ฐจ์์์ ๋ถ์์ ์ํํ๊ฒ ๋ฉ๋๋ค.
์ธ๋ฒ์งธ, ๊ฐํ ํ์ต์ ๋๋ค. - Reinforcement Learning
-๋ณด์์ ํตํด, ์์ ์ต๋ํ, ๋ฒ์ ์ต์ํํ๋ ๋ฐฉํฅ์ผ๋ก ํ์๋ฅผ ๊ฐํํ๋ ํ์ต ๋ฐฉ๋ฒ์ ๋๋ค
์ธ๊ณต ์ ๊ฒฝ๋ง
๋ฅ๋ฌ๋์ ๊ทผ๊ฐ์ ์ธ๊ณต ์ ๊ฒฝ๋ง์ ๋๋ค
์ธ๊ฐ์ ๋์ ๊ฒฝ์ฐ ์ฒ์ต๊ฐ์ ๋ด๋ฐ์ผ๋ก ์ด๋ค์ ธ ์์ต๋๋ค. ๋ด๋ฐ๊ณผ ๋ด๋ฐ ์ฌ์ด์๋ ์๋ ์ค๋ผ๋ ์ฐ๊ฒฐ ๋ถ์๊ฐ ์๋๋ฐ, ์ ๊ฒฝ ๋ง๋จ์์ ์๊ทน์ ๋ฐ์ผ๋ฉด ์๋ ์ค์์ ํํ ๋ฌผ์ง์ด ๋์ ์ ์ ๋ณํ๋ฅผ ์ผ์ผํต๋๋ค(์ ๊ธฐ์ ์์น ์๋์ง์ ๋ณํ๋ฅผ ๋งํฉ๋๋ค). ์ ๊ฒฝ์์๋ ์ ๊ธฐ ์ ํธ๋ก ๋ด์ฉ์ด ์ ๋ฌ๋ฉ๋๋ค. ์ด๋ ์ ์๊ฐ ์๊ณ ๊ฐ์ด ์๋๋ฐ, ์ด ๊ฐ์ ๋๊ฒ ๋๋ฉด ๋ค์ ๋ด๋ฐ์ผ๋ก ๊ทธ ์ ํธ๋ฅผ ์ ๋ฌํ๊ณ , ์๊ณ ๊ฐ์ ๋๋ฌํ์ง ์๋๋ค๋ฉด ์๋ฌด๊ฒ๋ ํ์ง ๋ชปํฉ๋๋ค.
์ด ๋งค์ปค๋์ฆ์ ๋ก์ง์คํฑ ํ๊ท์ ๋ง์ด ๋ฎ์์ต๋๋ค. ์ ๋ ฅ ๊ฐ์ ๋๊ณ ํ์ฑํ ํจ์์ ์ํด ์ผ์ ํ ์์ค์ ๋์ผ๋ฉด ์ฐธ(True)๋ฅด, ๊ทธ๋ ์ง ์๋๋ค๋ฉด ๊ฑฐ์ง(False)๋ฅผ ๋ด๋ณด๋ด๋ ์ด ๊ฐ๋จํ ํ๋ก๊ฐ ํ๋ ์ผ์ด ๋ด๋ฐ๊ณผ ๋์ผํฉ๋๋ค.
์ธ๊ณต ์ ๊ฒฝ๋ง(Artificial Neural Netwrok) ๋ผ๊ณ ํ๋ ๊ฒ์ ์ฐ๋ฆฌ ๋ชธ ์์ ์๋ง์ ๋ด๋ฐ์ด ์๋ก ๊ธด๋ฐํ ์ฐ๊ฒฐ๋์ด ์ ๊ฒฝ ๋ง๋จ์์ ๋์ ์ด๋ฅด๊น์ง ๊ณณ๊ณณ์์ ์ ๋ณด๋ฅผ ์ ๋ฌํ๋ ์ญํ ์ ์ํํ๋๋ฐ, ์ด๋ฌํ ์ ๋ฌ์ ๊ฒฐ๊ณผ๋ก์ '์๊ฐ'์ด๋ผ๋ ๊ฒ์ด ํ์ฑ์ด ๋ฉ๋๋ค. ์ด๋ฅผ ์ธ๊ณต์ ์ผ๋ก ๋ง๋ ๊ฒ์ด ์ธ๊ณต ์ ๊ฒฝ๋ง์ ๋๋ค. ๋ด๋ฐ๊ณผ ๋ด๋ฐ ์ฌ์ด์ ์๋ก์ด ์ฐ๊ฒฐ์ ๋ง๋ค๊ฑฐ๋ ํ์์ ๋ฐ๋ผ ์์น๋ฅผ ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ฒ๋ผ, ์ฌ๋ฌ ์ธต์ ํผ์ ํธ๋ก ์ ์๋ก ์ฐ๊ฒฐ์ํค๊ณ ๋ณต์กํ๊ฒ ์กฐํฉํฉ๋๋ค. ๊ทธ์ ๋ฐ๋ผ ์ฃผ์ด์ง ์ ๋ ฅ ๊ฐ์ ๋ํ ์ ์ ํ ํ๋จ์ ํ๊ฒ ํ๋ ๊ฒ์ด ๋ฐ๋ก ์ ๊ฒฝ๋ง์ ๊ธฐ๋ณธ ๋งค์ปค๋์ฆ์ ๋๋ค.
๊ฐ์ค์น, ๋ฐ์ด์ด์ค, ๊ฐ์คํฉ, ํ์ฑํ ํจ์
https://koocci.gitbooks.io/aiclub-d/content/4c8fc-cc28-c870-baa8-c784/bc1c-d45c-b0b4-c6a9.html
์์ธํ ์ค๋ช ์ ์์ ์ ์ค๋ช ๋์ด ์์ต๋๋ค.
y= wx + b
๊ทธ๋ฆฌ๊ณ w๋ ๊ฐ์ค์น, b๋ ๋ฐ์ด์ด์ค ์ ๋๋ค.
๊ฐ์ค์น๋ ๋ชจ๋ ์ ๋ ฅ ๊ฐ๋ค์ด y๊ฐ์ ๋๊ฐ์ ์ํฅ์ ๋ฏธ์น๋ ๊ฒ์ด ์๋๊ธฐ์ ๊ฐ์คํฉ(weighted sum)์ด๋ผ๋ ์ฉ์ด๊ฐ ๋ฑ์ฅํ์ต๋๋ค.
0,1๋ก ์ฐธ๊ณผ ๊ฑฐ์ง์ ๊ตฌ๋ถํ๋ ๊ฒ์ด ๋ฐ๋ก ํ์ฑํ ํจ์์ด๋ฉฐ, ๋ํ์ ์ธ ์๊ฐ ์๊ทธ๋ชจ์ด๋ ํจ์์ ๋๋ค.
๋ค์ธต ํผ์ ํธ๋ก
XOR ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ์๋กญ๊ฒ ๋ฑ์ฅํ์์ต๋๋ค. ๊ธฐ๋ณธ ์ ๋ ฅ์ธต์์ '์๋์ธต'์ด๋ผ๋ ๊ทธ๋ํ๊ฐ ๋ฑ์ฅํ์ฌ ์ถ๋ ฅ์ ๊ฐ์ ์ํ๋ ๊ฒฐ๊ณผ๊ฐ์ผ๋ก ๋ง๋ญ๋๋ค.
XOR
Exclusive OR ์ ๋๋ค
์ ๋ ฅ 1 | ์ ๋ ฅ 2 | ๊ฒฐ๊ณผ๊ฐ |
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
์๋ก ๊ฐ์ ๊ฐ์ผ๋๋ 0์ด๊ณ ์๋ก ๋ค๋ฅธ ๊ฐ์ผ๋๋ 1์ ๊ฐ์ ์ถ๋ ฅํฉ๋๋ค
์ฌ๊ธฐ์ ํ๋์ ์ง์ ์ ๊ทธ์ด์ ์๊ณผ ๋ค๋ชจ๋ฅผ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์ ์ค์ ์ฝ๋ฉ์ผ๋ก ๊ตฌํํด๋ณด๊ฒ ์ต๋๋ค.
๋ฅ๋ฌ๋์ ๋๋ฆฌ๊ธฐ ์ํ GPU ์ธํ
1. ์๋์ฝ๋ค์ ์ ์ํฉ๋๋ค
2. py37 ์์ ํ๊ฒฝ์ ๋ง๋ค์ด ํ์ด์ 3.7 ๋ฒ์ ์ ์ค์นํ์ฌ ํ๊ฒฝ ์ค์ ์ ํฉ๋๋ค
3. ํ ์ํ๋ก, ์ผ๋ผ์ค๋ฅผ ์ค์นํฉ๋๋ค
4. python ์ ์คํํ๊ณ , ์ค์น๊ฐ ์ ์๋ฃ๋์๋์ง ํ์ธํฉ๋๋ค.
-์ถ๊ฐ ์ฌํญ(์ค์ โ )
์ฃผํผํฐ ๋ ธํธ๋ถ ์ค์น
conda install jupyter notebook
GPU ์ด์ฉ ์ค์ ๋ฐ CPU ์ด์ฉ ์ค์
#GPU ๋ฒ์
conda install -c anaconda keras-gpu
#CPU ๋ฒ์
conda install -c anaconda keras
์ ๋ base ํ๊ฒฝ์์ conda env list ๋ฅผ ํตํด py37 ๋ฒ์ ์์ ์งํํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์
๋ค์๊ณผ ๊ฐ์ด ์ฝ๋ฉ์ ์ ๋ ฅํ์์ต๋๋ค.
GPU๋ฅผ ์ค์นํ๋ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ฒ๋๋ฉด, ์๋นํ ๋ง์ ํจํค์ง ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ด ๊ฐ์ด ์ค์น๋๊ฒ๋ ์ ๋ํ๋๋ฐ, Tensorflow๋ฅผ ํฌํจํ CUDA, CuDNN ๊ณผ ๊ฐ์ ํจํค์ง๋ค์ด ๊ฐ์ด ์ค์น๊ฐ ๋ฉ๋๋ค.
๋ค๋ฅธ ๋ธ๋ก๊ทธ๋ฅผ ๋ณด๋ keras 2.3.1 cuda 10.1 cudnn 7.6.5 tensorflow 2.1 ์ด ์ค์น๊ฐ ๋๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ ๊ฐ์ ๊ฒฝ์ฐ, 2021๋ 11์ 16์ผ ํ์ฌ tensorflow gpu 2.3 ์ด ๋ค์ด๋ฐ์์ก์ต๋๋ค.
keras gpu๋ 2.4.3์ ๋๋ค.
์์ ๋ช ๋ น์ด๋ก keras๋ฅผ ์ค์นํ๊ฒ ๋๋ฉด Tensorflow๋ฅผ ํฌํจํ CUDA, CuDNN ๊ณผ ๊ฐ์ ๋ค๋ฅธ ํจํค์ง๋ ํจ๊ป ์ค์น๊ฐ ๋ฉ๋๋ค. tensorflow 2.x ๋ฒ์ ์์๋ 1.x ๋ฒ์ ๊ณผ ์ฝ๋ ์ ์ฉ์ ๋ค๋ฅธ ๋ถ๋ถ์ด ์์ ์ ์์ต๋๋ค. ์ด ์ ์ฐธ๊ณ ํ์์ด ์ค์นํ์ค ๋ ํธํ์ ๋ฒ์ ์ ์ค์นํ๋ ๊ฒ์ ์ถ์ฒ ๋๋ฆฝ๋๋ค.
์ค์น๋ ์๋ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค์ ๋๋ค
๋ง์ง๋ง์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ pandas, seaborn(๋ฐ์ดํฐ ์๊ฐํ), scikit-learn(ML์ ๋ํ), pillow ๋ฑ์ ์ถ๊ฐ๋ก ๋ค์ด ๋ค์ด๋ฐ์ ํ๊ฒฝ ์ธํ ์ ๋ง๋ฌด๋ฆฌ ํ์์ต๋๋ค.
๋ฌด์จ ์ด์ ์์์ธ์ง, ์๋์ฝ๋ค ๊ฐ์ํ๊ฒฝ์์ ์ธํ ํ ํ๊ฒฝ์ด VS code์์ ๋ถ๋ฌ์์ง์ง ์์์ต๋๋ค. ์๋ฌ๊ฐ ๋ฌด์์ธ์ง ๋ชจ๋ฅด๊ณ ๋ฐฉํฉํ๋ค๊ฐ, ์์ฒด์ ์ผ๋ก ์ค์นํ์ต๋๋ค.
ํด๊ฒฐ๋ฐฉ๋ฒ
์ด์ ๋ ๋ฒ์ ์ด ์ ๊ทธ๋ ์ด๋ ๋์ด์, ํ์ด์ 3.8๋ฒ์ ์ดํ์์๋ tensorflow ๊ธฐ๋ฅ์ ์ง์ํ์ง ์๋๋ค๋ ๋ง์ด์๋ค.
๊ทธ๋ฆฌ๊ณ keras ๊ฐ์ ๊ฒฝ์ฐ์๋ tensorflow ์์ ์์ผ๋ฉด์, models ๋ keras ์์ ์๋ค๊ณ ํ๋ค
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Activation
์ข ์ ๊ด๊ณ ์ ๋ง ์ค์ํ๋ค.
์ฆ, pip install์ tensorflow๋ง ํ๋ฉด ๋๋ค!!
'๐๏ธ์ํํธ์จ์ด > ๐ปpython' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
vscode ๋จ ์ฌ์ฉ (0) | 2021.11.16 |
---|---|
[github code]๊นํ๋ธ ํ์ผ ๋ค์ด๋ฐฉ๋ฒ (0) | 2021.11.16 |
cannot import name 'image' from 'PIL' ์๋ฌ (0) | 2021.11.13 |
No module named 'cv2' ์๋ฌ ํด๊ฒฐ๋ฐฉ๋ฒ (0) | 2021.11.13 |
tf,idf ๋ฐฉ์ (0) | 2021.11.12 |