![Python人工智能](https://wfqqreader-1252317822.image.myqcloud.com/cover/801/40107801/b_40107801.jpg)
3.6 生成对抗网络
生成对抗网络(Generative Adversarial Network,GAN)是通过生成器G来学习特定概率分布的生成模型。生成器G与判别器D进行一个零和极小极大博弈,同时二者均随时间进化,直到达到纳什均衡(Nash Equilibrium)。生成器G尝试产生与给定的概率分布P(x)相似的样例,判别器D试图从原始的分布中区分生成器G产生的假样例。生成器G尝试转换从一个噪声分布P(z)中提取的样例z,来产生与P(x)相似的样例。判别器D学习标记生成器G生成的假样例为G(z),将真样例标记为P(x)。在极小极大博弈的均衡中,生成器会学习产生与P(x)相似的样例,因此下面的表达式成立。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-1.jpg?sign=1739313474-dho2Eayzf2Qj6ex2ZT8WF50vBRkZbyL3-0-14a6a104ee111469942c233ff41f5b0b)
图3-22展示了一个学习MNIST数字概率分布的GAN网络。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-2.jpg?sign=1739313474-zKSm0G2StgArhOW5oEw254kH4YUXGWMY-0-c18935d487087d7f46630a92a04891c4)
图3-22 学习MNIST数字概率分布的GAN网络
判别器最小化的损失函数是二元分类问题的交叉熵,用于区分概率分布P(x)中的真实数据和生成器(即G(z))产生的假数据。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-3.jpg?sign=1739313474-ZHq3nsYLqxglRHUEoyygyihWYHlBnAUG-0-83e40d2a7b06731624c0f9c68be1575b)
生成器将尝试最大化给出同一个损失函数。这意味着,这个最优化问题可以通过效用函数(Utility Function)U(G,D)表示成一个极小极大博弈。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-4.jpg?sign=1739313474-7czOGiDXVXyy0G2ciSToB5PhdkfSblCG-0-9893f0d8203ec05198dd44667cdda5c1)
通常来说,可以用f散度(f-Divergence)来计算两个概率分布的距离,如Kullback-Leibler(KL)散度、Jensen Shannon散度及Bhattacharyya散度。可以通过以下公式表示两个概率分布P和Q相对P的KL散度(KLD)。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-5.jpg?sign=1739313474-4j4BjbVJA48wB9ZnOq6LYC94Acb10igT-0-c982783522b2435456cb40729e5b4c09)
相似地,P和Q之间的Jensen Shannon散度(JSD)用如下公式表示。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-6.jpg?sign=1739313474-EVZS9sGe6fBL4hU0kDYh7H5Q6HE3eNVD-0-eae703535fd1cc73853540f03a14e6a8)
因此,式(3-15)可以改写为
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-1.jpg?sign=1739313474-1QdJDBO9eLbBA6YUesTqbIdShEBIOKiO-0-8604691990093d4b58849d1cad076100)
这里,G(x)是生成器的概率分布。通过将它的期望结果展开为积分形式,可以得到
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-2.jpg?sign=1739313474-XF9o6TaYafg0Tyfx4EboDsEHq9Yy4zMk-0-2a7bccd52e2991c8c024f7a4d6b3797a)
对于固定的生成器分布G(x),当式(3-18)为真时,效用函数的值最小。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-3.jpg?sign=1739313474-yyLS3hGAIm3771Z92aGjewIoFojDFjvk-0-35967049adfaa1ef5afbf02937b51646)
将式(3-18)中的D(x)替换至式(3-16),可以得到
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-4.jpg?sign=1739313474-XoS6nBxufVwSolPfN8xw8DgOgAJjdu9h-0-540b5e4c1fbea5ed0bef5e4bd4034837)
现在,生成器的任务是最大化效用,或最小化效用
,后者的表达式可被整理为
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-7.jpg?sign=1739313474-d2GBFyrkNfLaO8Oh6el2G60iD3STHd9v-0-935c40d71b108b81fce365b0a2f76885)
因此,生成器最小化等价于真实分布P(x)和生成器G(即G(x))产生样例的分布之间的Jensen Shannon散度的最小化。
【例3-10】 演示Python实现对抗生成网络。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-9.jpg?sign=1739313474-wzHWT7BEaaqLuxNxWBclyTctAG74nbJZ-0-aa87271fb157b5f8e8a774c2084340e6)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-106-1.jpg?sign=1739313474-XI3wQA7anzK6uSTkNpnl7a98P7snBvVK-0-4a3597d0e434d2f67a6dca91c3aa3df0)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-107-1.jpg?sign=1739313474-KTmuX7xBTYwd42XJP33AGYObworywfQt-0-f628b02bed5c605cc743c37d407f3fa5)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-108-1.jpg?sign=1739313474-5fAyW1e3PsE01NqSKhqlgcBZKkF1zVPA-0-e1bce52998d8bd63582ba9b64ebbbbe4)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-109-1.jpg?sign=1739313474-qEqWJzxs7LIc43H4AsgttKXipS3xZJ0K-0-5100bdd7c67b4e3c8b262e50db9a6975)
运行程序,输出如下,效果如图3-23所示。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-110-1.jpg?sign=1739313474-9qkYmuilJGVHb3LD8BiPbnr6isLMXkLn-0-111b3afa98822a1e032b7533dad1ad44)
图3-23 生成对抗网络图
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-110-2.jpg?sign=1739313474-BSXLamYyNe8GyFjYTig0ebi3gVMAHh8T-0-d15e68e15568b67e6ea9880b679ea8e1)