GAN原理再探

虽然自己很早就接触到了GAN,但是基本上都是停留在了解基本概念的阶段。如果别人问我什么是GAN,我可能会说:首先大家都知道GAN有两个网络,一个是generator,一个是discriminator,从二人零和博弈中受启发,通过两个网络互相对抗来达到最好的生成效果。如果在具体一点,可能会列举警察和小偷的故事,警察尽量判断是否为真,小偷尽量蒙骗警察。但是总是感觉缺少点什么,如果别人问我,为什么GAN难以训练?为什么会出现Mode Collapse?为什么GAN最后是优化一个JS距离? WGAN以及WGAN-GP是解决什么问题?其实在这之前这些问题我是基本上没有想过的,但是最近面试时候被问到GAN时候自己总是没有很大信心,所以趁着这个中秋好好的把GAN的原理深究一下。现在看来,一个简单的公式背后是存在巨大的原理的,另一个网络的出现并不是凭空出现的,而是解决前人的问题。带着这些疑问,我踏了重新认识GAN的历程。

因为GAN的公式很多,所以我只能贴一下最近我看的一些比较好的文章,可以供大家参考。

1. 认识GAN & 以及背后的原理

参考:GAN原理学习笔记
学习这篇博客之后,你至少需要回答以下几个问题。自己思考

  1. 判别模型和生成模型区别?
  2. 从最大似然到最小化KL距离历程,如何推导?
  3. GAN公式max D,min G的推导? 为什么结果是一个JS距离?
  4. GAN的训练过程是怎么样的?为什么一个是梯度上升,一个是梯度下降?
  5. 更新G的时候,不要更新G太多?这是为什么?
  6. 为什么出现改进的G损失?
  7. 为什么训练时候损失函数等于0?出现梯度消失?(这篇文章暂时只能解决一部分答案)
  8. 出现Mode Collapse原因? (可能也是不正确的)

2. 认识WGAN

参考: 令人拍案叫绝的Wasserstein GAN
学习这篇博客之后,你至少需要回答以下几个问题。自己思考

  1. 原始GAN究竟出了什么问题?
  2. 二种不同的损失函数分别带来什么问题?
  3. 出现生成器梯度为0的本质是什么?
  4. 出现Mode Collapse原因?比较具体
  5. WGAN之前的一个过渡解决方案
  6. 计算列子中的KL,JS,Wasserstein距离
  7. Wasserstein距离的优越性质
  8. 从Wasserstein距离到WGAN
  9. Lipschitz是什么?
  10. weight clipping 为什么可以保证Lipschitz连续?

3. 认识WGAN-GP

参考: Wasserstein GAN最新进展:从weight clipping到gradient penalty,更加先进的Lipschitz限制手法

学习这篇博客之后,你至少需要回答以下几个问题。自己思考

  1. weight clipping的实现方式存在两个严重问题?是什么
  2. gradient penalty是什么?是如何保证Lipschitz连续?
  3. 和DCGAN区别是什么?

4. 下面就是一些个人感觉比较好的文章和博客

由于GAN在不同的领域都有很多的使用,上面的文章可能都是二年之前的,只能说是了解一些基本的概念,可能还是需要读者朋友继续阅读一些新的文章。

  1. GAN万字长文综述
  2. IEEE Access,2019: Recent Advances of Generative AdversarialNetworks in Computer Vision
  3. GAN原理"潜"析
  4. 【GAN货】进阶预备知识
  5. 李宏毅机器学习2016 第十六讲 生成对抗网络 GAN

后面的话如果遇到比较好的GAN的文章,可能会继续贴到这里。

对问题理解可浅可深,不仅需要知其然还要知其所以然,知道它为什么好比知道它好更可贵。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值