论文:
Berthelot D, Schumm T, Metz L. BEGAN: Boundary Equilibrium Generative Adversarial Networks[J]. arXiv preprint arXiv:1703.10717, 2017.
1、介绍
GANs是一类方法,这些方法能够学习数据分布并且实现从该分部中采样的模型。GANs的架构基于两个函数:生成器G(z),它可以将取自均匀分布的样本z映射到数据分布;分类器D(x),用来测定样本x是否来自数据分布。通常,基于博弈理论,生成器和分类器可以通过交替训练来实现联合学习。
GANs可以产生较为清晰的图像,但它仍面临许多问题:1、通常非常难以训练;2、难以选择正确的超参数;3、难以控制生成样本的多样性;4、难以平衡分类器和生成器的收敛速度:分类器往往在训练开始就可以取得优势;4、容易遇到模型崩溃问题:模型只学到单一的图像模式。
2、相关工作
介绍了几种GANs的变体,包括DCGANs,EBGANs以及WGANs
3、主要方法
BEGANs将一个自编码器作为分类器,通过基于Wasserstein距离的损失来匹配自编码器的损失分布。采用神经网络结构,训练中添加额外的均衡过程来平衡生成器与分类器。
用下式计算自编码器在样本上的误差:
BEGAN采用Wasserstein距离计算D在真实数据与生成数据损失分布之间的距离。
对于两个正态分布,二者间的Wasserstein 距离计算公式为(文中证明两个损失分布都服从正态分布):
其中m1,m2为两个正态分布均值,c1,c2为方差。
根据GAN对抗性的原则,D的目标是拉大两个分布的距离,也就是最大化W,而G则是要最小化W。
文中假设:是常数,文中证明在该假设下W 与 |m1-m2|单调性相同,可通过|m1-m2|得到G与D的目标函数。
D的目标是最大化两个分部之间的距离W,由于W与|m1-m2|单调性相同,最大化W等价于最大化|m1-m2|。
最大化W有两组解:
W=m1-m2,m1->∞,m2->0;
或W=m2-m1,m2->∞,m1->0。
第二组解一方面拉大两个分布的距离,另一方面可以减小在真实样本上的误差,
因此D的目标是最大化m2-m1,等价于最小化m1-m2
G的目标是最小化两个分布之间的距离,可以通过最小化m2来实现。
综上,D和G的目标函数为:
论文中提到当E[L(X)]=E[L(G(z))]时,分类器和生成器之间的训练是平衡的,为了松弛这个条件,加入超参数γ∈[0,1],并规定
。
在BEGAN模型中,分类器有两个目标:自编码真实图像以及区分真实图像和生成图像。γ允许我们平衡这两个目标,较低的γ会使生成图像的多样性较低因为此时分类器更加关注于自编码真实图像,可以将γ看做多样性比例。(这部分论文中这样写但是不明白为什么)
BEGAN采用比例控制理论(这个是头一次看见)来保持均衡条件。具体实现方法是加入变量Kt∈[0,1]来影响L(G(z))的梯度。
最终的目标函数为
其中,λk为K的学习率,在实验中设为0.001,K的初始值K0=0。
此外,文中还加入了一个变量来表示模型的训练程度:
该变量越小表示模型收敛程度越高。
模型结构:
具体的结构还不清楚,准备从代码入手再看一下。
4、实验
论文中采用Adam方法优化参数,初始学习率为0.0001,初始学习率较高时会有出现模型崩溃,降低学习率即可避免。训练了从32到256像素的模型,可以通过增减卷积层来调节图像大小。使用360K图像集而不是CelebA,该数据集具有更多种类的面部表情以及不同的拍摄角度,论文中提到由于与其他模型采用了不同的数据集,不方便进行直接的比较。
实验对比了不同γ值的结果,γ值较低时得到的图像显得过于单一,随着γ增大,多样性增加。
文中实验部分有关空间连续性的部分没有看懂。