LSGAN(Least Squares GAN)这篇文章主要针对标准GAN的稳定性和图片生成质量不高做了一个改进。作者将原始GAN的交叉熵损失采用最小二乘损失替代。LSGAN的Loss:
DminJ(D)=Dmin[21Ex∼pdata(x)[D(x)−a]2+21Ez∼pz(z)[D(G(z))−b]2]
GminJ(G)=Gmin21Ez∼pz(z)[D(G(z))−c]2
实际实现的时候非常简单,最后一层去掉sigmoid,并且计算Loss的时候用平方误差即可。之所以这么做,作者在原文给出了一张图:
上图是作者给出的基于交叉熵损失及最小二乘损失的Loss函数。横坐标代表Loss函数的输入,纵坐标代表输出的Loss值。可以看出,随着输入的增大,sigmoid交叉熵损失很快趋于0,容易导致梯度梯度饱和问题。如果使用右边的Loss设计,则只在x=1点处饱和。因此使用LSGAN可以很好的解决交叉熵损失的问题。