¼«Æ°¤Ç¤¤¤é¤¹¤È¤äÉ÷¤Î²èÁü¤¬À¸À®¤Ç¤¤ë¡Ö¤¤¤é¤¹¤È¤äÉ÷¿Í´Ö²èÁüÀ¸À®¥â¥Ç¥ë¡×¤òºî¤ëÌÔ¼Ô¤¬Åоì
¡Ö¤¤¤é¤¹¤È¤ä¡×¤È¸À¤¨¤Ð¡¢¤«¤ï¤¤¤¤¥¤¥é¥¹¥È¤Ç¤µ¤Þ¤¶¤Þ¤Ê¥·¥Á¥å¥¨¡¼¥·¥ç¥ó¤Î²èÁü¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¤È¤¤¤¦¤³¤È¤Ç¿Íµ¤¤ò½¸¤á¤ë¥Õ¥ê¡¼¤ÎÁǺॵ¥¤¥È¤Ç¤¹¡£¤½¤ó¤Ê¡Ö¤¤¤é¤¹¤È¤ä¡×¤Ë½Ð¤Æ¤¯¤ë¿Í´ÖÉ÷¤Î²èÁü¤ò¼«Æ°¤ÇÀ¸À®¤¹¤ë¡Ö¤¤¤é¤¹¤È¤äÉ÷¿Í´Ö²èÁüÀ¸À®¥â¥Ç¥ë¡×¤ò@mickey24¤µ¤ó¤¬ºîÀ®¤·¤Þ¤·¤¿¡£
¡Ö¤¤¤é¤¹¤È¤äÉ÷¿Í´Ö²èÁüÀ¸À®¥â¥Ç¥ë¡×¤Ï¡¢@mickey24¤µ¤ó¤¬ºîÀ®¤·¤¿¥Ü¥Ã¥È¤Î@mickey24_bot¤Ë¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê¡¢@mickey24_bot¤ËÂФ·¤ÆTwitter¾å¤Ç¡Ö¿Í´Ö²èÁü¤òºî¤Ã¤Æ¡×¤È¥ê¥×¥é¥¤¤òÁ÷¤ì¤Ð²èÁü¤ò¼«Æ°À¸À®¤·¤Æ¤¯¤ì¤Þ¤¹¡£
¿Í´ÖÀ½Â¤¤·¤¿ pic.twitter.com/dezDC1y2yy— mickey24_bot (@mickey24_bot) 2017ǯ6·î28Æü
¤³¤Î¡Ö¤¤¤é¤¹¤È¤äÉ÷¿Í´Ö²èÁüÀ¸À®¥â¥Ç¥ë¡×¤Î³«È¯¤ËÍѤ¤¤¿³Ø½¬¥â¥Ç¥ë¤ä³«È¯¤Î·Ð²á¤Ë¤Ä¤¤¤Æ¡¢@mickey24¤µ¤ó¤Ï¼«¿È¤Î¥Ö¥í¥°¤Ë¤Þ¤È¤á¤Æ¤ª¤ê¤«¤Ê¤êÆɤ߱þ¤¨¤¬¤¢¤ê¤Þ¤¹¡£
Deep Learning¤Ç¡Ö¤¤¤é¤¹¤È¤äÉ÷¿Í´Ö²èÁüÀ¸À®¥â¥Ç¥ë¡×¤òºî¤Ã¤¿ÏáÊDCGAN¡¢Wasserstein GAN¡Ë - ¤Ì¤¤¤°¤ë¤ß¥é¥¤¥Õ¡©
http://mickey24.hatenablog.com/entry/irasutoya_deep_learning
¡Ö¤¤¤é¤¹¤È¤äÉ÷¿Í´Ö²èÁüÀ¸À®¥â¥Ç¥ë¡×¤ÇÀ¸À®¤µ¤ì¤¿¿Í´Ö²èÁü¤ÏËˤ¬ÀÖ¤¯¤Ê¤Ã¤Æ¤¤¤ëÅÀ¤äÍ¥¤·¤²¤Êɽ¾ð¤Ê¤É¡¢ËܲȤ¤¤é¤¹¤È¤ä¤ÎÆÃħ¤ò¤è¤¯Âª¤¨¤Æ¤¤¤ë¤³¤È¤¬¤ï¤«¤ê¤Þ¤¹¡£¤¿¤À¤·¡¢¤³¤ì¤é¤ÏÀ¸À®¤µ¤ì¤¿²èÁü¤Î¤¦¤Á¡Ö¤½¤ì¤Ê¤ê¤Ë¤¤ì¤¤¤Ê¤â¤Î¤Î°ìÎã¡×¤À¤½¤¦¤Ç¤¹¡£
¤³¤Î¼«Æ°¤Ç¤¤¤é¤¹¤È¤äÉ÷¤Î²èÁü¤òÀ¸À®¤·¤Æ¤¯¤ì¤ë¡Ö¤¤¤é¤¹¤È¤äÉ÷¿Í´Ö²èÁüÀ¸À®¥â¥Ç¥ë¡×¤Ï¡¢¡ÖDCGAN¡×¤È¡ÖWasserstein GAN¡×¤òÍѤ¤¤Æ³Ø½¬¤µ¤»¤¿¤â¤Î¤À¤½¤¦¤Ç¤¹¡£³Ø½¬¤Ë¤ÏÌó1Ëü5000Ëç¤Î¤¤¤é¤¹¤È¤ä²èÁü¤«¤é¡¢¡Ö¤Ò¤È¤ê¤Î¿Í´Ö¤¬ºÜ¤Ã¤Æ¤¤¤ÆÇØ·Ê¿§¤Ê¤É¤¬¤¢¤Þ¤êÊ£»¨¤Ç¤Ê¤¤²èÁü¡×Ìó4000Ëç¤ò¼êÆ°¤ÇÁªÊ̤·¤Æ»ÈÍѤ·¤Æ¤¤¤ë¤È¤Î¤³¤È¤Ç¤¹¡£¤Þ¤¿¡¢2016ǯ¸åȾ¤ËȯÇ䤵¤ì¤¿MacBook Pro¤Ç¤Ï³Ø½¬¤Ë»þ´Ö¤¬¤«¤«¤ê²á¤®¤¿¤½¤¦¤Ç¡¢Google Cloud Platform¤Î̵ÎÁÏȤò»È¤Ã¤Æ¡ÖCloud ML Engine¤ÎCPU¡ß1¡ÜGPU¡ß1¡×¤Ç³Ø½¬¤µ¤»¤¿ÌÏÍÍ¡£
¢¡GAN¤Ë¤Ä¤¤¤Æ
¤Þ¤º¡¢µ¡³£³Ø½¬¤Î¥¢¥ë¥´¥ê¥º¥à¤Î°ì¼ï¤Ç¤¢¤ë¡ÖGAN(Generative Adversarial Network)¡×¤òÍѤ¤¡¢¡Ö·±Îý¥Ç¡¼¥¿¤ÈGenerator¤¬À¸À®¤·¤¿¥Ç¡¼¥¿¤ò¸«Ê¬¤±¤ëDiscriminator¡×¡ÖDiscriminator¤òñÙ¤»¤ë¤è¤¦¤Ê¥Ç¡¼¥¿¤ò½ÐÎϤ¹¤ëGenerator¡×¤ò¸ò¸ß¤Ë¶¥¤ï¤»¤ë¤è¤¦¤Ë³Ø½¬¤¹¤ë¤³¤È¤Ç¡¢ºÇ½ªÅª¤Ë·±Îý¥Ç¡¼¥¿¤Ë»÷¤¿¥Ç¡¼¥¿¤òÀ¸À®¤Ç¤¤ëGenerator¤òºî¤ê¾å¤²¤Þ¤¹¡£
¡¦Generator
Generator¤Ï¡ÖDiscriminator¤òñÙ¤»¤ë¤è¤¦¤Ê¤¤¤é¤¹¤È¤äÉ÷¿Í´Ö²èÁü¤ò½ÐÎϤ¹¤ëCNN¥Ù¡¼¥¹¤Î¥â¥Ç¥ë¡×¤Ç¡¢¤Ò¤È¤Ä¤ÎÆþÎÏ¥Ù¥¯¥È¥ë¤´¤È¤ËÂбþ¤¹¤ë¤Ò¤È¤Ä¤Î²èÁü¤ò½ÐÎϤ·¤Þ¤¹¡£
¡¦Discriminator
¤½¤ì¤ËÂФ·¤ÆDiscriminator¤Ï¡ÖËÜʪ¤Î¤¤¤é¤¹¤È¤ä¤Î²èÁü¤ÈGenerator¤¬À¸À®¤·¤¿²èÁü¤ò¸«Ê¬¤±¤ë¤³¤È¤¬¤Ç¤¤ëCNN¥Ù¡¼¥¹¤Î¥â¥Ç¥ë¡×¤Ç¡¢¥¹¥«¥é¡¼Ãͤò½ÐÎϤ·¡¢ÆþÎϲèÁü¤¬ËÜʪ¤Î¤¤¤é¤¹¤È¤ä¤Î²èÁü¤ÈȽÄꤷ¤¿¾ì¹ç¤ÏÂ礤ÊÃÍ¡¢Generator¤¬À¸À®¤·¤¿²èÁü¤À¤ÈȽÄꤷ¤¿¾ì¹ç¤Ï¾®¤µ¤ÊÃͤò½Ð¤¹¤è¤¦¤Ë³Ø½¬¤µ¤»¤Þ¤¹¡£
¢¡DCGAN¤ÈWasserstein GAN¤Ë¤Ä¤¤¤Æ
¡ÖDCGAN(Deep Convolutional GAN)¡×¤Ï¡¢GAN¤ò»È¤Ã¤Æ¾ö¤ß¹þ¤ß¥Ë¥å¡¼¥é ¥ë¥Í¥Ã¥È¥ï¡¼¥¯(CNN)¤ò³Ø½¬¤·¤Æ¤¤¤¯¼êË¡¤Ç¤¹¡£CNN¤ò»È¤¦¤Î¤Ç²èÁüÀ¸À®¤ËŬÍѤ¹¤ë»öÎ㤬¿¤¯¡¢ÏÀʸ¤Ç¤Ï¡ÖBatch Normalization¡×¤ä¡ÖLeakyReLU¡×¤È¤¤¤Ã¤¿¹©ÉפòÍѤ¤¤ë¤³¤È¤ÇGAN¤Ë¤è¤ëCNN¤Î³Ø½¬¤¬°ÂÄꤹ¤ë¤È¤µ¤ì¤Æ¤¤¤ë¤È¤Î¤³¤È¡£
¤½¤·¤Æ¡ÖWasserstein GAN¡×¤ÏGAN¤Î³Ø½¬ÊýË¡¤ò²þÎɤ·¤¿¤â¤Î¤Ç¡¢Discriminator¤äÌÜŪ´Ø¿ô¤ò¹©Éפ¹¤ë¤³¤È¤Æ¡¢GAN¤Î³Ø½¬¤Î¼ý«¤·¤Ë¤¯¤µ¤ä¡Ömode corruption¡×¤È¤¤¤Ã¤¿ÌäÂê¤ò·Ú¸º¤Ç¤¤ë¤È¤µ¤ì¤Æ¤¤¤Þ¤¹¡£
¢¡Generator¤ÈDiscriminator¤Î³Ø½¬
DCGAN¤ÈWasserstein GAN¤òÍѤ¤¤ÆGenerator¤ÈDiscriminator¤ò¸ò¸ß¤Ë³Ø½¬¤µ¤»¤Þ¤¹¡£
¡¦Generator¤Î³Ø½¬¤Î¾ì¹ç
Generator¤Î³Ø½¬¤Ç¤Ï¡¢Discriminator¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò¸ÇÄꤷ¡¢Discriminator¤¬½ÐÎϤ¹¤ë¥¹¥«¥é¡¼ÃÍ(yG)¤¬Â礤ÊÃͤˤʤë¤è¤¦¡¢Generator¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò¹¹¿·¤·¤Þ¤¹¡£³Ø½¬¤ò³¤±¤ë¤³¤È¤Ç¡¢ÍýÁÛŪ¤Ë¤Ï¤É¤ó¤ÊÆþÎÏ¥Ù¥¯¥È¥ë(z)¤òÍ¿¤¨¤Æ¤âDiscriminator¤òñÙ¤»¤ë¤¯¤é¤¤ËÜʪ¤Ã¤Ý¤¤²èÁü¤¬½ÐÎϲÄǽ¤Ë¤Ê¤ë¤È¤Î¤³¤È¡£
¡¦Discriminator¤Î³Ø½¬¤Î¾ì¹ç
Discriminator¤Î³Ø½¬¤Ç¤Ï¡¢Generator¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò¸ÇÄꤷ¡¢ËÜʪ¤Î¤¤¤é¤¹¤È¤ä¤Î²èÁü¤òÍ¿¤¨¤¿»þ¤Ë½ÐÎϤ¹¤ë¥¹¥«¥é¡¼ÃÍ(yR)¤È¡¢Generator¤¬À¸À®¤¹¤ë²èÁü¤òÍ¿¤¨¤¿»þ¤Ë½ÐÎϤ¹¤ë¥¹¥«¥é¡¼ÃÍ(yG)¤òµá¤á¤Þ¤¹¡£¤½¤·¤Æ¡¢¡ÖyR ¡Ý yG¡×¤ÎÃͤ¬Â礤¯¤Ê¤ë¤è¤¦¤Ë¡¢Discriminator¤Î¥Ñ¥é¥á¡¼¥¿¡¼¤ò¹¹¿·¤·¤Þ¤¹¡£¤³¤ì¤Ë¤è¤ê¡¢ÍýÁÛŪ¤Ë¤ÏGenerator¤¬¤É¤ó¤Ê¤ËËÜʪ¤Î¤¤¤é¤¹¤È¤ä¤Ã¤Ý¤¤²èÁü¤ò½ÐÎϤ·¤Æ¤â¡¢Discriminator¤ÏËÜʪ¤Èµ¶Êª¤ò¸«Ê¬¤±¤ë¤³¤È¤¬¤Ç¤¤ë¤è¤¦¤Ë¤Ê¤ë¤½¤¦¤Ç¤¹¡£
¢¡³Ø½¬¤Î·Ð²á
¼ÂºÝ¤Ë³Ø½¬¤Î²áÄø¤ÇÀ¸À®¤µ¤ì¤¿²èÁü¤Ï¤³¤ó¤Ê´¶¤¸¡£
ºÇ½é¤Ï¤É¤ó¤ÊÆþÎϤËÂФ·¤Æ¤â¥â¥¶¥¤¥¯¤Î¤è¤¦¤Ê²èÁü¤¬½ÐÎϤµ¤ì¤¿ÌÏÍÍ¡£
¼¡Âè¤Ë²èÁü¤¬Çò¤¯¤Ê¤Ã¤Æ¤¤¤¡¢¡Ö1000¥¹¥Æ¥Ã¥×¤¢¤¿¤ê¤Çȱ¤ÎÌÓ¤ä¿Í¤ÎÈ©¤Ã¤Ý¤¤¿§¤¬ÌÜΩ¤Á»Ï¤á¤Æ¤¤Þ¤¹¡×¤È¤Î¤³¤È¡£
1500¥¹¥Æ¥Ã¥×¤Û¤É¤Çȱ¤Î¿§¤ÏÈ©¤Ã¤Ý¤¤¿§¤¬¶¯¤¯¤Ê¤Ã¤Æ¤¤Æ¡Ä¡Ä
4000¥¹¥Æ¥Ã¥×¤Û¤É¤Ç²¿¤È¤Ê¤¯¿Í¤Ã¤Ý¤¤·Á¤¬¤Ü¤ó¤ä¤êÉ⤾夬¤Ã¤Æ¤¤Þ¤¹¡£
7000¥¹¥Æ¥Ã¥×¤Û¤É¤Ç¿Í¤Î´é¤äȱ¤ÎÌӤäݤ¤¥Ñ¡¼¥Ä¤¬Ç§¼±¤Ç¤¤ë¤â¤Î¤¬Áý¤¨¤Æ¤¤Æ¡Ä¡Ä
5Ëü¥¹¥Æ¥Ã¥×¤¯¤é¤¤¤Ë¤Ê¤ë¤È²èÁü¤ÎÁƤµ¤¬¸º¤ê¡¢½ÐÎϲèÁü¤ÎÃæ¤Ë¤¤¤¤´¶¤¸¤Î¿Í´Ö¤Ã¤Ý¤¤²èÁü¤¬¸½¤ì»Ï¤á¤¿¤½¤¦¤Ç¤¹¡£¤Ê¤ª¡¢¤³¤³¤«¤éÀè¤Ï¤¢¤Þ¤êÂ礤ÊÊѲ½¤¬¸«¤é¤ì¤Ê¤«¤Ã¤¿ÌÏÍÍ¡£
³Ø½¬¤Ë¤è¤ê¥â¥Ç¥ë¤¬¤è¤ê¤¤¤é¤¹¤È¤äÉ÷¤Î²èÁü¤ò½ÐÎϤǤ¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¿¤ï¤±¤Ç¤¹¤¬¡¢¼ÂºÝ¤Ë¤É¤ó¤ÊÃͤòÆþÎϤ¹¤ë¤È¤¤¤é¤¹¤È¤äÉ÷¤Î²èÁü¤¬½ÐÎϤµ¤ì¤Æ¤¤¤ë¤Î¤«¤Ïľ´¶Åª¤Ë¤ï¤«¤ê¤Þ¤»¤ó¡£¤½¤³¤Ç¡¢ÆþÎÏÃͤò¼êÆ°¤ÇÊѹ¹¤Ç¤¤ë¥Ç¥Ð¥Ã¥¬¡¼¤òºî¤ê¡¢ÃͤòÊѹ¹¤¹¤ë¤È²¿¤¬¤É¤¦ÊѲ½¤¹¤ë¤Î¤«¤ò³Î¤«¤á¤é¤ì¤ë¤è¤¦¤Ë¤·¤Æ¤¤¤Þ¤¹¡£
DCGAN¤Ç³Ø½¬¤·¤¿¡Ö¤¤¤é¤¹¤È¤äÉ÷¿Í´Ö²èÁüÀ¸À®¥â¥Ç¥ë¡×¤Î¥Ç¥Ð¥Ã¥¬¡¼¤òºî¤Ã¤¿¡£ÆþÎϤÏ40¼¡¸µ¼Â¥Ù¥¯¥È¥ë¤Ç¡¢¥¹¥é¥¤¥À¡¼¤òÆ°¤«¤¹¤È³ÆÍ×ÁǤÎÃͤ¬ÊѤï¤ê¡¢¤½¤ì¤ËÂбþ¤¹¤ë½ÐÎϲèÁü¤â¤¸¤ï¤¸¤ï¤ÈÊѲ½¤·¤Æ¤¤¤¯¤Î¤¬Ê¬¤«¤ë¡ÊÃËÀ¢ª½÷À¡¢¹õÉþ¢ªÀÖÉþÅù¡Ë¡£¤É¤Î¼¡¸µ¤¬¤É¤ÎÆÃħ¤ËÂбþ¤¹¤ë¤Î¤«Ä´¤Ù¤ë¤ÈÌÌÇò¤½¤¦¡£ pic.twitter.com/WgqM0Dsh1J— CP24 (@mickey24) 2017ǯ6·î24Æü
¤·¤«¤·¡¢³Ø½¬¤·¤¿¥â¥Ç¥ë¤ò»È¤Ã¤Æ¤â¾ï¤Ë¤¤ì¤¤¤Ê²èÁü¤¬½ÐÎϤµ¤ì¤ë¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤Ê¤¤¤Î¤Ç¡¢ÆþÎÏ¥Ù¥¯¥È¥ë¤Ë¥Ð¥¤¥¢¥¹¤ò¤«¤±¤ë¤³¤È¤Ç¡¢¥â¥Ç¥ë¤¬¤¤ì¤¤¤Ê²èÁü¤À¤±¤ò½ÐÎϤ·¤ä¤¹¤¯¤Ê¤ë¤è¤¦¤Ë²þÎɤ¬²Ã¤¨¤é¤ì¤Æ¤¤¤Þ¤¹¡£¼ÂºÝ¤Ë¤É¤¦¤¤¤¦¤³¤È¤ò¹Ô¤¦¤Î¤«¤È¤¤¤¦¤È¡¢¸«±É¤¨¤ÎÎɤ¤²èÁü¤¬½ÐÎϤµ¤ì¤ë¤Þ¤Ç²èÁü¤ÎÀ¸À®¤ò·«¤êÊÖ¤·¡Ä¡Ä
Îɤ¤´¶¤¸¤Î²èÁü¤¬¤Ç¤¤¿¤é¤½¤ÎÆþÎÏ¥Ù¥¯¥È¥ë¤òµÏ¿¡£
¤½¤·¤Æ¡¢µÏ¿¤·¤¿ÆþÎÏ¥Ù¥¯¥È¥ë¤Ëɸ½àÊк¹¤¬¾®¤µ¤á(¦Ò=0.5¤¯¤é¤¤)¤ÎÀµµ¬Ê¬ÉÛ¤«¤é¥µ¥ó¥×¥ë¤·¤¿¥Ù¥¯¥È¥ë¤ò²Ã¤¨¡¢¿Í´Ö²èÁüÀ¸À®¥â¥Ç¥ë¤ËÍ¿¤¨¤Þ¤¹¡£¤¹¤ë¤È¡¢°Ê²¼¤Î¤è¤¦¤Ë¤¤ì¤¤¤Ç²¿¤È¤Ê¤¯¸µ²èÁü¤Ë»÷¤¿¤â¤Î¤¬À¸À®¤µ¤ì¤ë¤è¤¦¤Ë¤Ê¤ë¤½¤¦¤Ç¤¹¡£
¤Ê¤ª¡¢¥Ö¥í¥°¤Ë¤Ï¤½¤Î¾¤ÎGenerator¤äDiscriminator¤Î¥Í¥Ã¥È¥ï¡¼¥¯¹½À®¤ä¥Ñ¥é¥á¡¼¥¿¡¼¤Ë¤Ä¤¤¤Æ¤ä¡¢¤è¤êµ»½ÑŪ¤ÊÏÃÂê¤Ë¤â¿¨¤ì¤é¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢¼ÂºÝ¤ËDCGAN¤äWasserstein GAN¤ò»È¤Ã¤Æ¤ß¤è¤¦¤È¤¤¤¦³«È¯¼Ô¤Ï°ì¸«¤Î²ÁÃͤ¢¤ê¤Ç¤¹¡£