Intro
- A counterfeit-police game between two components: a generator G and a discriminator D
最终目标是假币制造和真币还要真,警察分辨不出来
用数学表达:
GAN:本质是 min-max 的对抗模型
最左边是生成器的输入(随机噪声),因为目前大部分的工作的G、D用的是神经网络,所以此图用神经网络模型代表。
损失函数:
前一项尽可能提高判别器对真实数据的判别;后一项尽可能降低判别器对生产数据的判别(因为又1-D,所以也是最大化)
由于D、G是对抗的过程,因此D要max ,G就要min
Attractive
- Generator Networks x = G (z;parameter (G)) z = noise
- its only required that, G is differentiable
- So, having training data x ~ pdata(X) what we what is a model that can draw samples x ~ pmodel(X), where pmodel ~~pdata(X)
- Don’t write a formula for pdata(X) , just learn to draw sample directly
生成器的输入是随机噪声,由于要用反向传播训练生成网络,要求G是可微分的。直接学习生成数据的分布。
缺点
-
用神经网络逼近G,就会把原有神经网络的问题带进来。在深度神经网络存在的梯度传播的问题,梯度消失和梯度爆炸,造成越深的网络,训练越难。
-
GAN Goal Function
最开始未经训练的生成器性能不好,判别器能轻松把生成数据揪出来。如此缺乏信息量。(数学原理是,当D是最优的,优化上式等价于优化pdata和pmodel间JS散度。而当最开始训练时,pdata和pmodel差别很大,JS散度近似是一个常数,没有梯度,无法训练网络。 -
用如下GAN Goal Function替代上式仍有不稳定和生成样本不够多样性的问题
-
不稳定:KL 和 JS都是衡量两个分布距离的函数。如上图最后一个共识,既要最大化KL,又要最小化JS,两个要求彼此矛盾,造成训练不稳定。
-
缺乏多样性:即使在最开始仅仅优化KL(JS在最开始约等于常数)。由于KL是不对称的。模型会倾向于生成在某一个方向上KL散度较小的样本,最终的结果就是样本太单一。
Solution
一、Partial and Fined - grained Guidance
( 前文说生成器太自由了,那么就加入一些指导,控制G不会野蛮生长)
1.1 Partial Guidance 输入不再是noise,加一些显性信息
- Condition GAN 在网络的输入或中间层加(word emb)
- Improved GAN 包含feature matching 和 minibatch discrimination
feature matching:既然一开始判别器随意都能把生成器生成的样本揪出来,那就把判别器纠错时用到的特征传到生成器,让生成器注意这一部分特征的生成
minibatch discrimination : 意识到当判别器认为某个生成的样本比较real时,生成器趋向于多生成这一类的数据,影响多样性。因此在判别器判别时, 将之前判别的样本的feature一起送进来 - IGAN : 意识到当前GAN生成的图像太过模糊。IGAN引入两个监督信息,如何变形 + 图片的纹路信息
- pix2pix : 引入pair概念
- GP-GAN :图像融合(PS) 包含两个监督信息
1.1 Fined - grained Guidance 输入不再是noise,加一些隐形信息 - LAPGAN
无法实现end 2 end,三个GD模型是独立的,相当于先生成88 再生成1616,最后生成64*64,有种condtional的感觉