【GANs】什么是饱和损失函数 Non-Saturating LossFunction

饱和Loss

普通GAN loss是生成器希望最小化被判断为假的概率。x取值范围是[0,1],所以图中函数取值范围是负数。

  • 当训练早期,函数取值接近于0,梯度较小
  • 当训练晚期,函数取值接近负无穷,梯度过大

笔者认为,这就是饱和loss下生成器训练不佳的原因,因为我们往往希望在早期提供大一些的梯度,到后期模型在接收小一些的梯度,微微调整。而饱和Loss基本上在做相反的事情:早期梯度小,后期梯度大。

非饱和Loss

而log(x)图像如图所示,当我们max它的时候是趋向于正无穷大的,满足上面的non-saturating条件了。

  1. 早期取值靠近0,梯度较大
  2. 后期取值靠近正无穷,梯度较小
  3. 不管x取值多大,函数都能提供梯度

这就使得生成器更适合训练。

猜你喜欢

转载自blog.csdn.net/duoyasong5907/article/details/129195687