![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=1739497700-GvlXQ0kgpG1ayUtOSLDxdMdOt5jwdUF2-0-2162c3e02c23d34c74f453baf1044ad3)
图3-22展示了一个学习MNIST数字概率分布的GAN网络。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-2.jpg?sign=1739497700-hKqCKJtOTcsAzsxfh33H8CTa7FkdRVFn-0-89452135147230ac18d4df38a0608f82)
图3-22 学习MNIST数字概率分布的GAN网络
判别器最小化的损失函数是二元分类问题的交叉熵,用于区分概率分布P(x)中的真实数据和生成器(即G(z))产生的假数据。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-3.jpg?sign=1739497700-SIHKOHAEQ4p7qlqIVAqUEBuraBYLT5sm-0-22158e8228496a2b2712a3b0a52818f1)
生成器将尝试最大化给出同一个损失函数。这意味着,这个最优化问题可以通过效用函数(Utility Function)U(G,D)表示成一个极小极大博弈。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-4.jpg?sign=1739497700-VHRiLBZYGjv3HCosyUulBdecWSqAMnh4-0-d5c08371c39a82e9fece98d15d13cb5e)
通常来说,可以用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=1739497700-75BWdKWjwS6natm4XwoLqzJQYw9JRWjp-0-23a5cd7169ede6c6db42d9c90f5c6777)
相似地,P和Q之间的Jensen Shannon散度(JSD)用如下公式表示。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-6.jpg?sign=1739497700-tSOPKPsJrsY8hyWo3er7XchK9aptBK3j-0-e0c58108eb0a3055790706a4142db71b)
因此,式(3-15)可以改写为
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-1.jpg?sign=1739497700-0jJuDMEIztJWU8hmg9sG1un46gDlNgnC-0-46bf264c324334b885fa93dc6b55b65e)
这里,G(x)是生成器的概率分布。通过将它的期望结果展开为积分形式,可以得到
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-2.jpg?sign=1739497700-C83ShGwNSdle9t0nawO2L4YrKVotEiJq-0-eea2ed2b691e0adcccd06f754ffc2c8e)
对于固定的生成器分布G(x),当式(3-18)为真时,效用函数的值最小。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-3.jpg?sign=1739497700-0iX8jmjNwz7lRtnBZfFaexSuWxbYAx8d-0-077699d7c621810199eff2c635b4dc11)
将式(3-18)中的D(x)替换至式(3-16),可以得到
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-4.jpg?sign=1739497700-jrI4XteUSLL95SL40YibgSHlouw9t4HQ-0-ed85b525954d15af10015bc8f58c3d7f)
现在,生成器的任务是最大化效用,或最小化效用
,后者的表达式可被整理为
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-7.jpg?sign=1739497700-juPnslnumuH0CLcwRONpZTsCuoluuK3d-0-b657cb823db2920beba4b95db114f2a3)
因此,生成器最小化等价于真实分布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=1739497700-PaviNzzPff6MYlj6kydJWyPtDNLcqppB-0-36ff76f0e90f2d8569533dd5c102ce0f)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-106-1.jpg?sign=1739497700-GMFMAApsxcYOMyE4dDQsVlljrMiVv8N7-0-23965ca73a31168994cd1834f4b484b0)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-107-1.jpg?sign=1739497700-JUapuX5knjMAB9MNdPuVgW92yHlIZ9KS-0-402fcea7d03d4b2452883999f1c42a9a)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-108-1.jpg?sign=1739497700-NAracAYjPt8TJ1Rkzxsal9D5dvz235vE-0-e738ebb6f5b071957914b99e2e398832)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-109-1.jpg?sign=1739497700-neNApEdflvqNoDa6BDPwgQ6faXT2JVyS-0-a1ec723e8ec2277d8f5cbd2943dc2f89)
运行程序,输出如下,效果如图3-23所示。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-110-1.jpg?sign=1739497700-MNlo3989TczCEYbnZ346K0U0UpmmPpFh-0-0bef9e4a5fc350f56216339765f3efcb)
图3-23 生成对抗网络图
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-110-2.jpg?sign=1739497700-1swFI2fXJkstTEvwLm7Q2pD6PRTVmFIM-0-d005aac123d2c61252d4f4382ff4d028)