Rescale ๋ฏธํŒ… ์˜ˆ์•ฝ

๋”ฅ ๋Ÿฌ๋‹์„ ์œ„ํ•œ ์ตœ๊ณ ์˜ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 10๊ฐœ

ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

๋”ฅ ๋Ÿฌ๋‹์„ ์œ„ํ•œ ์ตœ๊ณ ์˜ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 10๊ฐœ

mm

Python์€ ์ตœ๊ณ ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊พธ์ค€ํžˆ ์„ฑ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ฃผ๋ฅ˜ ์–ธ์–ด์™€ ๋น„๊ตํ•  ๋•Œ ๋งค์šฐ ๋†’์€ ํšจ์œจ์„ฑ์„ ํฌํ•จํ•˜์—ฌ ์—ฌ๊ธฐ์—๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์˜์–ด์™€ ์œ ์‚ฌํ•œ ๋ช…๋ น ๋ฐ ๊ตฌ๋ฌธ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์ดˆ๋ณด์ž ์ฝ”๋”์—๊ฒŒ ์ตœ๊ณ ์˜ ์„ ํƒ์ž…๋‹ˆ๋‹ค. 

์•„๋งˆ๋„ Python์˜ ๊ฐ€์žฅ ํฐ ํŒ๋งค ํฌ์ธํŠธ๋Š” ๋ฐ์ดํ„ฐ ๊ณผํ•™์—์„œ ๋ฐ์ดํ„ฐ ์กฐ์ž‘์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

ํŒŒ์ด์ฌ๊ณผ ๋”ฅ ๋Ÿฌ๋‹

๋”ฅ๋Ÿฌ๋‹์€ ์ธ๊ฐ„ ๋‘๋‡Œ์˜ ๊ตฌ์กฐ์—์„œ ์˜๊ฐ์„ ์–ป์€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ธ ์ธ๊ณต ์‹ ๊ฒฝ๋ง์„ ํฌํ•จํ•˜๋Š” ๊ธฐ๊ณ„ ํ•™์Šต์˜ ํ•˜์œ„ ๋ถ„์•ผ์ž…๋‹ˆ๋‹ค. ๋”ฅ ๋Ÿฌ๋‹์—๋Š” ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์žˆ์œผ๋ฉฐ ์ž์œจ ์ฃผํ–‰ ์ž๋™์ฐจ, ๋‰ด์Šค ์ˆ˜์ง‘ ๋„๊ตฌ, ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ(NLP), ๊ฐ€์ƒ ๋น„์„œ, ์‹œ๊ฐ์  ์ธ์‹ ๋“ฑ๊ณผ ๊ฐ™์€ ์˜ค๋Š˜๋‚ ์˜ ๋งŽ์€ AI ๊ธฐ์ˆ ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 

์ตœ๊ทผ ๋ช‡ ๋…„ ๋™์•ˆ Python์€ ๋”ฅ ๋Ÿฌ๋‹์„ ์œ„ํ•œ ๋†€๋ผ์šด ๋„๊ตฌ์ž„์ด ์ž…์ฆ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ๊ฐ„๊ฒฐํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฝ๊ธฐ ๋•Œ๋ฌธ์— ๋”ฅ ๋Ÿฌ๋‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์™„๋ฒฝํ•˜๊ฒŒ ์–ด์šธ๋ฆฝ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ„๋‹จํ•œ ๊ตฌ๋ฌธ ๋•๋ถ„์— ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋น„ํ•ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋” ๋น ๋ฅด๊ฒŒ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฅ ๋Ÿฌ๋‹์— Python์„ ์‚ฌ์šฉํ•˜๋Š” ๋˜ ๋‹ค๋ฅธ ์ฃผ์š” ์ด์œ ๋Š” ์–ธ์–ด๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ์ฝ”๋”ฉ๋œ ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ ํ†ตํ•ฉ๋  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ AI ํ”„๋กœ์ ํŠธ์™€ ์‰ฝ๊ฒŒ ํ˜ผํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

