ã¿ãæ¬ã§ããæè€åº·æ¯ ããŒãããäœãDeep Learning âPythonã§åŠã¶ãã£ãŒãã©ãŒãã³ã°ã®çè«ãšå®è£ ã(ãªã©ã€ãªãŒã»ãžã£ãã³)ã§ã¯ãæãExcelã§æè»œã«è©Šãæ©æ¢°åŠç¿ãã·ãªãŒãºã®1ç« ã§è¿°ã¹ããããªäžæ¬¡äžçåŒã§å®çŸããè«çåè·¯ããããŒã»ãããã³ããšåŒãã§ããïŒç¬¬2ç« ïŒã
ããŒã»ãããã³ãšããèªã¯ãŸã 䜿ã£ãŠããªãã£ããããã®ä»ã®çšèªãèšå·ã¯ã ãããããŒãããäœãDeep Learningãã«æºæ ããŠããã
Â
ååã1ç« ã®2ãã§ãXORåè·¯ïŒïŒæä»çè«çåïŒã¯äžæ¬¡äžçåŒã§ã¯å®çŸã§ããªãæšãè¿°ã¹ããããŒã»ãããã³ã§XORåè·¯ã¯äœããªãã®ã ã
ã§ã¯ã©ãããã°ãããïŒ ããŒã»ãããã³ã§äœããè«çåè·¯ãçµã¿åãããŠXORãæ§æããããšãªãå¯èœã§ããã
äŸãã°MILèšå·ã§èšè¿°ãããšã次ã®ããã«ORåè·¯ãšNANDåè·¯ã®åºåãANDåè·¯ã«å ¥åããããšã«ãã£ãŠãXORåè·¯ãåŸãããšãã§ããã
Â
ççå€è¡šãæžããŠã¿ãã
 x |  y | u = x OR y | v = x NAND y | u AND v |
 0 |  0 | 0 | 1 | 0 |
 0 |  1 | 1 | 1 | 1 |
 1 |  0 | 1 | 1 | 1 |
 1 | 1 | 1 | 0 | 0 |
