์ธ๊ณต ์ง๋ฅ(AI)์ ์ฐ๋ฆฌ๊ฐ ๊ธฐ๊ณ์ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ๋น ๋ฅด๊ฒ ๋ณํ์ํค๊ณ ๋ค์ํ ๋ฐฉ์์ผ๋ก ์ฐ๋ฆฌ์ ์ถ์ ๋ ์ฝ๊ฒ ๋ง๋ค๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ์ฑ๊ณต์ ์ธ AI ์ ํ๋ฆฌ์ผ์ด์
๋ค์๋ ๊ธฐ๊ณ๊ฐ ํ์ตํ๊ณ ์์ธกํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฐ๋ ฅํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๊ฐ ์์ต๋๋ค. Python์ ํ์ฌ ๊ฐ๋ฐ์๊ฐ ๋น ๋ฅด๊ฒ ์ฑ์ ๊ตฌ์ถํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ๊ณ ํ์ต(ML)์ ๊ฐ์ฅ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ธ ๋ฐ๋ฉด, Java๋ ๋ค์ฒ์ง์ง ์์ต๋๋ค. ๋ฐ์ด๋ ์ฑ๋ฅ๊ณผ ํ์ฅ์ฑ ๋๋ถ์ ๋๊ท๋ชจ ๊ณ ์ฑ๋ฅ ์์คํ
์ ๋ง๋๋ ๋ฐ ๋ ๋์ ์ ํ์ด ๋ ์ ์์ต๋๋ค. ์ด ๊ธฐ์ฌ์์๋ Java๊ฐ ML์ ๋ฏธ์น๋ ์ํฅ๊ณผ AI ์ฑ์ ๋ํ ์ด์ ์ ์ด์ ์ ๋ง์ถ๊ณ ๋ค๋ฅธ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด๋ณด๋ค Java๋ฅผ ์ ํธํ๋ ๊ฑฐ๋ ๊ธฐ์ ๊ธฐ์
์ ๋ํด ์ค๋ช
ํฉ๋๋ค.
AI ๋ถ์ผ์์ Java๊ฐ ์ด์์ ์ธ ์ ํ์ธ ์ด์ ๋ ๋ฌด์์
๋๊น?
๋จธ์ ๋ฌ๋์ ์ค๋๋ ๊ธฐ์ ํ๊ฒฝ์ ์ค์ํ ๊ตฌ์ฑ ์์๋ก ๋ฑ์ฅํ์ฌ ์ปดํจํฐ๊ฐ ๋ฐ์ดํฐ๋ก๋ถํฐ ํ์ตํ๊ณ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๊ฒ ํด์ค๋๋ค. ๋น
๋ฐ์ดํฐ๊ฐ ํญ๋ฐ์ ์ผ๋ก ์ฆ๊ฐํ๊ณ ์๋ํ์ ๋ํ ์์๊ฐ ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋จธ์ ๋ฌ๋์ ๊ธ์ต, ์๋ฃ, ์ ์์๊ฑฐ๋ ๋ฑ ๋ค์ํ ์ฐ์
์์ ์์ด์๋ ์ ๋ ๋๊ตฌ๊ฐ ๋์์ต๋๋ค. Java๋ ML ๋ชจ๋ธ ๊ฐ๋ฐ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๊ณ ์ ํ ๊ธฐ๋ฅ์ผ๋ก ์ธํด AI ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ๋ํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํฉ๋๋ค. Java๊ฐ AI๋ฅผ ์ํ ์ธ๊ธฐ ์๋ ์ ํ์ด ๋๋ ์ฃผ์ ์ด์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ณต์กํ ์์
์ ํด๊ฒฐํ๋ ๋ฅ๋ ฅ. Java๋ ๊ฐ์ฒด ์งํฅ ์ธ์ด์
๋๋ค. ์ฆ, ์์ฐ์ค๋ฝ๊ณ ์ง๊ด์ ์ธ ๋ฐฉ์์ผ๋ก ๋ณต์กํ ์ค์ ์ํฐํฐ์ ํ๋ก์ธ์ค๋ฅผ ํํํ ์ ์์ต๋๋ค.
- ๋ณด์์ด ๊ฐํ๋์์ต๋๋ค. ์ด ์ธ์ด๋ ์๋๋ฐ์ฑ, ์ก์ธ์ค ์ ์ด, ์ฝ๋ ์๋ช
๊ณผ ๊ฐ์ ๊ณ ๊ธ ๋ณด์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฏ๋ก ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๋ ๋ฐ ์์ ํ ์ ํ์ด ๋ฉ๋๋ค.
- ์ ์ง๊ด๋ฆฌ๊ฐ ์ฉ์ดํฉ๋๋ค. ์ ์ ํ๊ฒ ๋ฌธ์ํ๋ Java ์ ํ๋ฆฌ์ผ์ด์
์ ์ ๋ฐํ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฅ์ผ๋ก ์ธํด ์ ์ง ๊ด๋ฆฌ๊ฐ ๋ ์ฝ์ต๋๋ค.
- ๋ด์ฅ๋ ๊ฐ๋น์ง ์์ง. Java๋ ๋ถํ์ํ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ์ญ์ ํ ์ ์์ผ๋ฏ๋ก ๋๊ท๋ชจ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ ๋ ์๋ฒฝํ ์ ํ์
๋๋ค.
- ์ํํ ํด๋์ฑ. Java๋ ํ๋ซํผ ๋
๋ฆฝ์ ์ด๋ฏ๋ก ๋ค์ํ ์ด์ ์ฒด์ ๋ฐ ํ๋์จ์ด ์ํคํ
์ฒ์์ ๋์ผํ ์ฝ๋๋ฅผ ์ฝ๊ฒ ์คํํ ์ ์์ต๋๋ค. ์ด ๊ธฐ๋ฅ์ ์ฌ๋ฌ ์ฅ์น์ ํ๋ซํผ์ ๊ฑธ์ณ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ด ํ์ํ AI ์ ํ๋ฆฌ์ผ์ด์
์ ํนํ ์ค์ํฉ๋๋ค.
๋ํ Java๋ ์์ฌ์ด ์๊ณ ๋ฆฌ์ฆ ์ฝ๋ฉ, ์์ฌ์ด ๋๋ฒ๊น
, ๊ทธ๋ํฝ์ผ๋ก ๋ฐ์ดํฐ ํํ, ์ฌ์ฉ์์์ ์ฐ์ํ ์ํธ ์์ฉ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
์๋ฐ์ ๋จธ์ ๋ฌ๋
๋จธ์ ๋ฌ๋์ ๊ธฐ๊ณ๊ฐ ๋ช
์์ ์ผ๋ก ํ๋ก๊ทธ๋๋ฐํ์ง ์๊ณ ๋ ๋ฐ์ดํฐ๋ก๋ถํฐ ํ์ตํ๊ณ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์๋๋ก ํ๋ AI์ ํ์ ๋ถ์ผ์
๋๋ค. ์ด๋ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ์ ํจํด์ ์๋ณํจ์ผ๋ก์จ ์๋ํ๋ฉฐ, ์ปดํจํฐ๋ ํด๋น ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ธก๊ณผ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์ต๋๋ค.
"๋จธ์ ๋ฌ๋์ ์ฐจ์ธ๋ ์ธํฐ๋ท์ด๋ค." โ Tony Tether, ์ DARPA ๊ตญ์ฅ. |
Java๋ ์ ์ฐ์ฑ๊ณผ ํ๋ซํผ ๋
๋ฆฝ์ฑ์ผ๋ก ์ธํด ML ๋ชจ๋ธ ๊ตฌ์ถ์ ์ฌ์ฉ๋๋ ์ธ๊ธฐ ์๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์
๋๋ค. Java๋ฅผ ์ฌ์ฉํ์ฌ ML ๋ชจ๋ธ์ ๊ตฌ์ถํ๋ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก ๋จ๊ณ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฒซ ๋ฒ์งธ ๋จ๊ณ๋ ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ณ ์ ์ฒ๋ฆฌํ๋ ๊ฒ์
๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ฐ์ดํฐ๋ ํ๋ จ ์ธํธ์ ํ
์คํธ ์ธํธ๋ก ๋๋์ด์ง๋ฉฐ, ํ๋ จ ์ธํธ๋ ๋ชจ๋ธ์ ํ๋ จํ๋ ๋ฐ ์ฌ์ฉ๋๋ฉฐ ํ
์คํธ ์ธํธ๋ ์ฑ๋ฅ์ ํ๊ฐํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค. ๋ฐ์ดํฐ๊ฐ ์ค๋น๋๋ฉด ๊ฐ๋ฐ์๋ Java์ ๊ธฐ๊ณ ํ์ต ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
์ฐธ๊ณ ์ฌํญ: Java๋ ์ฌ์ ๊ตฌ์ถ๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ๊ด๋ฒ์ํ ๊ธฐ๊ณ ํ์ต ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ํ๋ ์์ํฌ๋ฅผ ์ ๊ณตํ์ฌ ๊ฐ๋ฐ์๊ฐ ML ๋ชจ๋ธ์ ๊ตฌ์ถํ๊ณ ์ฌ์ฉ์ ์ ์ํ๋ ๋ฐ ๋์์ ์ค๋๋ค. ๋ํ ๋ฐ์ดํฐ ์๊ฐํ, ๊ธฐ๋ฅ ์ ํ, ๋ชจ๋ธ ํ๊ฐ ๋ฑ์ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ฏ๋ก ML ๋ชจ๋ธ์ ์ฝ๊ฒ ๊ฐ๋ฐํ๊ณ ๋ฏธ์ธ ์กฐ์ ํ ์ ์์ต๋๋ค. 2023๋
์ดํ ์ฃผ๋ชฉํด์ผ ํ
์ต๊ณ ์ Java ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ๋๊ตฌ ์ค์์ ๋ค์์ ๊ฐ์กฐํ ์ ์์ต๋๋ค.
- Deeplearning4j ๋ GPU ๊ฐ์, ๋ถ์ฐ ์ปดํจํ
๋ฐ ๋ค์ํ ์ ๊ฒฝ๋ง ์ํคํ
์ฒ๋ฅผ ํฌํจํ ํฌ๊ด์ ์ธ ๋ฅ ๋ฌ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ Java ๊ธฐ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋์ ์ํ GUI ๊ธฐ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์๋ํฉ๋๋ค.
- H2O ๋ ๋น
๋ฐ์ดํฐ ๋ถ์์ ์ํด ํน๋ณํ ์ค๊ณ๋ ์คํ ์์ค ๊ธฐ๊ณ ํ์ต ํ๋ซํผ์
๋๋ค. AutoML(์๋ ๊ธฐ๊ณ ํ์ต) ๊ธฐ๋ฅ, ๊ทธ๋ฆฌ๋ ๊ฒ์, ํ์ดํผํ๋ผ๋ฏธํฐ ํ๋, ๊ทธ๋ํฝ ๋ชจ๋ธ ์ ํ ๋๊ตฌ, ์๋ํ๋ ๊ธฐ๋ฅ ์์ง๋์ด๋ง ๋๊ตฌ ๋ฑ์ ์ ๊ณตํฉ๋๋ค.
- Amazon Sagemaker๋ ML ์ ํ๋ฆฌ์ผ์ด์
์ ํ๋ก๋์
ํ๊ฒฝ์ ๋ฐฐํฌํ๋ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํ๋ Amazon Web Services์์ ์ ๊ณตํ๋ ๊ด๋ฆฌํ ์๋น์ค์
๋๋ค. TensorFlow, Keras ๋ฐ SDK๋ฅผ ํตํด Java๋ก ์์ฑ๋ ์ฌ์ฉ์ ์ ์ ์๊ณ ๋ฆฌ์ฆ์ ํฌํจํ ๋ค์ํ ํ๋ ์์ํฌ๋ฅผ ์ง์ํฉ๋๋ค.
- Matplotlib ๋ Python์ผ๋ก ์์
ํ๋ ๋ฐ์ดํฐ ๊ณผํ์๊ฐ ์ฃผ๋ก ์ฌ์ฉํ๋ ์คํ ์์ค ํ๋กํ
๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ๊ทธ๋ฌ๋ Java ํ๋ก๊ทธ๋จ์ ์ฝ๊ฒ ์ ์ฉํ ์ ์์ผ๋ฏ๋ก ์ฌ์ฉ์๋ Java ์ฑ์์ ์ง์ ๋ถ์ฐํ ์ฐจํธ๋ ํ์คํ ๊ทธ๋จ๊ณผ ๊ฐ์ ์ฌ์ฉ์ ์ ์ ํ๋กฏ์ ์์ฑํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์๊ฐํํ ์ ์์ต๋๋ค.
- JavaML ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ๊ธฐ์กด ์์น ๊ณ์ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ด์ API ๊ณ์ธต์ ์ ๊ณตํ์ฌ ์ฌ์ฉ์๊ฐ ๋ณต์กํ ๊ณ์ฐ์ ๋จ์ํํ๊ณ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์คํํ ์ ์๋๋ก ํด์ค๋๋ค.
- MOA Java ML์ Java ๊ฐ๋ฐ์๋ฅผ ์ํ ์ต๊ณ ์ ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ก, ๊ฐ๋ฐ์๊ฐ ๊ฐ๋ ฅํ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๊ณ ํ์ต ๋ชจ๋ธ์ ์์ฑํ๊ณ ์ ์ฉํ ์ ์๋๋ก ํด์ค๋๋ค. ๋ํ ๊ฐ๋ฐ์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ถ์ํ๊ณ , ๋ชจ๋ธ์ ๊ตฌ์ถํ๊ณ , ํ๋ก๋์
์ ๋ฐฐํฌํ๋ ๋ฐ ๋์์ด ๋๋ ๋๊ตฌ๋ ํฌํจ๋์ด ์์ต๋๋ค.
- Weka ๋ ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ, ๋ถ๋ฅ, ํด๋ฌ์คํฐ๋ง, ํ๊ท ๋ฐ ๊ธฐ๋ฅ ์ ํ๊ณผ ๊ฐ์ ๋ค์ํ ์์
์ ์ํํ ์ ์๋ ํฌ๊ด์ ์ธ Java ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ์ฌ๊ธฐ์๋ ๋ฒ ์ด์ง์ ๋คํธ์ํฌ, ์์งํ ๋ฒ ์ด์ฆ ๋ถ๋ฅ๊ธฐ, SVM(์ง์ ๋ฒกํฐ ๋จธ์ )๊ณผ ๊ฐ์ ์ฌ๋ฌ ๊ณ ๊ธ ์๊ณ ๋ฆฌ์ฆ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋ํ ๋ฐ์ดํฐ์ธํธ์ ๊ทธ์ ๋ฐ๋ฅธ ๊ฒฐ๊ณผ๋ฅผ ์ฝ๊ฒ ์๊ฐํํ ์ ์๋ ๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(GUI)๋ฅผ ์ ๊ณตํฉ๋๋ค.
- Stanford CoreNLP ๋ ์์ฐ์ด ์ฒ๋ฆฌ ๋ฐ ํ
์คํธ ๋ง์ด๋์ ์ฌ์ฉ๋๋ ๊ฐ๋ ฅํ Java ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ๊ฐ์ ๋ถ์, ๊ธฐ๊ณ ๋ฒ์ญ, ์ํธ ์ฐธ์กฐ ํด๊ฒฐ, ํ์ฌ ํ๊น
๊ณผ ๊ฐ์ ๋ค์ํ ๊ตฌ์ฑ ์์๋ฅผ ๊ฐ์ถ๊ณ ์์ต๋๋ค. ํ์ฅ์ฑ์ ๊ณ ๋ คํ์ฌ ์ค๊ณ๋์ด ์ฌ์ฉ์๊ฐ ๋ณต์กํ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฝ๊ฒ ์ฒ๋ฆฌํ๊ณ ๋ค๋ฅธ Java ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ํ๋ ์ฌ์ฉ์ ์ ์ NLP ๋ชจ๋ธ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
- Accord.NET ์ ์ ํ ๋์ํ, ๊ธฐ๊ณ ํ์ต ์๊ณ ๋ฆฌ์ฆ ๋ฐ ๊ธฐ๊ณ ํ์ต ์ ํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ ์ํ ๊ธฐํ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๋ ๋์ฑ ๊ฐ๋ ฅํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์
๋๋ค. ๋ํ ์ง์ ๋ฒกํฐ ๋จธ์ , ์ ๊ฒฝ๋ง, ์์ฌ๊ฒฐ์ ํธ๋ฆฌ ์๊ณ ๋ฆฌ์ฆ์ ํฌํจํ ๋ค์ํ ๊ตฌ์ฑ์์๋ ํฌํจ๋์ด ์์ต๋๋ค.
- Apache Mahout์ MapReduce ํจ๋ฌ๋ค์์ ํ์ฉํ๊ณ ๋ถ๋ฅ, ํ์
ํํฐ๋ง ๋ฐ ํด๋ฌ์คํฐ๋ง์ ๊ฐ์ฅ ์ ํฉํ ํ์ฅ ๊ฐ๋ฅํ ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค. Mahout์ Apache Hadoop์ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๋ณ๋ ฌ ์์
์ ์ฒ๋ฆฌํ๊ณ ํ์
ํํฐ๋ง๊ณผ ๊ฐ์ ์ถ์ฒ ์๊ณ ๋ฆฌ์ฆ์ ์ ๊ณตํ์ฌ ๋ชจ๋ธ ๊ตฌ์ถ์ ํ์ฅ์ฑ์ ๋น ๋ฅด๊ฒ ์ด์งํฉ๋๋ค.
- Mallet(Machine Learning for Language Toolkit)์ ๋ฌธ์ ๋ถ๋ฅ, ํด๋ฌ์คํฐ๋ง, ์ฃผ์ ๋ชจ๋ธ๋ง ๋ฐ ๋ช
๋ช
๋ ์ํฐํฐ ์ธ์๊ณผ ๊ฐ์ ์์ฐ์ด ์ฒ๋ฆฌ ์์
์ ์ํ ํน์ ๋๊ตฌ์
๋๋ค.
๋ชจ๋ธ์ด ๊ตฌ์ถ๋์๋ง์ Java์ ํ๋ซํผ ๋
๋ฆฝ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๋ฐฐํฌํ ์ ์์ต๋๋ค. ๋ค์ํ ์ด์ ์ฒด์ ์ ํ๋์จ์ด ์ํคํ
์ฒ์์ ์คํ๋๋ Java์ ๊ธฐ๋ฅ์ ํตํด ์ฌ๋ฌ ์ฅ์น์ ํ๋ซํผ์ ML ๋ชจ๋ธ์ ์ฝ๊ฒ ๋ฐฐํฌํ ์ ์์ต๋๋ค.
Java๋ฅผ ์ฌ์ฉํ์ฌ ML ์๋ฃจ์
์ ๊ตฌ์ถํ๋ ๋ฐ ์๊ฐ์ด ์ผ๋ง๋ ๊ฑธ๋ฆฌ๋์?
์ด๋ ํ๋ก์ ํธ์ ๋ณต์ก์ฑ๊ณผ ๊ฐ๋ฐ์์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์๋ จ๋์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋๋ค. ๊ฐ๋จํ ์์
์ ์๋ฃํ๋ ๋ฐ ๋ช ์ฃผ๊ฐ ๊ฑธ๋ฆด ์ ์์ง๋ง ๋ ๋ณต์กํ ํ๋ก์ ํธ๋ ๋ช ๋ฌ์ด ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ๋ํ, ์ฌ์ ๊ตฌ์ถ๋ ๋ชจ๋ธ๊ณผ ํจ๊ป ๊ธฐ์กด ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ ํ๋ก์ธ์ค ์๋๋ฅผ ํฌ๊ฒ ๋์ผ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ Java๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ ๋๋ ๋ค๋ฅธ ML ์๋ฃจ์
์ ๊ตฌ์ถํ๋ ๋ฐ ํ์ํ ์ ํํ ๊ธฐ๊ฐ์ ์์ธกํ๋ ๊ฒ์ ๋งค์ฐ ์ด๋ ต์ต๋๋ค.
AI ์ฑ์ Java๋ก๋ถํฐ ์ด๋ค ์ด์ ์ ์ป๋์?
Java๊ฐ ๋ณด๋ค ํจ์จ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ML ๋ชจ๋ธ ๊ฐ๋ฐ์ ์ง์ํจ์ผ๋ก์จ AI ํ๊ฒฝ์ ํ๋ช
์ ์ผ์ผํค๊ณ ์๋ค๊ณ ํด๋ ๊ณผ์ธ์ด ์๋๋๋ค. ๋ฌด์์ด ๊ทธ๋ ๊ฒ ํน๋ณํ ๊น์?
- Java๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ๋ณต์กํ๊ณ ์ฌ์ฉ์ ์ ์ ๊ฐ๋ฅํ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌ์ถํ ์ ์์ผ๋ฏ๋ก ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ์ ๋ณต์กํ ๊ณ์ฐ์ ๋ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
- Java์ ํ๋ซํผ ๋
๋ฆฝ์ฑ์ ์ฌ๋ฌ ์ฅ์น์ ํ๋ซํผ์ ๊ฑธ์ณ ๊ธฐ๊ณ ํ์ต ๋ชจ๋ธ์ ๋ฐฐํฌํ ์ ์๊ฒ ํ์ฌ ๋ ์ฝ๊ฒ ์ ๊ทผํ๊ณ ํ์ฅํ ์ ์๊ฒ ํด์ค๋๋ค.
- Java์ ๊ฒฌ๊ณ ์ฑ๊ณผ ๋ณด์ ๊ธฐ๋ฅ์ AI ์ ํ๋ฆฌ์ผ์ด์
์ด ์์ ์ ์ด๊ณ ์ค๋ฅ๊ฐ ์์์ ๋ณด์ฅํฉ๋๋ค.
- Java ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ํ๋ ์์ํฌ์ ํ๋ถํ ์์ฝ์์คํ
์ ๊ฐ๋ฐ์์๊ฒ ์ฝ๊ฒ ์ฌ์ฉ์ ์ ์ํ๊ณ AI ์ ํ๋ฆฌ์ผ์ด์
์ ํตํฉํ ์ ์๋ ์ฌ์ ๊ตฌ์ถ๋ ์๊ณ ๋ฆฌ์ฆ๊ณผ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ง์ ์๊ฐ๊ณผ ๋
ธ๋ ฅ์ ์ ์ฝํ ์ ์์ด AI ์ ํ๋ฆฌ์ผ์ด์
์ ํต์ฌ ๊ธฐ๋ฅ์ ๊ตฌ์ถํ๋ ๋ฐ ์ง์คํ ์ ์์ต๋๋ค.
ML์ Java๋ฅผ ์ฌ์ฉํ๋ ์ฃผ์ ๊ธฐ์
๋ณด์๋ค์ํผ Java๋ ML ํ๋ก์ ํธ์ ์ด์์ ์ธ ์ ํ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ๋์ฑ ์ฆ๋ช
ํ๊ธฐ ์ํด ์ ๋ช
๊ธฐ์
์์ ML์ ์ํด Java๋ฅผ ์ฌ์ฉํ ์ค์ ์ฌ๋ก๋ฅผ ์๊ฐํด ๋์ต๋๋ค.
Google
Google์ ์ค๋ซ๋์ Python์ TensorFlow์ ๊ฐ์ ์์ฒด ML ํ๋ ์์ํฌ๋ฅผ ๊ฐ๋ฐํด ์์ง๋ง ์ต๊ทผ์๋ Java๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํ์ต๋๋ค. ์ฆ, Google Cloud Platform์๋ ๊ธฐ๋ณธ Java API๋ฅผ ํตํด ์ฌ์ฉํ ์ ์๋ ๋ง์ ๊ณ ๊ธ ML ์๊ณ ๋ฆฌ์ฆ์ด ํฌํจ๋์ด ์์ต๋๋ค. ๋ค๋ฅธ Google ํ๋ก์ ํธ์ธ Cloud Vision API๋ฅผ ์ฌ์ฉํ ์ด๋ฏธ์ง ์ธ์ ๋ฐ Cloud Speech-to-Text๋ฅผ ์ฌ์ฉํ ์์ฐ์ด ์ฒ๋ฆฌ๋ Java ์ฝ๋๋ก ๊ตฌ๋๋ฉ๋๋ค.
๋ทํ๋ฆญ์ค
Netflix๋ Java์ ํฌ๊ฒ ์์กดํ์ฌ ML์ ์ฑ๋ฅ์ ๊ด๋ฒ์ํ๊ฒ ํ์ฉํฉ๋๋ค. Netflix๋ ๊ณ ๊ฐ์ ๊ณผ๊ฑฐ ์์ฒญ ์ต๊ด์ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ์ธํ๋ ์ถ์ฒ์ ์ ๊ณตํ๊ธฐ ์ํด ๋ค์ํ ML ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฒญ๋ ์์ ์คํธ๋ฆฌ๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด Netflix์ ML ํ๋ ์์ํฌ๋ Apache Spark, Kafka Streams ๋ฐ Java 8์ ์กฐํฉ์ ํ์ฉํฉ๋๋ค. ML ์๊ณ ๋ฆฌ์ฆ ์์ฒด๋ ์์ Java ์ฝ๋๋ก ๊ตฌ์ฑ๋๋ฉฐ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ํ๋ซํผ์ ๋ฐฐํฌ๋์ด ๋ ๋น ๋ฅธ ํ๋ จ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๋งํฌ๋์ธ
LinkedIn์ ์ฃผ๋ก Java ๊ธฐ๋ฐ ML ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ ๋ ๋ค๋ฅธ ์ ๋ช
ํ ํ์ฌ์
๋๋ค. LinkedIn์ ML ๋ชจ๋ธ์ ํ์ฉํ์ฌ ์ ์ฌ ์ง์์๊ฒ ๊ณผ๊ฑฐ ์ง์
๊ฒฝํ์ ๊ธฐ๋ฐ์ผ๋ก ํ ๊ธฐ์ ์ธํธ์ ๋ฐ๋ผ ์์ ์๊ฒ ๊ฐ์ฅ ์ ํฉํ ์ฑ์ฉ ๊ธฐํ๋ฅผ ์ ์ํฉ๋๋ค. LinkedIn์ ๊ฐ๋ฐ์๋ ๋๋ถ๋ถ ์คํ ์์ค ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ Apache Mahout์ ์ฌ์ฉํ์ฌ ์ต์ํ์ ๋
ธ๋ ฅ์ผ๋ก Java ์ฝ๋๋ก ์์ฑ๋ ML ์๊ณ ๋ฆฌ์ฆ์ ๋น ๋ฅด๊ฒ ๊ตฌํํ ์ ์์ต๋๋ค.
IBM
๋ง์ง๋ง์ผ๋ก ์ค์ํ ๊ฒ์ IBM ํ์ฌ์
๋๋ค(
์ด์ ๊ธฐ์ฌ์์ ํด๋ผ์ฐ๋ ์ปดํจํ
์ ๋ํ ๊ธฐ์ฌ์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค ). ์ ์๋ ค์ง Watson AI ํ๋ซํผ์ Java ์ฝ๋๋ก ๊ตฌ๋๋๋ ML ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ๋ฏ๋ก ๊ฐ๋ฐ์๋ ํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ค๋ฅธ ์ด๋ค ๊ธฐ์กด ML ๊ธฐ์ ๋ณด๋ค ๋ ์ ํํ๊ฒ ๊ณ ๊ธ ML ๋ชจ๋ธ์ ๋ง๋ค ์ ์์ต๋๋ค.
๊ถ๊ทน์ ์ผ๋ก ๋ง์ ๊ฑฐ๋ ๊ธฐ์ ๊ธฐ์
์ด ML ๊ด๋ จ ์์
์ ์ํด Java์ ์์กดํ๋ ์ด์ ๋ ๋ถ๋ช
ํฉ๋๋ค. AI ๋ถ์ผ๊ฐ ๊ณ์ ํ์ฅ๋๊ณ ๋ฐ์ ํจ์ ๋ฐ๋ผ Java๋ ๊ธฐ๊ณ ํ์ต ๋ชจ๋ธ์ ๊ตฌ์ถํ๊ณ ๋ฐฐํฌํ๋ ๋ฐ ์ค์ํ ๋๊ตฌ๋ก ๋ ์ค๋ฅด๊ณ ์์ต๋๋ค. ๋ค์ฉ์ฑ, ํ๋ซํผ ๋
๋ฆฝ์ฑ ๋ฐ ๊ด๋ฒ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ๊ฐ์ถ Java๋ ์์ ์ ์ด๊ณ ์์ ํ๋ฉฐ ๋ค๋ฅธ ๊ธฐ์ ๊ณผ ์ฝ๊ฒ ํตํฉ๋๋ ๋ณด๋ค ํจ์จ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ML ์๋ฃจ์
์ ๋ฌธ์ ์ด์ด์ค๋๋ค.
Java์ ๋ํด ๋ ์์ธํ ์์๋ณด๊ณ ์ถ๋ค๋ฉด CodeGym์ ์์ตํ ๊ณผ์ ์ ํตํด ๊ธฐ๋ณธ ์ฌํญ์ ์ตํ ์ ์์ต๋๋ค.
๊ฒ๋ค๊ฐ ๋ค์๊ณผ ๊ฐ์ ๊ธฐ๊ณ ํ์ต์ ๊ดํ ํํ ๋ฆฌ์ผ๊ณผ ์ฑ
์ ์ฐธ์กฐํ ์ ์์ต๋๋ค.
|
์์ฝ
AI์ ๋ฏธ๋๋ฅผ ๋ด๋ค๋ณด๋ฉด Java๊ฐ ML ๋ชจ๋ธ ๊ฐ๋ฐ๊ณผ ๊ณ ๊ธ AI ์ฑ ๊ตฌ์ถ์ ๊ณ์ ์ค์ํ ์ญํ ์ ํ ๊ฒ์ด๋ผ๋ ์ ์ ๋ถ๋ช
ํฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋ณด์์ด๋ ๊ธฐ์ ์ ํ์ฅํ๋ ค๋ ๊ฐ๋ฐ์์ด๋ Java๋ ์์ํ๊ธฐ ์ข์ ๊ณณ์
๋๋ค.
GO TO FULL VERSION