æŠèŠ
æ¬é£èŒã§ã¯ãPart 1ãšPart 2ã®2åã«ãããããã¿ãŒã³ã®èªèã察象ç©ã®åé¡ã«äœ¿çšãããç³ã¿èŸŒã¿ãã¥ãŒã©ã«ã»ãããã¯ãŒã¯ïŒCNNïŒConvolutional Neural NetworkïŒã®ç¹æ§ãšã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠèª¬æããŠããŸãããä»åïŒPart 3ïŒã¯ããã®CNNãããŒããŠã§ã¢ã§å®çŸããæ¹æ³ã«ã€ããŠèª¬æããŸããå ·äœçã«ã¯ãAIïŒäººå·¥ç¥èœïŒå¯Ÿå¿ã®ãã€ã¯ãã³ã³ãããŒã©ãMAX78000ãã䜿çšããæ¹æ³ã玹ä»ããŸãããã®è£œåã¯ãããŒããŠã§ã¢ã§å®çŸãããCNNçšã®ã¢ã¯ã»ã©ã¬ãŒã¿ãæèŒããŠããŸãããããå©çšããã°ãIoTïŒInternet of ThingsïŒã¢ããªã±ãŒã·ã§ã³ã®ãšããžã«ãããŠAIãå©çšããããšãå¯èœã«ãªããŸãããªããå¿ èŠã«å¿ããŠæ¬é£èŒã®å2åã®èšäºãæ©æ¢°åŠç¿ãšã¯äœãïŒ ãPart 1ãç³ã¿èŸŒã¿ãã¥ãŒã©ã«ã»ãããã¯ãŒã¯ã®åºæ¬ããšãæ©æ¢°åŠç¿ãšã¯äœãïŒ ãPart 2ãç³ã¿èŸŒã¿ãã¥ãŒã©ã«ã»ãããã¯ãŒã¯ã®ãã¬ãŒãã³ã°ããåç §ããŠãã ããã
ã¯ããã«
äžè¬ã«ãAIãå©çšããã¢ããªã±ãŒã·ã§ã³ã«ã¯ããµãŒãã»ãã¡ãŒã ãé«äŸ¡ãªFPGAãªã©ãå¿ èŠã§ããããã¯ã倧éã®é»åãäŸçµŠããå¿ èŠããããšããããšãæå³ããŸããã€ãŸãããã®çš®ã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãæ¶è²»é»åãšã³ã¹ããäœãæãã€ã€æŒç®èœåãé«ããããšã倧ããªèª²é¡ã«ãªããŸãããã ãçŸåšãAIããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ã«ã¯åçãªå€åã蚪ãã€ã€ãããŸãããªããªãã匷åãã€ã€ã³ããªãžã§ã³ããªãšããžã»ã³ã³ãã¥ãŒãã£ã³ã°ãå©çšã§ããããã«ãªã£ãããã§ããåŸæ¥ã¯ãã¡ãŒã ãŠã§ã¢ãããŒã¹ãšããŠæŒç®ãè¡ãããŠããŸãããããã«å¯ŸããããŒããŠã§ã¢ãããŒã¹ãšããCNNã¢ã¯ã»ã©ã¬ãŒã¿ãå©çšããã°ãå§åçãªã¹ããŒããšãã¯ãŒãåŸãããŸããã€ãŸããæŒç®æ§èœã®é¢ã§æ°æ代ã蚪ãã€ã€ãããšããããšã§ããã€ã³ããªãžã§ã³ããªãšããžæè¡ãå©çšããã°ãã»ã³ãµãŒã»ããŒãã«ãããŠå€æãäžããããã«ãªããŸããããããã°ã5GãWi-Fiã®ãããã¯ãŒã¯ãå©çšããŠè»¢éããªããã°ãªããªãããŒã¿ã®éãå€§å¹ ã«åæžã§ããŸãããã®çµæãåŸæ¥ã¯å®çŸãäžå¯èœã ã£ãæ°ããªæè¡ãç¬èªã®ã¢ããªã±ãŒã·ã§ã³ã®éçºã匷åã«æšé²ãããããã«ãªããŸãããäŸãã°ãç æ€ç¥åšïŒç«çœæ€ç¥åšãé éãã管çããããã»ã³ãµãŒã»ããŒãã«ãã£ãŠçŸå Žã§ç°å¢ã«é¢ããããŒã¿ãåæãããããããšãå¯èœã«ãªããŸããããããé»æºãšããŠããããªã䜿çšããããããããã€ã¹ãäœå¹Žãéçšã§ããããã«ãªãã®ã§ããã§ã¯ããã®ãããªæ©èœãå ·çŸåããã«ã¯ãå ·äœçã«ã¯ã©ã®ããã«ããã°ããã®ã§ããããããã®1ã€ã®çããšããŠãæ¬çš¿ã§ã¯AIãã€ã¯ãã³ã³ãããŒã©ãšããããŒããŠã§ã¢ã䜿çšããããšã§ãCNNãå®çŸããæ¹æ³ã玹ä»ããŸãã
è¶ äœæ¶è²»é»åã®CNNã¢ã¯ã»ã©ã¬ãŒã¿ãæèŒããAIãã€ã¯ãã³ã³ãããŒã©
MAX78000ã¯ãè¶ äœæ¶è²»é»åã®CNNã¢ã¯ã»ã©ã¬ãŒã¿ãæèŒããAIãã€ã¯ãã³ã³ãããŒã©ã§ãããã®å é²çãªSoCïŒSystem on ChipïŒã¯ããªãœãŒã¹ã«å¶çŽããããšããžã»ããã€ã¹ãIoTã¢ããªã±ãŒã·ã§ã³ã«å¯Ÿããæ¶è²»é»åã極ããŠå°ãªãæãã€ã€CNNã®æ©èœãæäŸããŸããã¢ããªã±ãŒã·ã§ã³ã®äŸãšããŠã¯ãç©äœã®æ€ç¥ïŒåé¡ãé³å£°ã®åŠçïŒåé¡ããã€ãºã®ãã£ã³ã»ã«ãé¡èªèãªã©ãæããããŸãããŸããå¿ææ°ã®ãããªå¥åº·ç¶æ ãè¡šãä¿¡å·ãåæããããã®æç³»åããŒã¿ã®åŠçããã«ãã»ã³ãµãŒã«ãã解æãäºç¥ä¿å šãªã©ã«ã掻çšãããŸãã
å³1ã«ãMAX78000ã®ãããã¯å³ã瀺ããŸãããåICã®é«ãæ§èœã¯ãArm® Cortex®-M4Fã³ã¢ã«ãã£ãŠæ¯ããããŠããŸãããã®ã³ã¢ã¯æµ®åå°æ°ç¹ãŠããããå èµããŠãããæé«100MHzã§åäœããŸãããŸããåICã¯ã¢ããªã±ãŒã·ã§ã³ã«ååãªã¡ã¢ãªã»ãªãœãŒã¹ãæäŸããããã«ã512kBã®ãã©ãã·ã¥ã»ã¡ã¢ãªãš128kBã®SRAMãæèŒããŠããŸããå ããŠãI2CãSPIïŒSerial Peripheral InterfaceïŒãUARTïŒUniversal Asynchronous Receiver TransmitterïŒããé³å£°ã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠéèŠãªI2Sãªã©ãè€æ°ã®ã€ã³ã¿ãŒãã§ãŒã¹ãåããŠããŸããæŽã«ã60MHzã§åäœããRISC-Vã³ã¢ãå èµããŠããŸãããã®ã³ã¢ã¯ãåã ã®ããªãã§ã©ã«ã»ãããã¯ãã¡ã¢ãªïŒãã©ãã·ã¥ã»ã¡ã¢ãªãšSRAMïŒãšã®éã§ããŒã¿ã®ã³ããŒãè¡ããªã©ãã¹ããŒããªDMAïŒDirect Memory AccessïŒãšã³ãžã³ãšããŠæ©èœããŸãã
ãã®ã³ã¢ã«ãã£ãŠãAIçšã®ã¢ã¯ã»ã©ã¬ãŒã¿åãã«ãã»ã³ãµãŒã§ååŸããããŒã¿ã®ååŠçãè¡ãããŸãããã®éãArmã³ã¢ã¯ãã£ãŒãã»ã¹ãªãŒãã»ã¢ãŒãã«ç§»è¡ããããšãã§ããŸããå¿ èŠãããã°ãæšè«çµæã«å¿ããArmã³ã¢ã«å¯ŸããŠå²ã蟌ã¿ïŒããªã¬ïŒããããããšãå¯èœã§ãããã®åŸãArmã³ã¢ã¯ã¢ããªã±ãŒã·ã§ã³ã®ã¡ã€ã³ã®äœæ¥ã«çžåœããåŠçãå®è¡ããããã»ã³ãµãŒã®ããŒã¿ãã¯ã€ã€ã¬ã¹ã§éä¿¡ãããããŠãŒã¶ã«å¯Ÿããéç¥ãè¡ã£ããããŸãã
ãMAX7800xã·ãªãŒãºãã®ãã€ã¯ãã³ã³ãããŒã©ã«ã¯å€§ããªç¹åŸŽããããŸããããã¯ãCNNã®æšè«ãå®è¡ããããã®ããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã¿ã»ãŠããããåããŠããããšã§ãããã®ãŠãããã¯ãäžè¬çãªãã€ã¯ãã³ã³ãããŒã©ã®ã¢ãŒããã¯ãã£ãããªãã§ã©ã«ãšã¯äžç·ãç»ããŠããŸãããã®ãŠãããã«ãããå¿ èŠãªãã¹ãŠã®ãã©ã¡ãŒã¿ïŒéã¿ãšãã€ã¢ã¹ïŒã«å ããå®å šãªCNNã®ã¢ãã«ã»ã¢ãŒããã¯ãã£ããµããŒãããããšãã§ããŸãã64åã®äžŠåããã»ããµãæèŒããŠããããã©ã¡ãŒã¿ãæ ŒçŽããããã®442kBã®ã¡ã¢ãªãšå ¥åããŒã¿çšã®896kBã®ã¡ã¢ãªãåããŠããŸããã¢ãã«ãšãã©ã¡ãŒã¿ã¯SRAMã«æ ŒçŽãããã®ã§ããã¡ãŒã ãŠã§ã¢ã«ãã調æŽãè¡ãããšã§ããããã¯ãŒã¯ããªã¢ã«ã¿ã€ã ã«é©å¿ãããããšãå¯èœã«ãªããŸããåSRAMã¯ãã¢ãã«ã§1ã2ã4ã8ãããã®éã¿ã®ãã¡ã©ãã䜿çšãããã«ãã£ãŠãæ倧350äžåã®ãã©ã¡ãŒã¿ã«å¯Ÿå¿ããããšãã§ããŸããã¢ã¯ã»ã©ã¬ãŒã¿ãã¡ã¢ãªã«é¢é£ããæ©èœãå èµããŠããããšãããé£ç¶ããæ°åŠçãªæŒç®ã®ãã³ã«ãã€ã¯ãã³ã³ãããŒã©ã®ãã¹æ§é ãä»ããŠãã©ã¡ãŒã¿ããã§ããããå¿ èŠã¯ãããŸããããã®ãããªãã§ããã®åŠçã¯é 延ã倧ãããå€ãã®é»åãæ¶è²»ããã®ã§ã倧ããªåé¡ã«ãªããŸããMAX7800xã·ãªãŒãºã®ã¢ã¯ã»ã©ã¬ãŒã¿ã¯ãããŒãªã³ã°ã®æ©èœã«å¿ãã32ãŸãã¯64ã®ã¬ã€ã€ããµããŒãããŸããããã°ã©ã ãå¯èœãªç»åã®å ¥åºåãµã€ãºã¯ãåã¬ã€ã€ã§æ倧1024Ã1024ãã¯ã»ã«ã§ãã
ããŒããŠã§ã¢ã»ããŒã¹ã®CNNãæ¶è²»é»åãšæšè«é床ã«ããããå¹æ
CNNã«ããæšè«ã¯ãè¡å圢åŒã®å€§èŠæš¡ãªç·åœ¢æ¹çšåŒã§æ§æãããè€éãªæŒç®ã¿ã¹ã¯ã§ããArm Cortex-M4Fã®èœåã掻ããã°ãçµã¿èŸŒã¿ã·ã¹ãã ã®ãã¡ãŒã ãŠã§ã¢äžã§CNNã®æšè«ãè¡ãããšãã§ããŸããäœããèæ ®ãã¹ãããã€ãã®æ¬ ç¹ããããŸãããã¡ãŒã ãŠã§ã¢ãããŒã¹ãšããæšè«ããã€ã¯ãã³ã³ãããŒã©äžã§å®è¡ãããšã倧éã®é»åãšæéãå¿ èŠã«ãªããŸããæŒç®ã«å¿ èŠãªã³ãã³ããšé¢é£ãããã©ã¡ãŒã¿ã®ããŒã¿ããã¡ã¢ãªããååŸããåŸãäžéçµæãæžãæ»ãå¿ èŠãããããã§ãã
ããã§è¡š1ãã芧ãã ãããããã¯ã3ã€ã®ç°ãªãææ³ïŒã·ããªãªïŒã«ããCNNã®æšè«æéãšæ¶è²»é»åãæ¯èŒãããã®ã§ããããã§äŸãšããŠäœ¿çšããŠããã¢ãã«ã¯ãMNISTïŒMixed National Institute of Standards and TechnologyïŒããŒã¿ããŒã¹ã®ãã¬ãŒãã³ã°ã»ã»ããã䜿çšããŠéçºãããã®ã§ãããã®ãã¬ãŒãã³ã°ã»ã»ããã¯ãææžãã®æ°åãèªèããããã®ãã¬ãŒãã³ã°ã«äœ¿çšãããŠããŸããéçºããã¢ãã«ã¯ãèŠèŠçãªå ¥åããŒã¿ããæ°åãšæåãåé¡ããŠæ£ç¢ºãªåºåçµæãåŸãããã®ãã®ã§ãããã®äŸã§ã¯ãåã·ããªãªã䜿çšããå Žåã«è²»ããããæšè«æéã枬å®ããæ¶è²»é»åãšé床ãæ¯èŒããŸããã
ã·ããªãª | æšè«æéãããªç§ã | 1åã®æšè«ãããã®æ¶è²»é»åãÎŒWsã |
(1) MAX32630ãMNISTãããã¯ãŒã¯ããã¡ãŒã ãŠã§ã¢ã§æšè« | 574 | 22887 |
(2) MAX78000ãMNISTãããã¯ãŒã¯ãããŒããŠã§ã¢ã§æšè« | 1.42 | 20.7 |
(3) MAX78000ãMNISTãããã¯ãŒã¯ãããŒããŠã§ã¢ã§æšè«ãæ¶è²»é»åã®åæžã«åããŠæé©å | 0.36 | 1.1 |
è¡š1ã«ç€ºããïŒ1ïŒã®ã·ããªãªã§ã¯ããMAX32630ããåããArm Cortex-M4FïŒ96MHzã§åäœïŒã䜿çšããŠæšè«ã®æŒç®ãè¡ããŸãããäžæ¹ãïŒ2ïŒã®ã·ããªãªã§ã¯ãMAX78000ãåããããŒããŠã§ã¢ã»ããŒã¹ã®CNNã¢ã¯ã»ã©ã¬ãŒã¿ã䜿çšããŠæŒç®ãå®è¡ããŸããããããã¯ãŒã¯ãžã®å ¥åãšããŠèŠèŠçãªããŒã¿ãæ瀺ãããŠããçµæãåºåããããŸã§ã®æéïŒæšè«é床ïŒãèŠããšãïŒ2ïŒã§ã¯ïŒ1ïŒãšæ¯ã¹ãŠ1/400ã«ççž®ãããŠããŸãããŸãã1åã®æšè«ã«å¿ èŠãªæ¶è²»é»åã¯1/1100ã«åæžãããŠããŸããïŒ3ïŒã®ã·ããªãªã§ã¯ãMNISTãããã¯ãŒã¯ã«å¯Ÿãã1åã®æšè«ã«äŒŽãæ¶è²»é»åãæããããããã«æé©åãè¡ããŸããããã®å Žåãçµæã®æ£ç¢ºãã¯99.6%ãã95.6%ã«äœäžããŸãããã®äžæ¹ã§ããããã¯ãŒã¯ã¯å€§å¹ ã«é«éåããã1åã®æšè«ãããããã0.36ããªç§ã®æéããããããŸãããæ¶è²»é»åãã1åã®æšè«ãããããã1.1ÎŒWsãŸã§åæžãããŠããŸããå3ã¢ã«ã«ãªé»æ± ã2æ¬ïŒããŒã¿ã«ã®é»åéã¯6WhïŒäœ¿çšããã¢ããªã±ãŒã·ã§ã³ã§ããã°ã500äžåã®æšè«ãå®è¡ã§ããããšã«ãªããŸãïŒä»ã®åè·¯ã§æ¶è²»ããé»åã¯èæ ®ããŠããŸããïŒã
ãããã®ããŒã¿ã¯ãããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã¿ãå©çšããå Žåã®æŒç®æ§èœã®é«ããè¡šããŠããŸããããŒããŠã§ã¢ã»ã¢ã¯ã»ã©ã¬ãŒã¿ãããŒã¹ãšããæŒç®ã¯ãåçšé»æºãªã©ããç¶ç¶çãªçµŠé»ãåããããšãã§ããªãã¢ããªã±ãŒã·ã§ã³ã«ãšã£ãŠã¯éåžžã«éèŠãªæå³ãæã¡ãŸããMAX78000ãæ¡çšããã°ã倧éã®é»åãã€ã³ã¿ãŒããããžã®ãããŒããã³ãã»ã¢ã¯ã»ã¹ãé·ãæšè«æéãå¿ èŠãšããããšãªããšããžã§åŠçãå®çŸã§ããŸãã
MAX78000ãæ¡çšããã¢ããªã±ãŒã·ã§ã³
MAX78000ã䜿çšããã°ãå€çš®å€æ§ãªã¢ããªã±ãŒã·ã§ã³ãå®çŸã§ããå¯èœæ§ããããŸããããã§ã¯ã1ã€ã®å ·äœçãªäŸã«ã€ããŠæ€èšããããšã«ããŸãããããã®ã¢ããªã±ãŒã·ã§ã³ã§ã¯ãããããªé§åã®ã€ã¡ãŒãžã»ã»ã³ãµãŒã»ã·ã¹ãã ãå®çŸãããšä»®å®ããŸãããã®ã·ã¹ãã ã§ã¯ãç«ãã€ã¡ãŒãžã»ã»ã³ãµãŒã®èŠéã«å ¥ã£ããããããæ€åºããŸãããã®äžã§ãããžã¿ã«åºåãå©çšããŠç«çšã®ãã¢ã解é ããç«ã家ã«å ¥ããããã«ããŸãã
å³2ã¯ãäžèšã®ã€ã¡ãŒãžã»ã»ã³ãµãŒã»ã·ã¹ãã ããããã¯å³ãšããŠç€ºãããã®ã§ãããã®ã·ã¹ãã ã§ã¯ãRISC-Vã³ã¢ã«ãã£ãŠäžå®ã®æéãçµéããããšã«ã€ã¡ãŒãžã»ã»ã³ãµãŒãèµ·åããŸããåã»ã³ãµãŒã«ãã£ãŠç»åããŒã¿ãååŸããããããããMAX78000ãåããCNNã«ããŒãããŸããç«ã®èªè確çããããããèšå®ããéŸå€ãè¶ ãããšãç«çšã®ãã¢ãéããŸãããã®åŸãã·ã¹ãã ã¯ã¹ã¿ã³ãã€ã»ã¢ãŒãã«æ»ããŸãã
éçºç°å¢ãšè©äŸ¡ããã
MAX78000ãããŒã¹ãšãããšããžã§AIã掻çšããã¢ããªã±ãŒã·ã§ã³ã¯ãã©ã®ããã«ããŠéçºããã°ããã®ã§ããããããã®éçºããã»ã¹ã¯ã以äžã®2ã€ã®ãã§ãŒãºã«åããããšãã§ããŸãã
ããã§ãŒãº1ãAIã«é¢ããéçºãå®çŸ©ããã¬ãŒãã³ã°ããããã¯ãŒã¯ã®éååãè¡ã
ããã§ãŒãº2ãArmã®ãã¡ãŒã ãŠã§ã¢ã®éçºããã§ãŒãº1ã§éçºãããããã¯ãŒã¯ãšãã©ã¡ãŒã¿ãC/C++ããŒã¹ã®ã¢ããªã±ãŒã·ã§ã³ã«çµã¿èŸŒãããŸããã¢ããªã±ãŒã·ã§ã³çšã®ãã¡ãŒã ãŠã§ã¢ãéçºãããã¹ããã
éçºããã»ã¹ã§ã¯ãæåã«AIçšã®ã¢ããªã³ã°ããã¬ãŒãã³ã°ãè©äŸ¡ãå®æœããŸãããã®æ®µéã§ã¯ãPyTorchãTensorFlowãšãã£ããªãŒãã³ãœãŒã¹ã®ããŒã«ã掻çšããããšãã§ããŸããGitHubã®ãªããžããªã§ã¯ããŠãŒã¶ãPyTorchã®éçºç°å¢ã䜿çšããMAX78000ã®ããŒããŠã§ã¢ã®ä»æ§ãèæ ®ããªãããAIã¢ããªã±ãŒã·ã§ã³çšã®ãããã¯ãŒã¯ã®æ§ç¯ãšãã¬ãŒãã³ã°ã®èšç»ç«æ¡ã«åœ¹ç«ã€å æ¬çãªãªãœãŒã¹ãæäŸããŠããŸããåãªããžããªã«ã¯ãããã€ãã®ç°¡åãªAIãããã¯ãŒã¯ãé¡èªèã¢ããªã±ãŒã·ã§ã³ãªã©ãçšæãããŠããŸãã
å³3ã¯ãPyTorchã䜿çšããå Žåã®æšæºçãªéçºããã»ã¹ã瀺ãããã®ã§ããæåã«è¡ãã®ã¯ãAIãããã¯ãŒã¯ãã¢ãã«åããããšã§ããMAX7800xã·ãªãŒãºã®å šè£œåããPyTorchç°å¢ã§å©çšå¯èœãªãã¹ãŠã®ããŒã¿æäœããµããŒãããããŒããŠã§ã¢ãæèŒããŠããããã§ã¯ãããŸããããã®ç¹ã«ã¯æ³šæããŠãã ããããã®ãããªçç±ãããæåã«ãã¢ããã°ã»ããã€ã»ãºãæäŸããai8x.pyãšãããã¡ã€ã«ããããžã§ã¯ãã«ã€ã³ã¯ã«ãŒãããå¿ èŠããããŸãããã®ãã¡ã€ã«ã«ã¯ãMAX78000ã䜿çšããããã«å¿ èŠãªPyTorchã®ã¢ãžã¥ãŒã«ãšæŒç®åãå«ãŸããŠããŸãããã®èšå®ã«åºã¥ãããããã¯ãŒã¯ãæ§ç¯ããåŸããã¬ãŒãã³ã°ã»ããŒã¿ã䜿çšããŠãã¬ãŒãã³ã°ãè©äŸ¡ãéååãè¡ããŸãããã®ã¹ãããã®çµæã¯ãæçµçãªåæåŠççšã®å ¥åããŒã¿ãå«ããã§ãã¯ãã€ã³ãã»ãã¡ã€ã«ãšãªããŸãããã®æåŸã®åŠçã§ã¯ããããã¯ãŒã¯ãšãã®ãã©ã¡ãŒã¿ãããŒããŠã§ã¢ã»ããŒã¹ã®CNNã¢ã¯ã»ã©ã¬ãŒã¿ã«é©åãã圢åŒã«å€æãããŸãããªãããããã¯ãŒã¯ã®ãã¬ãŒãã³ã°ã¯ãã©ã®ãããªã³ã³ãã¥ãŒã¿ïŒããŒãåããµãŒããªã©ïŒã䜿çšããããšã§ãå®æœã§ããŸããããããCUDAïŒCompute Unified Device ArchitectureïŒå¯Ÿå¿ã®ã°ã©ãã£ãã¯ã»ã«ãŒãããµããŒããããŠããªãå Žåãé·ãæéãèŠããå¯èœæ§ããããŸããå°èŠæš¡ã®ãããã¯ãŒã¯ã§ãã£ãŠããæ°æ¥ããæ°é±éãããããšãååã«ããããŸãã
éçºããã»ã¹ã®ãã§ãŒãº2ã§ã¯ãã¢ããªã±ãŒã·ã§ã³çšã®ãã¡ãŒã ãŠã§ã¢ãæ§ç¯ããŸãããã®ãã¡ãŒã ãŠã§ã¢ã«ã¯ãããŒã¿ãCNNã¢ã¯ã»ã©ã¬ãŒã¿ã«æžã蟌ã¿ããã®çµæãèªã¿åãä»çµã¿ãçã蟌ã¿ãŸãã
ãã§ãŒãº1ã§äœæãããã¡ã€ã«ã¯ã#includeãã£ã¬ã¯ãã£ãã«ãã£ãŠC/C++ãããžã§ã¯ãã«çµ±åããŸããEclipseãGNU Toolchainãšãã£ããªãŒãã³ãœãŒã¹ã»ããŒã«ããã€ã¯ãã³ã³ãããŒã©çšã®éçºç°å¢ãšããŠäœ¿çšããããšãå¯èœã§ããã¢ããã°ã»ããã€ã»ãºã¯ããœãããŠã§ã¢éçºããããMaxim Micros SDK (Windows)ãããå¿ èŠãªã³ã³ããŒãã³ããšæ§æïŒã³ã³ãã£ã®ã¥ã¬ãŒã·ã§ã³ïŒããã¹ãŠå«ãã€ã³ã¹ããŒã©ãšããŠæäŸããŠããŸãããã®ãããã«ã¯ãããªãã§ã©ã«çšã®ãã©ã€ãã®ä»ãã¢ããªã±ãŒã·ã§ã³ã®éçºã容æã«ããããã®ãµã³ãã«ã説ææžãå«ãŸããŠããŸãã
ãšã©ãŒãçºçããªãç¶æ ã§ãããžã§ã¯ãã®ã³ã³ãã€ã«ïŒãªã³ã¯ãå®äºããããããŒããŠã§ã¢äžã§è©äŸ¡ãå®æœããããšãã§ããŸããã¢ããã°ã»ããã€ã»ãºã¯ããã®ããã®ãã®ãšããŠ2çš®é¡ã®ããŒããŠã§ã¢ã»ãã©ãããã©ãŒã ãéçºããŸãããå³4ã«ç€ºãããMAX78000EVKITããšå³5ã«ç€ºãããMAX78000FTHRãã®2ã€ã§ããåŸè ã¯ãããå°åïŒè»œéã®ãã©ãŒã ã»ãã¡ã¯ã¿ã§å®çŸãããŠããŸãããªããäž¡ããŒãã«ã¯VGAã«ã¡ã©ãšãã€ã¯ãä»å±ããŠããŸãã




