ã¯ããã«
åŒãç¶ãGANã«ã€ããŠã®èå¯ããããªããŸãã
åã
åã®èšäºã§GANã«ã€ããŠã®åºæ¬æ§é ã説æããååã®èšäºã§generator, discriminatorã®ãããã¯ãŒã¯ãCNNã«çœ®ãæããDCGANãå®è£
ããŸããã
ãä»åã¯ç»åãçæããããã§ã®çš®ãšãªãæœåšå€æ°zãšãçæãããç»åããããŠç»åã®èå¥çµæã«ã€ããŠæ·±å ãããŠãããŸããã³ãŒãã¯githubã«äžããŠããŸãã
çæã¢ãã«
ãmnistç»åãå ã«çæã¢ãã«ã«ã€ããŠèããŠã¿ãŸããããmnistã¯2次å ã®ç»åããŒã¿ãªã®ã§ãããå®éã¯çžŠ28ãã¯ã»ã«ã暪28ãã¯ã»ã«ãèš784ãã¯ã»ã«ã®ããããã«ç»çŽ å€ãå ¥ã£ãŠããŸããã€ãŸãã2次å ç»åãªã®ã§ãããåãæ±ãçã«ã¯784次å ã®ããŒã¿ãšãªãããšã«æ³šæããŠãã ããã
ããŠããã®784次å ã®ãã£ã³ãã¹ã«ç»åãçæããæå³ã«ã€ããŠèããŠã¿ãŸãããã1ã€ã®ç»åããŒã¿imgã¯784åã®å€ã®çŸ åã§è¡šããŸããã€ãŸããiçªç®ã®ãã¯ã»ã«å€ã$x_i$ãšãããš
img =(x_1, x_2, x_3, .., x_{784})
ã§è¡šããŸãã
ããŠãçæã¢ãã«$P_{gen}$ãšã¯ãåãã¯ã»ã«å€ãä»»æã®å€ããšã£ãæã®åæç¢ºçååžãæ±ããããšã«ä»ãªããŸãããã€ãŸã
P_{gen} = p(x_1, x_2, x_3, .., x_{784})
ãããã«ãããäŸãã°åãã¯ã»ã«ãå šãŠ0ã®æã®ç¢ºçãšããå šãŠ1ã®æã®ç¢ºçãšãããã£ãšäžéçãªå€ãšãã784次å ã®ãã¹ãŠã®å€ã®ååžã«ã€ããŠã®ç¢ºçãåºããããã«ãªããŸããã€ãŸããå šãŠã®xã®ååžã«ã€ããŠã®å¯åºŠååžããããããã«ãªããŸãã確çå¯åºŠååžããããããšã®æå€§ã®ã¡ãªããã¯ããã®ç¢ºçå¯åºŠã«åºã¥ããŠããŒã¿ã人工çã«çæã§ããããšã«ãããŸãã
ããµã€ã³ããäŸã«ãããšããããããã§ãããããããµã€ã³ããæ¯ãçŸè±¡ã芳枬ãããšãã倿°ã®è©Šè¡ã®çµæããµã€ã³ãã®ç®ã衚ãäžæ¬¡å 倿°xã®å€ã1,2,3,4,5,6ã®ã©ããããšãããã€ãã®ç¢ºçãå šãŠçããããšãããã£ããšããŸãããã®å Žåãxã®ç¢ºçå¯åºŠååžã¯
P(x) = 1/6\,(x = \{1,2,3,4,5,6\})
ã«ãªããŸããäžåºŠçæã¢ãã«ã決å®ããããã確çå¯åºŠååžããxã®å€ããµã³ããªã³ã°ããããšãã§ããŸãã確çååžã«åŸã£ãŠãµã€ã³ããæ¯ãã°ããã®ã§ãã
GANã®çæã¢ãã«
ããã®ç¢ºçå¯åºŠååžP(x)ããã¥ãŒã©ã«ãããã¯ãŒã¯ã§è¿äŒŒããŠããããšèšãã®ãGANã®generatorã®èãæ¹ã§ããæœåšå€æ°zãäžããããæã«ãzã®æ¡ä»¶ä»ã確çååžD(x|z)ãæ±ããŸããæ±ãã確çååžãããµã³ããªã³ã°ãè¡ãããšã§xã€ãŸãç»åãçæããŸãã
ãå®éã¯ãgeneratorã¯æœåšå€æ°ããç»åããŒã¿ã®ç¢ºçå¯åºŠååžã§ã¯ãªããç»åããŒã¿ãã®ãã®ãçŽæ¥åºåãã颿°ã§ããæ¬æ¥ç¢ºçååžãããµã³ããªã³ã°ãããšãã¯ããã®ååžã«åŸã£ãæºãããæã£ãŠç¢ºçè«çã«å€ãçæããŸããããããgeneratorã®å Žåã¯åãzããã¯ãåžžã«ïŒæ±ºå®è«çã«ïŒåãå€ãåºåãããŸãã
çæç»åã®æºããã¯ãzãä¹±æ°ããæ±ºããããšã§åçŸããããšããèãæ¹ãªã®ã§ããããããã®ããããè«æã§è«ããããŠãã確çå¯åºŠé¢æ°ãšãå®è£ äžã®æ±ºå®è«çãªé¢æ°ã®çè«çãªé¢ä¿æ§ãã€ãã€ãããããã£ãŠããŸããããåããã®æ¹ããã£ããã£ããæããŠããã ãããšå¹žãã§ãã
ãšããããæœåšå€æ°zããç»åãçæããã€ã¡ãŒãžãäžå³ã«ç€ºããŸãã
ãæœåšå€æ°ç©ºéäžzã®ããå€ã«å¯ŸããŠã決ãŸã£ãç»åãåºåãããŸããããã§ã¯å³ç€ºããããã«zãïŒæ¬¡å ã«ããŠããŸããã©ã³ãã ã«ãµã³ããªã³ã°ããåzãããããã«å¯Ÿå¿ããç»åãçæãããã€ã¡ãŒãžã§ãã
ããŸããä»»æã®2ç¹éãé£ç¶çã«å€åãããããšã§ãçæããç»åãé£ç¶çã«å€åãããããšãã§ããŸãã

