![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=1739188359-MnM9kHll1Neb8t1xM9gA2PTKoQtxlE2F-0-71e1f4bc5f9e56f1475c029c518b9fd2)
图3-22展示了一个学习MNIST数字概率分布的GAN网络。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-2.jpg?sign=1739188359-gYClTPmXYMs2wVOoBU4mtKJCGS0LrGFz-0-7af9d7337958653900ec7e4868ae85a4)
图3-22 学习MNIST数字概率分布的GAN网络
判别器最小化的损失函数是二元分类问题的交叉熵,用于区分概率分布P(x)中的真实数据和生成器(即G(z))产生的假数据。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-3.jpg?sign=1739188359-1kQP9rDNA9XCDplJpeWdIoP95bDEmr9v-0-aa0453fba75eea6d5b6a2343cf845fdd)
生成器将尝试最大化给出同一个损失函数。这意味着,这个最优化问题可以通过效用函数(Utility Function)U(G,D)表示成一个极小极大博弈。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-4.jpg?sign=1739188359-Xlz6oNuPhHwzMh8xfH59BPHAoyKLfqZl-0-382fd72d6ab00c3bc9c2c205f51c9f15)
通常来说,可以用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=1739188359-kjEsleXR8BMhDwSUISMyWKvxRwraKz5p-0-ec05de1cdfc1eb6e407dfcbe1e610204)
相似地,P和Q之间的Jensen Shannon散度(JSD)用如下公式表示。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-104-6.jpg?sign=1739188359-Jj2yOBun0tYeXDxyICmUo0xZKbsRZblT-0-d9edc1f8ee1877470ff5a645d731b011)
因此,式(3-15)可以改写为
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-1.jpg?sign=1739188359-y5EhDsK0W3BdVk4Vvqo6lYvI5pigoUzs-0-7c6d778d8ea20312f087c3ef76039a4d)
这里,G(x)是生成器的概率分布。通过将它的期望结果展开为积分形式,可以得到
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-2.jpg?sign=1739188359-314R0i4qKk8KMOqhDoifAouJPcgi05GW-0-02d4bfce26f1d7a33643405d6b7c787e)
对于固定的生成器分布G(x),当式(3-18)为真时,效用函数的值最小。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-3.jpg?sign=1739188359-Btc16vR3eK3MlVCXkv6KIvINJVd8eT1j-0-6b95427a24c1c74932d8d5cad4753464)
将式(3-18)中的D(x)替换至式(3-16),可以得到
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-4.jpg?sign=1739188359-rpJQj4gQ8GXy0aN5DOakugqr6LyQKhKP-0-11c6e6e23060be833d240e8be7f7fe83)
现在,生成器的任务是最大化效用,或最小化效用
,后者的表达式可被整理为
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-105-7.jpg?sign=1739188359-bMKbYWQQI6aprUn2dscd15RlaBEYTvi9-0-b6bc69039ad15a53b34def179cba92d3)
因此,生成器最小化等价于真实分布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=1739188359-XXFIStDttdbN9uGM1qkilClDtAwaPeqW-0-973ad4e8a93f8ea157324d868220c6e8)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-106-1.jpg?sign=1739188359-CCUNu1BIcIaFQLM4C3dwpk6TJ7U2mDHR-0-75c116829085e629ace35789c19c1860)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-107-1.jpg?sign=1739188359-QoBqygvQmIicOP86Omo00QSPZHZoL1qQ-0-a00816e06fe38fcb94d37a4ad49c1683)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-108-1.jpg?sign=1739188359-4be0X8X9B7DXcc9ESS0ZAFWlivvrGBkW-0-614a7f7bf10e07a58a9bf1e4348a379f)
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-109-1.jpg?sign=1739188359-fV12CIDTOLvFsqVhuH7RBJ6YlwVe311W-0-b0171e1041e93ee4d299c44168a54c8a)
运行程序,输出如下,效果如图3-23所示。
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-110-1.jpg?sign=1739188359-ayosAd9rejKgBrJBmMuayBYx9vm4doeb-0-034dd86d5bb19ed9ffbefc87e22734cd)
图3-23 生成对抗网络图
![](https://epubservercos.yuewen.com/CBEF87/20862582601479206/epubprivate/OEBPS/Images/41374-00-110-2.jpg?sign=1739188359-ZeCF1VXsHHxZZTzyDKYm71TBIdiD3SXz-0-7b6aa086f7f22bb8536dc3bf58e46e5f)