论文阅读笔记:O-GAN

2019-03-23  本文已影响0人  LiBiscuit

这周老师开始让我阅读论文了 以后这个博应该会不定期更新一下 我的阅读笔记(如果有时间的话)希望能不断更。

论文题目:O-GAN: Extremely Concise Approach forAuto-Encoding Generative Adversarial Networ

先补充一下GAN的知识

GAN (Generative Adversarial Network)

GAN 主要包括了两个部分:G 生成器( generator) 与D 判别器( discriminator)。
生成器:主要用来学习真实图像分布从而让自身生成的图像更加真实,以骗过判别器。
判别器:需要对接收的图片进行真假判别。

整个过程中,生成器努力地让生成的图像更加真实,而判别器则努力地去识别出图像的真假。这个过程相当于二人博弈,随着时间的推移,生成器和判别器在不断地进行对抗,最终两个网络达到了一个动态均衡:生成器生成的图像接近于真实图像分布,判别器识别不出真假图像。

示意图


首先,有一个一代的 generator,它能生成很差的图片,然后有一个一代的discriminator,准确地对生成的图片和真实的图片进行判断,简而言之,discriminator 就是一个二分类器,对生成的图片输出 0,对真实的图片输出 1。
接着,开始训练出二代的 generator,它能生成稍好一点的图片,让一代的 discriminator 认为生成的图片是真实的图片。然后会训练出一个二代的 discriminator,它能准确的识别出真实的图片和二代 generator 生成的图片。以此类推,会有n 代的 generator 和 discriminator,最后 discriminator 无法分辨生成的图片和真实图片,这个网络就拟合了

