GAN基础笔记

  1. GAN简述
    GAN的全称是Generative Adversarial Network,中文名为生成对抗网络。主要构成为Generator和Discriminator。Generator为生成器,Discriminator为鉴别器。给定一个Database(假设为image),Generator的目标是尽力生成和Database接近的image;而Discriminator的目标是尽力区分Generator产生的image以及Database的image。Generator和Discriminator互相对抗提升(类似做假钞的坏蜀黍和验假钞的警察uncle),最终要达到的结果是Discriminator无法区分image是来自Generator还是Database。

  2. Generator能不能单独完成任务?
    回答是可以的。相当于Auto-encode中的Deconder。但是网络层数相同的情况下,用VAE产生的图片的质量没有用GAN产生的好。此外,pixel和pixel之间也无法相互联系(也即没有全局观),除非加深网络深度。

  3. Discriminator能不能单独完成任务?
    明确Discriminator训练过程中需要合适的Negative example,而Generator恰好能提供。
    这里写图片描述
    Generator就相当于上述式子

  4. Generator+Discriminator
    Bottom up (Generator):learn to generate the object at the component level.
    Top down (Discriminator):Evaluating the whole object and find the best are.
    在生成图像过程中,component之间的关系尤为重要。故而两者能够互补互成。

  5. GAN算法
    记Generator产生的数据集为 PG(x) P G ( x ) ,记输入网络的数据集为 Pdata(x) P d a t a ( x ) ,我们应当使得 PG(x) P G ( x ) Pdata(x) P d a t a ( x ) 尽可能地接近。由Maximum Likelihood Estimation = Minimize KL Divergence.我们得知 G=arg minG Div(PG,Pdata) G ∗ = a r g   m i n G   D i v ( P G , P d a t a ) ,我们应当算出 PG(x) P G ( x ) Pdata(x) P d a t a ( x ) 的Divergence,然后再最小化Divergence。来到这里我们先来看看有关Discriminator的训练。
    Train Discriminator:(fix G)
    V(G,D)=ExPdata[logD(x)]+ExPG[log(1D(x))] V ( G , D ) = E x − P d a t a [ l o g D ( x ) ] + E x − P G [ l o g ( 1 − D ( x ) ) ]
    D=arg maxDV(G,D) D ∗ = a r g   m a x D V ( G , D )
    这里写图片描述
    通过推算,我们可以得出,在寻求D的最优解过程, maxDV(G,D) m a x D V ( G , D ) 实际就是在计算 PG(x) P G ( x ) Pdata(x) P d a t a ( x ) 的JS divergence。所以 G=arg minD Div(PG,Pdata) G ∗ = a r g   m i n D   D i v ( P G , P d a t a ) 就转换为 G=arg minG maxDV(G,D) G ∗ = a r g   m i n G   m a x D V ( G , D ) 。我们再回过头来看,如何去 maxDV(G,D) m a x D V ( G , D ) ,由于在Training Discriminator的过程中我们是把Generator定住的,所以我们先把 V(G,D) V ( G , D ) 记为 L(G) L ( G ) ,对其求偏导: θGθGηL(G)/θG θ G ← θ G − η ∂ L ( G ) / ∂ θ G
    下图为pratice中的算法流程:
    这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值