์ด ๋ฌธ์์ ์๋ณธ์ ์ธ๋ถ ์ํค์์ ๊ฐ์ ธ์์ต๋๋ค.
TensorFlow์์ ๋์ด์ด
TensorFlow
1. ๊ฐ์[ํธ์ง]
๊ตฌ๊ธ์ด 2011๋
์ ๊ฐ๋ฐ์ ์์ํ์ฌ 2015๋
์ ์คํ ์์ค๋ก ๊ณต๊ฐํ ๊ธฐ๊ณํ์ต ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
๊ณต์ ์ฌ์ดํธ
๋ฅ๋ฌ๋๊ณผ ๊ธฐ๊ณํ์ต ๋ถ์ผ๋ฅผ ์ผ๋ฐ์ธ๋ค๋ ์ฌ์ฉํ๊ธฐ ์ฝ๋๋ก ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋ค. 2016๋ ์ํ๊ณ ์ ํจ๊ป ํ๊ตญ์์๋ ๊ด์ฌ์ด ๋์์ง ์ถ์ธ์ด๋ฉฐ ๊ด๋ จ ์ปจํผ๋ฐ์ค๋ค๋ ๊ฐ์ต๋๊ณ ์๋ค.
ํ์ด ๋ ๋ฒจ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์๋ ค์ง Python์ ํ์ฉํ์ฌ ์ฐ์ฐ์ฒ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋ค. ๋ค๋ฅธ ์ธ์ด๋ค๋ ๋๋ถ๋ถ ์ง์ํ์ง๋ง Python ๊ด๋ จ ์๋ฃ๊ฐ ๊ฐ์ฅ ๋ง๋ค. ๋๋ฌธ์ ๊ณต๊ฐ๋ ์ง ๊ทธ๋ฆฌ ์ค๋๋์ง ์์์์๋ ๋ถ๊ตฌํ๊ณ ํ ์ํ๋ก์ฐ๊ฐ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋๊ณ ์๋ค.
๋จ, ๊ธฐ๊ณํ์ต์ ์ ๋ง๋ก ๋ก์ฐ ๋ ๋ฒจ๋ถํฐ ์ง๊ฑฐ๋, ์ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ํ๋ก์ ํธ์ ๋ฑ ๋ง๋ ์ต์ ์ ๊ตฌ์กฐ๋ก ํ์ต์์ผ ์ต์ ์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ด๊ธฐ ์ํด์๋ ํ์ดํ ์น๋ฅผ ์จ์ผ ํ๋ค. ์ด์ ๋ ํ ์ํ๋ก์ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฒด๊ฐ ์ ๊ฒฝ๋ง์ด ํ๋ฒ ํ์ต๋๊ธฐ ์์ํ๋ฉด ์ ๊ฒฝ๋ง์ ๊ตฌ์กฐ๋ ๊ทธ ๊ตฌ์กฐ๋ก ๊ณ ์ ๋์ด์ผ๋ง ํ์ต์ด ๊ฐ๋ฅํ ๊ทธ๋ํ ๊ตฌ์กฐ์ธ๋ฐ ๋นํด, ํ์ดํ ์น๋ ํ์ต ๊ณผ์ ์์ ์ ๊ฒฝ๋ง์ ๊ตฌ์กฐ๊น์ง ์ค์ค๋ก ํ์ตํ์ฌ ์ค์ค๋ก ๋ณํ๊ฒ ํ ์ ์๋ ๋ ์ด์ด๊ตฌ์กฐ๊ธฐ ๋๋ฌธ์ด๋ค. ์ค์ ์์ฉ์ ์ฐ์ด๋ ๋ฐ๋ ์ฑ๋ฅ์ ์ฐจ์ด๊ฐ ์ฌํ๋ฉฐ, ์ด๋ฏธ ํ๊ณ์์๋ ํ์ดํ ์น๊ฐ ํ ์ํ๋ก์ฐ๋ฅผ ์์ง๋ฌ์ ๋์ธ๋ก ์ฐ์ด๊ณ ์๋ค. ์ค์ฃฝํ๋ฉด ํด์ธ์๋ ๊ตฌ๊ธ์ด ์ค์ ์ฌ๋ด์์ ๊ณต๊ฐ๋ ํ ์ํ๋ก์ฐ๋ฅผ ์์ด๋ค๋ ๋ง๋ถํฐ(๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ด๊ธฐ ์ํด์๋ ํ์ดํ ์น ๋๋น ์์ญ๋ฐฐ ๋ ๋ง์ ์ปดํจํ ํ์์ ํ๋ จ ์๊ฐ์ ์๊ตฌํ๋ค), ํ ์ํ๋ก์ฐ๋ ์ฒซ ๋จ์ถ๋ถํฐ ์๋ชป ์์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋๊ฐ ํ๋ ์์กฐ๋ ๋๊ณ ์๋ค. ๋จ ๊ฐ๋จํ๊ฒ ์์ฉ์ผ๋ก ๊ฐ๋ฐํ๋๋ฐ ์์ด์๋ ์์ง๊น์ง ์ฌ์ฉ์๊ฐ ๋ง์ ํ ์ํ๋ก์ฐ๊ฐ ์ฐธ๊ณ ์๋ฃ๊ฐ ๋ง์ ์ ์ฉํ ํธ์ด๋ค.
ํ ์ํ๋ก์ฐ๊ฐ ํ์ดํ ์น๋ณด๋ค ํผํฌ๋จผ์ค๊ฐ ๋จ์ด์ง๋ ๊ฒ์ ์ฌ์ค์ด๋ ํ ์ํ๋ก์ฐ์ ์ ํ์ด ๊ตฌ๊ธ์์ ๋ง๋ค์๊ณ ์ฑ๋ฅ ์ธ์ ์ธ ์ธก๋ฉด๋๋ฌธ์ ํ ์ํ๋ก์ฐ๊ฐ ์ฌ์ฉ๋๋ค๋๊ฒ์ ์ค๋ฅ๊ฐ ์๋ ์ฃผ์ฅ์ด๋ค. ํ ์ํ๋ก์ฐ๋ ํต์์ ์ผ๋ก ์ฌ์ฉ๋์ง ์๋ ๊ตฌ์กฐ๋ ๋ณต์กํ ๊ตฌ์กฐ์ ์ ํฉํ๊ธฐ ๋๋ฌธ์ ์ฐ์ต๋ฌธ์ ๋ ์ฌ์ ์ ์์ด์๋ ํ์ดํ ์น๊ฐ ์ ์ ํ์ง๋ง ์๋ก์ด ์ ๊ฒฝ๋ง ๊ตฌ์กฐ์ ์ฐ๊ตฌ์ ์์ด์๋ ํ ์ํ๋ก์ฐ๊ฐ ๋ ๋ซ๋ค. ์ค์ ๋ก ํ์ดํ ์น๋ก ์๋ก์ด ๊ตฌ์กฐ๋ฅผ ์คํํด๋ณด๋ฉด ์ ์ ์๋ ์ด์ ๋๋ฌธ์ ํ์ต์ด ์๋๋ค๊ฐ ํ ์ํ๋ก์ฐ๋ก ๋๊ฐ์ด ๋ง๋ค์๋๋ ๋๋ค๋ ์ฌ๋ก๊ฐ ๊ต์ฅํ ๋ง๋ค. ๋ํ ํฌ๊ณ ๋ณต์กํ ๊ตฌ์กฐ์ผ ์๋ก ํ ์ํ๋ก์ฐ๊ฐ ํ์ดํ ์น์ ํผํฌ๋จผ์ค์ ๊ฑฐ์ ๊ทผ์ ํ๋ค๋ ์๋ฃ๋ ์๋ค.
๊ณต์ ์ฌ์ดํธ
๋ฅ๋ฌ๋๊ณผ ๊ธฐ๊ณํ์ต ๋ถ์ผ๋ฅผ ์ผ๋ฐ์ธ๋ค๋ ์ฌ์ฉํ๊ธฐ ์ฝ๋๋ก ๋ค์ํ ๊ธฐ๋ฅ๋ค์ ์ ๊ณตํ๋ค. 2016๋ ์ํ๊ณ ์ ํจ๊ป ํ๊ตญ์์๋ ๊ด์ฌ์ด ๋์์ง ์ถ์ธ์ด๋ฉฐ ๊ด๋ จ ์ปจํผ๋ฐ์ค๋ค๋ ๊ฐ์ต๋๊ณ ์๋ค.
ํ์ด ๋ ๋ฒจ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ก ์๋ ค์ง Python์ ํ์ฉํ์ฌ ์ฐ์ฐ์ฒ๋ฆฌ๋ฅผ ์์ฑํ ์ ์๋ค. ๋ค๋ฅธ ์ธ์ด๋ค๋ ๋๋ถ๋ถ ์ง์ํ์ง๋ง Python ๊ด๋ จ ์๋ฃ๊ฐ ๊ฐ์ฅ ๋ง๋ค. ๋๋ฌธ์ ๊ณต๊ฐ๋ ์ง ๊ทธ๋ฆฌ ์ค๋๋์ง ์์์์๋ ๋ถ๊ตฌํ๊ณ ํ ์ํ๋ก์ฐ๊ฐ ๋ค์ํ ๋ถ์ผ์์ ํ์ฉ๋๊ณ ์๋ค.
๋จ, ๊ธฐ๊ณํ์ต์ ์ ๋ง๋ก ๋ก์ฐ ๋ ๋ฒจ๋ถํฐ ์ง๊ฑฐ๋, ์ ๊ฒฝ๋ง ๊ตฌ์กฐ๋ฅผ ํ๋ก์ ํธ์ ๋ฑ ๋ง๋ ์ต์ ์ ๊ตฌ์กฐ๋ก ํ์ต์์ผ ์ต์ ์ ๊ฒฐ๊ณผ๋ฌผ์ ๋ด๊ธฐ ์ํด์๋ ํ์ดํ ์น๋ฅผ ์จ์ผ ํ๋ค. ์ด์ ๋ ํ ์ํ๋ก์ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์์ฒด๊ฐ ์ ๊ฒฝ๋ง์ด ํ๋ฒ ํ์ต๋๊ธฐ ์์ํ๋ฉด ์ ๊ฒฝ๋ง์ ๊ตฌ์กฐ๋ ๊ทธ ๊ตฌ์กฐ๋ก ๊ณ ์ ๋์ด์ผ๋ง ํ์ต์ด ๊ฐ๋ฅํ ๊ทธ๋ํ ๊ตฌ์กฐ์ธ๋ฐ ๋นํด, ํ์ดํ ์น๋ ํ์ต ๊ณผ์ ์์ ์ ๊ฒฝ๋ง์ ๊ตฌ์กฐ๊น์ง ์ค์ค๋ก ํ์ตํ์ฌ ์ค์ค๋ก ๋ณํ๊ฒ ํ ์ ์๋ ๋ ์ด์ด๊ตฌ์กฐ๊ธฐ ๋๋ฌธ์ด๋ค. ์ค์ ์์ฉ์ ์ฐ์ด๋ ๋ฐ๋ ์ฑ๋ฅ์ ์ฐจ์ด๊ฐ ์ฌํ๋ฉฐ, ์ด๋ฏธ ํ๊ณ์์๋ ํ์ดํ ์น๊ฐ ํ ์ํ๋ก์ฐ๋ฅผ ์์ง๋ฌ์ ๋์ธ๋ก ์ฐ์ด๊ณ ์๋ค. ์ค์ฃฝํ๋ฉด ํด์ธ์๋ ๊ตฌ๊ธ์ด ์ค์ ์ฌ๋ด์์ ๊ณต๊ฐ๋ ํ ์ํ๋ก์ฐ๋ฅผ ์์ด๋ค๋ ๋ง๋ถํฐ(๋์ผํ ๊ฒฐ๊ณผ๋ฅผ ๋ด๊ธฐ ์ํด์๋ ํ์ดํ ์น ๋๋น ์์ญ๋ฐฐ ๋ ๋ง์ ์ปดํจํ ํ์์ ํ๋ จ ์๊ฐ์ ์๊ตฌํ๋ค), ํ ์ํ๋ก์ฐ๋ ์ฒซ ๋จ์ถ๋ถํฐ ์๋ชป ์์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ์๋๊ฐ ํ๋ ์์กฐ๋ ๋๊ณ ์๋ค. ๋จ ๊ฐ๋จํ๊ฒ ์์ฉ์ผ๋ก ๊ฐ๋ฐํ๋๋ฐ ์์ด์๋ ์์ง๊น์ง ์ฌ์ฉ์๊ฐ ๋ง์ ํ ์ํ๋ก์ฐ๊ฐ ์ฐธ๊ณ ์๋ฃ๊ฐ ๋ง์ ์ ์ฉํ ํธ์ด๋ค.
ํ ์ํ๋ก์ฐ๊ฐ ํ์ดํ ์น๋ณด๋ค ํผํฌ๋จผ์ค๊ฐ ๋จ์ด์ง๋ ๊ฒ์ ์ฌ์ค์ด๋ ํ ์ํ๋ก์ฐ์ ์ ํ์ด ๊ตฌ๊ธ์์ ๋ง๋ค์๊ณ ์ฑ๋ฅ ์ธ์ ์ธ ์ธก๋ฉด๋๋ฌธ์ ํ ์ํ๋ก์ฐ๊ฐ ์ฌ์ฉ๋๋ค๋๊ฒ์ ์ค๋ฅ๊ฐ ์๋ ์ฃผ์ฅ์ด๋ค. ํ ์ํ๋ก์ฐ๋ ํต์์ ์ผ๋ก ์ฌ์ฉ๋์ง ์๋ ๊ตฌ์กฐ๋ ๋ณต์กํ ๊ตฌ์กฐ์ ์ ํฉํ๊ธฐ ๋๋ฌธ์ ์ฐ์ต๋ฌธ์ ๋ ์ฌ์ ์ ์์ด์๋ ํ์ดํ ์น๊ฐ ์ ์ ํ์ง๋ง ์๋ก์ด ์ ๊ฒฝ๋ง ๊ตฌ์กฐ์ ์ฐ๊ตฌ์ ์์ด์๋ ํ ์ํ๋ก์ฐ๊ฐ ๋ ๋ซ๋ค. ์ค์ ๋ก ํ์ดํ ์น๋ก ์๋ก์ด ๊ตฌ์กฐ๋ฅผ ์คํํด๋ณด๋ฉด ์ ์ ์๋ ์ด์ ๋๋ฌธ์ ํ์ต์ด ์๋๋ค๊ฐ ํ ์ํ๋ก์ฐ๋ก ๋๊ฐ์ด ๋ง๋ค์๋๋ ๋๋ค๋ ์ฌ๋ก๊ฐ ๊ต์ฅํ ๋ง๋ค. ๋ํ ํฌ๊ณ ๋ณต์กํ ๊ตฌ์กฐ์ผ ์๋ก ํ ์ํ๋ก์ฐ๊ฐ ํ์ดํ ์น์ ํผํฌ๋จผ์ค์ ๊ฑฐ์ ๊ทผ์ ํ๋ค๋ ์๋ฃ๋ ์๋ค.
2. ํน์ง[ํธ์ง]
ํ
์ํ๋ก์ฐ๋ ๋ค์๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ค.
- ๋ฐ์ดํฐ ํ๋ก์ฐ ๊ทธ๋ํ๋ฅผ ํตํ ํ๋ถํ ํํ๋ ฅ
- ์์ด๋์ด ํ ์คํธ์์ ์๋น์ค ๋จ๊ณ๊น์ง ์ด์ฉ ๊ฐ๋ฅ
- ๊ณ์ฐ ๊ตฌ์กฐ์ ๋ชฉํ ํจ์๋ง ์ ์ํ๋ฉด ์๋์ผ๋ก ๋ฏธ๋ถ ๊ณ์ฐ์ ์ฒ๋ฆฌ
2.1. ์ฝ๋ ์์ ์์ด CPU/GPU ๋ชจ๋๋ก ๋์[ํธ์ง]
๊ณต๊ฐ๋ ๋ฒ์ ์ ์ผ๋ฐ ๋ฒ์ ๊ณผ GPU ๊ฐ์ ๋ฒ์ ๋ ๊ฐ์ง์ด๋ค. ์ผ๋ฐ ๋ฒ์ ์ ์ด๋ค ์ปดํจํฐ์์๋ ์คํํ ์ ์๋ค๋ ์ฅ์ ์ด ์๋ค.
GPU ๊ฐ์ ๋ฒ์ ์ GPGPU๋ฅผ ์ฌ์ฉํด ๋๋ ์ฐ์ฐ์ ๋น ๋ฅด๊ฒ ์ํํ๋ฏ๋ก ํจ์ฌ ๋น ๋ฅด๊ฒ ๋์ํ๊ฒ ๋๋ค. ํ์ฌ NVIDIA์ GPGPU ์ธ์ด์ธ CUDA๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ NVIDIA ๊ทธ๋ํฝ์นด๋๊ฐ ์์ผ๋ฉด ์ฌ์ฉํ ์ ์๋ค[2]. GPU ๊ฐ์ ๋ฒ์ ์ ์ฑ๋ฅ์ CPU ์ฑ๋ฅ๊ณผ๋ ๋ณ ๊ด๊ณ๊ฐ ์๊ณ GPU ์ฑ๋ฅ์ด ์ค์ํ๋ค. CUDA ๋๋ผ์ด๋ฒ์ cuDNN ๋๋ผ์ด๋ฒ๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์ค์นํ์ฌ์ผ ํ๋ค.
๊ทธ ์ธ์ ๊ตฌ๊ธ์ด ์์ฌ ์๋น์ค๋ฅผ ์ํด ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ ๋ฒ์ ๋ ์๋๋ฐ, ์ด๊ฒ์ ๊ตฌ๊ธ์ด ์์ฒด๊ฐ๋ฐํ AI ๊ฐ์ ํ๋์จ์ด์ธ TPU(Tensor Processing Unit) ์์์ ๋์ํ๊ธฐ ๋๋ฌธ์ ์ธํ ์ ์จ์ด๋ ์๋น๋์ ํ ์ฌ๋ผ๋ณด๋ค๋ 15~30๋ฐฐ ๋ ๋น ๋ฅด๋ค.
TensorFlow 2.0์ด ์ถ์๋๋ฉด์ CPU ๋ฒ์ ๊ณผ GPU ๋ฒ์ ์ด ํตํฉ๋์๋ค. CUDA ํ๊ฒฝ ์ค์น๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๋์๋ค๋ฉด ์๋์ผ๋ก GPU๋ฅผ ์ธ์ํด์ค๋ค.
GPU ๊ฐ์ ๋ฒ์ ์ GPGPU๋ฅผ ์ฌ์ฉํด ๋๋ ์ฐ์ฐ์ ๋น ๋ฅด๊ฒ ์ํํ๋ฏ๋ก ํจ์ฌ ๋น ๋ฅด๊ฒ ๋์ํ๊ฒ ๋๋ค. ํ์ฌ NVIDIA์ GPGPU ์ธ์ด์ธ CUDA๋ฅผ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ NVIDIA ๊ทธ๋ํฝ์นด๋๊ฐ ์์ผ๋ฉด ์ฌ์ฉํ ์ ์๋ค[2]. GPU ๊ฐ์ ๋ฒ์ ์ ์ฑ๋ฅ์ CPU ์ฑ๋ฅ๊ณผ๋ ๋ณ ๊ด๊ณ๊ฐ ์๊ณ GPU ์ฑ๋ฅ์ด ์ค์ํ๋ค. CUDA ๋๋ผ์ด๋ฒ์ cuDNN ๋๋ผ์ด๋ฒ๋ฅผ ์ถ๊ฐ์ ์ผ๋ก ์ค์นํ์ฌ์ผ ํ๋ค.
๊ทธ ์ธ์ ๊ตฌ๊ธ์ด ์์ฌ ์๋น์ค๋ฅผ ์ํด ๋ด๋ถ์ ์ผ๋ก ์ฌ์ฉํ๊ณ ์๋ ๋ฒ์ ๋ ์๋๋ฐ, ์ด๊ฒ์ ๊ตฌ๊ธ์ด ์์ฒด๊ฐ๋ฐํ AI ๊ฐ์ ํ๋์จ์ด์ธ TPU(Tensor Processing Unit) ์์์ ๋์ํ๊ธฐ ๋๋ฌธ์ ์ธํ ์ ์จ์ด๋ ์๋น๋์ ํ ์ฌ๋ผ๋ณด๋ค๋ 15~30๋ฐฐ ๋ ๋น ๋ฅด๋ค.
TensorFlow 2.0์ด ์ถ์๋๋ฉด์ CPU ๋ฒ์ ๊ณผ GPU ๋ฒ์ ์ด ํตํฉ๋์๋ค. CUDA ํ๊ฒฝ ์ค์น๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๋์๋ค๋ฉด ์๋์ผ๋ก GPU๋ฅผ ์ธ์ํด์ค๋ค.
2.2. Tensorflow Lite[ํธ์ง]
TensorFlow๋ก ํ๋ จํ ๋ชจ๋ธ์ ์๋๋ก์ด๋๋ iOS, ๋๋ ๋ ์์ ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด ๊ฐ์ ๊ฑฐ์๋ค๊ฐ ์ฌ์ฉํ ์ ์๊ฒ ๋ณํํ๋ ๊ธฐ์ ์ด๋ค. ์๋๋ก์ด๋์ ๊ฒฝ์ฐ, ์ด .tflite ํ์ผ์ ์ง์ ๋ฃ์ ์๋ ์์ผ๋ฉฐ MLKit๋ฑ์ ํ์ฉํด ์ข ๋ ์ฝ๊ฒ ์ ์ฉํ ์ ์๋ค. ์๋ฅผ ๋ค์ด ์ด๋ฏธ์ง ๋ถ๋ฅ ๋ฌธ์ ๋ฅผ ์ํด ResNet50์ ํ๋ จํ๋ค๋ฉด, model ์ ํด๋น tflite ํ์ผ์ ์ค์ ํ๊ณ , ์ด๋ฏธ์ง๋ฅผ 1*224*224*3 ์ฌ์ด์ฆ์ ๋นํธ๋งต์ผ๋ก ๋ณํํ ํ ๊ฐ RGB ๊ฐ์ 255๋ฅผ ๋๋ ์ preprocessํ๋ฉด ๋๋ค. ๊ทธ ๋ค์, ์ด ํ์ผ์ ๋ชจ๋ธ์ inputํ๋ฉด ๊ฐ label ๋ณ๋ก ์์ธกํ ํ๋ฅ ์ array๊ฐ ๋์ค๋๋ฐ, ์ฌ๊ธฐ๋ค๊ฐ argmax ๊ฐ์ ํจ์๋ฅผ ์ฌ์ฉํด์ prediction ๊ฒฐ๊ณผ๋ฅผ ๋ฝ์ ์ ์๋ค.
์์ธํ๊ฑด TfLite ๊ณต์ ๋ฌธ์์ MLKit ๋ฌธ์๋ฅผ ์ฐธ์กฐ.
3. ๊ด๋ จ ๊ฐ์ข ์ฌ์ดํธ ๋ฐ ์ฐธ์กฐ ์ฌ์ดํธ[ํธ์ง]
4. ์์ฉ ์ฌ๋ก[ํธ์ง]
์ด๊ฒ๋ค์ ๊ฐ๋จ ์์ ์์ค์ด๊ณ , ์ ๋ฌธ ์ง์์ด ๊ฒฐํฉ๋๋ฉด ํจ์ฌ ๋ ๋ง์ ์ผ๋ค์ ํ ์ ์๋ค. ๋ฅ๋ฌ๋์ ์์ง ํ๋ฌธ์ ์ฒด๊ณ๊ฐ ์ ๋ฆฝ๋์ง ์์๊ธฐ ๋๋ฌธ์, ๊ฐ์ข ์ฌ๋ก๋ฅผ ์ฐพ์๋ณด๋ ๊ฒ ๋งํผ์ด๋ ์ง์ ๋ง๋ค์ด๋ณด๋ ๊ฒ ๋ ๋น ๋ฅด๋ค.
์ด๋ฃจ๋ค(์ธ๊ณต์ง๋ฅ)์๋ ์์ฉ๋์๋ค!ํํํ ๋ธ๋ก๊ทธ
5. Keras[ํธ์ง]
์ผ๋ผ์ค(Keras)๋ TensorFlow, Theano, CNTK ๋ฑ ๋ฅ ๋ฌ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๋ฐฑ์๋๋ก ์ฌ์ฉํ์ฌ ์ฝ๊ฒ ๋ค์ธต ํผ์
ํธ๋ก ์ ๊ฒฝ๋ง ๋ชจ๋ธ, ์ปจ๋ณผ๋ฃจ์
์ ๊ฒฝ๋ง ๋ชจ๋ธ, ์ํ ์ ๊ฒฝ๋ง ๋ชจ๋ธ, ์กฐํฉ ๋ชจ๋ธ ๋ฑ์ ๊ตฌ์ฑํ ์ ์๋ค.
2017๋ , ๊ตฌ๊ธ์ tensorflow 2.0 ๋ฒ์ ๋ถํฐ๋ ์ฝ์ด ๋ ๋ฒจ์์ Keras๋ฅผ ์ง์ ํ๋๋ก ๋ณ๊ฒฝํ๊ฒ ๋ค๊ณ ๋ฐํ ํ์๊ณ , ํ์ฌ ๋ฐํ๋ Tensorflow 2.0 stable ๋ฒ์ ๋ถํฐ๋ ์ฌ์ค์ ์ ๋ถ Keras๋ฅผ ํตํด์๋ง ๋์ํ๋๋ก ๋ฐ๋์๋ค. ์ฌ์ฉ์์ฉ ํํ ๋ฆฌ์ผ ํ์ด์ง 1.15 ๋ฒ์ ๋ถํฐ deprecated ๋ชฉ๋ก์ ๋ค์ด๊ฐ ์๋ ์์ํ API๊ฐ ๋๋ถ๋ถ ์ ๋ฆฌ๋์๊ณ , ์ต์๋๋ฉด ์กฐ๊ธ ๋ ํธํ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ๋ณํ๋ค. ํ์ง๋ง ๊ทธ๋์ ์ต์ํ๊ฒ ์ฌ์ฉํด ์๋ ๋ชจ๋ธ์ ๋ง๋ ๋ค์ session์ ๋ง๋ค์ด ๋์ํ๋ ๊ตฌ์กฐ์ ์ต์ํ๋ ์ฌ๋๋ค์๊ฒ ๋ฉ๋ถ์ ์ค ๊ฒ์ ๋ค.
2017๋ , ๊ตฌ๊ธ์ tensorflow 2.0 ๋ฒ์ ๋ถํฐ๋ ์ฝ์ด ๋ ๋ฒจ์์ Keras๋ฅผ ์ง์ ํ๋๋ก ๋ณ๊ฒฝํ๊ฒ ๋ค๊ณ ๋ฐํ ํ์๊ณ , ํ์ฌ ๋ฐํ๋ Tensorflow 2.0 stable ๋ฒ์ ๋ถํฐ๋ ์ฌ์ค์ ์ ๋ถ Keras๋ฅผ ํตํด์๋ง ๋์ํ๋๋ก ๋ฐ๋์๋ค. ์ฌ์ฉ์์ฉ ํํ ๋ฆฌ์ผ ํ์ด์ง 1.15 ๋ฒ์ ๋ถํฐ deprecated ๋ชฉ๋ก์ ๋ค์ด๊ฐ ์๋ ์์ํ API๊ฐ ๋๋ถ๋ถ ์ ๋ฆฌ๋์๊ณ , ์ต์๋๋ฉด ์กฐ๊ธ ๋ ํธํ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ๋ณํ๋ค. ํ์ง๋ง ๊ทธ๋์ ์ต์ํ๊ฒ ์ฌ์ฉํด ์๋ ๋ชจ๋ธ์ ๋ง๋ ๋ค์ session์ ๋ง๋ค์ด ๋์ํ๋ ๊ตฌ์กฐ์ ์ต์ํ๋ ์ฌ๋๋ค์๊ฒ ๋ฉ๋ถ์ ์ค ๊ฒ์ ๋ค.
6. ๊ด๋ จ ๋ฌธ์[ํธ์ง]
7. VS ํ์ดํ ์น[ํธ์ง]
๊ฐ์ฅ ํน์ง์ ์ธ ํ์ดํ ์น์ ํ
์ํ๋ก์ฐ์ ์ฐจ์ด์ ์ ๊ฐ๋ตํ๊ฒ ์ค๋ช
ํ์๋ฉด ํ
์ํ๋ก์ฐ๋ ๋ ์ฝ๊ฒ ๋ค๋ฅธ ์ธ์ด๋ ๋ชจ๋์ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ฉฐ, ํ์ดํ ์น๋ ์กฐ๊ธ ๋ ํ์ด์ฌ ์ธ์ด์ ์นํ์ ์ผ๋ก ์ค๊ณ๋์์ผ๋ฉฐ API ์ฌ์ฉ์ด ๋ ์ฝ๋ค. (๋ ์ด์ด ๋์์ ์ปค์คํฐ๋ง์ด์ฆ ํ๊ธฐ ๋ ์ ์ฉํ๋ค.) [4][5] ์ผ๋ฐ์ ์ผ๋ก ์ฐ๊ตฌ์ฉ์ด๋ฉด ํ์ดํ ์น, ๊ธฐ์
์์ ์์ฐํ๊ฑฐ๋ ์ดํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ ์ํ๋ค๋ฉด ํ
์ํ๋ก์ฐ๋ผ๊ณ ๋ค ๋งํ์ง๋ง, ์ด๋ ์ค์ ๊ฐ๋ฐ ํ๊ฒฝ๋ฑ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ์ ์๋ค. ๋ง์ ๋ฌธ์๋ค์ด ์ด์ผ๊ธฐ ํ๋ฏ์ด ๋ '์ข์' ํด์ ์์ผ๋ฉฐ, ์ํฉ์ ๋ง๊ฒ ์ ์ ํ๊ฒ ๋ง์ถฐ ์ฌ์ฉํ๋ฉด ์ข์ ๊ฒ์ด๋ค.
ํ์ด์ค๋ถ์ด ์ ๋ํ๊ณ ์๋ ํ์ดํ ์น์ ๋นํด ๋ ์ง๊ด์ ์ธ ํธ์ด๋ค. ๊ทธ๋ฌ๋ ์์ฝ๊ฒ๋ ๊ตฌ๊ธ์ด ๊ฐ๋ฐํ๋ค๋ ์ด์ ํ๋๋ง์ธ์ง ์ฌ์ฉ์์๊ฐ ์์ง๊น์ง ํ์ดํ ์น๋ณด๋ค ๋ง์ ๊ด๋ จ ์๋ฃ๋ฅผ ์ป๊ธฐ ์์ํ๋ค. ํ๊ณ์์๋ 2017๋ ๋ถํฐ ์ด๋ฏธ ํ์ดํ ์น๊ฐ ํ ์ํ๋ก์ฐ๋ณด๋ค ๋ ๋ง์ด ์ธ๊ธ๋๊ณ ์๋ค. ๋๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ํ ์ํ๋ก์ฐ์ ์ด๋ฏธ ์ต์ํด์ ธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฎ๊ธฐ๊ธฐ ์ซ์ดํ๋ค๋ ์ด์ ๋ ๋ค. ๋ง์ฝ ๋น์ ์ด ๋จธ์ ๋ฌ๋์ ๋ง ์์ํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ณ ๋ฅด๋ ์ ์ฅ์ด๋ผ๋ฉด ํ์ดํ ์น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ถํฐ ์์ํ๋ ๊ฒ๋ ๋์์ง ์์ ๊ฒ์ด๋ค. ํ์ดํ ์น๋ ํ ์ํ๋ก์ฐ์ ๋ฌ๋ฆฌ ํ์ด์ค๋ถ์ด ์ง์ ๊ด๋ฆฌํ๋ ํฌ๋ผ์ด ์กด์ฌํ๋ค. [6]
ํ์ด์ค๋ถ์ด ์ ๋ํ๊ณ ์๋ ํ์ดํ ์น์ ๋นํด ๋ ์ง๊ด์ ์ธ ํธ์ด๋ค. ๊ทธ๋ฌ๋ ์์ฝ๊ฒ๋ ๊ตฌ๊ธ์ด ๊ฐ๋ฐํ๋ค๋ ์ด์ ํ๋๋ง์ธ์ง ์ฌ์ฉ์์๊ฐ ์์ง๊น์ง ํ์ดํ ์น๋ณด๋ค ๋ง์ ๊ด๋ จ ์๋ฃ๋ฅผ ์ป๊ธฐ ์์ํ๋ค. ํ๊ณ์์๋ 2017๋ ๋ถํฐ ์ด๋ฏธ ํ์ดํ ์น๊ฐ ํ ์ํ๋ก์ฐ๋ณด๋ค ๋ ๋ง์ด ์ธ๊ธ๋๊ณ ์๋ค. ๋๋ถ๋ถ์ ์ฌ์ฉ์๊ฐ ํ ์ํ๋ก์ฐ์ ์ด๋ฏธ ์ต์ํด์ ธ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฎ๊ธฐ๊ธฐ ์ซ์ดํ๋ค๋ ์ด์ ๋ ๋ค. ๋ง์ฝ ๋น์ ์ด ๋จธ์ ๋ฌ๋์ ๋ง ์์ํด ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ณ ๋ฅด๋ ์ ์ฅ์ด๋ผ๋ฉด ํ์ดํ ์น ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ถํฐ ์์ํ๋ ๊ฒ๋ ๋์์ง ์์ ๊ฒ์ด๋ค. ํ์ดํ ์น๋ ํ ์ํ๋ก์ฐ์ ๋ฌ๋ฆฌ ํ์ด์ค๋ถ์ด ์ง์ ๊ด๋ฆฌํ๋ ํฌ๋ผ์ด ์กด์ฌํ๋ค. [6]
[1] R์ ๋ํ์ ์ธ ํตํฉ๊ฐ๋ฐํ๊ฒฝ(IDE)์ธ RStudio๋ฅผ ํตํด ์ฐ๋๋์ด ์๋ค.
[2] ๋ก๋๋งต์ ๋ฒ์ฉ GPU ๊ฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, OpenCL์ ์ง์ํ ์์ ์ด๋ผ๊ณ ๋ฐํํ๋ค
[3] ๋ฌด๋ฃ๊ฐ์ข์ด๋ ๊ด์ฌ์๋ ์ฌ๋์ ๋ง๋ค์ด๋ณด์. ๊ต์ฌ PDF