深度学习_GAN_LSGAN

LSGAN(Least Squares GAN)这篇文章主要针对标准GAN的稳定性和图片生成质量不高做了一个改进。作者将原始GAN的交叉熵损失采用最小二乘损失替代。LSGAN的Loss:

min D J ( D ) = min D [ 1 2 E x p d a t a ( x ) [ D ( x ) a ] 2 + 1 2 E z p z ( z ) [ D ( G ( z ) ) b ] 2 ] \mathop{\min }\limits_DJ(D)=\mathop{\min}\limits_D[{\frac{1}{2}}{\rm E}_{x\sim{p_{data}}(x)}[D(x)-a]^2 + {\frac{1}{2}}{\rm E}_{z\sim{p_z}(z)}[D(G(z))-b]^2]

min G J ( G ) = min G 1 2 E z p z ( z ) [ D ( G ( z ) ) c ] 2 \mathop{\min }\limits_GJ(G)=\mathop{\min}\limits_G{\frac{1}{2}}{\rm E}_{z\sim{p_z}(z)}[D(G(z))-c]^2

实际实现的时候非常简单,最后一层去掉sigmoid,并且计算Loss的时候用平方误差即可。之所以这么做,作者在原文给出了一张图:

在这里插入图片描述

上图是作者给出的基于交叉熵损失及最小二乘损失的Loss函数。横坐标代表Loss函数的输入,纵坐标代表输出的Loss值。可以看出,随着输入的增大,sigmoid交叉熵损失很快趋于0,容易导致梯度梯度饱和问题。如果使用右边的Loss设计,则只在x=1点处饱和。因此使用LSGAN可以很好的解决交叉熵损失的问题。

发布了94 篇原创文章 · 获赞 37 · 访问量 3436

猜你喜欢

转载自blog.csdn.net/Rocky6688/article/details/103660218