参考(https://www.cnblogs.com/bonelee/p/9166084.html
https://www.jianshu.com/p/40feb1aa642a

进入论文的主体

背景分析
1.Generative Adversarial Networks (GANs) have made great success on image synthesis since its first work ----GAN发展逐步成熟、出现了BigGAN、StyleGAN可以在不同的场景下产生高分辨率的图像。
2.a typical GAN is lack of a inferring model (aka encoder)----目前的GAN,主要分为两部分即为生成器和判别器,缺乏一个编码器,也就是说只能一直生成图像(生成器),不能去提取图像的特征(编码器)
3.A large class of GAN variants aim to combine ideas from VAEs and GANs, such as variationalauto-encoder GANs (VAE-GANs, Larsen et al. (2015)), adversarial generator encoders (AGEs,Ulyanov et al. (2017))----出现将VAE与GAN组合起来的模型,(模型中包含生成器、判别器、编码器),存在不足:生成器和编码器训练越来越优秀,然而判别器越训练越退化,然后相当于鸡肋,没啥用。退化成常量,造成浪费。
4.A natural question is can we share weights between discriminator and encoder?
the only one successfully done it is IntrospectivVariational Autoencoders (IntroVAEs, Huang et al. (2018)). ----能不能让判别器和编码器共享大部分权重?过去所有的GAN相关的模型中,只有IntroVAE做到了这一点。但IntroVAE的做法还是比较复杂。

提出的模型
一般GAN写法:

其中x∈Rnx,z∈Rnz, p(x)是真实图片集的“证据分布”,q(z)是噪声的分布(在本文中,它是nz元标准正态分布);而G:Rnz→Rnx和D:Rnx→R自然就是生成器和判别器了,f,g,h则是一些确定的函数,不同的GAN对应着不同的f,h,g。
定义几个向量算符:
这三个分别为:均值、方差、标准化向量
当nz≥3时(真正有价值的GAN都满足这个条件),[avg(z),std(z),N(z)]是函数无关的,也就是说它相当于是原来向量z的一个“正交分解”。
判别器的结构与编码器结构相似:判别器生成一个标量,编码器生成一个向量
把判别器分解:
E是Rnx→Rnz的映射,而T是Rnz→R的映射。
E的参数量会远远多于T的参数量,目的是希望E(x)具有编码功能。
解决方法:加入一个相关系数(Person系数)−ρ(z, E(G(z)))(用于D与G之间)

在上述公式里,Person系数是用来衡量是否在一条线上即是否线性相关。
这样一来,GAN的判别器D分解为了E和T两部分,E变成了编码器,也就是说,判别器的大部分参数已经被利用上了。但是还剩下T,训练完成后T也是没用的,T可否省去?
方法:直接用avg(E(x))做判别器

论据(原理)
1.The firstthought of reconstruction objective might be ||z − E(G(z))||²rather than ρ(z, E(G(z))).-----思考||z − E(G(z))||²与 ρ(z, E(G(z))) 首先这两者都是z 和 E(G(z))之间的关系,前者为mse损失函数,后者为本文加入的重构的相关系数。
2.If we addminimize ||z − E(G(z))||², it will occupy all degrees of freedom of E(G(z)) 3
and leave no freedomfor discriminator. -----自由度问题:E(x)输出一个nz维的向量,T(E(x))输出一个标量,E(x)输出了nz个自由度,而作为判别器,T(E(x))至少要占用一个自由度。如果最小化∥z−E(G(z))∥²,那么训练过程会强迫E(G(z))完全等于z,也就是说nz个自由度全部被它占用了,没有多余的自由度给判别器来判别真假了,所以不可行。
但ρ(z,E(G(z)))不一样,ρ(z,E(G(z)))跟avg(E(G(z)))和std(E(G(z)))都没关系,意味着就算我们最大化ρ(z,E(G(z))),我们也留了至少两个自由度给判别器。
得出结论:可以直接用avg(E(x))做判别器,因为它不会被ρ(z,E(G(z)))的影响的。
3.Another argument is that we train the generator adversarially with z ∼ N (0, Inz)
---因为我们在对抗训练的时候,噪声是z∼N(0,Inz)的,当生成器训练好之后,那么理论上对所有的z∼N(0,Inz),G(z)都会是一张逼真的图片。其实这个反过来也是成立的,就是可以推论出,G(z)为逼真图片的一个必要条件, avg(E(x)) ≈ 0 and std(E(x)) ≈ 1(即标准正态分布)
which means we do not need to fit avg(E(x)) and std(E(x)) by reconstruction loss ----应用这个结论,对于一个好的E(x),我们可以认为avg(E(x))和std(E(x))都是已知的(分别等于0和1),即我们没有必要拟合它,换言之,在刚刚的重构项中可以把它们去除。


整个重构过程中,重构的是
4.Furthermore, this additional correlation loss can prevent GANs from mode collapse in theory.

实验
目标;1、这个额外的loss会不会有损原来生成模型的质量?
2、这个额外的loss是不是真的可以让E变成一个有效的编码器?
实验设置:
数据集:CelebA HQ、FFHQ、LSUN-churchoutdoor、LSUN-bedroom四个数据集
实验采用的模型框架:DCGAN
E、G表示


参数设置:λ1=0.2 5/nx,λ2=0.5。
在G和E中,采用RMSprop optimizer,学习速率为10−4,β=0.99
实验结果:

1、随机生成效果还不错,说明新引入的相关系数项没有降低生成质量;
2、重构效果还不错,说明E(x)确实提取到了x的主要特征;
3、线性插值效果还不错,说明E(x)确实学习到了接近线性可分的特征。

结论
O-GAN模型的主要特点也是一个GAN模型同时带有生成器和编码器,而且往GAN里面加入编码器的方法较简单,只需加入一个相关系数,实现对原始判别器一种正交分解,并且对正交分解后的自由度的充分利用

后记
几个问题的梳理
1.为什么引入这个额外的相关系数?
是为了让Z和E(G(Z))尽量相关
2.ρ(z,E(G(z))为什么会成功?(自由度相关的问题)
G(E(x))中avg(E(x))与std(E(x))是已知的,就会少掉两个约束条件,也就是说少掉两个自由度,那么就留了至少两个自由度给判别器。

论文地址(https://arxiv.org/abs/1903.01931
博客原文搬运(https://kexue.fm/archives/6409

上一篇 下一篇

猜你喜欢

热点阅读