(3)WGAN&WGAN-GP

WGAN提出GAN训练不稳定的原因,即JS不适合衡量不相交的分布之间的距离。对GAN损失函数做出了很大的改进,判决器最后一层去掉sigmoid,生成器和判决器的loss不取log,对更新后的权重截断到一定范围内。提出Wasserstein距离。

损失函数:(已转化为最小化形式)

生成对抗网络判别器的loss计算是加法还是减法 生成对抗网络loss曲线_生成器

生成对抗网络判别器的loss计算是加法还是减法 生成对抗网络loss曲线_损失函数_02

WGAN-GP是针对WGAN的存在的问题提出来的,WGAN在理论上表现很好但在真实的实验过程中依旧存在着训练困难、收敛速度慢的 问题,相比较传统GAN在实验上提升不是很明显。WGAN-GP在文章中指出了WGAN存在问题的原因,那就是WGAN在处理Lipschitz限制条件时直接采用了 weight clipping,就是每当更新完一次判别器的参数之后,就检查判别器的所有参数的绝对值有没有超过一个阈值,比如0.01,有的话就把这些参数 clip回 [-0.01, 0.01] 范围内。并且,也发现强制剪切权重容易导致梯度消失或者梯度爆炸。

损失函数:(已转化为最小化形式)

生成对抗网络判别器的loss计算是加法还是减法 生成对抗网络loss曲线_数据分布_03

生成对抗网络判别器的loss计算是加法还是减法 生成对抗网络loss曲线_损失函数_02

(4)BEGAN

GAN以及其变种都是希望生成器生成的数据分布尽可能的接近真实数据的分布,当生成数据分布等同于真实数据分布时,我们就确定生成器G经过训练可以生成和真实数据分布相同的样本,BEGAN代替了这种估计概率分布方法,它不直接去估计生成分布Pg与真实分布Px的差距,进而设计合理的损失函数拉近他们之间的距离,而是估计分布的误差之间的距离,作者认为只要分布的的误差分布相近的话,也可以认为这些分布是相近的。

BEGAN中的判决器采用的是自编码器的结构。原始数据x,判决器D对x编码解码后的图像D(x),以及D对G(z)编码解码后的图像D(G(z)),||D(x)-x|| - || D(x)- D(G(z)) || 不断趋近于0,那么随着训练,D(x)会不断接近x,那么D(G(z)) 接近于D(x),即 G(z) 学习到了x的数据分布。

损失函数:(论文中L代表L1范数)

生成对抗网络判别器的loss计算是加法还是减法 生成对抗网络loss曲线_数据分布_05

               for D

生成对抗网络判别器的loss计算是加法还是减法 生成对抗网络loss曲线_生成器_06

                                   for G

生成对抗网络判别器的loss计算是加法还是减法 生成对抗网络loss曲线_损失函数_07

  for each training step t

超参

生成对抗网络判别器的loss计算是加法还是减法 生成对抗网络loss曲线_生成器_08

生成对抗网络判别器的loss计算是加法还是减法 生成对抗网络loss曲线_数据分布_09

是k的学习率