首页 百问百答 帖子详情
生成对抗网络的基本原理
收藏
快速回复
百问百答 问答学习资料 16 0
生成对抗网络的基本原理
收藏
快速回复
百问百答 问答学习资料 16 0

最原始的GAN生成对抗网络的核心是:优化两个分布之间的KL散度,KL散度视为两个分布的区别或距离,GAN算法的训练过程就是将两个分布之间的距离减小。

生成对抗网络模型结构如下: 

1、训练过程
1、分为生成网络G和对抗网络D,对抗网络G是用于生成数据,对抗网络是用于判断真假数据,即判断数据是真实的还是生成的。

2、z是随机生成的向量,通过生成网络G后得到生成数据G(z)。

3、x是原始的数据,真实数据

4、先需要训练一个最佳的对抗网络,有了一个很好的判断真假数据的网络,我们才能确保生成出来的假数据可以以假乱真,所以要最大化对抗网络D的区分度,即达到使得D(G(z))=0和D(x)=1的境界。

5、其次需要训练一个完美的生成网络,由于有了一个最佳的对抗网络,所以生成网络G只需要努力的生产出假数据,使假数据通过生成网络D时能够以假乱真,达到D(G(z))=1的境界。

6、这就是极大极小训练策略,在实际中我们并不按4、5方法进行训练,而是交替对生成网络与判别网络进行训练。

2、loss与生成结果
在GAN训练中,我们不能认为生成器损失低,模型就训练好了。因为这是一个双方进行博弈的问题,最后收敛到判别器无法区分生成数据和真实数据才算训练好了,表现在于生成数据与真实数据在判别网络的损失都是一样的。

以下是生成的数据和真实数据的对比: 

0
收藏
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户