生成对抗网络

Generative Adversarial Network and its Variants————只是一些关于直观理解的小小反思

阅读完提出GAN的那篇文章。该文章提出了GAN的这种学习模式,其目标是用生成模型去刻画一组在域X上的数据的分布。做法是同时训练一个生成模型G(Generator)和一个辨别模型D(Discriminator),G是一个从隐藏变量域Z到目标变量域X的映射,而D则负责辨别某一个X中的元素是G映射得来的还是来自数据集本身。文章提出了损失函数的设计:D要尽量让来自真实数据集的数据被标记为1,而G生成的数据被标记为0,而G要尽量被D标记为1。从直观上很好理解损失函数设计 V ( G , D ) = E x ∼ p d a t a ( x ) ( l o g ( D ( x ) ) ) + E x ∼ p g ( z ) ( l o g ( 1 − D ( G ( z ) ) ) ) V(G,D)=E_{x\sim p_{data}(x)}(log(D(x)))+E_{x\sim p_g(z)}(log(1-D(G(z)))) V(G,D)=Expdata(x)(log(D(x)))+Expg(z)(log(1D(G(z))))
D要让上式尽量大,G是要上式尽量小。除了直观上很好理解,文章也从理论上证明这样的话G就能学习到数据的分布了。
请添加图片描述
上图是文中用来展示生成对抗网络能够学习到分布的原理,下面的两条平行线展示了G从Z到X的映射,可以看出在选定了X上数据的分布后,就可以通过改变G的映射关系来刻画目标数据集的分布。上半部分图片中的虚线是X上真实的数据分布,而绿色的线是当前G像集的分布,蓝色的线是D的值。
不过光看着一篇还是有很多问题不清楚,第一是这个东西的原理,看上去好像很有道理,可是关于D如何判断一个样本是生成的还是来自目标数据集,这一点让人想不通。D判断某一个样本是不是真实的,终究还是要看这个样本是不是具有某些特征吧?假如真实数据集中大部分数据都具有某种特征,这部分数据也许是上面图中黑色虚线曲线峰值对应的那些数据,那么如果我们生成的数据也具有这些特征,就会被当做是来自真实数据吧?相反,只有极少部分数据具有的特征,那么如果生成这样的数据就很容易被当作是不属于真实数据,那么不管G的分布和真实分布吻不吻合,D都应该在真实分布的峰值处比较大,在真实分布的边缘处比较小吧?
不过这个问题的答案可能在于损失函数的设计上,毕竟损失函数并不是判别模型中那种损失函数。我们可以看到损失函数的第一项里,不管是真实分布峰值部分的数据,还是真实分布边缘那些数据,都会在训练时让D在遇到他们时尽量取值为1,但是峰值部分的数据更多,对D的影响更强,边缘的数据量较少,属于是人微言轻;同样,G生成的数据,那些集中的位置会把D训练为0,这样就形成了两股力量的对抗,所以D就会被训练成
请添加图片描述
这个样子,真实数据的峰值碰上生成数据的边缘,那么D就会倾向于把这些数据分类为1,对应上式中 p d a t a p_{data} pdata大而 p g p_g pg小。
居然把问题给解决了。这就是对文章中 D G ∗ ( x ) D^*_G(x) DG(x)的一个直观理解了。
这里可以体会出生成模型对于学习这件事的理解跟判别模型确实挺不一样的(胡说八道的一些感想)。
第二个是,生成模型现在广泛的被使用在图像生成领域,虽然都有一个生成,但是这个生成的任务不是模拟分布吗?怎么跟图像扯上关系了?
不过猜想一下,大概图像就是样本,x = G(z),只不过这里的G就会用一些跟图像有关的网络结构,比如CNN啥的。不过隐变量该是啥呢?(如果是image translate就是另外的图像呗!)好像也没啥问题。不过具体的做法还是要阅读更多的文献。
第三个问题已经在另一篇文章里得到了应证:请添加图片描述
(来自2020年的Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks)
尽管G可以学到目标集合的分布,但是这不能保证G这个映射是有意义的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值