LSGAN

1.LSGANs(最小二乘GAN)

转自:https://blog.csdn.net/u013289254/article/details/97302883

https://zhuanlan.zhihu.com/p/25768099

LSGANs是用来解决原始GAN的两个缺陷:生成的图片质量不高以及训练过程不稳定。

上图中左边是生成器,右边是判别器,LSE损失替换了普通GAN的BCE损失。

那么最终的生成损失G

判别损失D计算:

            # Train the discriminator
            d_loss_real = self.discriminator.train_on_batch(imgs, valid)
            d_loss_fake = self.discriminator.train_on_batch(gen_imgs, fake)
            d_loss = 0.5 * np.add(d_loss_real, d_loss_fake)    

D不再是原始GAN的最大化目标函数,而是最小化:

2.lsGAN训练比GAN更稳定

https://blog.csdn.net/victoriaw/article/details/60755698

 

 

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

但是评论区中提到,“对于Sigmoid函数,由于数据在远离0的情况下梯度会越来越小甚至趋于0,因为训练的时候会加batch Normlization将数据拉回来。”

也就是说批归一化能缓和sigmoid梯度消失的问题?

posted @ 2021-06-15 13:42  lypbendlf  阅读(253)  评论(0编辑  收藏  举报