{"id":2519,"date":"2020-03-05T15:34:37","date_gmt":"2020-03-05T06:34:37","guid":{"rendered":"https:\/\/www.bigdata-navi.com\/aidrops\/?p=2519"},"modified":"2026-06-16T15:24:23","modified_gmt":"2026-06-16T06:24:23","slug":"gan-generative-adversarial-network-%e3%81%ae%e7%90%86%e8%ab%96%e3%81%a8%e5%ae%9f%e8%a3%85","status":"publish","type":"post","link":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/","title":{"rendered":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5"},"content":{"rendered":"\r\n<p class=\"normal-Txt\">\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0\u3092\u6d3b\u7528\u3057\u305f\u751f\u6210\u30e2\u30c7\u30eb\u306e\u4e2d\u3067\u3082\u3001\u6700\u3082\u5fdc\u7528\u624b\u6cd5\u304c\u7814\u7a76\u3055\u308c\u3066\u3044\u308b <strong>GAN<\/strong> (Generative Adversarial Network) \u3067\u3059\u304c\u3001\u300c\uff12\u3064\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4e92\u3044\u306b\u7af6\u308f\u305b\u308b\u3088\u3046\u306b\u5b66\u7fd2\u3059\u308b\u300d\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3067\u3042\u308b\u3068\u3044\u3046\u3053\u3068\u306f\u3054\u5b58\u77e5\u306e\u65b9\u3082\u591a\u3044\u3067\u3057\u3087\u3046\uff08\u4e0b\u56f3\uff09\u3002<\/p>\r\n\r\n<figure class=\"img-Wide\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/1.svg\" alt=\"\" \/><\/figure>\r\n<p class=\"normal-Txt\">\u3057\u304b\u3057\u3001\u305d\u306e\u4e00\u65b9\u3067\u3001\u306a\u305c\u305d\u308c\u306b\u3088\u3063\u3066\u9069\u5207\u306b\u30c7\u30fc\u30bf\u304c\u751f\u6210\u3055\u308c\u308b\u306e\u304b\u306b\u3064\u3044\u3066\u306f\u3001\u304d\u3061\u3093\u3068\u8aac\u660e\u304c\u306a\u3055\u308c\u3066\u3044\u308b\u60c5\u5831\u3092\u3042\u307e\u308a\u76ee\u306b\u3059\u308b\u6a5f\u4f1a\u3082\u306a\u304f\u3001\u305d\u308c\u3086\u3048\u306b\u3001\u304d\u3061\u3093\u3068\u8aac\u660e\u3067\u304d\u308b\u65b9\u3082\u5c11\u306a\u3044\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b\u3002<\/p>\r\n<p class=\"normal-Txt\">\u305d\u3053\u3067\u3001\u672c\u8a18\u4e8b\u3067\u306f\u3001GAN \u306e\u7406\u8ad6\u7684\u306a\u90e8\u5206\u306e\u8aac\u660e\u3092\u3001\u304d\u3061\u3093\u3068\u6570\u5f0f\u3092\u6df7\u3058\u3048\u3064\u3064\u66f8\u304d\u9032\u3081\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001PyTorch \u3092\u7528\u3044\u305f\u5b9f\u88c5\u3082\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002<\/p>\r\n\r\n<div id=\"toc_container\" class=\"no_bullets\"><p class=\"toc_title\">\u76ee\u6b21<\/p><ul class=\"toc_list\"><li><a href=\"#i\"><span class=\"toc_number toc_depth_1\">1<\/span> \u751f\u6210\u30e2\u30c7\u30eb\u306e\u76ee\u7684<\/a><\/li><li><a href=\"#GAN\"><span class=\"toc_number toc_depth_1\">2<\/span> GAN \u306b\u304a\u3051\u308b\u8b58\u5225\u5668\u306e\u5b9a\u5f0f\u5316<\/a><\/li><li><a href=\"#GAN-2\"><span class=\"toc_number toc_depth_1\">3<\/span> GAN \u306b\u304a\u3051\u308b\u751f\u6210\u5668\u306e\u5b9a\u5f0f\u5316<\/a><\/li><li><a href=\"#GAN-3\"><span class=\"toc_number toc_depth_1\">4<\/span> GAN \u5168\u4f53\u306e\u5b9a\u5f0f\u5316<\/a><ul><li><a href=\"#i-2\"><span class=\"toc_number toc_depth_2\">4.1<\/span> \u8b58\u5225\u5668\u306e\u5b66\u7fd2<\/a><\/li><li><a href=\"#i-3\"><span class=\"toc_number toc_depth_2\">4.2<\/span> \u751f\u6210\u5668\u306e\u5b66\u7fd2<\/a><\/li><\/ul><\/li><li><a href=\"#GAN-4\"><span class=\"toc_number toc_depth_1\">5<\/span> GAN \u306e\u5b9f\u88c5<\/a><ul><li><a href=\"#1\"><span class=\"toc_number toc_depth_2\">5.1<\/span> 1. \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f<\/a><\/li><li><a href=\"#2\"><span class=\"toc_number toc_depth_2\">5.2<\/span> 2. \u30e2\u30c7\u30eb\u306e\u69cb\u7bc9<\/a><\/li><li><a href=\"#3\"><span class=\"toc_number toc_depth_2\">5.3<\/span> 3. \u30e2\u30c7\u30eb\u306e\u8a13\u7df4<\/a><\/li><li><a href=\"#4\"><span class=\"toc_number toc_depth_2\">5.4<\/span> 4. \u30e2\u30c7\u30eb\u306e\u8a55\u4fa1<\/a><\/li><\/ul><\/li><\/ul><\/div>\n<h2 class=\"articletit-H2\"><span id=\"i\">\u751f\u6210\u30e2\u30c7\u30eb\u306e\u76ee\u7684<\/span><\/h2>\r\n<p class=\"normal-Txt\">\u305d\u3082\u305d\u3082\u3001\u751f\u6210\u30e2\u30c7\u30eb\u306e\u76ee\u7684\u306f\u4f55\u3060\u3063\u305f\u3067\u3057\u3087\u3046\u304b\uff1f\u8b58\u5225\u30e2\u30c7\u30eb\u306b\u304a\u3044\u3066\u306f\u3001\u4e88\u6e2c\u5024\u3068\u5b9f\u969b\u306e\u5024\u304c\u4e00\u81f4\u3059\u308c\u3070\u3088\u3044\u3068\u3044\u3046\u3001\u81f3\u6975\u5f53\u7136\u306a\u76ee\u6a19\u304c\u3042\u308a\u307e\u3057\u305f\u304c\uff08\u5b9f\u969b\u306b\u306f\u30c7\u30fc\u30bf\u3092\u9069\u5207\u306b\u5206\u985e\u3059\u308b\u6c7a\u5b9a\u5883\u754c\u3092\u898b\u3064\u3051\u308b\uff09\u3001\u751f\u6210\u30e2\u30c7\u30eb\u3067\u306f\u300c\u6b63\u89e3\u3068\u306a\u308b\u51fa\u529b\u5024\u300d\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\r\n<p class=\"normal-Txt\">\u3067\u306f\u4f55\u3092\u3059\u3079\u304d\u306a\u306e\u304b\u3068\u8a00\u3046\u3068\u3001\u300c\u30c7\u30fc\u30bf\u306b\u8fd1\u3044\u30e2\u30c7\u30eb\u5206\u5e03\u3092\u898b\u3064\u3051\u308b\u300d\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\u3059\u306a\u308f\u3061\u3001\u751f\u6210\u30e2\u30c7\u30eb\u3067\u306f\u3001\u300c\u4eca\u89b3\u6e2c\u3067\u304d\u3066\u3044\u308b\u30c7\u30fc\u30bf\u306f\u3001\u306a\u3093\u3089\u304b\u306e\u78ba\u7387\u5206\u5e03\u306b\u57fa\u3065\u3044\u3066\u751f\u6210\u3055\u308c\u3066\u3044\u308b\u306f\u305a\u3060\u300d\u3068\u3044\u3046\u8003\u3048\u306b\u57fa\u3065\u3044\u3066\u3001\u305d\u306e\u30c7\u30fc\u30bf\u3092\u751f\u6210\u3057\u3066\u3044\u308b\u78ba\u7387\u5206\u5e03\u305d\u306e\u3082\u306e\u3092\u30e2\u30c7\u30eb\u5316\u3057\u3088\u3046\u3068\u8a66\u307f\u3066\u3044\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\r\n<p class=\"normal-Txt\">\u3088\u3063\u3066\u3001\u30c7\u30fc\u30bf\u5206\u5e03\u3068\u30e2\u30c7\u30eb\u5206\u5e03\u3068\u3044\u3046\u3001\uff12\u3064\u306e\u78ba\u7387\u5206\u5e03\u306e\u300c\u8ddd\u96e2\u300d\u3092\u8fd1\u3065\u3051\u308b\u3053\u3068\u304c\u76ee\u6307\u3059\u3079\u304d\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\u4ee5\u4e0b\u3001\u78ba\u7387\u5909\u6570\\(x\\)\u306b\u5bfe\u3057\u3001\u30c7\u30fc\u30bf\u5206\u5e03\u3092\\(p_d(x)\\)\u3001\u30e2\u30c7\u30eb\u5206\u5e03\u3092\\(p_g(x)\\)\u3067\u8868\u3059\u3053\u3068\u306b\u3057\u307e\u3059\u3002<\/p>\r\n\r\n<h2 class=\"articletit-H2\"><span id=\"GAN\">GAN \u306b\u304a\u3051\u308b\u8b58\u5225\u5668\u306e\u5b9a\u5f0f\u5316<\/span><\/h2>\r\n<p class=\"normal-Txt\">GAN \u306b\u304a\u3044\u3066\u3082\u30c7\u30fc\u30bf\u5206\u5e03\u306b\u8fd1\u3044\u30e2\u30c7\u30eb\u5206\u5e03\u3092\u6c42\u3081\u305f\u3044\u308f\u3051\u3067\u3059\u304c\u3001\u5b9f\u969b\u306b\u5206\u5e03\\(p_d(x)\\)\u3092\u6c42\u3081\u308b\u3053\u3068\u3092\u8003\u3048\u305f\u5834\u5408\u3001\u5c11\u3057\u56f0\u3063\u305f\u3053\u3068\u304c\u8d77\u3053\u308a\u307e\u3059\u3002<\/p>\r\n<p class=\"normal-Txt\">\u3068\u3044\u3046\u306e\u3082\u3001\u5206\u5e03\\(p_d(x)\\)\u306f\u5206\u5e03\u306e\u5f62\u304c\u660e\u793a\u3055\u308c\u3066\u3044\u308b\u308f\u3051\u3067\u306f\u306a\u3044\u306e\u3067\u3001\u3069\u306e\u3088\u3046\u306a\u5f62\u304b\u306f\u308f\u304b\u3089\u306a\u3044\u306e\u3067\u3059\u3002\u305d\u306e\u305f\u3081\u3001\u76f4\u63a5\u5c24\u5ea6\u3092\u8a08\u7b97\u3059\u308b\uff08\u3053\u3068\u306b\u3088\u3063\u3066\u30c7\u30fc\u30bf\u5206\u5e03\u3068\u306e\u8fd1\u3055\u3092\u6e2c\u308b\uff09\u3068\u3044\u3063\u305f\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\r\n<p class=\"normal-Txt\">\u305d\u3053\u3067\u3001\u307e\u305a\u306f\u76f4\u63a5\u5c24\u5ea6\u3092\u6e2c\u308b\u4ee3\u308f\u308a\u306b\u3001\u30c7\u30fc\u30bf\u5206\u5e03\u3068\u30e2\u30c7\u30eb\u5206\u5e03\u306e\u5bc6\u5ea6\u6bd4\\(r(x)\\)\u3092\u8003\u3048\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\"><\/div>\r\n<!-- \/.scroll-->\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_01.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3053\u3053\u3067\u3001\u30c7\u30fc\u30bf\u5206\u5e03\u3042\u308b\u3044\u306f\u30e2\u30c7\u30eb\u5206\u5e03\u304b\u3089\u751f\u6210\u3055\u308c\u305f\u30e9\u30d9\u30eb\u4ed8\u304d\u306e\u30c7\u30fc\u30bf\u96c6\u5408\\(\\left\\{ (x_1, y_1), \\cdots, (x_N, y_N)\\right\\}\\)\u3092\u8003\u3048\u3001\u30c7\u30fc\u30bf\u5206\u5e03\u306b\u3088\u308a\u751f\u6210\u3055\u308c\u305f\u30c7\u30fc\u30bf\u306e\u30e9\u30d9\u30eb\u3092\\( y=1\\)\u3001\u30e2\u30c7\u30eb\u5206\u5e03\u306b\u3088\u308a\u751f\u6210\u3055\u308c\u305f\u30c7\u30fc\u30bf\u306e\u30e9\u30d9\u30eb\u3092\\( y=0\\)\u3068\u3059\u308b\u3068\u3001\u305d\u308c\u305e\u308c\u306e\u5206\u5e03\u306f\u6b21\u306e\u3088\u3046\u306b\u8868\u3055\u308c\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_02.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3053\u306e\u3068\u304d\u3001\u5bc6\u5ea6\u6bd4\\(r(x)\\)\u306e\u5f0f\u306f\u6b21\u306e\u3088\u3046\u306b\u5909\u5f62\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_03.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u305f\u3060\u3057\u3001<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_04.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3068\u3057\u3066\u3044\u307e\u3059\u3002\u3053\u306e\\(\\pi\\)\u306f\u5b9f\u969b\u306e\u30c7\u30fc\u30bf\u6570\u306e\u6bd4\u3067\u8fd1\u4f3c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u306e\u3067\u3001\u30e9\u30d9\u30eb\u304c\\(y=0\\)\u3042\u308b\u3044\u306f\\(y=1\\)\u306e\u307f\u3067\u3042\u308b\u3053\u3068\u3092\u8003\u3048\u308b\u3068\u3001\\(p(y=1\u2223x)\\)\u3092\u63a8\u5b9a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308c\u3070\u3001\u5bc6\u5ea6\u6bd4\\(r(x)\\)\u304c\u6c42\u307e\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\u305d\u3053\u3067\u3001\u3053\u306e\\(p(y=1\u2223x)\\)\u3092\u8fd1\u4f3c\u3059\u308b\u5206\u5e03\u3092\u30d1\u30e9\u30e1\u30fc\u30bf\\(\\phi\\)\u3092\u7528\u3044\u3066\\(q_\\phi(y=1\u2223x)\\)\u3068\u3057\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_05.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3053\u3046\u3059\u308b\u3053\u3068\u3067\u3001\u3053\u306e\u5206\u5e03\u3092\uff08\u4f8b\u3048\u3070\uff09\u30cb\u30e5\u30fc\u30e9\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u6c42\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\u3053\u306e\\(q_\\phi(y=1\u2223x)\\)\u3092\u63a8\u5b9a\u3059\u308b\u30e2\u30c7\u30eb\u306e\u3053\u3068\u3092<strong>\u8b58\u5225\u5668<\/strong>\u3042\u308b\u3044\u306f<strong>\u9451\u5225\u5668<\/strong> (discriminator) \u3068\u8a00\u3044\u307e\u3059\u3002\u8b58\u5225\u5668\u3092\\(D(\\phi;x)\\)\u3067\u8868\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_06.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3053\u308c\u306b\u3088\u308a\u3001\u5143\u3005\u306f\u5bc6\u5ea6\u6bd4\u3092\u8003\u3048\u308b\u554f\u984c\u3067\u3042\u3063\u305f\u3082\u306e\u304c\u3001\u78ba\u7387\u7684\u5206\u985e\u5668\u306e\u6700\u9069\u5316\u3001\u3059\u306a\u308f\u3061\u4e00\u822c\u7684\u306a\u5206\u985e\u554f\u984c\u306b\u7f6e\u304d\u63db\u308f\u3063\u305f\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\u3088\u3063\u3066\u3001\u8aa4\u5dee\u95a2\u6570\u3068\u3057\u3066\u4ea4\u5dee\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u8aa4\u5dee\u95a2\u6570\\(U(D)\\)\u3092\u8003\u3048\u308b\u3068\u3001\u6b21\u306e\u3088\u3046\u306b\u8868\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_07.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u305f\u3060\u3057\u3001\\(E\\begin{bmatrix}\u22c5\\end{bmatrix}\\)\u306f\u671f\u5f85\u5024\u3092\u8868\u3057\u307e\u3059\u3002\u7b26\u53f7\u306e\u7169\u308f\u3057\u3055\u304b\u3089\u3001\\(\u2212U(D) \\)\u3092\u8003\u3048\u3001\u6b21\u306e\u3088\u3046\u306b\u5f0f\u5909\u5f62\u3092\u3057\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_08.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3053\u3053\u3067\u3001\u30c7\u30fc\u30bf\u96c6\u5408\u306b\u95a2\u3057\u3066\u3001\u5404\u30e9\u30d9\u30eb\u306e\u30c7\u30fc\u30bf\u304c\u534a\u3005\u3001\u3059\u306a\u308f\u3061\\(y=0\\)\u3068\\(y=1\\)\u306e\u30c7\u30fc\u30bf\u6570\u304c\u7b49\u3057\u304b\u3063\u305f\u3068\u3059\u308b\u3068\u3001<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_09.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3068\u306a\u308b\u305f\u3081\u3001\u5f0f(8)\u3088\u308a\u3001\u6700\u7d42\u7684\u306a\u8b58\u5225\u5668\u306e\u76ee\u7684\u95a2\u6570\\(V(D)\\)\u306f\u6b21\u306e\u3088\u3046\u306b\u8868\u3059\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_10.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u8b58\u5225\u5668\u306e\u76ee\u7684\u306f\u3053\u308c\u3092\u6700\u5927\u5316\u3059\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\r\n\r\n<h2 class=\"articletit-H2\"><span id=\"GAN-2\">GAN \u306b\u304a\u3051\u308b\u751f\u6210\u5668\u306e\u5b9a\u5f0f\u5316<\/span><\/h2>\r\n<p class=\"normal-Txt\">\u751f\u6210\u5668\u306b\u3064\u3044\u3066\u898b\u3066\u3044\u304f\u524d\u306b\u3001\u5148\u307b\u3069\u306e\\(V(D)\\)\u306b\u95a2\u3057\u3066\u3082\u3046\u5c11\u3057\u8003\u3048\u3066\u307f\u307e\u3057\u3087\u3046\u3002\u3082\u3057\u6700\u9069\u306a\u8b58\u5225\u5668\\(D^{\u2217}(\\phi;x)\\)\u304c\u5f97\u3089\u308c\u305f\u3068\u3059\u308b\u3068\u3001<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_11.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3068\u306a\u308a\u307e\u3059\u304c\u3001\u3053\u306e\u3068\u304d\u3001\\(D^{\u2217}(x)\\)\u306f<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_12.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u306b\u53ce\u675f\u3057\u307e\u3059\u3002\u3053\u308c\u3092\u5f0f(10)\u306b\u4ee3\u5165\u3059\u308b\u3068\u3001\u6b21\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059\uff08\u305f\u3060\u3057\u3001\u898b\u3084\u3059\u3055\u306e\u305f\u3081\u3001\\(p_d(x),p_g(x)\\)\u3092\u305d\u308c\u305e\u308c\\(p_d,p_g\\)\u3067\u8868\u3057\u3066\u3044\u307e\u3059\uff09\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_13.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u305f\u3060\u3057\u3001\u6700\u5f8c\u306e\\(D_{JS}\\begin{bmatrix}\u22c5\\end{bmatrix}\\)\u306f<strong>JS\u30c0\u30a4\u30d0\u30fc\u30b8\u30a7\u30f3\u30b9 \/ \u30a4\u30a7\u30f3\u30bc\u30f3\u30fb\u30b7\u30e3\u30ce\u30f3\u60c5\u5831\u91cf<\/strong> (Jensen-Shannon divergence) \u3092\u8868\u3057\u3066\u3044\u307e\u3059\u3002\u3059\u306a\u308f\u3061\u3001\\(V(D^*)\\)\u306f\\(p_d(x)\\)\u3068\\(p_g(x)\\)\u306eJS\u30c0\u30a4\u30d0\u30fc\u30b8\u30a7\u30f3\u30b9\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u5206\u304b\u308a\u307e\u3059\u3002\u672c\u6765\u306e\u751f\u6210\u30e2\u30c7\u30eb\u306e\u76ee\u7684\u306f\u30c7\u30fc\u30bf\u5206\u5e03\u306b\u8fd1\u3044\u30e2\u30c7\u30eb\u5206\u5e03\u3092\u6c42\u3081\u308b\u3053\u3068\u3067\u3057\u305f\u306e\u3067\u3001\u5b66\u7fd2\u306b\u3088\u3063\u3066\u5f97\u3089\u308c\u305f\u8b58\u5225\u5668\\((D^*(x))\\)\u3092\u7528\u3044\u308c\u3070\u3001\u751f\u6210\u30e2\u30c7\u30eb\u306b\u5bfe\u3057\u3066\u3082\u540c\u3058\u76ee\u7684\u95a2\u6570\u3092\u7528\u3044\u308b\u3053\u3068\u304c\u3067\u304d\u305d\u3046\u3067\u3059\u3002<\/p>\r\n<p class=\"normal-Txt\">\u3067\u306f\u3001\u30e2\u30c7\u30eb\u5206\u5e03\uff08\u751f\u6210\u30e2\u30c7\u30eb\uff09\u306b\u3064\u3044\u3066\u8003\u3048\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002\u3053\u3053\u3067\u3001\u6f5c\u5728\u5909\u6570\\(z\\)\u3092\u4eee\u5b9a\u3057\u307e\u3059\u3002\u3059\u308b\u3068\u3001\u5468\u8fba\u5316\u306b\u3088\u308a<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_14.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3068\u306a\u308a\u307e\u3059\u304c\u3001\u4eca\u5ea6\u306f\\( p(x|z)\\)\u3092\u8fd1\u4f3c\u3059\u308b\u5206\u5e03\u3068\u3057\u3066\\(q_\\theta (x|z) \\)\u3092\u5c0e\u5165\u3057\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_15.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3053\u3046\u3059\u308b\u3053\u3068\u3067\u3001\u518d\u5ea6\u3053\u306e\u5206\u5e03\u3092\uff08\u4f8b\u3048\u3070\uff09\u30cb\u30e5\u30fc\u30e9\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u6c42\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002\\(q_\\theta (x|z)\\)\u3092\u63a8\u5b9a\u3059\u308b\u30e2\u30c7\u30eb\u306e\u3053\u3068\u3092\u3001\u8b58\u5225\u5668\u306b\u5bfe\u3057\u3066 <strong>\u751f\u6210\u5668<\/strong> (generator) \u3068\u8a00\u3044\u307e\u3059\u3002\u751f\u6210\u5668\u3092\\(G(\\theta;z)\\)\u3067\u8868\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_16.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u5f0f(13) \u3067\u793a\u3057\u305f\u901a\u308a\u3001\\(V(D^*)\\)\u306f\\(p_d(x)\\)\u3068\\(p_g(x)\\)\u306eJS\u30c0\u30a4\u30d0\u30fc\u30b8\u30a7\u30f3\u30b9\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u307e\u3059\u306e\u3067\u3001\u6700\u9069\u306a\\(G(\\theta;z)\\)\u3092\u5f97\u308b\u305f\u3081\u306e\u76ee\u7684\u95a2\u6570\u306f\u6b21\u306e\u3088\u3046\u306b\u66f8\u304f\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_17.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u305f\u3060\u3057\u3001\u8b58\u5225\u5668\u306f \\(V(D)\\)\u3092\u6700\u5927\u5316\u3059\u308b\u3053\u3068\u304c\u76ee\u7684\u3067\u3057\u305f\u304c\u3001\u751f\u6210\u5668\u306f\u3053\u306e\\(V(D^*,G)\\)\u3092\u6700\u5c0f\u5316\u3059\u308b\u3053\u3068\u304c\u76ee\u7684\u3067\u3042\u308b\u3053\u3068\u306b\u6ce8\u610f\u304c\u5fc5\u8981\u3067\u3059\u3002<\/p>\r\n\r\n<h2 class=\"articletit-H2\"><span id=\"GAN-3\">GAN \u5168\u4f53\u306e\u5b9a\u5f0f\u5316<\/span><\/h2>\r\n<p class=\"normal-Txt\">\u3055\u3066\u3001\u8b58\u5225\u5668\u30fb\u751f\u6210\u5668\u306e\u5b9a\u5f0f\u5316\u3092\u8003\u3048\u305f\u969b\u3001\u3044\u305a\u308c\u306e\u5206\u5e03\u306b\u3064\u3044\u3066\u3082\u3001\u300c\uff08\u4f8b\u3048\u3070\uff09\u30cb\u30e5\u30fc\u30e9\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u6c42\u3081\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u300d\u3068\u6562\u3048\u3066\u66f8\u304d\u307e\u3057\u305f\u3002\u5b9f\u306f\u3001GAN\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u81ea\u4f53\u306f\u3001\u30e2\u30c7\u30eb\u306b\u95a2\u3057\u3066\u306f\u30cb\u30e5\u30fc\u30e9\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306b\u3057\u306a\u304f\u3066\u306f\u306a\u3089\u306a\u3044\u308f\u3051\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u305f\u3060\u3057\u3001\u5b9f\u969b\u306f\u8b58\u5225\u5668\u30fb\u751f\u6210\u5668\u3068\u3082\u306b\uff08\u30c7\u30a3\u30fc\u30d7\uff09\u30cb\u30e5\u30fc\u30e9\u30eb\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u8868\u73fe\u3057\u305f\u624b\u6cd5\u304c\u7528\u3044\u3089\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\r\n<p class=\"normal-Txt\">\u305d\u308c\u305e\u308c\u306e\u76ee\u7684\u95a2\u6570\u306f\u5f0f(10)\u304a\u3088\u3073\u5f0f(17)\u3067\u793a\u3057\u305f\u901a\u308a\u3067\u3059\u304c\u3001\u5b9f\u969b\u306b\u6700\u9069\u5316\u3092\u8003\u3048\u308b\u3068\u3001\u9069\u5207\u306a\u751f\u6210\u5668\u304c\u5f97\u3089\u308c\u306a\u3044\u3068\u6700\u9069\u306a\u8b58\u5225\u5668\u306f\u5b66\u7fd2\u3067\u304d\u307e\u305b\u3093\u3057\u3001\u53cd\u5bfe\u306b\u9069\u5207\u306a\u8b58\u5225\u5668\u304c\u5f97\u3089\u308c\u306a\u3044\u3068\u6700\u9069\u306a\u751f\u6210\u5668\u3092\u5b66\u7fd2\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002\u3088\u3063\u3066\u3001\u5b66\u7fd2\u3067\u306f\u305d\u308c\u305e\u308c\u306e\u76ee\u7684\u95a2\u6570\u3092\u4ea4\u4e92\u306b\u6700\u9069\u5316\u3059\u308b\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002\u5f0f\u3067\u8868\u3057\u3066\u307f\u308b\u3068\u3001\u6b21\u306e\u901a\u308a\u3067\u3059\u3002<\/p>\r\n\r\n<h3 class=\"articletit-H3\"><span id=\"i-2\">\u8b58\u5225\u5668\u306e\u5b66\u7fd2<\/span><\/h3>\r\n<p class=\"normal-Txt\">\u751f\u6210\u5668\\(G(\\theta;z)\\)\u306f\u56fa\u5b9a\u3057\u305f\u4e0a\u3067\u3001\u4ee5\u4e0b\u306e\u5f0f\u3092\u8a08\u7b97\u3059\u308b\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_18.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<h3 class=\"articletit-H3\"><span id=\"i-3\">\u751f\u6210\u5668\u306e\u5b66\u7fd2<\/span><\/h3>\r\n<p class=\"normal-Txt\">\u751f\u6210\u5668\\(D(\\phi;x)\\)\u306f\u56fa\u5b9a\u3057\u305f\u4e0a\u3067\u3001\u4ee5\u4e0b\u306e\u5f0f\u3092\u8a08\u7b97\u3059\u308b\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_19.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u3053\u308c\u304c\u3001\u3044\u308f\u3086\u308b\u300c\uff12\u3064\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3092\u4e92\u3044\u306b\u7af6\u308f\u305b\u308b\u3088\u3046\u306b\u5b66\u7fd2\u3059\u308b\u300d\u3067\u77e5\u3089\u308c\u308b GAN \u306e\u6b63\u4f53\u306a\u308f\u3051\u3067\u3059\u3002\u8b58\u5225\u5668\u30fb\u751f\u6210\u5668\u306e\u5b66\u7fd2\u306e\u5f0f\u3092\u307e\u3068\u3081\u3066\u8003\u3048\u308b\u3068\u3001\u7c21\u6613\u7684\u306b\u306f\u6b21\u306e\u5f0f\u3092\u8003\u3048\u3066\u3044\u308b\u3068\u3082\u8a00\u3048\u308b\u3067\u3057\u3087\u3046\u3002<\/p>\r\n\r\n<div class=\"solid-Box\">\r\n<figure class=\"img-Auto\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/img_20.png\" alt=\"\" \/><\/figure>\r\n<\/div>\r\n<!-- \/.solid-Box-->\r\n<p class=\"normal-Txt\">\u5b66\u7fd2\u304c\u5341\u5206\u306b\u9032\u3080\u3068\u3001\u751f\u6210\u5668\\(G(\\theta;z)\\)\u304b\u3089\u751f\u6210\u3055\u308c\u308b\u30c7\u30fc\u30bf\u306f\u3001\u5b9f\u969b\u306e\u30c7\u30fc\u30bf\u306b\u975e\u5e38\u306b\u8fd1\u3044\u3082\u306e\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\r\n\r\n<h2 class=\"articletit-H2\"><span id=\"GAN-4\">GAN \u306e\u5b9f\u88c5<\/span><\/h2>\r\n<p class=\"normal-Txt\">\u3067\u306f\u3001GAN\u306e\u5b9f\u88c5\u3092\u8003\u3048\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002\u30e2\u30c7\u30eb\u5b9a\u5f0f\u5316\u306e\u904e\u7a0b\u306f\u8907\u96d1\u3067\u3057\u305f\u304c\u3001\u5b9f\u88c5\u306f\u30b7\u30f3\u30d7\u30eb\u306b\u307e\u3068\u307e\u308a\u307e\u3059\u3002\u30c7\u30fc\u30bf\u306f FashionMNIST \u3092\u7528\u3044\u308b\u3053\u3068\u306b\u3057\u307e\u3057\u3087\u3046\u3002\u307e\u305a\u306f\u7528\u3044\u308b\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u3064\u3044\u3066\u3067\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n\r\n&nbsp;\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">import os\r\nimport numpy as np\r\nimport torch\r\nimport torch.nn as nn\r\nimport torch.optim as optimizers\r\nimport torch.nn.functional as F\r\nfrom torch.utils.data import Dataset, DataLoader\r\nimport torchvision\r\nimport torchvision.transforms as transforms\r\nimport matplotlib\r\n# matplotlib.use('Agg')\r\nimport matplotlib.pyplot as plt<\/pre>\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<p class=\"normal-Txt\">\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8\u3057\u3066\u3042\u308b matplotlib.use(&#8216;Agg&#8217;) \u306f\u3001\u5b9f\u884c\u3057\u3066\u3044\u308b\u74b0\u5883\u306b\u3088\u3063\u3066\u306f\u5fc5\u8981\u306b\u306a\u308a\u307e\u3059\uff08\u30b0\u30e9\u30d5\u306e\u53ef\u8996\u5316\u7528\uff09\u3002<\/p>\r\n<p class=\"normal-Txt\">\u306f\u3058\u3081\u306b\u3001\u30e2\u30c7\u30eb\u306e\u5b9a\u7fa9 GAN \u30af\u30e9\u30b9\u3092\u5b9f\u88c5\u3057\u307e\u3059\u3002\u305f\u3060\u3057\u3001\u3053\u308c\u306f\u3042\u304f\u307e\u3067\u3082 &#8220;GAN&#8221; \u3068\u3044\u3046\u540d\u524d\u3067\u307e\u3068\u3081\u308b\u305f\u3081\u306b\u5b9f\u88c5\u3057\u305f\u30af\u30e9\u30b9\u3067\u3042\u308a\u3001\u5927\u4e8b\u306b\u306a\u308b\u306e\u306f\u3053\u306e\u5f8c\u5b9f\u88c5\u3057\u3066\u3044\u304f\u8b58\u5225\u5668 Discriminator \u304a\u3088\u3073\u751f\u6210\u5668 Generator \u306b\u306a\u308a\u307e\u3059\u3002forward \u3082\u5b9f\u88c5\u306f\u3057\u3066\u3044\u307e\u3059\u304c\u3001\u5b9f\u969b\u306b\u7528\u3044\u308b\u3053\u3068\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">class GAN(nn.Module):\r\ndef __init__(self, device='cpu'):\r\nsuper().__init__()\r\nself.device = device\r\nself.G = Generator(device=device)\r\nself.D = Discriminator(device=device)\r\n\r\ndef forward(self, x):\r\nx = self.G(x)\r\ny = self.D(x)\r\n\r\nreturn y<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<p class=\"normal-Txt\">\u7d9a\u3044\u3066\u3001\u8b58\u5225\u5668\\(D\\)\u306e\u5b9f\u88c5\u3067\u3059\u3002\u4eca\u56de\u7528\u3044\u308b\u306e\u306f\u753b\u50cf\u30c7\u30fc\u30bf\u3067\u3059\u306e\u3067\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u3057\u3066CNN\u3092\u5b9f\u88c5\u3057\u307e\u3059\uff08\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u69cb\u9020\u306e\u8a73\u7d30\u306b\u3064\u3044\u3066\u306f\u5272\u611b\u3057\u307e\u3059\uff09\u3002\u51fa\u529b\u306f\u751f\u6210\u3055\u308c\u305f\u753b\u50cf\u304c\u672c\u7269\u304b\u507d\u7269\u304b\u306e\u5224\u5225\uff08\uff12\u30af\u30e9\u30b9\u5206\u985e\uff09\u3067\u3059\u306e\u3067\u3001\u51fa\u529b\u5c64\u306e\u6d3b\u6027\u5316\u95a2\u6570\u306fsigmoid\u95a2\u6570\u3068\u306a\u308a\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">class Discriminator(nn.Module):\r\ndef __init__(self, device='cpu'):\r\nsuper().__init__()\r\nself.device = device\r\nself.conv1 = nn.Conv2d(1, 128,\r\nkernel_size=(3, 3),\r\nstride=(2, 2),\r\npadding=1)\r\nself.relu1 = nn.LeakyReLU(0.2)\r\nself.conv2 = nn.Conv2d(128, 256,\r\nkernel_size=(3, 3),\r\nstride=(2, 2),\r\npadding=1)\r\nself.bn2 = nn.BatchNorm2d(256)\r\nself.relu2 = nn.LeakyReLU(0.2)\r\nself.fc = nn.Linear(256*7*7, 1024)\r\nself.bn3 = nn.BatchNorm1d(1024)\r\nself.relu3 = nn.LeakyReLU(0.2)\r\nself.out = nn.Linear(1024, 1)\r\n\r\ndef forward(self, x):\r\nh = self.conv1(x)\r\nh = self.relu1(h)\r\nh = self.conv2(h)\r\nh = self.bn2(h)\r\nh = self.relu2(h)\r\nh = h.view(-1, 256*7*7)\r\nh = self.fc(h)\r\nh = self.bn3(h)\r\nh = self.relu3(h)\r\nh = self.out(h)\r\ny = torch.sigmoid(h)\r\n\r\nreturn y<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<p class=\"normal-Txt\">\u751f\u6210\u5668 \\(G\\)\u306e\u5b9f\u88c5\u306f\u6b21\u306e\u901a\u308a\u3067\u3059\u3002\u5165\u529b\u3068\u3057\u3066\u30ce\u30a4\u30ba\u3092\u53d7\u3051\u53d6\u3063\u305f\u5f8c\u3001\u9014\u4e2d F.interpolate \u3067\u306f\u51fa\u529b\u30b5\u30a4\u30ba\u3092\u5408\u308f\u305b\u308b\u305f\u3081\u3001Upsampling\u3092\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">class Generator(nn.Module):\r\ndef __init__(self,\r\ninput_dim=100,\r\ndevice='cpu'):\r\nsuper().__init__()\r\nself.device = device\r\nself.linear = nn.Linear(input_dim, 256*14*14)\r\nself.bn1 = nn.BatchNorm1d(256*14*14)\r\nself.relu1 = nn.ReLU()\r\nself.conv1 = nn.Conv2d(256, 128,\r\nkernel_size=(3, 3),\r\npadding=1)\r\nself.bn2 = nn.BatchNorm2d(128)\r\nself.relu2 = nn.ReLU()\r\nself.conv2 = nn.Conv2d(128, 64,\r\nkernel_size=(3, 3),\r\npadding=1)\r\nself.bn3 = nn.BatchNorm2d(64)\r\nself.relu3 = nn.ReLU()\r\nself.conv3 = nn.Conv2d(64, 1,\r\nkernel_size=(1, 1))\r\n\r\ndef forward(self, x):\r\nh = self.linear(x)\r\nh = self.bn1(h)\r\nh = self.relu1(h)\r\nh = h.view(-1, 256, 14, 14)\r\nh = F.interpolate(h, size=(28, 28))\r\nh = self.conv1(h)\r\nh = self.bn2(h)\r\nh = self.relu2(h)\r\nh = self.conv2(h)\r\nh = self.bn3(h)\r\nh = self.relu3(h)\r\nh = self.conv3(h)\r\ny = torch.sigmoid(h)\r\n\r\nreturn y<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<p class=\"normal-Txt\">\u3053\u308c\u3067\u30e2\u30c7\u30eb\u306e\u5b9f\u969b\u304c\u3067\u304d\u307e\u3057\u305f\u3002GAN \u306f\u5b66\u7fd2\u306e\u67a0\u7d44\u307f\u306e\u3053\u3068\u3092\u6307\u3057\u3066\u3044\u307e\u3059\u306e\u3067\u3001\\(D\\)\u306b\u305b\u3088\u3001\\(G\\)\u306b\u305b\u3088\u3001\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u81ea\u4f53\u306b\u5927\u304d\u306a\u7279\u5fb4\u306f\u3042\u308a\u307e\u305b\u3093\u3002\u3067\u306f\u3001\u5b66\u7fd2\u30fb\u751f\u6210\u3092\u884c\u3063\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">if __name__ == '__main__':\r\nnp.random.seed(1234)\r\ntorch.manual_seed(1234)\r\ndevice = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\r\n\r\n'''\r\n1. \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\r\n'''\r\n# TODO\r\n\r\n'''\r\n2. \u30e2\u30c7\u30eb\u306e\u69cb\u7bc9\r\n'''\r\n# TODO\r\n\r\n'''\r\n3. \u30e2\u30c7\u30eb\u306e\u8a13\u7df4\r\n'''\r\n# TODO\r\n\r\n'''\r\n4. \u30e2\u30c7\u30eb\u306e\u8a55\u4fa1\r\n'''\r\n# TODO<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<h3 class=\"articletit-H3\"><span id=\"1\">1. \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f<\/span><\/h3>\r\n<p class=\"normal-Txt\">torchvision \u3092\u7528\u3044\u3066 FashionMNIST \u30c7\u30fc\u30bf\u3092\u8aad\u307f\u8fbc\u307f\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">'''\r\n1. \u30c7\u30fc\u30bf\u306e\u8aad\u307f\u8fbc\u307f\r\n'''\r\nroot = os.path.join(os.path.dirname(__file__),\r\n'.', 'data', 'fashion_mnist')\r\ntransform = transforms.Compose([transforms.ToTensor(),\r\nlambda x: x.view(-1)])\r\nmnist_train = \\\r\ntorchvision.datasets.FashionMNIST(root=root,\r\ndownload=True,\r\ntrain=True,\r\ntransform=transform)\r\ntrain_dataloader = DataLoader(mnist_train,\r\nbatch_size=100,\r\nshuffle=True)<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<p class=\"normal-Txt\">Jupyter Notebook \u3067\u5b9f\u884c\u3059\u308b\u5834\u5408\u3001\u4e0a\u8a18\u306e os.path.dirname(__file__) \u306f\u30a8\u30e9\u30fc\u306b\u306a\u308a\u307e\u3059\u306e\u3067\u6ce8\u610f\u3057\u3066\u304f\u3060\u3055\u3044\uff08\u30c7\u30fc\u30bf\u3092\u4fdd\u5b58\u3057\u305f\u3044\u30d1\u30b9\u3092\u305d\u306e\u307e\u307e\u8a18\u8ff0\u3057\u3066\u304f\u3060\u3055\u3044\uff09\u3002<\/p>\r\n\r\n<h3 class=\"articletit-H3\"><span id=\"2\">2. \u30e2\u30c7\u30eb\u306e\u69cb\u7bc9<\/span><\/h3>\r\n<p class=\"normal-Txt\">GAN \u30af\u30e9\u30b9\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3057\u307e\u3059\u3002\u307e\u305f\u3001GAN \u3067\u306f\u3001\u751f\u6210\u5668\\(G\\)\u306b\u4e0e\u3048\u308b\u6f5c\u5728\u5909\u6570\\(z\\)\u306f\u5206\u5e03\u3092\u660e\u793a\u3057\u307e\u305b\u3093\u306e\u3067\u3001\u30ce\u30a4\u30ba\u3068\u3057\u3066\u4e00\u69d8\u4e71\u6570\u3092\u7528\u3044\u308b\u3053\u3068\u306b\u3057\u3001\u30ce\u30a4\u30ba\u3092\u751f\u6210\u3059\u308b\u95a2\u6570\u3092 gen_noise \u3068\u3057\u3066\u5b9f\u88c5\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">'''\r\n2. \u30e2\u30c7\u30eb\u306e\u69cb\u7bc9\r\n'''\r\nmodel = GAN(device=device).to(device)\r\n\r\ndef gen_noise(batch_size):\r\nreturn torch.empty(batch_size, 100).uniform_(0, 1).to(device)\r\n<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<h3 class=\"articletit-H3\"><span id=\"3\">3. \u30e2\u30c7\u30eb\u306e\u8a13\u7df4<\/span><\/h3>\r\n<p class=\"normal-Txt\">GAN \u306f\\(D\\)\u3068\\(G\\)\u3092\u305d\u308c\u305e\u308c\u4ea4\u4e92\u306b\u6700\u9069\u5316\u3057\u3066\u3044\u304d\u307e\u3059\u306e\u3067\u3001\u30aa\u30d7\u30c6\u30a3\u30de\u30a4\u30b6\u3082\u305d\u308c\u305e\u308c\u306b\u7528\u610f\u3057\u307e\u3059\u3002\u3068\u3082\u306b\u624b\u6cd5\u3068\u3057\u3066\u306fAdam\u3092\u7528\u3044\u3066\u3044\u307e\u3059\u304c\u3001GAN\u306e\u5b66\u7fd2\u306e\u30c6\u30af\u30cb\u30c3\u30af\u3068\u3057\u3066\u3001\u521d\u671f\u306e\u5b66\u7fd2\u7387\u3092\u5c0f\u3055\u3081\u306b\u8a2d\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002\u307e\u305f\u3001\u8aa4\u5dee\u95a2\u6570\u306f\uff12\u30af\u30e9\u30b9\u7248\u306e\u4ea4\u5dee\u30a8\u30f3\u30c8\u30ed\u30d4\u30fc\u8aa4\u5dee\u95a2\u6570\u3092\u7528\u3044\u307e\u3059\u3002\u5b9f\u969b\u306e\u5b66\u7fd2\u90e8\u5206\u3092\u5b9f\u88c5\u3059\u308b train_step \u306f\u3001\u307e\u305f\u5f8c\u307b\u3069\u898b\u3066\u3044\u304f\u3053\u3068\u306b\u3057\u307e\u3057\u3087\u3046\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">'''\r\n3. \u30e2\u30c7\u30eb\u306e\u8a13\u7df4\r\n'''\r\ncriterion = nn.BCELoss()\r\noptimizer_D = optimizers.Adam(model.D.parameters(), lr=0.0002)\r\noptimizer_G = optimizers.Adam(model.G.parameters(), lr=0.0002)\r\n\r\ndef compute_loss(label, preds):\r\nreturn criterion(preds, label)\r\n\r\ndef train_step(x):\r\nbatch_size = x.size(0)\r\nmodel.D.train()\r\nmodel.G.train()\r\n\r\n# \u8b58\u5225\u5668\u306e\u8a13\u7df4\r\n# TODO\r\n\r\n# \u751f\u6210\u5668\u306e\u8a13\u7df4\r\n# TODO\r\n\r\nreturn loss_D, loss_G\r\n<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<h4 class=\"articletit-H4\">\u8b58\u5225\u5668\u306e\u8a13\u7df4<\/h4>\r\n<p class=\"normal-Txt\">\u8b58\u5225\u5668 \\(D\\)\u3067\u306f\u3001\u672c\u7269\u753b\u50cf\u3068\u507d\u7269\u753b\u50cf\u3092\u6b63\u3057\u304f\u8b58\u5225\u3067\u304d\u308b\u3053\u3068\u3092\u76ee\u7684\u3068\u3057\u307e\u3059\u306e\u3067\u3001\u305d\u308c\u305e\u308c\u306e\u753b\u50cf\u3092\u5165\u529b\u3057\u3066\u5f97\u3089\u308c\u305f\u4e88\u6e2c\u7d50\u679c\u3068\u3001\u305d\u308c\u305e\u308c\u306b\u5bfe\u3059\u308b\u30e9\u30d9\u30eb\uff08\u672c\u7269\u753b\u50cf\u304c\\(t=1\\)\u3001\u507d\u7269\u753b\u50cf\u304c \\(t=0\\))\u3092\u5143\u306b\u3001\u8aa4\u5dee\u95a2\u6570\u306e\u6700\u5c0f\u5316\u3092\u884c\u3044\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\"># \u8b58\u5225\u5668\u306e\u8a13\u7df4\r\n# \u672c\u7269\u753b\u50cf\r\npreds = model.D(x).squeeze() # \u672c\u7269\u753b\u50cf\u306b\u5bfe\u3059\u308b\u4e88\u6e2c\r\nt = torch.ones(batch_size).float().to(device)\r\nloss_D_real = compute_loss(t, preds)\r\n# \u507d\u7269\u753b\u50cf\r\nnoise = gen_noise(batch_size)\r\ngen = model.G(noise)\r\npreds = model.D(gen.detach()).squeeze() # \u507d\u7269\u753b\u50cf\u306b\u5bfe\u3059\u308b\u4e88\u6e2c\r\nt = torch.zeros(batch_size).float().to(device)\r\nloss_D_fake = compute_loss(t, preds)\r\n\r\nloss_D = loss_D_real + loss_D_fake\r\noptimizer_D.zero_grad()\r\nloss_D.backward()\r\noptimizer_D.step()<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<p class=\"normal-Txt\">\u6ce8\u610f\u3059\u3079\u304d\u306f\u3001\u507d\u7269\u753b\u50cf\u3092\u7528\u3044\u308b\u969b\u3001\u751f\u6210\u5668\\(G\\)\u306b\u52fe\u914d\u304c\u4f1d\u308f\u3089\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u305f\u3081\u306b\u3001.detach() \u3092\u7528\u3044\u308b\u5fc5\u8981\u304c\u3042\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3057\u3087\u3046\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">gen = model.G(noise)\r\npreds = model.D(gen.detach()).squeeze()<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<h4 class=\"articletit-H4\">\u751f\u6210\u5668\u306e\u8a13\u7df4<\/h4>\r\n<p class=\"normal-Txt\">\u751f\u6210\u5668\\(G\\)\u3067\u306f\u3001\u751f\u6210\u3057\u305f\u753b\u50cf\u30c7\u30fc\u30bf\u3092\u8b58\u5225\u5668\\(D\\)\u304c\u300c\u672c\u7269\u300d\u3068\u9593\u9055\u3048\u308b\u3088\u3046\u306b\u5b66\u7fd2\u3092\u3057\u305f\u3044\u306e\u3067\u3001\u751f\u6210\u753b\u50cf\uff08\u507d\u7269\u753b\u50cf\uff09\u306e\u30e9\u30d9\u30eb\u3092\u672c\u7269\\((t=1) \\)\u3068\u3057\u3066\u5b66\u7fd2\u3059\u308b\u306e\u304c\u30dd\u30a4\u30f3\u30c8\u3067\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\"># \u751f\u6210\u5668\u306e\u8a13\u7df4\r\nnoise = gen_noise(batch_size)\r\ngen = model.G(noise)\r\npreds = model.D(gen).squeeze() # \u507d\u7269\u753b\u50cf\u306b\u5bfe\u3059\u308b\u4e88\u6e2c\r\nt = torch.ones(batch_size).float().to(device) # \u507d\u7269\u753b\u50cf\u306e\u30e9\u30d9\u30eb\u3092\u300c\u672c\u7269\u753b\u50cf\u300d\u306b\r\nloss_G = compute_loss(t, preds)\r\noptimizer_G.zero_grad()\r\nloss_G.backward()\r\noptimizer_G.step()<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<p class=\"normal-Txt\">\u3053\u308c\u3067 train_step \u304c\u5b9f\u88c5\u3067\u304d\u305f\u306e\u3067\u3001\u5b9f\u969b\u306b\u5b66\u7fd2\u3092\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">epochs = 20\r\n\r\nfor epoch in range(epochs):\r\ntrain_loss_D = 0.\r\ntrain_loss_G = 0.\r\ntest_loss = 0.\r\n\r\nfor (x, _) in train_dataloader:\r\nx = x.to(device)\r\nloss_D, loss_G = train_step(x)\r\n\r\ntrain_loss_D += loss_D.item()\r\ntrain_loss_G += loss_G.item()\r\n\r\ntrain_loss_D \/= len(train_dataloader)\r\ntrain_loss_G \/= len(train_dataloader)\r\n\r\nprint('Epoch: {}, D Cost: {:.3f}, G Cost: {:.3f}'.format(\r\nepoch+1,\r\ntrain_loss_D,\r\ntrain_loss_G\r\n))<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<p class=\"normal-Txt\">\u5b9f\u884c\u3059\u308b\u3068\u3001\u6b21\u306e\u3088\u3046\u306a\u7d50\u679c\u304c\u5f97\u3089\u308c\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">Epoch: 1, D Cost: 0.630, G Cost: 1.582\r\nEpoch: 2, D Cost: 0.422, G Cost: 2.139\r\nEpoch: 3, D Cost: 0.435, G Cost: 2.199\r\n...\r\nEpoch: 18, D Cost: 0.289, G Cost: 3.350\r\nEpoch: 19, D Cost: 0.272, G Cost: 3.389\r\nEpoch: 20, D Cost: 0.279, G Cost: 3.444<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<p class=\"normal-Txt\">\u4eca\u56de\u306f\\(D\\)\u306e\u8aa4\u5dee\u304c\u6e1b\u5c11\u3057\u7d9a\u3051\u3001\\(G\\)\u306e\u8aa4\u5dee\u304c\u5897\u52a0\u3057\u7d9a\u3051\u308b\u3068\u3044\u3046\u7d50\u679c\u3068\u306a\u308a\u307e\u3057\u305f\u304c\u3001GAN \u306f \\(D\\)\u3068\\(G\\)\u304c\u7af6\u3044\u5408\u3063\u3066\u5b66\u7fd2\u3092\u3059\u308b\u3068\u3044\u3046\u6027\u8cea\u4e0a\u3001\u304a\u4e92\u3044\u306e\u8aa4\u5dee\u304c\u5897\u6e1b\u3057\u5408\u3063\u3066\u5b66\u7fd2\u304c\u9032\u3080\u3068\u3044\u3063\u305f\u3053\u3068\u3082\u3088\u304f\u8d77\u3053\u308a\u307e\u3059\u3002<\/p>\r\n\r\n<h3 class=\"articletit-H3\"><span id=\"4\">4. \u30e2\u30c7\u30eb\u306e\u8a55\u4fa1<\/span><\/h3>\r\n<p class=\"normal-Txt\">\u5b66\u7fd2\u3092\u5341\u5206\u306b\u884c\u3046\u3053\u3068\u3067\u3001\u751f\u6210\u5668\\(G\\)\u304b\u3089\u672c\u7269\u30c7\u30fc\u30bf\u306b\u8fd1\u3044\u30c7\u30fc\u30bf\u304c\u751f\u6210\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\r\n\r\n<div class=\"scroll\">\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"null\">'''\r\n4. Test model\r\n'''\r\ndef generate(batch_size=16):\r\nmodel.eval()\r\nnoise = gen_noise(batch_size)\r\ngen = model.G(noise)\r\n\r\nreturn gen\r\n\r\nimages = generate(batch_size=16)\r\nimages = images.squeeze().detach().cpu().numpy()\r\nplt.figure(figsize=(6, 6))\r\nfor i, image in enumerate(images):\r\nplt.subplot(4, 4, i+1)\r\nplt.imshow(image, cmap='binary_r')\r\nplt.axis('off')\r\nplt.tight_layout()\r\nplt.show()<\/pre>\r\n&nbsp;\r\n\r\n<\/div>\r\n<!-- \/.scroll-->\r\n<p class=\"normal-Txt\">\u3053\u308c\u3092\u5b9f\u884c\u3059\u308b\u3068\u3001\u4e0b\u56f3\u306e\u3088\u3046\u306b\u306a\u7d50\u679c\u304c\u5f97\u3089\u308c\u3001\u30ce\u30a4\u30ba\u30c7\u30fc\u30bf\u304b\u3089\u753b\u50cf\u3092\u751f\u6210\u3067\u304d\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u307e\u3059\u3002\u4eca\u56de\u306f\u30a8\u30dd\u30c3\u30af\u6570\u309220\u3068\u3057\u307e\u3057\u305f\u304c\u3001\u66f4\u306b\\(D\\)\u3068\\(G\\)\u3092\u7af6\u3044\u5408\u308f\u305b\u308b\uff08\u5b66\u7fd2\u3092\u9032\u3081\u308b\uff09\u3053\u3068\u3067\u3001\u3088\u308a\u7cbe\u5ea6\u826f\u304f\u753b\u50cf\u304c\u751f\u6210\u3067\u304d\u308b\u3053\u3068\u304c\u671f\u5f85\u3067\u304d\u307e\u3059\u3002<\/p>\r\n\r\n<figure class=\"img-Wide\"><img decoding=\"async\" src=\"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/2.png\" alt=\"\" \/><\/figure>\r\n<p class=\"normal-Txt\">\u672c\u8a18\u4e8b\u3067\u306fGAN\u306e\u5b9a\u5f0f\u5316\u304a\u3088\u3073\u5b9f\u88c5\u306b\u95a2\u3057\u3066\u898b\u3066\u3044\u304d\u307e\u3057\u305f\u3002GAN\u306e\u5b9f\u88c5\u81ea\u4f53\u306f\u305d\u3053\u307e\u3067\u96e3\u3057\u3044\u3082\u306e\u3067\u306f\u306a\u3044\u3082\u306e\u306e\u3001\u300c\u306a\u305c\u305d\u306e\u5b9f\u88c5\u3067\u3088\u3044\u306e\u304b\u300d\u3092\u6398\u308a\u4e0b\u3052\u3066\u307f\u308b\u3068\u3001\u305d\u3053\u306b\u306f\u78ba\u7387\u5206\u5e03\u3092\u30d9\u30fc\u30b9\u306b\u3057\u305f\u6df1\u3044\u8003\u5bdf\u304c\u5b58\u5728\u3057\u3066\u3044\u308b\u3068\u3044\u3046\u3053\u3068\u304c\u5206\u304b\u3063\u305f\u304b\u3068\u601d\u3044\u307e\u3059\u3002<\/p>\r\n<p class=\"normal-Txt\">\u672c\u8a18\u4e8b\u306e\u5185\u5bb9\u3092\u304d\u3061\u3093\u3068\u7406\u89e3\u3059\u308b\u3053\u3068\u3067\u3001\u5fdc\u7528\u7684\u306aGAN\u306e\u30e2\u30c7\u30eb\u306b\u95a2\u3057\u3066\u3082\u7406\u89e3\u304c\u6357\u308b\u304b\u3068\u601d\u3044\u307e\u3059\u306e\u3067\u3001\u305c\u3072\u4eca\u5f8c\u306e\u5b66\u7fd2\u306b\u304a\u5f79\u7acb\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\r\n\r\n<blockquote><cite>\u203b \u672c\u8a18\u4e8b\u306f\u3001\u7b46\u8005\u8457<a href=\"https:\/\/note.com\/yusugomori\/n\/n945f51cabc03\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">\u300e\u8a73\u8aac\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0\uff08\u751f\u6210\u30e2\u30c7\u30eb\u7de8\uff09\u300f<\/a>\u3088\u308a\u4e00\u90e8\u629c\u7c8b\u30fb\u7de8\u96c6\u3057\u305f\u3082\u306e\u3067\u3059\u3002<\/cite><\/blockquote>\r\n<p class=\"normal-Txt\">GAN\u306e\u3088\u3046\u306a\u6700\u5148\u7aef\u6280\u8853\u3092\u3001\u5c02\u9580\u5bb6\u306e\u6307\u5c0e\u306e\u3082\u3068\u3067\u4f53\u7cfb\u7684\u306b\u5b66\u3073\u307e\u305b\u3093\u304b\uff1f<\/p>\r\n<p class=\"normal-Txt\">AI\u30b8\u30e7\u30d6\u30ab\u30ec\u306f\u3001Python\u306a\u3069\u306e\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u8a00\u8a9e\u304b\u3089\u3001\u30c7\u30fc\u30bf\u306e\u524d\u51e6\u7406\u3001\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u3001\u30d1\u30e9\u30e1\u30fc\u30bf\u30fc\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u307e\u3067\u3001AI\u958b\u767a\u306b\u5fc5\u8981\u306a\u77e5\u8b58\u3092\u4f53\u7cfb\u7684\u306b\u5b66\u3079\u308b\u30b9\u30af\u30fc\u30eb\u3067\u3059\u3002<\/p>\r\n<p class=\"normal-Txt\">AI\u6280\u8853\u3092\u8eab\u306b\u3064\u3051\u3001\u6b21\u306e\u30ad\u30e3\u30ea\u30a2\u30b9\u30c6\u30c3\u30d7\u3092\u8003\u3048\u3066\u3044\u304f\u3068\u304d\u306b\u306f\u3001AI\u30b8\u30e7\u30d6\u30ab\u30ec\u3092\u3054\u691c\u8a0e\u304f\u3060\u3055\u3044\u3002<\/p>\r\n\r\n<div class=\"bdn_Link02\"><a href=\"https:\/\/www.aijobcolle.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">AI\u30b8\u30e7\u30d6\u30ab\u30ec\u306f\u3053\u3061\u3089<\/a><\/div>","protected":false},"excerpt":{"rendered":"\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0\u3092\u6d3b\u7528\u3057\u305f\u751f\u6210\u30e2\u30c7\u30eb\u306e\u4e2d\u3067\u3082\u3001\u6700\u3082\u5fdc\u7528\u624b\u6cd5\u304c\u7814\u7a76\u3055\u308c\u3066\u3044\u308b GAN (Generative  [&hellip;]","protected":false},"author":12,"featured_media":2521,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"class_list":["post-2519","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-career","tag-ai","tag-deep-learning","tag-artificial-intelligence","tag-study"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u6771\u4eac\u5927\u5b66 \u62db\u8058\u8b1b\u5e2b\u3001\u65e5\u672c\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0\u5354\u4f1a \u6709\u8b58\u8005\u4f1a\u54e1 \u5de3\u7c60\u60a0\u8f14\u6c0f\u306b\u3088\u308bGAN\uff08\u6575\u5bfe\u7684\u751f\u6210\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\uff09\u306e\u89e3\u8aac\u8a18\u4e8b\u3067\u3059\u3002\u672c\u8a18\u4e8b\u3067\u306f\u3001GAN \u306e\u7406\u8ad6\u7684\u306a\u90e8\u5206\u306e\u8aac\u660e\u3092\u3001\u304d\u3061\u3093\u3068\u6570\u5f0f\u3092\u6df7\u3058\u3048\u3064\u3064\u66f8\u304d\u9032\u3081\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001PyTorch \u3092\u7528\u3044\u305f\u5b9f\u88c5\u3082\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"\u5de3\u7c60\u60a0\u8f14\uff08\u3059\u3054\u3082\u308a \u3086\u3046\u3059\u3051\uff09\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"ja_JP\" \/>\n\t\t<meta property=\"og:site_name\" content=\"AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2 -\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5 - AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2\" \/>\n\t\t<meta property=\"og:description\" content=\"\u672c\u8a18\u4e8b\u3067\u306f\u3001GAN \u306e\u7406\u8ad6\u7684\u306a\u90e8\u5206\u306e\u8aac\u660e\u3092\u3001\u304d\u3061\u3093\u3068\u6570\u5f0f\u3092\u6df7\u3058\u3048\u3064\u3064\u66f8\u304d\u9032\u3081\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001PyTorch \u3092\u7528\u3044\u305f\u5b9f\u88c5\u3082\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-05T06:34:37+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-06-16T06:24:23+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:title\" content=\"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5 - AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2\" \/>\n\t\t<meta name=\"twitter:description\" content=\"\u672c\u8a18\u4e8b\u3067\u306f\u3001GAN \u306e\u7406\u8ad6\u7684\u306a\u90e8\u5206\u306e\u8aac\u660e\u3092\u3001\u304d\u3061\u3093\u3068\u6570\u5f0f\u3092\u6df7\u3058\u3048\u3064\u3064\u66f8\u304d\u9032\u3081\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001PyTorch \u3092\u7528\u3044\u305f\u5b9f\u88c5\u3082\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"BlogPosting\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#blogposting\",\"name\":\"GAN (Generative Adversarial Network) \\u306e\\u7406\\u8ad6\\u3068\\u5b9f\\u88c5 - AI drops\\uff5cAI\\u30fb\\u30c7\\u30fc\\u30bf\\u9818\\u57df\\u306e\\u6700\\u65b0\\u30c8\\u30ec\\u30f3\\u30c9\\u30fb\\u30ad\\u30e3\\u30ea\\u30a2\\u30fb\\u30d5\\u30ea\\u30fc\\u30e9\\u30f3\\u30b9\\u6848\\u4ef6\\u30e1\\u30c7\\u30a3\\u30a2\",\"headline\":\"GAN (Generative Adversarial Network) \\u306e\\u7406\\u8ad6\\u3068\\u5b9f\\u88c5\",\"author\":{\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/author\\\/yusuke_sugomori\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/#organization\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/main_title.png\",\"width\":1100,\"height\":680,\"caption\":\"GAN (Generative Adversarial Network) \\u306e\\u7406\\u8ad6\\u3068\\u5b9f\\u88c5\"},\"datePublished\":\"2020-03-05T15:34:37+09:00\",\"dateModified\":\"2026-06-16T15:24:23+09:00\",\"inLanguage\":\"ja\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#webpage\"},\"articleSection\":\"\\u30ad\\u30e3\\u30ea\\u30a2, AI, \\u30c7\\u30a3\\u30fc\\u30d7\\u30e9\\u30fc\\u30cb\\u30f3\\u30b0, \\u4eba\\u5de5\\u77e5\\u80fd, \\u52c9\\u5f37\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/topics\\\/career\\\/#listItem\",\"name\":\"\\u30ad\\u30e3\\u30ea\\u30a2\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/topics\\\/career\\\/#listItem\",\"position\":2,\"name\":\"\\u30ad\\u30e3\\u30ea\\u30a2\",\"item\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/topics\\\/career\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#listItem\",\"name\":\"GAN (Generative Adversarial Network) \\u306e\\u7406\\u8ad6\\u3068\\u5b9f\\u88c5\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#listItem\",\"position\":3,\"name\":\"GAN (Generative Adversarial Network) \\u306e\\u7406\\u8ad6\\u3068\\u5b9f\\u88c5\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/topics\\\/career\\\/#listItem\",\"name\":\"\\u30ad\\u30e3\\u30ea\\u30a2\"}}]},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/#organization\",\"name\":\"AI drops\\uff5cAI\\u30fb\\u30c7\\u30fc\\u30bf\\u9818\\u57df\\u306e\\u6700\\u65b0\\u30c8\\u30ec\\u30f3\\u30c9\\u30fb\\u30ad\\u30e3\\u30ea\\u30a2\\u30fb\\u30d5\\u30ea\\u30fc\\u30e9\\u30f3\\u30b9\\u6848\\u4ef6\\u30e1\\u30c7\\u30a3\\u30a2\",\"url\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/author\\\/yusuke_sugomori\\\/#author\",\"url\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/author\\\/yusuke_sugomori\\\/\",\"name\":\"\\u5de3\\u7c60\\u60a0\\u8f14\\uff08\\u3059\\u3054\\u3082\\u308a \\u3086\\u3046\\u3059\\u3051\\uff09\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#authorImage\",\"url\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/yusuke_sugomori-150x150.jpg\",\"width\":96,\"height\":96,\"caption\":\"\\u5de3\\u7c60\\u60a0\\u8f14\\uff08\\u3059\\u3054\\u3082\\u308a \\u3086\\u3046\\u3059\\u3051\\uff09\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#webpage\",\"url\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/\",\"name\":\"GAN (Generative Adversarial Network) \\u306e\\u7406\\u8ad6\\u3068\\u5b9f\\u88c5 - AI drops\\uff5cAI\\u30fb\\u30c7\\u30fc\\u30bf\\u9818\\u57df\\u306e\\u6700\\u65b0\\u30c8\\u30ec\\u30f3\\u30c9\\u30fb\\u30ad\\u30e3\\u30ea\\u30a2\\u30fb\\u30d5\\u30ea\\u30fc\\u30e9\\u30f3\\u30b9\\u6848\\u4ef6\\u30e1\\u30c7\\u30a3\\u30a2\",\"description\":\"\\u6771\\u4eac\\u5927\\u5b66 \\u62db\\u8058\\u8b1b\\u5e2b\\u3001\\u65e5\\u672c\\u30c7\\u30a3\\u30fc\\u30d7\\u30e9\\u30fc\\u30cb\\u30f3\\u30b0\\u5354\\u4f1a \\u6709\\u8b58\\u8005\\u4f1a\\u54e1 \\u5de3\\u7c60\\u60a0\\u8f14\\u6c0f\\u306b\\u3088\\u308bGAN\\uff08\\u6575\\u5bfe\\u7684\\u751f\\u6210\\u30cd\\u30c3\\u30c8\\u30ef\\u30fc\\u30af\\uff09\\u306e\\u89e3\\u8aac\\u8a18\\u4e8b\\u3067\\u3059\\u3002\\u672c\\u8a18\\u4e8b\\u3067\\u306f\\u3001GAN \\u306e\\u7406\\u8ad6\\u7684\\u306a\\u90e8\\u5206\\u306e\\u8aac\\u660e\\u3092\\u3001\\u304d\\u3061\\u3093\\u3068\\u6570\\u5f0f\\u3092\\u6df7\\u3058\\u3048\\u3064\\u3064\\u66f8\\u304d\\u9032\\u3081\\u3066\\u3044\\u304d\\u305f\\u3044\\u3068\\u601d\\u3044\\u307e\\u3059\\u3002\\u305d\\u306e\\u5f8c\\u3001PyTorch \\u3092\\u7528\\u3044\\u305f\\u5b9f\\u88c5\\u3082\\u7d39\\u4ecb\\u3057\\u3066\\u3044\\u304d\\u307e\\u3059\\u3002\",\"inLanguage\":\"ja\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/author\\\/yusuke_sugomori\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/author\\\/yusuke_sugomori\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/wp-content\\\/uploads\\\/2020\\\/03\\\/main_title.png\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#mainImage\",\"width\":1100,\"height\":680,\"caption\":\"GAN (Generative Adversarial Network) \\u306e\\u7406\\u8ad6\\u3068\\u5b9f\\u88c5\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/2519\\\/#mainImage\"},\"datePublished\":\"2020-03-05T15:34:37+09:00\",\"dateModified\":\"2026-06-16T15:24:23+09:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/#website\",\"url\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/\",\"name\":\"AI drops\\uff5cAI\\u30fb\\u30c7\\u30fc\\u30bf\\u9818\\u57df\\u306e\\u6700\\u65b0\\u30c8\\u30ec\\u30f3\\u30c9\\u30fb\\u30ad\\u30e3\\u30ea\\u30a2\\u30fb\\u30d5\\u30ea\\u30fc\\u30e9\\u30f3\\u30b9\\u6848\\u4ef6\\u30e1\\u30c7\\u30a3\\u30a2\",\"inLanguage\":\"ja\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.bigdata-navi.com\\\/aidrops\\\/#organization\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5 - AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2","description":"\u6771\u4eac\u5927\u5b66 \u62db\u8058\u8b1b\u5e2b\u3001\u65e5\u672c\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0\u5354\u4f1a \u6709\u8b58\u8005\u4f1a\u54e1 \u5de3\u7c60\u60a0\u8f14\u6c0f\u306b\u3088\u308bGAN\uff08\u6575\u5bfe\u7684\u751f\u6210\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\uff09\u306e\u89e3\u8aac\u8a18\u4e8b\u3067\u3059\u3002\u672c\u8a18\u4e8b\u3067\u306f\u3001GAN \u306e\u7406\u8ad6\u7684\u306a\u90e8\u5206\u306e\u8aac\u660e\u3092\u3001\u304d\u3061\u3093\u3068\u6570\u5f0f\u3092\u6df7\u3058\u3048\u3064\u3064\u66f8\u304d\u9032\u3081\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001PyTorch \u3092\u7528\u3044\u305f\u5b9f\u88c5\u3082\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002","canonical_url":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"BlogPosting","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#blogposting","name":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5 - AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2","headline":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5","author":{"@id":"https:\/\/www.bigdata-navi.com\/aidrops\/author\/yusuke_sugomori\/#author"},"publisher":{"@id":"https:\/\/www.bigdata-navi.com\/aidrops\/#organization"},"image":{"@type":"ImageObject","url":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/main_title.png","width":1100,"height":680,"caption":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5"},"datePublished":"2020-03-05T15:34:37+09:00","dateModified":"2026-06-16T15:24:23+09:00","inLanguage":"ja","mainEntityOfPage":{"@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#webpage"},"isPartOf":{"@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#webpage"},"articleSection":"\u30ad\u30e3\u30ea\u30a2, AI, \u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0, \u4eba\u5de5\u77e5\u80fd, \u52c9\u5f37"},{"@type":"BreadcrumbList","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/#listItem","position":1,"name":"Home","item":"https:\/\/www.bigdata-navi.com\/aidrops\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/topics\/career\/#listItem","name":"\u30ad\u30e3\u30ea\u30a2"}},{"@type":"ListItem","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/topics\/career\/#listItem","position":2,"name":"\u30ad\u30e3\u30ea\u30a2","item":"https:\/\/www.bigdata-navi.com\/aidrops\/topics\/career\/","nextItem":{"@type":"ListItem","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#listItem","name":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5"},"previousItem":{"@type":"ListItem","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#listItem","position":3,"name":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5","previousItem":{"@type":"ListItem","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/topics\/career\/#listItem","name":"\u30ad\u30e3\u30ea\u30a2"}}]},{"@type":"Organization","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/#organization","name":"AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2","url":"https:\/\/www.bigdata-navi.com\/aidrops\/"},{"@type":"Person","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/author\/yusuke_sugomori\/#author","url":"https:\/\/www.bigdata-navi.com\/aidrops\/author\/yusuke_sugomori\/","name":"\u5de3\u7c60\u60a0\u8f14\uff08\u3059\u3054\u3082\u308a \u3086\u3046\u3059\u3051\uff09","image":{"@type":"ImageObject","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#authorImage","url":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/yusuke_sugomori-150x150.jpg","width":96,"height":96,"caption":"\u5de3\u7c60\u60a0\u8f14\uff08\u3059\u3054\u3082\u308a \u3086\u3046\u3059\u3051\uff09"}},{"@type":"WebPage","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#webpage","url":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/","name":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5 - AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2","description":"\u6771\u4eac\u5927\u5b66 \u62db\u8058\u8b1b\u5e2b\u3001\u65e5\u672c\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0\u5354\u4f1a \u6709\u8b58\u8005\u4f1a\u54e1 \u5de3\u7c60\u60a0\u8f14\u6c0f\u306b\u3088\u308bGAN\uff08\u6575\u5bfe\u7684\u751f\u6210\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\uff09\u306e\u89e3\u8aac\u8a18\u4e8b\u3067\u3059\u3002\u672c\u8a18\u4e8b\u3067\u306f\u3001GAN \u306e\u7406\u8ad6\u7684\u306a\u90e8\u5206\u306e\u8aac\u660e\u3092\u3001\u304d\u3061\u3093\u3068\u6570\u5f0f\u3092\u6df7\u3058\u3048\u3064\u3064\u66f8\u304d\u9032\u3081\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001PyTorch \u3092\u7528\u3044\u305f\u5b9f\u88c5\u3082\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002","inLanguage":"ja","isPartOf":{"@id":"https:\/\/www.bigdata-navi.com\/aidrops\/#website"},"breadcrumb":{"@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#breadcrumblist"},"author":{"@id":"https:\/\/www.bigdata-navi.com\/aidrops\/author\/yusuke_sugomori\/#author"},"creator":{"@id":"https:\/\/www.bigdata-navi.com\/aidrops\/author\/yusuke_sugomori\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-content\/uploads\/2020\/03\/main_title.png","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#mainImage","width":1100,"height":680,"caption":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5"},"primaryImageOfPage":{"@id":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/#mainImage"},"datePublished":"2020-03-05T15:34:37+09:00","dateModified":"2026-06-16T15:24:23+09:00"},{"@type":"WebSite","@id":"https:\/\/www.bigdata-navi.com\/aidrops\/#website","url":"https:\/\/www.bigdata-navi.com\/aidrops\/","name":"AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2","inLanguage":"ja","publisher":{"@id":"https:\/\/www.bigdata-navi.com\/aidrops\/#organization"}}]},"og:locale":"ja_JP","og:site_name":"AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2 -","og:type":"article","og:title":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5 - AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2","og:description":"\u672c\u8a18\u4e8b\u3067\u306f\u3001GAN \u306e\u7406\u8ad6\u7684\u306a\u90e8\u5206\u306e\u8aac\u660e\u3092\u3001\u304d\u3061\u3093\u3068\u6570\u5f0f\u3092\u6df7\u3058\u3048\u3064\u3064\u66f8\u304d\u9032\u3081\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001PyTorch \u3092\u7528\u3044\u305f\u5b9f\u88c5\u3082\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002","og:url":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/","article:published_time":"2020-03-05T06:34:37+00:00","article:modified_time":"2026-06-16T06:24:23+00:00","twitter:card":"summary","twitter:title":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5 - AI drops\uff5cAI\u30fb\u30c7\u30fc\u30bf\u9818\u57df\u306e\u6700\u65b0\u30c8\u30ec\u30f3\u30c9\u30fb\u30ad\u30e3\u30ea\u30a2\u30fb\u30d5\u30ea\u30fc\u30e9\u30f3\u30b9\u6848\u4ef6\u30e1\u30c7\u30a3\u30a2","twitter:description":"\u672c\u8a18\u4e8b\u3067\u306f\u3001GAN \u306e\u7406\u8ad6\u7684\u306a\u90e8\u5206\u306e\u8aac\u660e\u3092\u3001\u304d\u3061\u3093\u3068\u6570\u5f0f\u3092\u6df7\u3058\u3048\u3064\u3064\u66f8\u304d\u9032\u3081\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001PyTorch \u3092\u7528\u3044\u305f\u5b9f\u88c5\u3082\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002"},"aioseo_meta_data":{"post_id":"2519","title":null,"description":"\u6771\u4eac\u5927\u5b66 \u62db\u8058\u8b1b\u5e2b\u3001\u65e5\u672c\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0\u5354\u4f1a \u6709\u8b58\u8005\u4f1a\u54e1 \u5de3\u7c60\u60a0\u8f14\u6c0f\u306b\u3088\u308bGAN\uff08\u6575\u5bfe\u7684\u751f\u6210\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\uff09\u306e\u89e3\u8aac\u8a18\u4e8b\u3067\u3059\u3002\u672c\u8a18\u4e8b\u3067\u306f\u3001GAN \u306e\u7406\u8ad6\u7684\u306a\u90e8\u5206\u306e\u8aac\u660e\u3092\u3001\u304d\u3061\u3093\u3068\u6570\u5f0f\u3092\u6df7\u3058\u3048\u3064\u3064\u66f8\u304d\u9032\u3081\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001PyTorch \u3092\u7528\u3044\u305f\u5b9f\u88c5\u3082\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002","keywords":[{"label":"ai","value":"ai"},{"label":"\u30b9\u30ad\u30eb","value":"\u30b9\u30ad\u30eb"},{"label":"\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0","value":"\u30c7\u30a3\u30fc\u30d7\u30e9\u30fc\u30cb\u30f3\u30b0"},{"label":"\u4eba\u5de5\u77e5\u80fd","value":"\u4eba\u5de5\u77e5\u80fd"},{"label":"\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0","value":"\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0"}],"keyphrases":null,"focus_keyword":null,"additional_keywords":null,"truseo_locale":null,"primary_term":null,"canonical_url":null,"og_title":"","og_description":"\u672c\u8a18\u4e8b\u3067\u306f\u3001GAN \u306e\u7406\u8ad6\u7684\u306a\u90e8\u5206\u306e\u8aac\u660e\u3092\u3001\u304d\u3061\u3093\u3068\u6570\u5f0f\u3092\u6df7\u3058\u3048\u3064\u3064\u66f8\u304d\u9032\u3081\u3066\u3044\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002\u305d\u306e\u5f8c\u3001PyTorch \u3092\u7528\u3044\u305f\u5b9f\u88c5\u3082\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059\u3002","og_object_type":"article","og_image_type":"default","og_image_custom_url":null,"og_image_custom_fields":null,"og_image_url":null,"og_image_width":null,"og_image_height":null,"og_video":"","og_custom_url":null,"og_article_section":"","og_article_tags":"","twitter_use_og":false,"twitter_card":"summary","twitter_image_type":"default","twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_image_url":null,"twitter_title":null,"twitter_description":null,"schema_type":"default","schema_type_options":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"limit_modified_date":false,"ai":null,"breadcrumb_settings":null,"seo_analyzer_scan_date":null,"created":"2026-09-28 06:10:10","updated":"2026-09-28 06:10:10"},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.bigdata-navi.com\/aidrops\/\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/www.bigdata-navi.com\/aidrops\/topics\/career\/\" title=\"\u30ad\u30e3\u30ea\u30a2\">\u30ad\u30e3\u30ea\u30a2<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tGAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/www.bigdata-navi.com\/aidrops\/"},{"label":"\u30ad\u30e3\u30ea\u30a2","link":"https:\/\/www.bigdata-navi.com\/aidrops\/topics\/career\/"},{"label":"GAN (Generative Adversarial Network) \u306e\u7406\u8ad6\u3068\u5b9f\u88c5","link":"https:\/\/www.bigdata-navi.com\/aidrops\/2519\/"}],"_links":{"self":[{"href":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-json\/wp\/v2\/posts\/2519","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-json\/wp\/v2\/comments?post=2519"}],"version-history":[{"count":10,"href":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-json\/wp\/v2\/posts\/2519\/revisions"}],"predecessor-version":[{"id":10877,"href":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-json\/wp\/v2\/posts\/2519\/revisions\/10877"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-json\/wp\/v2\/media\/2521"}],"wp:attachment":[{"href":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-json\/wp\/v2\/media?parent=2519"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bigdata-navi.com\/aidrops\/wp-json\/wp\/v2\/categories?post=2519"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}