æœåšå€æ°ã®æ¬¡å
ãããŠãdiscriminatorãè¿·ãããã»ã©æ¬ç©ã«è¿ãããŒã¿ãçæããã«ã¯zã®æ¬¡å ãã©ããããã«èšå®ããã°è¯ãã§ããããããŒã¿ã®æ¬¡å ïŒ784ïŒãããå¿ èŠã§ããããããããããããªããšã¯ãªãã§ãããèšã£ãŠããŸãã°é«ã 10çš®é¡ã®æ°åã衚çŸããã®ã§ããããmnistããŒã¿ã®ååžã¯ãããããäœã次å ã«éçŽãããŠããã¯ãã§ãã
ãããç»çŽ ã瞊暪2åã«ããmnistæ¹ããŒã¿ããã£ããšãã22784=3136次å ã®æœåšå€æ°ãå¿ èŠã«ãªããšã¯æããªãã§ããããè§£å床ã倧ãããªã£ãŠããããã«éçŽãããŠããæ å ±éã¯åºæ¬çã«å€ãããªãã¯ãã§ãã
ããã§ã¯å®éã«zã®æ¬¡å
æ°ãå€åãããŠãããããã®çæç»åãèŠãŠã¿ãŸãããã
ä¹±æ°ã¯åºå®ããŠãåiterationããšã«åãzããç»åãåºåãããŠããŸãã
泚: å³ã«epochãšæžãããŠããŸãããå®éã¯iterationã®ééãã§ãã
綺éºãªç»åãçæãããŠããŸãããä¹±æ°ã¯åºå®ãããŠããŸãã®ã§30000 iteration蟺ããã
zã®ãããã³ã°ãåæããŠãåãã¹ã§åããããªæ°åãçæããã€ã¥ããŠããŸãã
4ã9ã«ãªã£ããã3ã8ã«ãªã£ããã埮åŠã«æºããŠããŸããã
zã®æ¬¡å ãæ®µã å°ããããŠãããŸãã
次ã¯z_dim= 50

ç»åã®è³ªèªäœã¯z_dim= 100ãšããå€ãããŸããããiterationãçµãŠãããããã®ãã¹ã§çæãããæ°åãå®ãŸã£ãŠããæããããªãã§ãããæ°åããã¿ãã¿ãšå€ãã£ãŠããŠãèœã¡çãããªãæãã§ããåŠç¿ã®ãã³ã«generator颿°ãæžãæãã£ãŠããŠãzã®ãããã³ã°ãåæããŠããªãæ°ãããŸããããšãããèŠããš5x5ã®25ãã¹ã®äžã«åããããªç»åãå€ãæ°ãããŸãã
次ã¯z=10

å®å®ããŠçæãããŠããŸããã100ããç»è³ªãã¯ãªã¢ããã
z=2

z_dim=50ã§èŠãããçŸè±¡ãé¡èã§ããããã¿ãã¿ãšç»åãå€ãããŸããã3ãªã3ã°ã£ãããšããæããã«åãç»åãçæãããŠããŸãã
z=1