åè·¯ã®åºåã«çžåœããå³ç«¯ã®åã«çç®ãããšã確ãã«XORåè·¯ãã§ããŠããããšãããããÂ
Â
ãããäžæ¬¡äžçåŒã®çµã¿åããã䜿ã£ãŠãExceläžã§å®çŸããããšãèããŠã¿ãã
ãã ãäžæ¬¡äžçåŒã®è«žå®æ°ã¯ããããªãæ©æ¢°åŠç¿ã§æ±ããã®ã§ã¯ãªãããŸãã¯æåã«ãã£ãŠäžããŠã¿ãã
ãããŸã§è¿°ã¹ãŠããéããxãy ã 0 ãŸã㯠1 ã®ãšãäŸãã°
0.6 x + 0.6 y - 0.5 > 0 ãçã®ãšã 1ãåœã®ãšã 0
ãšããã° ORåè·¯ãã
- 0.4 x - 0.4 y + 0.5 > 0 ãçã®ãšã 1ãåœã®ãšã 0
ãšããã°NANDåè·¯ãåŸãããã
ãã ãä»åŸã倿° x ãy ãåçŽå€æ°ã§ã¯ãªã2次å ãã¯ãã« x ã§ãä¿æ°ã2Ã2ã®ä¿æ°è¡å Wã§è¡šãããšãããã
Â
ä»åã¯ã次ã®ãããªExcelã·ãŒããäœæãããÂ
ãããŸã§ã®å ¥å xãy ã®ä»£ããã«ãã¯ãã«ã®èŠçŽ ã®ã€ããã§ x[ïŒ]ãx[1] ãšè¡šèšããŠããããã ãã·ãŒã圢ç¶ã®éœåã§1è¡2å(1Ã2)ã§è¡šèšããŠããã
åæ§ã«ãMILèšå·ã®ANDåè·¯ã®åºå u ã®ä»£ããã« u[0]ãv ã®ä»£ããã« u[0] ãšããã
Fåããå³åŽã§ãæ°åŒãå
¥åãããŠããã»ã«ã®ã¿çްæ ç·ãä»ããŠç€ºããããã以å€ã¯æ°å€ããŒã¿ãæåããŒã¿ã§ããã
å ¥åãããŠããæ°åŒã¯ã以äžã®éãã
ã»ã« | æ°åŒ | æå³ |
H1 | =B2*F2+C2*F3 | ãã¯ãã«xãšè¡åW0ã®ç© |
I1 | =B2*G2+C2*G3 | |
L1 | =H2+J2 | äžã®çµæãšãã¯ãã«b0ã®å |
M1 | =I2+K2 | |
N1 | =IF(L2>0,1,0) | äžã®çµæã2å€å |
O1 | =IF(M2>0,1,0) | |
H6 | =F6*N2+F7*O2 | äžã®çµæãšW1ã®ç© |
L6 | =H6+J6 | äžã®çµæãšb1ã®å |
N6 | =IF(L6>0,1,0) | äžã®çµæã2å€å |
O6 | =D2 | æåž«ããŒã¿Tåæ²ïŒæ¯èŒçš |
è«çåè·¯ã®1段ç®ã§ã¯ãåºåãã¯ãã« u ããå ¥åãã¯ãã« x ãšéã¿è¡å W0 (2Ã2)ããã³å®æ°ãã¯ãã«b0ãçšããŠ
u = x*W0 ïŒÂ b0
ã§èšç®ããIF颿°ãçšããŠ2å€åããŠããã
2段ç®ããªãã¡å šäœã®åºåã¯ã2å€ååŸã® u ãšéã¿ãã¯ãã«W1(2Ã1)ããã³å®æ°b1ãçšããŠ
åºå = u*W1+ b1
ã§èšç®ãããã¯ãIF颿°ã§2å€åããã
Â
ãã¯ãã¯
- ã»ã«A10ïœD10ãç¯å²éžæãå³ã¯ãªãã¯ãã·ã§ãŒãã«ããã¡ãã¥ãŒãããã³ããŒ(C)ããéžæ
- ã»ã«A2äžã§å³ã¯ãªãã¯ãã·ã§ãŒãã«ããã¡ãã¥ãŒã貌ãä»ãã®ãªãã·ã§ã³ããããå€(V)ããéžæ
ã®2æäœãèšé²ãããã¿ã³3ã«ç»é²ããã
ãã¿ã³3ã4å以äžã¯ãªãã¯ããã»ã«N6ïŒãåºåãïŒãš O6ïŒãt åæ²ãïŒãåžžã«äžèŽããŠããããšã確èªããã
ããªãã¡ããã§XORåè·¯ãå®çŸã§ããããšãããã£ãã
Â
次ãªã課é¡ã¯ãéã¿è¡å W0 ã宿°ãã¯ãã« b0ãéã¿ãã¯ãã« W1ã宿° b1 ãæ©æ¢°åŠç¿ã«ãã£ãŠæ±ããããšã§ããã
Â
ä»åã Excel ã·ãŒãã® csv ãã¡ã€ã«ãžã®ãã³ãã瀺ãã
å ¥å,x[0],x[1],t,,W0,,x*W0,,b0[0],b0[1],x*W0+b0,,u[0],u[1]
0,1,1,0,,0.6,-0.4,=B2*F2+C2*F3,=$B$2*G2+$C$2*G3,-0.5,0.5,=H2+J2,=I2+K2,"=IF(L2>0,1,0)","=IF(M2>0,1,0)"
,,,,,0.6,-0.4,,,,,,,,
,,,,,,,,,,,,,,
index,x[0],x[1],t,,W1,,u*W1,,b1,,u*W1+b1,,åºå,t åæ²
=A2+1,0,0,0,,0.4,,=F6*N2+F7*O2,,-0.5,,=H6+J6,,"=IF(L6>0,1,0)",=D2
,0,1,1,,0.4,,,,,,,,,
,1,0,1,,,,,,,,,,,
,1,1,0,,,,,,,,,,,
"=MOD(A6,4)","=INDEX(B6:B9,$A$6,1)","=INDEX(C6:C9,$A$6,1)","=INDEX(D6:D9,$A$6,1)",,,,,,,,,,,
ãã¿ãŸããããã©ãŠã¶ç»é¢ãããã³ãéšåãã³ããŒããŠã¡ã¢åž³ã«è²Œãä»ããæ¡åŒµåã.csvã«å€æŽããŠä¿åãšããã®ãèªåã§è©Šããšãããã«ã¯ãªãã¯ã§éãããšãæååããçºçãããšããçŸè±¡ãçãããããã調ã¹ãã®ã§ããæ¹åãããŸããã§ãããWindows10ïŒChromeã§ãã
ããã§æ¡åŒµå.txtã§ä¿åããExcelã®ãéããããããã¹ãŠã®ãã¡ã€ã«(*.*)ããæå®ããŠèªã¿èŸŒãã ãšãããæååããèµ·ããŸããã§ããããã ããããã¹ããã¡ã€ã«ãŠã£ã¶ãŒã 2 / 3ããåºåãèšå·ãã®ãâ¡ã«ã³ã(C)ãã«ãã§ãã¯ãå ¥ããå¿ èŠããããŸãããåèãŸã§ã
ã¹ãã³ãµãŒãªã³ã¯
Â