ãã®èšäºã§ã¯ã12åã®åæ§ã®ãµãŒãã¹ã®æŠèŠã説æããŸãã
ALEïŒã¢ãŒã±ãŒãåŠç¿ç°å¢
â 玹ä»èšäº
â ãªããžããª
æ©æ¢°åŠç¿ã¢ã«ãŽãªãºã ã®éçºãšè©äŸ¡ã®ããã®ãã©ãããã©ãŒã ã æ°çŸã®Atari 2600ã²ãŒã ãžã®ã€ã³ã¿ãŒãã§ã€ã¹ãæäŸããŸããåã²ãŒã ã¯ãŠããŒã¯ã§ã人ã ãèå³ãæã€ããã«èšèšãããŠããŸãã æ瀺ãããããŸããŸãªã²ãŒã ã«ãããç 究è ã¯çã«æ®éçãªã¢ã«ãŽãªãºã ãäœæããçµæãäºãã«æ¯èŒããããšãã§ããŸãã
ALEç°å¢ã§åäœããã¢ã«ãŽãªãºã ã®å Žåãäžçã¯éåžžã«åçŽã«èŠããŸãã 芳å¯-7ããããã¯ã»ã«ã®2次å é åïŒé åãµã€ãº160 x 210ãã¯ã»ã«ïŒã å¯èœãªã¢ã¯ã·ã§ã³ã¯18åã®ä¿¡å·ã§ãååãšããŠã³ã³ãœãŒã«ã®ãžã§ã€ã¹ãã£ãã¯ã§çæã§ããŸãã å ±é ¬ãåãåãæ¹æ³ã¯ã²ãŒã ããšã«ç°ãªããŸãããååãšããŠãããã¯çŸåšã®ãã¬ãŒã ãšä»¥åã®ãã¬ãŒã ã®ãã€ã³ãã®éãã§ãã
æšæºã¢ãŒãã§ã¯ãAtariãšãã¥ã¬ãŒã¿ãŒã¯æ¯ç§60ãã¬ãŒã ãçæããŸãããææ°ã®ããŒããŠã§ã¢ã§ã¯ã¯ããã«é«éã«å®è¡ã§ããŸãã ç¹ã«ãããŒã¿ã¯çŽ6000ãã¬ãŒã /ç§ã§æäŸãããŸãã
MAgent
â 玹ä»èšäº
â ãªããžããª
æ°çŸããæ°çŸäžã®ãšãŒãžã§ã³ããé¢äžã§ããå®éšã«çŠç¹ãåœãŠãã·ãã¥ã¬ãŒã·ã§ã³ç°å¢ã ãã«ããšãŒãžã§ã³ããèŠæ±ãããŠãããå®éã«ã¯æ°åã®ãšãŒãžã§ã³ãã«å¶éãããŠããä»ã®ç°å¢ãšã¯ç°ãªããMAgentã¯æ¡åŒµæ§ãé«ãã1ã€ã®GPUã§æ倧100äžã®ãšãŒãžã§ã³ãããµããŒãã§ããŸãã
ãããã®ãã¹ãŠã®åãçµã¿ã¯ã1人ã®ãšãŒãžã§ã³ãã®æé©ãªè¡åãèšç·Žããã ãã§ãªããå€æ°ã®ã€ã³ããªãžã§ã³ããšãŒãžã§ã³ãã®äžã§çºçãã瀟äŒçŸè±¡ã調æ»ããããšãç®çãšããŠããŸãã ãããã¯ãèªå·±çµç¹åããšãŒãžã§ã³ãéã®ã³ãã¥ãã±ãŒã·ã§ã³ããªãŒããŒã·ãããå©ä»äž»çŸ©ãªã©ã«é¢é£ããåé¡ã§ãã
MAgentã¯ãç 究è ã«ç°å¢ãã«ã¹ã¿ãã€ãºããæè»æ§ãæäŸããŸãã ãã¢çã«ã¯ããã©ã¹ã¡ã³ãïŒæé£è ãèé£åç©ãå¹æçã«è¿œè·¡ããããã«çŸ€ãã§éãŸãïŒã競äºç°å¢ã§ãªãœãŒã¹ãåéããã2ã€ã®è»éã®æŠãïŒãšãŒãžã§ã³ããå å²ããã²ãªã©æŠäºãªã©ãã®æè¡ãç¿åŸããïŒ
ãã«ã¡
â 玹ä»èšäº
人æ°ã®Minecraftã²ãŒã ã«åºã¥ããæ©æ¢°åŠç¿ã®åéã®åºç€ç 究ã®ããã®ãã©ãããã©ãŒã ã Minecraftã¯ãå¿ èŠãªè€éãã®åçãªäžçãç°¡åã«äœæã§ãã3Dã²ãŒã ã§ãã ãšãŒãžã§ã³ãã管çããã¿ã¹ã¯ãäœæããå®éšãè¡ãããã®APIãæäŸããŸãã
é¢çœããŠé£ããã
VizDoom
â ãããžã§ã¯ããµã€ã
人æ°ã®ãã3D Doomã²ãŒã ã«åºã¥ããŠãã³ã³ãã¥ãŒã¿ãŒããžã§ã³ãšåŒ·ååŠç¿ã®å®éšç°å¢ã ç¬èªã®ã¹ã¯ãªãã/ããããäœæãããããã«ããŠãŒã¶ãŒã¢ãŒãã䜿çšããããåŠç¿ãšãŒãžã§ã³ãããã¬ãŒã€ãŒã®ã¢ã¯ã·ã§ã³ãç£èŠããã¢ãŒããªã©ã䜿çšãããã§ããŸãã ãã®ç°å¢ã¯ååã«é«éã§ïŒã¹ã¬ããããšã«æ倧7000 FPSïŒãLinuxãšWindowsã®äž¡æ¹ã§æ©èœããŸãã
C ++ãPythonãããã³Javaçšã®äœ¿ããããAPIãæäŸããŸãã APIã¯ã匷ååŠç¿ã¢ã«ãŽãªãºã ã§ã®äœ¿çšã«æé©åãããŠããŸãã 芳枬ãšããŠãã¹ã¯ãªãŒã³ãããã¡ãŒããã®ç»åãåŠç¿ã¢ã«ãŽãªãºã ã«éä¿¡ããã深床ããããéä¿¡ã§ããŸãã
ãããžã§ã¯ãã®Webãµã€ãã«ã¯ããã¥ãŒããªã¢ã«ããããªãã¢ãäŸã詳现ãªããã¥ã¡ã³ãããããŸãã
ELFïŒãªã¢ã«ã¿ã€ã æŠç¥ã²ãŒã åãã®ãå¹ åºã軜éã§æè»ãªç 究ãã©ãããã©ãŒã
â 玹ä»èšäº
â ãªããžããª
匷ååŠç¿ã¢ã«ãŽãªãºã ã®åºç€ç 究ã®ããã®ãã©ãããã©ãŒã ã
C / C ++ïŒALEãšåæ§ïŒã«åºã¥ããŠãã¹ããããã²ãŒã ããã¹ãã§ããŸãã ããã«ãéçºè ã¯ELFã«åºã¥ããŠããªã¢ã«ã¿ã€ã æŠç¥ïŒRTSïŒã®ç°¡æããŒãžã§ã³ãäœæããŸãããããã¯ãã©ãããããã§ã³ã¢ãããæ倧4000 FPSã§åäœã§ããŸãã ãã®ããã©ãŒãã³ã¹ã«ããããªã¢ã«ã¿ã€ã ã¢ãŒããããé«éã«å®è¡ããããã«æé©åãããŠããªãåŸæ¥ã®RTSã²ãŒã ã䜿çšãããŠããç°å¢ãããé«éã«ã¢ã«ãŽãªãºã ãåŠç¿ã§ããŸãã Tower Defenseããã³Capture the Flagã¢ãŒãã«ã¯ã²ãŒã ãªãã·ã§ã³ããããŸãã
ãŸããICML2017ã§Facebook Researchã®Yuandong Tianã®ãã¬ãŒã³ããŒã·ã§ã³ãèŠãããšã«èå³ããããããããŸããã
è¿·è·¯
â 玹ä»èšäº
â ãªããžããª
ããšããšäººã ã楜ããŸããããã«äœæãããã²ãŒã ã䜿çšããã·ã¹ãã ãšã¯ç°ãªãããã®äœåã¯åŒ·åä»ãã®åŠç¿ã¢ã«ãŽãªãºã ããã¹ãããããã«ç¹å¥ã«èšèšãããã²ãŒã ã®äœæã«çŠç¹ãåœãŠãŠããŸãã ãã©ãããã©ãŒã ã§äœæãããã²ãŒã ã¯ãå€æŽãŸãã¯æ°ããã²ãŒã ãäœæã§ããŸãã
ã·ã¹ãã ã«ã¯ããã»ã«ã®äžçãã«åºã¥ããŠäœæãããå€æ°ã®ã·ã³ãã«ãª2Dã²ãŒã ãå«ãŸããŠããŸãã äžçãäœæããéãéçºè ã¯å€å žçãªPuddle Worldã«è§ŠçºãããŸããããæ°ãããã¬ãŒãã³ã°ãµã€ã¯ã«ãéå§ããããã³ã«ã¢ã€ãã¢ãè¿œå ããããããåçæããŸããã ãããã£ãŠããšãŒãžã§ã³ãã¯ã圌ããŸã èŠãããšã®ãªãäžçã§æ¯åèšç·ŽãããŸãã
OpenAIãžã /ãŠãããŒã¹
â GYMã®çŽ¹ä»èšäº
â ãŠãããŒã¹ãªããžããª
ãžã ã¯åŒ·ååŠç¿ç 究ããŒã«ãããã§ãã ããã«ã¯ãå®éšçšã®æ¡å€§ãç¶ãããã¹ãç°å¢ã®ã³ã¬ã¯ã·ã§ã³ãå«ãŸããŠããŸãã ãããžã§ã¯ãã®ãŠã§ããµã€ãã§ã¯ãéæããçµæãå ±æããä»ã®åå è ã®çµæãšæ¯èŒã§ããŸãã
Universeã䜿çšãããšãå éšå€æ°ããœãŒã¹ã³ãŒãã«ã¢ã¯ã»ã¹ããããšãªããã»ãšãã©ãã¹ãŠã®ããã°ã©ã ããã¹ãç°å¢ã«ããããšãã§ããŸãã ãã®ããã°ã©ã ã¯Dockerã³ã³ãããŒã«é 眮ãããããŒããŒãããŒã®ããŒã¹ãããŒã¯ãŸãã¯ããŠã¹ã€ãã³ãã®ãšãã¥ã¬ãŒã·ã§ã³ãéããŠããã°ã©ã ãšã®å¯Ÿè©±ãå®è¡ãããŸãã AIãšãŒãžã§ã³ããã¢ã¯ã·ã§ã³ãå®è¡ãã芳枬ãåä¿¡ã§ãã1000以äžã®ç°å¢ïŒäž»ã«ããŸããŸãªã²ãŒã ïŒãå©çšå¯èœã§ãã ãã®æ°åã®ãã¡ãæ°çŸã«ãå®ç§ãªè¡åã«å¯Ÿãããå ±é ¬ãã«é¢ããæ å ±ãå«ãŸããŠããŸãã ãã®ãããªç°å¢ã«ã¯ãããã°ã©ã ã®ã¹ã¿ãŒãã¡ãã¥ãŒããã¯ãªãã¯ãããŠãã²ãŒã ãŸãã¯ã¢ããªã±ãŒã·ã§ã³ã®ã³ã³ãã³ãã«çŽæ¥ç§»åããã¹ã¯ãªãããå«ãŸããŠããŸãã
ããããããžã ã¯åå¿è ã«æé©ã§ãã
ãã³ãœã«ãããŒå€
â 玹ä»èšäº
â ãªããžããª
éçºè ã¯ãTensorFlow Agentsãã€ã³ãã©ã¹ãã©ã¯ãã£ãã©ãã€ã ãšåŒã³ãŸãã ãã®éçºã®äž»ãªçŠç¹ã¯ãå€æ°ã®ã·ãã¥ã¬ãŒã·ã§ã³ç°å¢ã®äžŠåå®è¡ãšGPUããã³CPUã§ã®ããŒã¿ã®ãããåŠçã«ããã¢ã«ãŽãªãºã ã®ãã¬ãŒãã³ã°ãšãã¹ãã®å éã«çœ®ãããŠããŸãã ãããã£ãŠãä»ã®ã»ãšãã©ã®ãã©ãããã©ãŒã ã«åºæã®ãããã«ããã¯ããæ¡å€§ããã¢ã«ãŽãªãºã ã®ãããã°ãµã€ã¯ã«ãå éãããŸãã åæã«ãOpenAIãžã ã€ã³ã¿ãŒãã§ãŒã¹ããµããŒãããã¢ããªã±ãŒã·ã§ã³ã¯ãç°å¢èªäœãšããŠäœ¿çšãããŸãããã§ã«è¿°ã¹ãããã«ããããã«ã¯å€ãã®éžæè¢ããããããããéžæãããã®ã¯ãããããããŸãã
Unity MLãšãŒãžã§ã³ã
â ãªããžããª
Unity Editorã䜿çšããŠãæ©æ¢°åŠç¿çšã®ã·ãã¥ã¬ãŒã·ã§ã³ç°å¢ãäœæã§ããããã«ãªããŸããã Unity Engineã䜿çšããŠåäœããŸãã ææ¡ããããã©ãã€ã ã«ããã°ãã¢ã«ãããŒãè³ããšãŒãžã§ã³ããšãã3ã€ã®ãªããžã§ã¯ãã®ã³ãŒããå®çŸ©ããã³éçºããå¿ èŠããããŸãã
ã¢ã«ãããŒ-äžè¬çãªç°å¢èšå®ããã®å éšããžãã¯ã ããã«ãã¢ã«ãããŒã¯ã¢ãã«ã®æ®ãã®ãšã³ãã£ãã£ã®èŠªãªããžã§ã¯ãã§ãã
è³-ææ決å®ã®ããžãã¯ãèšè¿°ãããªããžã§ã¯ãã ããã€ãã®ãªãã·ã§ã³ããããŸã-TensorFlowãžã®ã€ã³ã¿ãŒãã§ãŒã¹ïŒãªãŒãã³ãœã±ãããšPython APIãŸãã¯TensorFlowSharpã䜿çšïŒããã¥ãŒãªã¹ãã£ãã¯ããŒã¹ã®èªå·±èšè¿°ããžãã¯ããŸãã¯ããŒããŒããšããŠã¹å ¥åãåŸ æ©ããŠäººéã®ãªãã¬ãŒã¿ãŒã§ãšãŒãžã§ã³ããçŽæ¥å¶åŸ¡ããŸãã
ãšãŒãžã§ã³ã-ç¶æ ã芳枬å€ã®äžæã®ã»ãããå«ããªããžã§ã¯ãã ã·ãã¥ã¬ãŒã·ã§ã³ç°å¢å ã§ç¬èªã®äžé£ã®ã¢ã¯ã·ã§ã³ãå®è¡ããŸãã ã·ãã¥ã¬ãŒãããããªããžã§ã¯ãã®ãããã£ãã
ãŸãããšãŒãžã§ã³ãã®å éšç¶æ ãç£èŠããããã®çµã¿èŸŒã¿ããŒã«ãè€æ°ã®ã«ã¡ã©ã芳å¯ãšããŠäœ¿çšããæ©èœïŒããšãã°ãèªåé転è»ã®å Žåã®ããã«ãè€æ°ã®ãœãŒã¹ããã®ããŒã¿ãæ¯èŒããæ¹æ³ãåŠç¿ããå Žåã«éèŠã«ãªãå ŽåããããŸãïŒãªã©ããããŸãã
Deepmind Pycolab
â 玹ä»èšäº
â ãªããžããª
å®éãããã¯ASCIIã°ã©ãã£ãã¯ã䜿çšããåçŽãªã²ãŒã ãéçºããããã®ã²ãŒã ãšã³ãžã³ã§ãã ãã®ãããªã²ãŒã ã§ã¯ããã®ã·ã³ãã«ããšè»œãã«ãããæ¯èŒç匱ãããŒããŠã§ã¢ã§ã匷åãããåŠç¿ã¢ã«ãŽãªãºã ããããã°ã§ããŸãã
æ¢è£œã®äŸã®äžã«ã¯ããã§ã«ãã¹ããŒã¹ã€ã³ããŒããŒãããã©ããªã³ã¹ããããµãã¬ãã¯ã¹ãã®ã¢ããã°ãªã©ãããã€ãã®å°ããªã²ãŒã ããããŸãã
SC2LEïŒStarCraft IIåŠç¿ç°å¢ïŒ
â 玹ä»èšäº
â ãªããžããª
StarCraft IIã®ãã¬ã€æ¹æ³ãåŠç¿ããããã®ç°å¢ã StarCraft IIã¯ãå€ãã®åªç§ãªé è³ãä»æŠã£ãŠããææŠçãªæ©æ¢°åŠç¿ãã£ã¬ã³ãžã§ãã æ°çŸã®ãŠãããããæŠäºã®é§ãã®ååšã«ããå°å³ã«é¢ããäžå®å šãªæ å ±ãéçºæŠç¥ã®å€§ããªã°ãã€ããæ°åã¹ãããé ããå ±é ¬ã StarCraft IIã¯ãåã£ãåŸã®äººéã«å¯Ÿããæ©æ¢°åŠç¿æè¡ã®åå©ã«ããã次ã®å€§ããªãã€ã«ã¹ããŒã³ã«ãªãããã§ãã
ãã®ç°å¢ã¯ãã²ãŒã ãšã³ãžã³ãšå¯Ÿè©±ããããã®ãªãŒãã³ãœãŒã¹ã®PythonããŒã«ãæäŸããŸãã éçºè ã¯ãæšæºã®ã²ãŒã ã«ãŒãã«å ããŠããªãœãŒã¹ã®åéãæŠéãªã©ãã²ãŒã ãã¬ã€ã®ããŸããŸãªèŠçŽ ããããã°ããããã®ããã²ãŒã ãããã€ãäœæããŸããã
ããã®ãã¬ã€ã€ãŒã®ã²ãŒã ã®èšé²ãšããã®ã¿ã¹ã¯ã«é©çšã§ããå€å žçãªæ©æ¢°åŠç¿ã¢ã«ãŽãªãºã ã®ãã¹ãçµæããèå³ã®ãã人ã«å©çšå¯èœã§ãã
ã³ãŒã
â ãããžã§ã¯ããµã€ã
â ãªããžããª
ãããã°ããã³åŒ·ååŠç¿ã¢ã«ãŽãªãºã ã®ããã®ã¢ãžã¥ã©ãŒPythonç°å¢ã ãããŒã¹ãããã·ãã¥ã¬ãŒã·ã§ã³ãšãŒãžã§ã³ããåéããã¢ã«ãŽãªãºã ãšãã¬ãŒãã³ã°ã¢ãã«ã®æå¹æ§ãè©äŸ¡ããããã»ã¹ã§ãã«ãããã»ããµã·ã¹ãã ã®å šæ©èœã䜿çšã§ããŸãã
ããã«ã¯ãå€ãã®æ©æ¢°åŠç¿ã¢ã«ãŽãªãºã ã®ææ°ã®å®è£ ãçµã¿èŸŒãŸããŠãããããŸããŸãªã¢ã«ãŽãªãºã ãã©ã®ããã«æ©èœããããè©Šãããããå®è£ ã®æ©èœã«æ·±ãå ¥ããããªã人ã«ãšã£ãŠã¯è¯ãåºçºç¹ãšãªããŸãã
Coachã¯ãåŠç¿ããã»ã¹ã«é¢ããçµ±èšãåéããåŠç¿ã¢ãã«ã®ãããã°ã«åœ¹ç«ã€é«åºŠãªèŠèŠåæè¡ããµããŒãããŠããŸãã
çµè«ã®ä»£ããã«
äœãèŠéããå Žåã¯ãã³ã¡ã³ãã«æžããŠãã ããã
2æ26æ¥ãã3æ7æ¥ãŸã§äŒæãåãå Žåã¯ã17æ¥éé£ç¶ããŠäŒãããšãã§ããŸãã ãã®æç¹ã§ãããã«å€ãã®ã¢ã€ãã¢ããããŸãã