生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

Least Squares Generative Adversarial Networks

Xudong MaoQing LiHaoran XieRaymond Y.K. LauZhen WangStephen Paul Smolley

论文链接:https://arxiv.org/pdf/1611.04076.pdf

1.简介

传统的GAN的 Discriminator网络采用的是sigmoid cross entropy loss,在训练的时候容易发生梯度弥散。

所以本篇论文选择了另一种损失函数:Least Squares loss function,具备以下两种优点:

①比传统gan网络生成的图片的质量要高

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

②训练过程更加stable

 

2.核心思想

将损失函数替换为:least squares loss

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

 

3.具体实现

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

这里注意到它的网络结构里面用的也是convolution layer,可以说是经由DCGAN演化而来

跟DCGAN相比,多了一些stride=1的卷积。

在LSUN bedroom数据集上实验,产生的图像效果跟DCGAN没有什么差别(架构跟DCGAN相同,只是改了目标函数),

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

实际上,你可以直接把DCGAN的代码修改一下目标函数,就成了LSGAN。

但是训练的效果可能没有作者提出的架构好,毕竟架构上有稍许差异

4、讨论

①生成图片质量比传统GAN高的原因

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

这图1和这一大段话基本在说这么一件事:

对于一些G生成的样本如果判别器D判定它们为real

在使用传统损失函数sigmoid cross entropy loss的情况下:那么这些样本就不会再得到优化

但使用least squares loss 的情况下,这些图片会继续得到优化,所以生成的图像质量会更高

②训练更稳定:

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

sigmoid交叉熵损失很容易就达到饱和状态(饱和是指梯度为0),而最小二乘损失只在一点达到饱和

 

5.参数设置

方法①

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---

 

方案②

生成对抗网络GAN系列(四)--- LSGAN---最小二乘GAN(Least Squares Generative Adversarial Networks)---