前言
本博客是对GAN网络学习的记录
一、基础知识
1. 基础概念
- 由生成器G和判别器D组成
- 首先固定G,训练判别器D,然后反过来,达到博弈的情况
- 判别器D的职责,判断生成器G的数据是否为真
- 生成器G的职责,骗过判别器D,生成的数据让判别器无法识别
- 最终效果是判别器对生成器生成的数据判别概率为50%
2. GAN训练难题
- 如果G生成的数据和真实数据没有overlap(重叠),判别器对于任意生成的反馈都是无穷大
- 导致无法对G进行有效反馈,G无法收敛
WGAN解决方案
- 假设生成的数据是随机数图片,将图片转成真实图片走了多少步,将最少步数作为反馈
- 这样可以让梯度向真实情况逼近
- 类似于搬砖,将一堆砖块经历多少步可以转换和另一堆一致(earth move distance)
3. CircleGAN
- 假设需要将斑马转化成普通马,判别器D用于判断是否为普通马
- 如果G偷懒,生成任意一张马的图片,同样可以骗过D
- 需要将G生成的图片经过某种转换可以还原成原始斑马图片,可以有效防止此情况发生