๋”ฅ ๋Ÿฌ๋‹์„ ์œ„ํ•œ ์ตœ๊ณ ์˜ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 10๊ฐœ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. 

1. TensorFlow

TensorFlow๋Š” ๋”ฅ ๋Ÿฌ๋‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ์ตœ๊ณ ์˜ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋กœ ๋„๋ฆฌ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. Google Brain ํŒ€์—์„œ ๊ฐœ๋ฐœํ•œ ์ด ๋„๊ตฌ๋Š” ๊ด‘๋ฒ”์œ„ํ•˜๊ณ  ์œ ์—ฐํ•œ ๋„๊ตฌ, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฆฌ์†Œ์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ดˆ๋ณด์ž์™€ ์ „๋ฌธ๊ฐ€ ๋ชจ๋‘ TensorFlow๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋”ฅ ๋Ÿฌ๋‹ ๋ชจ๋ธ๊ณผ ์‹ ๊ฒฝ๋ง์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TensorFlow๋Š” ์œ ์—ฐํ•œ ์•„ํ‚คํ…์ฒ˜์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ๊ฐ–์ถ”๊ณ  ์žˆ์–ด CPU ๋ฐ GPU์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ปดํ“จํŒ… ํ”Œ๋žซํผ์—์„œ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, Tensor Processing Unit(TPU)์—์„œ ์ž‘๋™ํ•  ๋•Œ ์ตœ์ƒ์˜ ์„ฑ๋Šฅ์„ ๋ฐœํœ˜ํ•ฉ๋‹ˆ๋‹ค. Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋”ฅ ๋Ÿฌ๋‹ ๋ชจ๋ธ์—์„œ ๊ฐ•ํ™” ํ•™์Šต์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋ฉฐ ๊ธฐ๊ณ„ ํ•™์Šต ๋ชจ๋ธ์„ ์ง์ ‘ ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

๋‹ค์Œ์€ TensorFlow์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

  • ์œ ์—ฐํ•œ ์•„ํ‚คํ…์ฒ˜ ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ.
  • ๋‹ค์–‘ํ•œ ์ปดํ“จํŒ… ํ”Œ๋žซํผ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. 
  • ์ถ”์ƒํ™” ๊ธฐ๋Šฅ
  • ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค. 

2. ํŒŒ์ด ํ† ์น˜

๋˜ ๋‹ค๋ฅธ ๋”ฅ๋Ÿฌ๋‹์šฉ ํŒŒ์ด์ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ํŒŒ์ดํ† ์น˜(Pytorch)๋Š” ํŽ˜์ด์Šค๋ถ์˜ AI ์—ฐ๊ตฌํŒ€์ด 2016๋…„์— ๋งŒ๋“  ์˜คํ”ˆ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด. 

PyTorch๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋งŽ์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํŠนํžˆ NLP ๋ฐ ์ปดํ“จํ„ฐ ๋น„์ „๊ณผ ๊ฐ™์€ ๋”ฅ ๋Ÿฌ๋‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. 

PyTorch์˜ ๊ฐ€์žฅ ์ข‹์€ ์  ์ค‘ ์ผ๋ถ€๋Š” ๋น ๋ฅธ ์‹คํ–‰ ์†๋„๋ฅผ ํฌํ•จํ•˜๋ฉฐ, ์ด๋Š” ๋ฌด๊ฑฐ์šด ๊ทธ๋ž˜ํ”„๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ๋„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹จ์ˆœํ™”๋œ ํ”„๋กœ์„ธ์„œ ๋˜๋Š” CPU ๋ฐ GPU์—์„œ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. PyTorch์—๋Š” ์ž์—ฐ์–ด ํˆดํ‚ท๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ•๋ ฅํ•œ API๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 

๋‹ค์Œ์€ PyTorch์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

  • ํ†ต๊ณ„ ๋ถ„ํฌ ๋ฐ ์šด์˜
  • ๋ฐ์ดํ„ฐ ์„ธํŠธ ์ œ์–ด
  • ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ ๊ฐœ๋ฐœ
  • ๋งค์šฐ ์œ ์—ฐํ•œ

