GAN
Generative Adversarial Network 生成式对抗网络 (GAN)
introduction
输出不是具体的数,而是一个分布,这个network就是generator
why distribution
video prediction
常规方法如上,会出现同时左右转的情况
但是GAN可以解决
- 同样的输入需要不同的输出,需要创造力。比如画画,聊天机器人
GAN
unconditional generation
去掉输入x
从z中sample一个低维度的vector,对应输出要是一个高维度的vector
discriminator
输入图片,输出一个数值表示图片接近真实的程度
this is where the term adversarial comes from
algorithm
固定G,更新D
- D学会分辨图像,可以是分类问题,可以是回归问题
固定D,更新G
- 把两者合并成一个大模型,其中的一个hidden layer是输出图像的数据
循环上述过程
theroy behind GAN
让输出的分布和数据集已知分布越接近越好
但是这个divergence并不知道怎么计算,但我们知道如何sample,之后可以通过D来计算两个分布的差异
同时输入预测数据和已知数据,并进行分类,V就是交叉熵取符号,交叉熵取最小效果最好,V取最大效果最好
后经推导发现V和 JS divergence有关,就转而计算V了
tips for train
WGAN
JS divergence的缺陷
- 预测和真实重叠很小
- 多为高维上的低维,比如平面中只是两条线
- sample时取的值不够多,不够密
- 当没重叠时JS结果始终为log2,并不能反应两者越来越近或越来越远的变化
- 如果不重叠,binary classfier的结果永远是100%,loss没有任何意义
- 预测和真实重叠很小
wasserstein distancce
推土机把土从起点搬运到目的地
move plan有很多,有smallest average distance的为WzD
计算WD
- D必须要平滑,式子中的x为神经网络的预测值,之前的y
- 不平滑会这样,在生成数据处无限小,真实数据处无限大
保证D平滑的方法
- original WGAN
- improved WGAN
- spectral normalization(效果好)
- keep gradient norm smaller than 1 everywhere
GAN for sequence generation
当decoder有很小的变化时,因为输出是概率最大的值,所以没有影响discriminator,进而无法update
所以使用reinforcement learning (RL)硬train,因为两者都很难训练,所以合起来困难
evaluation
quality of image
跑一个图像分类器,判断是图像的几率
diversity of image
mode collapse
生成的图像就是那几张
- 尚且没有完美的解决办法
mode dropping
真实的有左右两部分,但是模型只有左边半部分,而且左边没有mode collapse的情况
- mode dropping更难发现,也没有很好的解决办法
判断多样性
分类器判断大部分是class2,多样性不好
各个类别都有,多样性可以
evaluate
quality and diversity的评判标准有些矛盾,所以用IS(inception score)来进行判断
IS越大越好
- FID也是一种方法,越小越好
取在进入分类器之前的向量,这样可以获得更多细节(后续被分到同一个类中可能会有肤色的差异,但都得不到考虑),计算与真实数据的FID以评估
conditional generation
introduction and application
应用:文本转图片
- 此时discriminator需要考虑输入,提供的数据是pairs并且各种类型都包括
其他应用
image translation or pix2pix
输入图片转化为其他图片:白天变夜晚,设计图变3d
- GAN会凭空创造出不想要的东西,比如GAN图的左上角
- supervised模糊原因:同一个输入对应不同的输出,就会模糊以满足
sound to image
- talking head generation
learning from unpaired data
输入没有关系
eg.image style tranfer
unsupervised conditional generation
设计思路
cycle GAN
Dy判断像不像二次元,Dx判断像不像真人 ,在转换为二次元后还要转换为真人,看二次转换后的图片和输入是否相似
star GAN可以在多种风格间转换
类似的还有text style transfer
other application