°³¶ËÀ̳׿¡¼ ÆÇ¸ÅµÈ "ÅÙ¼Ç÷ηΠ±¸ÇöÇÏ´Â µö·¯´×°ú °ÈÇнÀ" Á¤°¡ 33,000¿ø Æò±ÕÇÒÀΰ¡
|
|
|
1Àå. µö·¯´× ½ÃÀÛÇϱâ
¸Ó½Å ·¯´× ¼Ò°³ Áöµµ ÇнÀ ºñÁöµµ ÇнÀ °È ÇнÀ µö·¯´×À̶õ ¹«¾ùÀΰ¡? Àΰ£ÀÇ ³ú´Â ¾î¶»°Ô ÀÛµ¿Çϴ°¡? µö·¯´×ÀÇ ¿ª»ç Àû¿ë ºÐ¾ß ½Å°æ¸Á »ý¹°ÇÐÀû ´º·± Àΰø ½Å°æ ¼¼Æ÷ Àΰø ½Å°æ¸ÁÀº ¾î¶»°Ô ÇнÀÇϴ°¡? ¿ªÀüÆÄ ¾Ë°í¸®Áò °¡ÁßÄ¡ ÃÖÀûÈ È®·üÀû °æ»ç ÇÏ° ½Å°æ¸Á ±¸Á¶ ´ÙÃþ ÆÛ¼ÁÆ®·Ð DNN ±¸Á¶ ÄÁ¹ú·ç¼Ç ´º·² ³×Æ®¿öÅ© Á¦¾à º¼Ã÷¸¸ ¸Ó½Å ¿ÀÅäÀÎÄÚ´õ ¼øȯ ½Å°æ¸Á µö·¯´× ÇÁ·¹ÀÓ¿öÅ© ºñ±³ ¿ä¾à
2Àå. ÅÙ¼Ç÷Π»ìÆ캸±â
ÀÏ¹Ý °³¿ä ÅÙ¼Ç÷Π1.xÀÇ »õ·Î¿î ±â´ÉÀº ¹«¾ùÀΰ¡? ÅÙ¼Ç÷δ »ç¶÷µéÀÌ »ç¿ëÇÏ´Â ¹æ½ÄÀ» ¾î¶»°Ô º¯È½ÃÄ״°¡? ÅÙ¼Ç÷Π¼³Ä¡ ¹× ½ÃÀÛÇϱ⠸®´ª½º¿¡¼ ÅÙ¼Ç÷Π¼³Ä¡Çϱâ Ç÷§Æû¿¡ ¾î¶² ÅÙ¼Ç÷θ¦ ¼³Ä¡ÇØ¾ß Çϴ°¡? NVIDIA¿¡¼ GPU·Î ÅÙ¼Ç÷θ¦ ½ÇÇàÇϱâ À§ÇÑ ÇÊ¿ä ¿ä°Ç ´Ü°è 1: NVIDIA CUDA ¼³Ä¡ ´Ü°è 2: NVIDIA cuDNN v5.1+ ¼³Ä¡ ´Ü°è 3: CUDA ÄÄÇ»Æà ±â´É 3.0+ ÀÌ ÀÖ´Â GPU Ä«µå ´Ü°è 4: libcupti-dev ¶óÀ̺귯¸® ¼³Ä¡ ´Ü°è 5: Python(¶Ç´Â Python3) ¼³Ä¡ ´Ü°è 6: PIP(¶Ç´Â PIP3) ¼³Ä¡ ¹× ¾÷±×·¹ÀÌµå ´Ü°è 7: ÅÙ¼Ç÷Π¼³Ä¡ ÅÙ¼Ç÷Π¼³Ä¡ ¹æ¹ý pip·Î ÅÙ¼Ç÷Π¼³Ä¡Çϱâ virtualenv·Î ¼³Ä¡Çϱâ À©µµ¿ì¿¡¼ ÅÙ¼Ç÷Π¼³Ä¡Çϱ⠼ҽº¸¦ ÀÌ¿ëÇØ ¼³Ä¡Çϱâ À©µµ¿ì¿¡ ¼³Ä¡Çϱâ ÅÙ¼Ç÷Π¼³Ä¡¸¦ Å×½ºÆ®Çϱ⠰è»ê ±×·¡ÇÁ ¿Ö °è»ê ±×·¡ÇÁ°¡ Áß¿äÇÑ°¡? °è»ê ±×·¡ÇÁ·Î ½Å°æ¸Á Ç¥ÇöÇϱâ ÇÁ·Î±×·¡¹Ö ¸ðµ¨ µ¥ÀÌÅÍ ¸ðµ¨ ·©Å© ±¸Á¶ µ¥ÀÌÅÍ À¯Çü º¯¼ö ÅÙ¼ °¡Á®¿À±â Çǵå ÅÙ¼º¸µå ÅÙ¼º¸µå´Â ¾î¶»°Ô ÀÛµ¿Çϴ°¡? ´ÜÀÏ ÀÔ·Â ´º·± ±¸ÇöÇϱ⠴ÜÀÏ ÀÔ·Â ´º·±¿¡ ´ëÇÑ ¼Ò½º ÄÚµå ÅÙ¼Ç÷Π1.x·Î ¸¶À̱׷¹ÀÌ¼Ç ¾÷±×·¹ÀÌµå ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÏ´Â ¹æ¹ý Á¦¾È ¼öÀÛ¾÷ ÄÚµå ¾÷±×·¹ÀÌµå ¹æ¹ý º¯¼ö ¿ä¾à ÇÔ¼ö ´Ü¼øÈÇÑ ¼öÇÐ º¯Çü ±âŸ º¯°æ »çÇ× ¿ä¾à
3Àå. ¼ø¹æÇ⠽Űæ¸Á¿¡ ÅÙ¼Ç÷Π»ç¿ëÇϱâ
¼ø¹æÇ⠽Űæ¸Á ¼Ò°³ ¼ø¹æÇâ ¹× ¿ªÀüÆÄ °¡ÁßÄ¡¿Í ¹ÙÀ̾ ÀüÀÌ ÇÔ¼ö ÀÚÇÊ ¼ýÀÚÀÇ ºÐ·ù MNIST µ¥ÀÌÅÍ ÁýÇÕ »ìÆ캸±â ¼ÒÇÁÆ®¸Æ½º ºÐ·ù±â °¡½ÃÈ ÅÙ¼Ç÷Π¸ðµ¨À» ÀúÀåÇÏ°í º¹±¸ÇÏ´Â ¹æ¹ý ¸ðµ¨ ÀúÀåÇϱ⠸𵨠º¹±¸Çϱ⠼ÒÇÁÆ®¸Æ½º ¼Ò½º ÄÚµå ¼ÒÇÁÆ®¸Æ½º ·Î´õ ¼Ò½º ÄÚµå 5Ãþ ½Å°æ¸Á ±¸Çö °¡½ÃÈ 5Ãþ ½Å°æ¸Á ¼Ò½º ÄÚµå ReLU ºÐ·ù±â °¡½ÃÈ ReLU ºÐ·ù±â ¼Ò½º ÄÚµå µå·Ó¾Æ¿ô ÃÖÀûÈ °¡½ÃÈ µå·Ó¾Æ¿ô ÃÖÀûȸ¦ Àû¿ëÇÑ ¼Ò½º ÄÚµå ¿ä¾à
4Àå. ÄÁº¼·ç¼Ç ½Å°æ¸Á¿¡ ÅÙ¼Ç÷Π»ç¿ëÇϱâ
CNN ¼Ò°³ ÄÁº¼·ç¼Ç ´º·² ³×Æ®¿öÅ© ±¸Á¶ CNN ¸ðµ¨ - LeNet ù ¹ø° CNN ±¸Ãà ¼ÕÀ¸·Î ¾´ ºÐ·ù±âÀÇ ¼Ò½º ÄÚµå CNNÀ¸·Î °¨Á¤ ÀνÄÇϱ⠰¨Á¤ ºÐ·ù±â ¼Ò½º ÄÚµå ¿©·¯ºÐÀÌ º¸À¯ÇÑ À̹ÌÁö·Î ¸ðµ¨ Å×½ºÆ®Çϱ⠼ҽº ÄÚµå ¿ä¾à
5Àå. ÅÙ¼Ç÷Π¿ÀÅäÀÎÄÚ´õ ÃÖÀûÈÇϱâ
¿ÀÅäÀÎÄÚ´õ ¼Ò°³ ¿ÀÅäÀÎÄÚ´õ ±¸ÇöÇϱ⠿ÀÅäÀÎÄÚ´õ¿¡ ´ëÇÑ ¼Ò½º ÄÚµå ¿ÀÅäÀÎÄÚ´õ °ß°í¼º °³¼±Çϱ⠳ëÀÌÁî Á¦°Å ¿ÀÅäÀÎÄÚ´õ ±¸ÃàÇϱ⠳ëÀÌÁî Á¦°Å ¿ÀÅäÀÎÄÚ´õ ¼Ò½º ÄÚµå ÄÁº¼·ç¼Ç ¿ÀÅäÀÎÄÚ´õ ÀÎÄÚ´õ µðÄÚ´õ ÄÁº¼·ç¼Ç ¿ÀÅäÀÎÄÚ´õ ¼Ò½º ÄÚµå ¿ä¾à
6Àå. RNN ¼øȯ ½Å°æ¸Á
RNN ±âº» °³³ä RNN ½ÇÇà ¸ÞÄ¿´ÏÁò RNNÀÇ ÆîÃÄÁø ¹öÀü ±×·¹À̵ð¾ðÆ® ¼Ò¸ê ¹®Á¦ LSTM ³×Æ®¿öÅ© RNNÀ» ÀÌ¿ëÇÑ À̹ÌÁö ºÐ·ù±â RNN À̹ÌÁö ºÐ·ù ÇÁ·Î±×·¥ÀÇ ¼Ò½º ÄÚµå ¾ç¹æÇâ RNN ¾ç¹æÇâ RNN ¼Ò½º ÄÚµå ÅؽºÆ® ¿¹Ãø µ¥ÀÌÅÍ ÁýÇÕ È¥Àâµµ PTB ¸ðµ¨ ¿¹Á¦ ½ÇÇàÇϱ⠿ä¾à
7Àå. GPU ¿¬»ê
GPGPU ¿¬»ê GPGPU ¿ª»ç CUDA ±¸Á¶ GPU ÇÁ·Î±×·¡¹Ö ¸ðµ¨ ÅÙ¼Ç÷ΠGPU ¼³Á¤ ÅÙ¼Ç÷Π¾÷µ¥ÀÌÆ® ÅÙ¼Ç÷ΠGPU °ü¸® ÇÁ·Î±×·¡¹Ö ¿¹Á¦ GPU °è»êÀ» À§ÇÑ ¼Ò½º ÄÚµå GPU ¸Þ¸ð¸® °ü¸® º¹¼ö GPU ½Ã½ºÅÛ¿¡¼ ´ÜÀÏ GPU ÇÒ´ç ¼ÒÇÁÆ® ¹èÄ¡·Î GPU¿¡ ´ëÇÑ ¼Ò½º ÄÚµå º¹¼ö GPU »ç¿ëÇϱ⠺¹¼ö GPU °ü¸®¸¦ À§ÇÑ ¼Ò½º ÄÚµå ¿ä¾à
8Àå. °í±Þ ÅÙ¼Ç÷ΠÇÁ·Î±×·¡¹Ö
ÄÉ¶ó½º ¼Ò°³ ¼³Ä¡ µö·¯´× ¸ðµ¨ ¸¸µé±â ¿µÈ Æò·Ð ³»¿ë¿¡ ±Ù°ÅÇÑ °¨Á¤ ºÐ·ù ÄÉ¶ó½º ¹«ºñ ºÐ·ù ÇÁ·Î±×·¥ÀÇ ¼Ò½º ÄÚµå ÄÁº¼·ç¼ÇÃþÀ» Ãß°¡Çϱâ ÄÁº¼·ç¼ÇÃþÀ» °®´Â ¿µÈ ºÐ·ù±â¿¡ ´ëÇÑ ¼Ò½º ÄÚµå Pretty Tensor Ãþ ¿¬°á ÀÏ¹Ý ¸ðµå ¼øÂ÷ ¸ðµå ºÐ±â ¹× Á¶ÀÎ ¼ýÀÚ ºÐ·ù±â ¼ýÀÚ ºÐ·ù±â¿ë ¼Ò½º ÄÚµå TFLearn TFLearn ¼³Ä¡ ŸÀÌŸ´Ð »ýÁ¸ ¿¹Ãø±â ŸÀÌŸ´Ð ºÐ·ù±â ¼Ò½º ÄÚµå ¿ä¾à
9Àå. ÅÙ¼Ç÷θ¦ ÀÌ¿ëÇÑ °í±Þ ¸ÖƼ¹Ìµð¾î ÇÁ·Î±×·¡¹ÖÇϱâ
¸ÖƼ¹Ìµð¾î ºÐ¼® ¼Ò°³ °¡º¯ÀûÀÎ °´Ã¼ °¨Áö¸¦ À§ÇÑ µö·¯´× º´¸ñ ÀçÇнÀ ¸ðµ¨ »ç¿ë °¡¼ÓÈÇÑ ¼±Çü ´ë¼öÇÐ ÅÙ¼Ç÷ÎÀÇ ÁÖ¿ä °Á¡ XLA¸¦ ÅëÇÑ Just-In-Time ÄÄÆÄÀÏ JIT ÄÄÆÄÀÏ XLAÀÇ Á¸Àç¿Í ÀåÁ¡ XLAÀÇ Èĵå ÀÛ¾÷ ¿©ÀüÈ÷ ½ÇÇèÀûÀÎ »óÅ´٠Áö¿ø Ç÷§Æû º¸´Ù ½ÇÇèÀûÀÎ ÀÚ·á ÅÙ¼ÇÃ·Î¿Í ÄÉ¶ó½º Äɶ󽺴 ¹«¾ùÀΰ¡? Äɶó½ºÀÇ È¿°ú ºñµð¿À Áú¹® ÀÀ´ä ½Ã½ºÅÛ ½ÇÇà ºÒ°¡´ÉÇÑ ÄÚµå! ¾Èµå·ÎÀ̵忡¼ µö·¯´× ÅÙ¼Ç÷Πµ¥¸ð ¿¹Á¦ ¾Èµå·ÎÀÌµå ½ÃÀÛÇϱ⠱¸Á¶ ¿ä±¸ »çÇ× »çÀü ºôµåÇÑ APK. µ¥¸ð ½ÇÇà ¾Èµå·ÎÀ̵𠽺Ʃµð¿À·Î ±¸ÇöÇϱâ Á» ´õ ½ÃµµÇغ»´Ù - Bazel·Î ±¸ÃàÇϱ⠿ä¾à
10Àå. °È ÇнÀ
°È ÇнÀÀÇ ±âº» °³³ä Q-·¯´× ¾Ë°í¸®Áò OpenAI Gym ÇÁ·¹ÀÓ¿öÅ© ¼Ò°³ frozenlake-v0 ±¸Çö ¹®Á¦ frozenlake-v0 ¹®Á¦¿¡ ´ëÇÑ ¼Ò½º ÄÚµå ÅÙ¼Ç÷θ¦ »ç¿ëÇÑ Q-·¯´× Q ·¯´× ½Å°æ¸Á ¼Ò½º ÄÚµå ¿ä¾à
ÅÙ¼Ç÷θ¦ ÀÌ¿ëÇØ µö·¯´× ÇÁ·Î±×·¥À» °³¹ßÇÏ´Â ¹æ¹ýÀ» ¾Ë·ÁÁÖ´Â ¼Ò°³¼´Ù. ÀÌ Ã¥À» ÅëÇØ ´ÙÀ½°ú °°Àº ³»¿ëÀ» ¹è¿ï ¼ö ÀÖ´Ù.
-µö·¯´×ÀÇ ¿ª»çÀû ¹ßÀü °úÁ¤ -ÃֽŠÅÙ¼Ç÷Π1.3°ú GPU ÄÄÇ»ÆÃÀ» ÀÌ¿ëÇÑ µö·¯´× ÇÁ·Î±×·¥ °³¹ß °úÁ¤ -ÅÙ¼Ç÷θ¦ »ç¿ëÇØ µ¥ÀÌÅ͸¦ ·Îµå, ó¸®, º¯È¯ÇÏ´Â ¹æ¹ý -À̹ÌÁö³ª ÅؽºÆ®¸¦ Æ÷ÇÔÇÑ ½ÇÁ¦ µ¥ÀÌÅÍ ÁýÇÕ¿¡ ÅÙ¼Ç÷θ¦ »ç¿ëÇØ CNN, RNNÀ» ±¸ÇöÇÏ´Â ¹æ¹ý -µö·¯´× ¸ðµ¨ÀÇ ¼º´ÉÀ» Æò°¡ÇÏ´Â ¹æ¹ý -°ÈÇнÀ¿¡ ´ëÇÑ ±â¼úÀû °³¿ä ¹× ±¸Çö ¹æ¹ý -Äɶ󽺿¡ ´ëÇÑ °³¿ä ¹× »ç¿ë ¹æ¹ý
[ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë]
-µö·¯´×ÀÇ ¿ª»çÀû ¹ßÀü ¹× Áøº¸¿Í ÇÔ²² ¸Ó½Å ·¯´×¿¡ ´ëÇØ ÇнÀ -ÃֽŠÅÙ¼Ç÷Π1.x¸¦ »ç¿ëÇÑ µö ¸Ó½Å Áö´É°ú GPU ÄÄÇ»Æà -°ø¿ë µ¥ÀÌÅÍ ÁýÇÕ¿¡ ¾×¼¼½ºÇÏ°í ÅÙ¼Ç÷θ¦ »ç¿ëÇÑ µ¥ÀÌÅÍ ·Îµå, ó¸® ¹× º¯Çü -À̹ÌÁö, ÅؽºÆ® µîÀ» ºñ·ÔÇÑ ½ÇÁ¦ µ¥ÀÌÅÍ ÁýÇÕ¿¡ ÅÙ¼Ç÷Π»ç¿ë -µö·¯´× ¸ðµ¨ÀÇ ¼º´ÉÀ» Æò°¡ÇÏ´Â ¹æ¹ý -È®Àå °¡´ÉÇÑ °´Ã¼ ŽÁö ¹× ¸ð¹ÙÀÏ ÄÄÇ»ÆÃÀ» À§ÇÑ µö·¯´× »ç¿ë -°È ÇнÀ ±â¹ýÀ» Ž»öÇØ µ¥ÀÌÅ͸¦ ½Å¼ÓÇÏ°Ô ÇнÀ½ÃÅ°´Â ¹æ¹ý -µö·¯´× ¿¬±¸¿Í ÀÀ¿ëÀÇ È°¹ßÇÑ ºÐ¾ß Ž»ö
[ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ]
°³¹ßÀÚ, µ¥ÀÌÅÍ ºÐ¼®°¡ ¶Ç´Â º¹ÀâÇÑ ¼öÄ¡ °è»ê¿¡ ´ëÇÑ ¹è°æ Áö½ÄÀÌ ºÎÁ·ÇÏÁö¸¸, µö·¯´×ÀÌ ¹«¾ùÀÎÁö ¾Ë°í ½Í¾îÇÏ´Â µö·¯´× ¾ÖÈ£°¡¸¦ À§ÇØ ÀÛ¼ºµÆ´Ù. ÀÌ Ã¥Àº µö·¯´×À» ÅëÇØ ½ÇÁ¦ °æÇèÀ» ½×±â À§ÇÑ ºü¸¥ °¡À̵带 ¿øÇÏ´Â Ãʺ¸ÀÚ¿¡°Ô Å« µµ¿òÀÌ µÉ °ÍÀÌ´Ù. ÄÄÇ»ÅÍ Çϵå¿þ¾î ¹× ¾Ë°í¸®Áò¿¡ ´ëÇÑ ±âº» ÀνÄÀ» ºñ·ÔÇØ ÄÄÇ»ÅÍ°úÇÐ ±â¼ú ¹× ±â¼ú¿¡ ´ëÇÑ ±âº»Áö½ÄÀÌ ÀÖ´Â °ÍÀ¸·Î °£ÁֵŠÇϳªÀÇ ¾ð¾î·Î ÇÁ·Î±×·¡¹ÖÇÏ´Â Ãʺ¸ÀûÀÎ ¼öÁØÀ» ÀüÁ¦·Î ÇÑ´Ù. ÃÊ±Þ ¼±Çü ´ë¼öÇÐ ¹× ¹ÌÀûºÐÇÐ ¼öÁØÀÇ ¼öÇÐ ´É·ÂÀÌ ÇÊ¿äÇÏ´Ù.
[ ÀÌ Ã¥ÀÇ ±¸¼º]
1Àå, 'ÅÙ¼Ç÷Π½ÃÀÛÇϱâ'¿¡¼´Â 2~10Àå¿¡¼ ã¾ÆºÁ¾ß ÇÏ´Â ¸î °¡Áö ±âº» °³³ä¿¡ ´ëÇØ ¼³¸íÇÑ´Ù. 1Àå¿¡¼´Â ¸Ó½Å ·¯´×°ú µö·¯´× ¾ÆÅ°ÅØó¿¡ ´ëÇØ ¼Ò°³ÇÒ °ÍÀÌ´Ù. ¸¶Áö¸·À¸·Î ¼ÒÀ§ Deep Neural Networks¶ó°í ºÒ¸®´Â µö·¯´× ¾ÆÅ°ÅØó¸¦ ¼Ò°³ÇÑ´Ù. µö·¯´× ¾ÆÅ°ÅØó´Â ¸ÁÀÇ ±íÀÌ Ãø¸é¿¡¼ ÀϹÝÀûÀ¸·Î ¾Ë·ÁÁø ´ÜÀÏ Àº´ÐÃþ ½Å°æ¸Á°ú´Â ´Ù¸£´Ù. Áï, ÆÐÅÏ ÀνÄÀÇ ´Ù´Ü°è ÇÁ·Î¼¼½º¿¡¼ µ¥ÀÌÅÍ°¡ Åë°úÇÏ´Â ³ëµå °èÃþÀÇ ¼ö°¡ ¸¹´Ù. 1Àå¿¡¼´Â µö·¯´× ¾ÆÅ°ÅØó¿¡ ´ëÇÑ ºñ±³ ºÐ¼®À» ÇÑ´Ù. ¿©±â¿¡´Â ´ëºÎºÐÀÇ µö·¯´× ¾Ë°í¸®ÁòÀÌ ÁøÈÇÑ ¸ðµç ½Å°æ ³×Æ®¿öÅ©°¡ ¿ä¾àµÅ ÀÖ´Ù. 2Àå, 'ÅÙ¼Ç÷θ¦ óÀ½À¸·Î »ìÆ캸±â'¿¡¼´Â ÅÙ¼Ç÷Π1.xÀÇ ÁÖ¿ä ±â´É ¹× ³»¿ëÀ» ´Ù·é´Ù. °è»ê ±×·¡ÇÁ, µ¥ÀÌÅÍ ¸ðµ¨, ÇÁ·Î±×·¡¹Ö ¸ðµ¨ ¹× ÅÙ¼º¸µå(TensorBoard)·Î ½ÃÀÛÇÑ´Ù. 2ÀåÀÇ ¸¶Áö¸· ºÎºÐ¿¡¼´Â ´ÜÀÏ ÀÔ·Â ´º·±(Single Input Neuron)À» ±¸ÇöÇØ ÅÙ¼Ç÷ΰ¡ ½ÇÁ¦·Î ÀÛµ¿ÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖ´Ù. ¸¶Áö¸·À¸·Î ÅÙ¼Ç÷Π0.x¿¡¼ ÅÙ¼Ç÷Π1.x·Î ¾÷±×·¹À̵åÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù. 3Àå, 'Çǵå Æ÷¿öµå ½Å°æ¸Á ÅÙ¼Ç÷Π»ç¿ëÇϱâ'¿¡¼´Â Çǵå Æ÷¿öµå ´º·² ³×Æ®¿öÅ©¿¡ ´ëÇØ ÀÚ¼¼È÷ ¼³¸íÇÑ´Ù. 3ÀåÀº ±âº» ¾ÆÅ°ÅØó¸¦ »ç¿ëÇØ ¸¹Àº ÀÀ¿ë ÇÁ·Î±×·¥ ¿¹Á¦¸¦ ±¸ÇöÇϹǷΠ¸Å¿ì ½Ç¿ëÀûÀÌ´Ù. 4Àå, 'ÄÁº¼·ç¼Ç ½Å°æ¸Á(Convolutional Neural Network)'¿¡¼´Â µö·¯´× ±â¹Ý À̹ÌÁö ºÐ·ù±âÀÇ ±âº» ºí·ÏÀÎ CNN ³×Æ®¿öÅ©¸¦ ¼Ò°³ÇÑ´Ù. CNN ³×Æ®¿öÅ©ÀÇ µÎ °¡Áö ¿¹¸¦ °³¹ßÇغ¼ °ÍÀÌ´Ù. ù ¹ø° ¿¹Á¦´Â °íÀüÀûÀÎ MNIST ¼ýÀÚ ºÐ·ù ¹®Á¦À̸ç, µÎ ¹ø° ¿¹Á¦ÀÇ ¸ñÀûÀº ÀÏ·ÃÀÇ ¾ó±¼ À̹ÌÁö¿¡ ´ëÇÑ ³×Æ®¿öÅ©¸¦ ÇнÀÇØ °¨Á¤ÀûÀÎ ½ºÆ®·¹ÄªÀ» ºÐ·ùÇÏ´Â °ÍÀÌ´Ù. 5Àå, 'ÅÙ¼Ç÷Π¿ÀÅäÀÎÄÚ´õ'¿¡¼´Â ÃÖÀûÈ ÀÔ·Â ÆÐÅÏÀ» º¯ÇüÇϱâ À§ÇØ ¼³°èÇÏ°í ÇнÀ½ÃŲ ¿ÀÅäÀÎÄÚ´õ(autoencoder) ³×Æ®¿öÅ©¸¦ ¼³¸íÇÑ´Ù. µû¶ó¼ ÀÔ·Â ÆÐÅÏÀÇ ¼º´É ÀúÇϳª ºÒ¿ÏÀüÇÑ ¹öÀüÀÌ ÀÖ´Â °æ¿ì, ¿ø·¡ ÆÐÅÏÀ» ¾òÀ» ¼ö ÀÖ´Ù. 5Àå¿¡¼´Â ¸î °¡Áö ÀÀ¿ë ÇÁ·Î±×·¥ ¿¹Á¦·Î ÀÛµ¿ÇÏ´Â ¿ÀÅäÀÎÄÚ´õ ÇÁ·Î±×·¥À» º¼ ¼ö ÀÖ´Ù. 6Àå, '¼øȯ ½Å°æ¸Á(Reverse Neural Networks)'¿¡¼´Â ´Ù¾çÇÑ ±æÀÌÀÇ µ¥ÀÌÅ͸¦ ó¸®Çϵµ·Ï ¼³°èµÈ ±âº» ¾ÆÅ°ÅØó¸¦ ¼³¸íÇÑ´Ù. ¼øȯ ½Å°æ¸ÁÀº ´Ù¾çÇÑ ÀÚ¿¬¾î ó¸® ÀÛ¾÷¿¡ ³Î¸® »ç¿ëµÈ´Ù. ÅؽºÆ® ó¸® ¹× À̹ÌÁö ºÐ·ù ¹®Á¦´Â 6Àå¿¡¼ ±¸ÇöÇÑ´Ù. 7Àå, 'GPU ÄÄÇ»ÆÃ'¿¡¼´Â GPU ÄÄÇ»ÆÃÀ» À§ÇÑ ÅÙ¼Ç÷Π±â´ÉÀ» º¸¿©ÁØ´Ù. ÀÌ Àå¿¡¼´Â ÅÙ¼Ç÷θ¦ »ç¿ëÇØ GPU¸¦ ó¸®ÇÏ´Â ¸î °¡Áö ±â¼úÀ» »ìÆ캻´Ù. 8Àå, '°í±Þ ÅÙ¼Ç÷ΠÇÁ·Î±×·¡¹Ö'¿¡¼´Â Äɶó½º(Keras), Pretty Tensor, TFLearn °°Àº ÅÙ¼Ç÷Π±â¹Ý ¶óÀ̺귯¸®¿¡ ´ëÇÑ °³¿ä¸¦ ¼³¸íÇÑ´Ù. °¢ ¶óÀ̺귯¸®¿¡ °ü·ÃµÈ ÀÀ¿ë ÇÁ·Î±×·¥ ¿¹Á¦¸¦ ÅëÇØ ÁÖ¿ä ±â´ÉÀ» ¼³¸íÇÒ °ÍÀÌ´Ù. 9Àå, 'ÅÙ¼Ç÷θ¦ »ç¿ëÇÑ °í±Þ ¸ÖƼ¹Ìµð¾î ÇÁ·Î±×·¡¹Ö'¿¡¼´Â ÅÙ¼Ç÷θ¦ »ç¿ëÇØ ¸ÖƼ¹Ìµð¾î ÇÁ·Î±×·¡¹ÖÀÇ ÀϺΠ°í±Þ ±â¼ú ¹× »õ·Î¿î Ãø¸éÀ» ´Ù·é´Ù. ÅÙ¼Ç÷θ¦ »ç¿ëÇØ ¾Èµå·ÎÀ̵忡¼ È®ÀåÇÒ ¼ö ÀÖ´Â °´Ã¼ ŽÁö ¹× ½ÉÃþ ÇнÀÀ» À§ÇÑ ½ÉÃþ ½Å°æ¸ÁÀ» ¿¹Á¦·Î µé¾î ¼³¸íÇÑ´Ù. ³íÀǸ¦ Á» ´õ ±¸Ã¼ÈÇϱâ À§ÇØ ¿¹Á¦·Î °¡¼Ó ¼±Çü ´ë¼ö(XLA)¿Í Äɶ󽺸¦ ³íÀÇÇÒ °ÍÀÌ´Ù. 10Àå, '°È ÇнÀ(Reinforcement Learning)¿¡¼´Â RL ±âº» °³³äÀ» ´Ù·é´Ù. °¡Àå º¸ÆíÀûÀÎ °È ÇнÀ ¾Ë°í¸®Áò Áß ÇϳªÀÎ Q-learning ¾Ë°í¸®ÁòÀ» °æÇèÇÒ °ÍÀÌ´Ù. ´õ¿íÀÌ ÅÙ¼Ç÷ο¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â °È ÇнÀ ¾Ë°í¸®ÁòÀ» °³¹ßÇÏ°í ºñ±³Çغ¸±â À§ÇÑ ÅøŶÀÎ OpenAI gym ÇÁ·¹ÀÓ¿öÅ©¸¦ ¼Ò°³ÇÑ´Ù.
|
|
|
|
|