3. ๋ˆ” ํŒŒ์ด

์ž˜ ์•Œ๋ ค์ง„ ๋‹ค๋ฅธ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ธ NumPy๋Š” ๋Œ€๊ทœ๋ชจ ๋‹ค์ฐจ์› ๋ฐฐ์—ด ๋ฐ ํ–‰๋ ฌ ์ฒ˜๋ฆฌ์— ์›ํ™œํ•˜๊ฒŒ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋”ฅ ๋Ÿฌ๋‹์—์„œ ํšจ์œจ์ ์ธ ๊ธฐ์ดˆ ๊ณผํ•™ ๊ณ„์‚ฐ์— ํŠนํžˆ ์œ ์šฉํ•˜๊ฒŒ ๋งŒ๋“œ๋Š” ๋†’์€ ์ˆ˜์ค€์˜ ์ˆ˜ํ•™ ํ•จ์ˆ˜ ์„ธํŠธ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. 

NumPy ๋ฐฐ์—ด์€ ๋‹ค๋ฅธ Python ๋ชฉ๋ก๋ณด๋‹ค ํ›จ์”ฌ ์ ์€ ์ €์žฅ ๊ณต๊ฐ„์„ ํ•„์š”๋กœ ํ•˜๋ฉฐ ๋” ๋น ๋ฅด๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” ๋งคํŠธ๋ฆญ์Šค์—์„œ ์กฐ์ž‘, ์ „์น˜ ๋ฐ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ ์žฌ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. NumPy๋Š” ๋ณต์žกํ•œ ์ž‘์—…์„ ๋งŽ์ด ํ•˜์ง€ ์•Š๊ณ ๋„ ๋”ฅ ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋Š” ํ›Œ๋ฅญํ•œ ์˜ต์…˜์ž…๋‹ˆ๋‹ค. 

๋‹ค์Œ์€ NumPy์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. 

  • ๋ชจ์–‘ ์กฐ์ž‘
  • ๊ณ ์„ฑ๋Šฅ N์ฐจ์› ๋ฐฐ์—ด ๊ฐ์ฒด
  • ๋ฐ์ดํ„ฐ ์ •๋ฆฌ/์กฐ์ž‘
  • ํ†ต๊ณ„ ์—ฐ์‚ฐ ๋ฐ ์„ ํ˜• ๋Œ€์ˆ˜ํ•™

4. ์‚ฌ์ดํ‚ท๋Ÿฐ

Scikit-Learn์€ ์›๋ž˜ SciPy ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ๋Œ€ํ•œ ํƒ€์‚ฌ ํ™•์žฅ์ด์—ˆ์ง€๋งŒ ์ด์ œ๋Š” Github์˜ ๋…๋ฆฝํ˜• Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. Scikit-Learn์—๋Š” ๋ถ„๋ฅ˜, ํšŒ๊ท€ ๋ฐ ํด๋Ÿฌ์Šคํ„ฐ๋ง ๋ฐฉ๋ฒ• ๋‚ด์— DBSCAN, ๊ทธ๋ž˜๋””์–ธํŠธ ๋ถ€์ŠคํŒ…, ์ง€์› ๋ฒกํ„ฐ ๋จธ์‹  ๋ฐ ๋žœ๋ค ํฌ๋ ˆ์ŠคํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.  

Scikit-Learn์˜ ๊ฐ€์žฅ ํฐ ์ธก๋ฉด ์ค‘ ํ•˜๋‚˜๋Š” ๋‹ค๋ฅธ SciPy ์Šคํƒ๊ณผ ์‰ฝ๊ฒŒ ์ƒํ˜ธ ์šด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ด๊ณ  ์ผ๊ด€์„ฑ์ด ์žˆ์–ด ๋ฐ์ดํ„ฐ๋ฅผ ๋” ์‰ฝ๊ฒŒ ๊ณต์œ ํ•˜๊ณ  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

