对抗生成网络原理

对抗生成网络模型如下图:

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的境界。

那么,具体怎么实现呢?先看看那伟大的数学家帮我们推导出来的公式:

公式中,很复杂,将其分为两个模型:

1.对抗模型

对抗模型中,需要尽量满足D1(x)=1,所以上述式子第一个加数尽量为0;需要尽量满足D2(G(z))=0,所以第二个加数尽量也为0。上面的式子,其实只能尽量满足,不能满足的那一部分就作为损失函数,由于计算出来的是负值(log(x)中的x是0~1的时候结果为负),所以在整个式子前面加上负号即可转为正数,这个正数越小越好。

2.生成模型

生成模型中,需要尽量以假乱真,就是使得D2(G(z))=1,所以公式中的结果尽量等于0。不等于的部分,作为损失函数就可以了,同样加上一个负号,即可转为正数,这个正数越小越好。


 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
生成对抗网络(Generative Adversarial Networks,简称GAN)是一种用于生成模型的机器学习算法。它由两个主要组件组成:生成器(Generator)和判别器(Discriminator)。GAN的数学原理可以通过以下步骤来解释: 1. 基本思想:GAN的目标是训练一个生成网络,使其能够生成与真实数据相似的样本。为了实现这一目标,GAN引入了一个判别器网络,用于区分生成生成的样本和真实数据。 2. 生成网络生成网络接收一个随机噪声向量作为输入,并通过一系列的神经网络层将其转换为一个与真实数据相似的样本。生成器的目标是尽可能地欺骗判别器,使其无法区分生成的样本和真实数据。 3. 判别器网络:判别器网络接收生成生成的样本和真实数据作为输入,并通过一系列的神经网络层将其转换为一个概率值,表示输入样本是真实数据的概率。判别器的目标是尽可能准确地区分生成的样本和真实数据。 4. 对抗训练:在训练过程中,生成器和判别器相互对抗生成器试图生成更逼真的样本以欺骗判别器,而判别器试图准确地区分生成的样本和真实数据。通过反复迭代训练生成器和判别器,GAN可以逐渐提高生成生成样本的质量。 5. 损失函数:GAN使用了两个损失函数来训练生成器和判别器。生成器的损失函数是判别器对生成的样本的判断结果与真实标签之间的差异,生成器希望最小化这个差异。判别器的损失函数是判断生成的样本和真实数据的准确性,判别器希望最大化这个准确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值