首页 理论教育 GAN算法的训练流程详解

GAN算法的训练流程详解

时间:2023-06-30 理论教育 版权反馈
【摘要】:生成器输入随机噪声,判别器输入真实数据和生成器生成的数据,训练过程中,固定生成器或判别器的一方更新另一方的权重,判别器D据式随机梯度上升更新,生成器G据式随机梯度下降更新。GAN的竞争对抗优化过程可以描述为:其中x~pdata表示x服从真实数据分布,z~p表示z服从高斯分布,E(*)为数据期望。

GAN算法的训练流程详解

生成器输入随机噪声,判别器输入真实数据和生成器生成的数据,训练过程中,固定生成器或判别器的一方更新另一方的权重,判别器D据式(10-1)随机梯度上升更新,生成器G据式(10-2)随机梯度下降更新。

式中:x表示真实数据;z表示随机变量;G(z)表示生成器生成的服从真实数据分布的样本;D(x)表示判断输入的数据来自真实数据的概率;D(G(z))表示判断输入的数据来自生成的假数据的概率。生成器和鉴别器交替迭代,其中G和D都极力优化自己的网络,形成一种竞争对抗状态,直到模型收敛,G、D双方达到纳什均衡,但是在训练初期,若是生成器的生成效果很差,则判别器会以高置信度拒绝生成样本,log(1-D(G(z)))很容易达到饱和,因此选择最大化log D(G(z)),而不是最小化log(1-D(G(z)))。利用交叉熵损失函数计算判别器的损失,判别器的损失函数:

生成器损失函数:

最终的损失函数为:(www.xing528.com)

更新完判别器的参数再更新生成器的参数。GAN的竞争对抗优化过程可以描述为:

其中x~pdata(x)表示x服从真实数据分布,z~p(z)表示z服从高斯分布,E(*)为数据期望。

当Pg=Pdata时(Pg表示生成的数据服从真实数据分布,Pdata表示真实数据的分布),网络模型达到最好的结果,此时生成器生成了与真实数据一样的样本,判别器再也判别不出来数据是真实数据还是生成器生成的数据。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