EBGAN总结

来源:互联网 发布:mahout java实例教程 编辑:程序博客网 时间:2024/04/20 08:09

写在开头

读这篇文章的初衷有三,一是对GAN感兴趣,二是看到的时候说是LeCun的文章,三是想学习一下总是听到的“Energy based”思想。然而看完了INTRODUCTION和MODEL两部分后就没再看下去,我个人认为这是个标题党,因为只是对架构和loss function稍作修改,并没有用到多少能量的思想。(不过我没看实验部分,起码在模型设计或者数学理论上並不算的上是GAN多大的创新。

Introduction(EBGAN思想)

EBGAN的改变在discriminator上。把D看作是一个energy function,对real image赋予低能量,fake image赋予高能量。而且作者称通过energy based思想可以把能量方面的很多工具拿来用进去。也许是因为我对能量这方面了解很少,所以意识不到这篇文章的创新之处和重要作用。在INTRODUCTION中作者提到本文的贡献有四:
1.对GAN提供了一个energy based的解释,并其由此可以对GAN使用一系列能量方面的工具。
2.通过网格穷举搜索实验,验证了GAN和EBGAN的超参数和架构setting的完备集。这部分可能在EXPERIMENT里,我没看,就没了解。

through an exhaustive grid search experiment, we validate a complete set of hyper-parameter
and architectural setting with regard to both GANs and EBGANs within a fully-connected
workhouse. EBGANs demonstrate better training stability and enhanced robustness with respect to different hyper-parameter and meta-parameter (architectural) settings, in the pursuit to
reduce human efforts for tuning GANs;

3.提出了一个pull-away term来防止Generator生成一样的图片,即mode collapse问题。所谓pull-away即“推开”,意思是不让生成的图片“扎堆”,也就是让生成的图片不一样。
4.实验证明EBGAN可以生成高分辨率的图片(256×256)。

MODEL

模型架构如图:
EBGAN架构图

主要改变在D里面。EBGAN把D变成了一个AutoEncoder,输出E为Encoder和Decoder的MSE(均方差)。即||Dec(Enc(pic))pic||pic为输入的图片,包括real和fake; |||| 为L2-norm。

D和G的损失函数

loss-D

loss-G
解释如下:
1. loss-D:
这里写图片描述
这里写图片描述

m denotes a margin indicating a gap between positive and negative energies that the model is supposed to push toward.

一方面减小real image的重构误差,另一方面将fake image的重构误差推向(push towards) m,因此m称为一个gap。注意那个[]+符号,在fD中,当fake image的重构误差小于m时,[]+项为正,会对loss产生贡献; 否则为0,由此产生push towards m的效果。
2. loss-G:
没什么多说的,就是减小G(z)的重构误差,即减小被D赋予的energy。

PULL-AWAY TERM

Pull-away term的作用是解决mode collapse的问题。在这里首先提到了Salimans et al.,2016提出的“minibatch discriminator”,思想很简单,就是每次给D输入一个batch,而且D要检测整个batch而不是分别检测每张图片。Real image batch中每张图片是不一样的,而如果出现了mode collapse,即所有图片一样,则一定是假的。
在这里作者提出了pull-away term,简称EBGAN-PT,如下:
这里写图片描述
思想很简单,这一项是,生成的fake image batch中每张图片经过Encoder编码后产生一个向量,两两向量算cosine距离,然后求和取平均。让这一项尽量小,则两两向量越接近正交。注意这一项仅仅用于假图片训练,因为它毕竟是为了解决G的mode collapse问题,若用于真图片就不讲理了。还要注意一点是,EBGAN-PT也有权重,作者在实验中取了0.1。

Energy based解释和稳定性分析

在作者看来,GAN不稳定的原因有二:
1.我没有看得特别明白,我的理解是,如果G偶然产生了D认为三real的图片,则产生的强化性梯度(intensifying gradient)会使之变得更明显。

when the generated samples from current step completely fall into a region which were categorized as real images in its previous step. Intensifying gradient will be thereafter generated by the discriminator to repel its fault and thus threatening the training stability

2.GAN是一个0-1二分类,或者说,试图在高位空间中构造一个超曲面来划分两类点。这一点和WGAN有异曲同工之处。

另外,GAN的”negative log-likelihood loss functional”通过Gibbs distribution的思想可以被看作是计算P(Y|X)来进行分类,通过训练D使P1。而
这里写图片描述
其中X是图片,Y是对应的label,E(Y,X)是能量; 分母是所有可能的label的和。
要使P1,就必须有E(Y,X),即这个energy gap为无穷大,显然这很难。

loss function的regularize问题

通过fD可以看出,D模型对应的AutoEncoder不仅是在让real image的重构误差减小,同时还要让fake image的重构误差接近m。这样做有两个好处,一是防止AutoEncoder成为一个单纯的indentity funcion(恒等函数),而且使得真假图片之间的energy gap为一个常数m,而不想GAN一样是无穷大。这就是regularization的思想所在。
loss-D

0 0
原创粉丝点击