ãŸãšã
åŸæ¥ãAIã¢ããªã±ãŒã·ã§ã³ãåäœãããã«ã¯ããµãŒãã»ãã¡ãŒã ãé«äŸ¡ãªFPGAãšãã£ãæ¶è²»é»åã®å€ãããŒããŠã§ã¢ãå¿ èŠã§ãããCNNã¢ã¯ã»ã©ã¬ãŒã¿ãæèŒããMAX78000ã¯ãããããšã¯äžç·ãç»ããœãªã¥ãŒã·ã§ã³ã§ããå補åãæ¡çšããã°ã1åã®ããããªã«ãã£ãŠé·æéã«ãããAIã¢ããªã±ãŒã·ã§ã³ãéçšããããšãã§ããŸããæ¶è²»é»åã極ããŠå°ãªãããšãã«ã®ãŒå¹çã«åªããããšããããšããžã«ãããŠAIã掻çšããããšãå¯èœã«ãªããŸããåŸæ¥ã¯äžå¯èœã ã£ããšããµã€ãã£ã³ã°ãªAIã¢ããªã±ãŒã·ã§ã³ããšããžã§éçšã§ããå¯èœæ§ãåºãã£ãŠããã®ã§ãã詳现ã«ã€ã ㊠㯠ããè¶ äœæ¶è²»é»åã®äººå·¥ç¥èœïŒAIïŒãã€ã¯ãã³ã³ãããŒã©ããã芧ãã ããã
åèè³æ
Video Series: Understanding Artificial IntelligenceïŒãããªã»ã·ãªãŒãºïŒAIã«ã€ããŠç解ããïŒãAnalog Devices
PyTorchã®ããŽã¯ãCreative Commons Attribution-Share Alike 4.0 International licenseã®äžãå©çšã®èš±å¯ãåŸãŠäœ¿çšããŠããŸãã