![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=1738882412-8MdMB3xYiU23624VKZZj0SEtRWJe32PL-0-af602190877a695db8d370b0d42a3f87)
图3-22展示了一个学习MNIST数字概率分布的GAN网络。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-2.jpg?sign=1738882412-lcXjdsKAn3ENEll84FTOmJzVDyd2hzQZ-0-982475ff67a770446b8a49099ee9d0c5)
图3-22 学习MNIST数字概率分布的GAN网络
判别器最小化的损失函数是二元分类问题的交叉熵,用于区分概率分布P(x)中的真实数据和生成器(即G(z))产生的假数据。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-3.jpg?sign=1738882412-0BI4JME88ihCoHOR1jxC0rS8oM0ax44Q-0-6b08c1754767f40c08717f0f7618c30e)
生成器将尝试最大化给出同一个损失函数。这意味着,这个最优化问题可以通过效用函数(Utility Function)U(G,D)表示成一个极小极大博弈。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-4.jpg?sign=1738882412-S1xdhGggSARNR3hmUJqmp3LtsV9sTwB4-0-92ea150c7de238da7e362addef5c8969)
通常来说,可以用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=1738882412-zqvWSOH0hLFsTLbJpSVP0CR6PceWANXT-0-3c1cac80a561ede624fe185d39912e6b)
相似地,P和Q之间的Jensen Shannon散度(JSD)用如下公式表示。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-6.jpg?sign=1738882412-G587KB7NfDGsUSApbYFtJ0inozVyz0Zi-0-008e7b06d13f7d0b7f59e6045574970f)
因此,式(3-15)可以改写为
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-1.jpg?sign=1738882412-0pRldiiTsgijf1gCPkl4oa6pbF4vvmU4-0-214cebb1833ed672ecc646a0bc8fe885)
这里,G(x)是生成器的概率分布。通过将它的期望结果展开为积分形式,可以得到
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-2.jpg?sign=1738882412-Lk2Y6BJeDIuFT7CGRVvfDphovco2CsKm-0-5376bb19b0b6027c8e9f5138bacf9821)
对于固定的生成器分布G(x),当式(3-18)为真时,效用函数的值最小。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-3.jpg?sign=1738882412-b1IX7ysoCX7tIhIEw45WmMWAFop5Lzsx-0-b1784f9334a196015c0372c2231b436c)
将式(3-18)中的D(x)替换至式(3-16),可以得到
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-4.jpg?sign=1738882412-mNkGELFBRbkf3Xp5ZapCM14FcY68Hnu2-0-940bc816ffa81d7f0e032229bb37da36)
现在,生成器的任务是最大化效用,或最小化效用
,后者的表达式可被整理为
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-7.jpg?sign=1738882412-lIziSHvI7nA83kYM4HbTkFOvJk8RT4it-0-297f1c45ec6f235edcd79b8a3338441f)
因此,生成器最小化等价于真实分布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=1738882412-Ij7jalHysU9gsZSuTdmsKgZxNCDPAYRn-0-87624c6a03fbd75d301483710162a273)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-106-1.jpg?sign=1738882412-8wYMWyD6NXauHPPuPorfUjQpER8z8BCH-0-2787378a176d36f9f456f7dc5a0d78dd)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-107-1.jpg?sign=1738882412-bAz4qOoJIpfaPM6U1GyALpzNzAbsGINn-0-e427220278556d345bf86f3f0df20d16)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-108-1.jpg?sign=1738882412-OSve2GYbF2vWurfDUeXH5HDxglrkWn6o-0-9146de0cfbc3f22425fcf30fa805d9f8)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-109-1.jpg?sign=1738882412-u4RqpbmYONRDbYCEwWIkHVXCUcvt3Hcr-0-ac98814cd7e268f7ec1978bdc76709e8)
运行程序,输出如下,效果如图3-23所示。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-110-1.jpg?sign=1738882412-EbYNL1H19qzg63m6Kkhde5QgM79n3Xon-0-52d5f3601d6b9152064ff48a60fa5391)
图3-23 生成对抗网络图
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-110-2.jpg?sign=1738882412-VJ9U3nD1OP6iZOblwCdOHS1QA3z77dAs-0-ec51f9ed990e07b57e692fa46b95a0a1)