๋‹ค์Œ์€ Scikit-learn์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ๋ถ„๋ฅ˜ ๋ฐ ๋ชจ๋ธ๋ง
  • ์ข…๋‹จ ๊ฐ„ ๊ธฐ๊ณ„ ํ•™์Šต ์•Œ๊ณ ๋ฆฌ์ฆ˜
  • ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ
  • ๋ชจ๋ธ ์„ ํƒ

5. SciPy

Numpy ๊ธฐ๋ฐ˜์˜ ๋ฌด๋ฃŒ ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Scipy๊ฐ€ ๋“ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. SciPy๋Š” ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ๊ณผํ•™ ๋ฐ ๊ธฐ์ˆ  ์ปดํ“จํŒ…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋Šฅ๋ ฅ ๋•๋ถ„์— ์ตœ๊ณ ์˜ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์–ด๋ ˆ์ด ์ตœ์ ํ™” ๋ฐ ์„ ํ˜• ๋Œ€์ˆ˜ํ•™์„ ์œ„ํ•œ ์ž„๋ฒ ๋””๋“œ ๋ชจ๋“ˆ์ด ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. 

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—๋Š” NumPy์˜ ๋ชจ๋“  ๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ด๊ณ  ๊ณผํ•™์ ์ธ ๋„๊ตฌ๋กœ ๋ณ€ํ™˜๋ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ์กฐ์ž‘์— ์ž์ฃผ ์‚ฌ์šฉ๋˜๋ฉฐ ๋†’์€ ์ˆ˜์ค€์˜ ๋น„๊ณผํ•™์ ์ธ ์ˆ˜ํ•™ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 

๋‹ค์Œ์€ SciPy์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

  • ์‚ฌ์šฉ์ž์—๊ฒŒ ์นœ์ˆ™ํ•œ
  • ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋ฐ ์กฐ์ž‘
  • ๊ณผํ•™์  ๋ฐ ๊ธฐ์ˆ ์  ๋ถ„์„
  • ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

6. ํŒ๋‹ค

๋ฐ์ดํ„ฐ ๊ณผํ•™ ๋ฐ ๋”ฅ ๋Ÿฌ๋‹ ๊ณผ๋ชฉ์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ์˜คํ”ˆ ์†Œ์Šค Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ค‘ ํ•˜๋‚˜๋Š” Pandas์ž…๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ๋ถ„์„์— ์‚ฌ์šฉ๋˜๋Š” ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ๋ฐ ๋ถ„์„ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ˆ˜์น˜ ํ…Œ์ด๋ธ” ๋ฐ ์‹œ๊ณ„์—ด ๋ถ„์„์„ ์กฐ์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ•๋ ฅํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. 

Pandas ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ‘œํ˜„ํ•˜๋Š” ๋™์‹œ์— ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ์กฐ์ž‘ํ•˜๋Š” Series ๋ฐ DataFrames๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 

Pandas์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์ธ๋ฑ์‹ฑ
  • ๋ฐ์ดํ„ฐ ์ •๋ ฌ
  • ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋ณ‘ํ•ฉ/์กฐ์ธ
  • ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ๋ฐ ๋ถ„์„

7. ๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ CNTK

๋”ฅ ๋Ÿฌ๋‹ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•œ ๋˜ ๋‹ค๋ฅธ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์ด์ „์— Computational Network ToolKit์œผ๋กœ ์•Œ๋ ค์ง„ Microsoft CNTK(Cognitive Toolkit)์ž…๋‹ˆ๋‹ค. ์˜คํ”ˆ ์†Œ์Šค ๋”ฅ ๋Ÿฌ๋‹ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ถ„์‚ฐ ๋”ฅ ๋Ÿฌ๋‹ ๋ฐ ๊ธฐ๊ณ„ ํ•™์Šต ์ž‘์—…์„ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. 

