![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=1739526959-3IcnodFDlyvvOD4IOSpPOZ725KDM5E5I-0-74b73eac677be089b5daf336f3575f92)
图3-22展示了一个学习MNIST数字概率分布的GAN网络。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-2.jpg?sign=1739526959-87aDDbZUpBHh5onM7y7CA92bC9BxFLUx-0-dc544f781bd7e768cf5e769f4fb0189b)
图3-22 学习MNIST数字概率分布的GAN网络
判别器最小化的损失函数是二元分类问题的交叉熵,用于区分概率分布P(x)中的真实数据和生成器(即G(z))产生的假数据。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-3.jpg?sign=1739526959-MTvbfizIpluwJYW014KzSE0uFJWkiQyn-0-6272541b053e6341ea50163b79c336ce)
生成器将尝试最大化给出同一个损失函数。这意味着,这个最优化问题可以通过效用函数(Utility Function)U(G,D)表示成一个极小极大博弈。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-4.jpg?sign=1739526959-O0WHFa3dJhIoOn84VaN6lA8f0UyZGXY2-0-b2af6535fd1885f465694ea22c2eed78)
通常来说,可以用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=1739526959-4SYfhsvZdO2Wpx7k4qDKLDXksb8Tj5yM-0-4f565e078dba6683302abf23f4cecee2)
相似地,P和Q之间的Jensen Shannon散度(JSD)用如下公式表示。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-6.jpg?sign=1739526959-4DQeNPC2FA8iccjxlJmaW6sVvQxtWaSC-0-4c63578dff401b3d6b3d6c821f7133cf)
因此,式(3-15)可以改写为
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-1.jpg?sign=1739526959-UTWtq2RAUZaldGszx5VpRFV3ionTgdgc-0-5429406d88c28363b489fbc99698d403)
这里,G(x)是生成器的概率分布。通过将它的期望结果展开为积分形式,可以得到
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-2.jpg?sign=1739526959-7s2AtDGzABpmOIWgf2VxpOKuqnU6gXzL-0-59c29a79baada2c36a20b01b48160998)
对于固定的生成器分布G(x),当式(3-18)为真时,效用函数的值最小。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-3.jpg?sign=1739526959-cQfWu2lqYMS4pIUrWtcs4YqhdvdxAWdg-0-29d29791928974c3f4ece8edbb52393b)
将式(3-18)中的D(x)替换至式(3-16),可以得到
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-4.jpg?sign=1739526959-JHN6lAIay1JgZD0xo3nK9dKzHWzeRB24-0-059e4992691b9e99bebd6c56c749a926)
现在,生成器的任务是最大化效用,或最小化效用
,后者的表达式可被整理为
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-7.jpg?sign=1739526959-DuhJtxuEOf7BUWPYkGXReZfyFN1ePHVd-0-bc0ed237f4abaead3c930ac69a19a2af)
因此,生成器最小化等价于真实分布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=1739526959-l8A9Edcw4AMaL5ubLqMsmK2GfJWxzhXS-0-aeb5e4e26b7f691329e7c5ed8090fe11)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-106-1.jpg?sign=1739526959-GZ4IbKkkltYuWQc8nV7Mdt73ozVuF5TT-0-03888c0dee9df4be143e9720813f7fc3)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-107-1.jpg?sign=1739526959-iceSGMMFpddhLBsajnWHugznpS4PN3Yw-0-41054072ea695d4a38552b6706d54a71)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-108-1.jpg?sign=1739526959-aongyETwGkCgLP5fMkODS9XmyaaBexSn-0-6ea4c0d6f2efd00b7f8bc7e57a51089c)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-109-1.jpg?sign=1739526959-KfLVAFgxP0QIKAGFxY1yUiznKDkKOjyp-0-059c05c426db703fbbc46b6b8f593148)
运行程序,输出如下,效果如图3-23所示。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-110-1.jpg?sign=1739526959-pfPdiRdrjwdhijPPJuGHGevsP2BEyl5r-0-b4ea7e3f6e98524d3511d7b29ecbcbe5)
图3-23 生成对抗网络图
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-110-2.jpg?sign=1739526959-kwXwEfJ7FKttH7KWAmp08TX026g5bwbG-0-fccbb88041c5a4ba3050ddb091cbfdae)