生成对抗网络原理

基本思想

假设有一种概率分布M,它相对于我们是一个黑盒子。为了了解这个黑盒子中的东西是什么,我们构建了两个东西G和D,G是另一种我们完全知道的概率分布,D用来区分一个事件是由黑盒子中那个不知道的东西产生的还是由我们自己设的G产生的。

不断的调整G和D,直到D不能把事件区分出来为止。在调整过程中,需要:
1、优化G,使它尽可能的让D混淆。
2、优化D,使它尽可能的能区分出假冒的东西。

当D无法区分出事件的来源的时候,可以认为,G和M是一样的。从而,我们就了解到了黑盒子中的东西。

简单的例子说明

在这里插入图片描述
在这里插入图片描述
真实样本分布data、生成样本分布model、判别模型D分别对应左图的黑线、绿线、蓝线
[a]图表示初始状态。
[b]当我们固定生成模型,而优化判别模型时,我们发现判别模型会变得有很好的对黑线和蓝线的区分效果。
[c]当我们固定判别模型,改进生成模型时,我们发现生成模型生成的数据分布(绿线)会不断往真实数据分布(黑线)靠拢,也就如第三幅图,使得判别模型很难分离判断。
[d]进行a、b过程进行大量迭代后,我们会得到最后图的效果,生成样本数据分布和真实数据分布基本吻合,判别模型处于纳什均衡,做不了判断。
当data与model都为1的时候,D(x)=1/2,即d图中的蓝线
在这里插入图片描述

公式

在这里插入图片描述
要最大化D的区分度,最小化G和real数据集的数据分布
拆分为在这里插入图片描述
在这里插入图片描述
对判别模型来说:
log(D1(x))判断真实数据越接近于1,D性能越好,log值越接近0
D2(G(z))判断生成数据越接近0,D性能越好,1-D2(G(z))越接近1,log值就越接近0
加个负号就可以当loss了。
对于生成模型来说:
为了让D2判断不出来G(z)是生成的,即D2接近于1,log接近于0,加个负号就可以当loss。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值