CNTK๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด CNN(์ปจ๋ฒŒ๋ฃจ์…˜ ์‹ ๊ฒฝ๋ง), DNN(ํ”ผ๋“œํฌ์›Œ๋“œ ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง), RNN(์ˆœํ™˜ ์‹ ๊ฒฝ๋ง)๊ณผ ๊ฐ™์€ ์˜ˆ์ธก ๋ชจ๋ธ์„ CNTK ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์—”๋“œํˆฌ์—”๋“œ ๋”ฅ ๋Ÿฌ๋‹ ์ž‘์—…์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

๋‹ค์Œ์€ CNTK์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. 

  • ์˜คํ”ˆ ์†Œ์Šค
  • ๋ถ„์‚ฐ ๋”ฅ ๋Ÿฌ๋‹ ์ž‘์—… ๊ตฌํ˜„
  • ์˜ˆ์ธก ๋ชจ๋ธ์„ CNTK ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๊ฒฐํ•ฉ
  • ์—”๋“œ ํˆฌ ์—”๋“œ ๋”ฅ ๋Ÿฌ๋‹ ์ž‘์—…

8. ์ผ€ ๋ผ์Šค

Kears๋Š” ์‹ฌ์ธต ํ•™์Šต ์ž‘์—…์— ์‚ฌ์šฉ๋˜๋Š” ๋˜ ๋‹ค๋ฅธ ์ฃผ๋ชฉํ• ๋งŒํ•œ ์˜คํ”ˆ ์†Œ์Šค Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ์‹ ์†ํ•œ ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง ํ…Œ์ŠคํŠธ๋ฅผ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค. Keras๋Š” ๋ชจ๋ธ ๊ตฌ์„ฑ, ๊ทธ๋ž˜ํ”„ ์‹œ๊ฐํ™” ๋ฐ ๋ฐ์ดํ„ฐ ์„ธํŠธ ๋ถ„์„์— ํ•„์š”ํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ง์ ‘ ๊ฐ€์ ธ์˜ค๊ณ  ๋กœ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๋ฏธ๋ฆฌ ๋ ˆ์ด๋ธ”์ด ์ง€์ •๋œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. 

Keras ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ชจ๋“ˆ์‹์ด๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•˜๋ฉฐ ์œ ์—ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ข…์ข… ์„ ํ˜ธ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ดˆ๋ณด์ž๋ฅผ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ์˜ต์…˜์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ชฉ์ , ๊ณ„์ธต, ์˜ตํ‹ฐ๋งˆ์ด์ € ๋ฐ ํ™œ์„ฑํ™” ๊ธฐ๋Šฅ๊ณผ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Keras๋Š” ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ CPU ๋ฐ GPU์—์„œ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ€์žฅ ๊ด‘๋ฒ”์œ„ํ•œ ๋ฐ์ดํ„ฐ ์œ ํ˜• ์ค‘ ํ•˜๋‚˜๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ์€ Keras์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค. 

  • ์‹ ๊ฒฝ์ธต ๊ฐœ๋ฐœ
  • ๋ฐ์ดํ„ฐ ํ’€๋ง
  • ๋”ฅ ๋Ÿฌ๋‹ ๋ฐ ๋จธ์‹  ๋Ÿฌ๋‹ ๋ชจ๋ธ ๊ตฌ์ถ•
  • ํ™œ์„ฑํ™” ๋ฐ ๋น„์šฉ ํ•จ์ˆ˜

9. ํ…Œ์•„ ๋…ธ

์šฐ๋ฆฌ ๋ชฉ๋ก์˜ ๊ฑฐ์˜ ๋งˆ์ง€๋ง‰์—๋Š” ๊ธฐ๊ณ„ ํ•™์Šต ๋ฐ ๋”ฅ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์œ„ํ•ด ํŠน๋ณ„ํžˆ ๊ฐœ๋ฐœ๋œ ์ˆ˜์น˜ ๊ณ„์‚ฐ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ Theano๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ˆ˜ํ•™์  ํ‘œํ˜„ ๋ฐ ํ–‰๋ ฌ ๊ณ„์‚ฐ์˜ ํšจ์œจ์ ์ธ ์ •์˜, ์ตœ์ ํ™” ๋ฐ ํ‰๊ฐ€๋ฅผ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ชจ๋“  ๊ฒƒ์„ ํ†ตํ•ด Theano๋Š” ๋”ฅ ๋Ÿฌ๋‹ ๋ชจ๋ธ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ฐจ์› ๋ฐฐ์—ด์˜ ๊ณ ์šฉ์— ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