z_dim=2ãšåãã§ããç»åèªäœã¯ã¯ãªã¢ãªã®ã§ããããŸã§ãããšèšç·ŽããŒã¿ã®ååžãåçŸãããããªçæã¢ãã«ãåŠç¿ãããšèšãããããåã«èšç·ŽããŒã¿ãæš¡å£ããŠããããã«æããŸãã
ãããã¯ã¢ãŒã厩å£ïŒmode collapseïŒãšåŒã°ããçŸè±¡ã§ãgeneratorã®åŠç¿ã«å€±æããŠãèšç·ŽããŒã¿ã®ïŒãã°ãã°å€å³°æ§ã®ïŒååžå šäœã衚çŸã§ããã«èšç·ŽããŒã¿ã®æé »å€ïŒmodeïŒã®ã¿ãåŠç¿ããŠããŸããŸããå šåœæ°ã®æåŸ ã«å¿ããèœåããªãããšãããã倿°æŽŸã®ããã®æ¿çãã€ãããã¿ãããªã€ã¡ãŒãžã§ãããã
ãz_dim=2,1ã®æã¯ãæœåšå€æ°ã®æ¬¡å ãäžååã§ãgeneratorãèšç·ŽããŒã¿ã®ååžã衚çŸãããããèŠèã®çãšããŠç¹å®ã®ç»åã«éäžããããšã§ãdiscriminatorãéšãçããšã£ããšèšããŸãã
ãz_dim=50ã®æãã¢ãŒã厩å£ã®çŸè±¡ãèŠãããŸãããz_dim=10ã§ç»åçæã«æåããŠããŸãã®ã§ã次å ãè¶³ããªããšããçç±ã§ã¯ãªãããã§ãããããããgeneratorãšdiscriminatorã®åŠç¿ä¿æ°ã®ãã©ã³ã¹ãé©åã§ãªããgeneratorã®åºåãç¹å®ã®ååžã«éäžãããšèããããŸãããã®ããããGANã®ãã©ã¡ãŒã¿ãã¥ãŒãã³ã°ãé£ããäžå ã ãšæã£ãŠããŸããïŒééã£ãŠãããæããŠãã ããïŒ
忬¡å æ°ã®çæã¢ãã«ã§ã99000 iterationåŸã«10000ãµã³ãã«çæããããšãã®ãåæ°åã®é »åºŠããã¹ãã°ã©ã ã«ãããã®ãäžå³ã«ãªããŸãããšãã£ãŠããå®éã«ã©ã®æ°åãGANãäœã£ããã«ã€ããŠã¯ããããªãã®ã§ããã®ä»£ããã«æ°åãèå¥ããã¢ãã«ãCNN_classifierãšããŠæ§ç¯ããŠïŒKerasã®exampleã«ãã£ããã®ããã®ãŸãŸã€ãããŸããïŒããã®èå¥çµæãçšããŸãããåŸã£ãŠããããŸã§CNN_classifierãèãããã¹ãã°ã©ã ã§ãããããã¿ãŠããµã³ãã«ãæºéãªãçæããŠããã®ã¯z_dim=100, 10ã®ãšãã ãšããããŸãã
ãããŠããã£ããGANã§ãµã³ãã«ãçæãããã®ã«ã¢ãŒã厩å£ã«ãã£ãŠçæãµã³ãã«ãåãããšã¯é¿ãããã§ãããã¢ãŒã厩å£ãèµ·ããŠããããããã¯èµ·ããŠããªãããšã確èªããã«ã¯ã©ãããã°ããã§ãããããPCã«åŒµãä»ããŠçæãµã³ãã«ãçºããã®ã¯èŠçã§ãããèŠè§åã§ããªããµã³ãã«ã«ã¯äœ¿ããŸãããçæããŒã¿ãèŠãã«ãåŠç¿æã®æå€±é¢æ°ããåŠç¿ãããŸããã£ãŠãããã倿ããããšã¯å¯èœã§ããããã
ãŸãšã
dcganã«ããé«ç²Ÿçްãªç»åãçæããããšã«æåããŠããã¢ãŒã厩å£ã«ããæãåºåãåŸãããªãåé¡ãããããšãããã£ã
課é¡
- çæçµæã確èªããã«åŠç¿ã®æ£åŠã倿ããæ¹æ³
- ããããã¢ãŒã厩å£ãããªãæ¹æ³
次å
ãäžèšã®èª²é¡ã«å¯Ÿå¿ããããã«æ°ããGANã«ãã©ã€ããŠã¿ãŸããïŒäžå¿ã¹ããŒãªãŒä»ç«ãŠã«ãªã£ãŠãŸãïŒWesserstein GANãªãææ³ã䜿ãã°ããããã解決ã§ãããšã®ããšãªã®ã§ãå®è£ ããŠæ¬¡åã®èšäºã«ããããšæããŸãã