Theano๋Š” ๋งค์šฐ ํŠน์ •ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ๋”ฅ ๋Ÿฌ๋‹ ๊ฐœ๋ฐœ์ž์™€ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. CPU(์ค‘์•™ ์ฒ˜๋ฆฌ ์žฅ์น˜) ๋Œ€์‹  GPU(๊ทธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ ์žฅ์น˜)์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ Theano์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

  • ๊ธฐ๋ณธ ์ œ๊ณต ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋„๊ตฌ
  • ๊ณ ์„ฑ๋Šฅ ์ˆ˜ํ•™ ๊ณ„์‚ฐ
  • ๋น ๋ฅด๊ณ  ์•ˆ์ •์ ์ธ ํ‰๊ฐ€
  • ๋ฐ์ดํ„ฐ ์ง‘์•ฝ์  ๊ณ„์‚ฐ

10. MX ๋„ท

๋”ฅ ๋Ÿฌ๋‹์„ ์œ„ํ•œ ์ตœ๊ณ ์˜ Python ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ 10๊ฐœ ๋ชฉ๋ก์„ ๋งˆ๋ฌด๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ํ™•์žฅ์„ฑ์ด ๋›ฐ์–ด๋‚œ ์˜คํ”ˆ ์†Œ์Šค ๋”ฅ ๋Ÿฌ๋‹ ํ”„๋ ˆ์ž„์›Œํฌ์ธ MXNet์ž…๋‹ˆ๋‹ค. MXNet์€ ์‹ฌ์ธต ์‹ ๊ฒฝ๋ง์„ ๊ต์œก ๋ฐ ๋ฐฐํฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์œผ๋ฉฐ ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๋ชจ๋ธ์„ ๊ต์œกํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 

MXNet์€ Python, Julia, C, C++ ๋“ฑ๊ณผ ๊ฐ™์€ ๋งŽ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. MXNet์˜ ๊ฐ€์žฅ ์ข‹์€ ์  ์ค‘ ํ•˜๋‚˜๋Š” GPU์—์„œ ๋งค์šฐ ๋น ๋ฅธ ๊ณ„์‚ฐ ์†๋„์™€ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

๋‹ค์Œ์€ MXNet์˜ ์ฃผ์š” ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

  • ํ™•์žฅ์„ฑ์ด ๋›ฐ์–ด๋‚œ
  • ์˜คํ”ˆ ์†Œ์Šค
  • ๋”ฅ ๋Ÿฌ๋‹ ์‹ ๊ฒฝ๋ง ํ›ˆ๋ จ ๋ฐ ๋ฐฐํฌ
  • ๋ชจ๋ธ์„ ๋น ๋ฅด๊ฒŒ ํ•™์Šต
  • ๋น ๋ฅธ ๊ณ„์‚ฐ ์†๋„

Alex McFarland๋Š” ์ธ๊ณต ์ง€๋Šฅ์˜ ์ตœ์‹  ๊ฐœ๋ฐœ์„ ํƒ๊ตฌํ•˜๋Š” AI ์ €๋„๋ฆฌ์ŠคํŠธ์ด์ž ์ž‘๊ฐ€์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ „ ์„ธ๊ณ„ ์ˆ˜๋งŽ์€ AI ์Šคํƒ€ํŠธ์—… ๋ฐ ์ถœํŒ๋ฌผ๊ณผ ํ˜‘๋ ฅํ•ด ์™”์Šต๋‹ˆ๋‹ค.