Saturating VS Non-Saturating Loss functions in GANs

最近再看The relativistic discriminator: a key element missing from standard GAN这篇文章,里面提到了Saturating和Non-Saturating Loss functions,但是之前再看GAN的文章时候好像没有太注意,这里稍微介绍一下。

1. 来源

    作者在GAN的原文中只是提到了这个saturates。将 m i n   l o g ( 1 − D ( G ( z ) ) ) min \ log(1-D(G(z))) min log(1D(G(z)))变成了 m a x log ⁡ ( D ( G ( z ) ) ) max \log(D(G(z))) maxlog(D(G(z))),说是前者更容易饱和。
在这里插入图片描述
    关于这个saturate,首先我们看看它的定义是什么,来源于:What does the term saturating nonlinearities mean?
在这里插入图片描述
    按照它这个定义,我们知道了ReLU在x趋向于正无穷大的时候也是无穷大,满足其中一个条件,所以是non-saturating(非饱和)。而tanh和sigmoid函数无论是趋向负无穷大还是正无穷大的时候都是趋向于[-1,1]或者[0,1],相当于是被压缩了,按照上面的定义non-saturating的二个条件任何一个都不满足,所以是是saturating。
     但是对于这句话: m i n   l o g ( 1 − D ( G ( z ) ) ) min \ log(1-D(G(z))) min log(1D(G(z)))变成了 m a x log ⁡ ( D ( G ( z ) ) ) max \log(D(G(z))) maxlog(D(G(z))),说是前者更容易饱和。我个人的理解是, l o g ( 1 − x ) log(1-x) log(1x)图像如下图所示,当我们 m i n min min这个函数的时候,趋向于负无穷了,因此是saturating。
在这里插入图片描述
    而 l o g ( x ) log(x) log(x)图像如图所示,当我们 m a x max max它的时候是趋向于正无穷大的,满足上面的non-saturating条件了。
在这里插入图片描述
    上面的只是的我的猜想而已,而且理解可能是错误的,可能背后蕴含这深刻的数学在里面,大家可以在评论区帮忙指正出来。

参考文章:

  1. 【机器学习】saturate的解释
  2. Saturated Models and Deviance

另外,在这篇文章Saturating vs Non-Saturating Loss functions in GANs on MNIST作者提供了二者各自的实现方法,也是比较好理解的。
在这里插入图片描述

2. 发展

在之后一篇论文Towards Principled Methods for Training Generative Adversarial Networks对这个概念做了详细的解释:

对于生成器,SGAN提出了两种损失函数:saturating和non-saturating。其中前者不稳定,后者较稳定。如果GAN能100%分类真伪数据,那saturating函数的梯度是0,non-saturating的梯度虽然不为0,但它是易变的(volatile)。这意味着如果学习率过高,判别器很可能会“放弃”学习,导致模型性能很差,这种现象在高维数据中尤为明显。

3. 参考文献

  1. Understanding Generative Adversarial Networks
  2. CS231CNN
  3. Improving the way neural networks learn
  4. 知乎:深度学习中,使用relu存在梯度过大导致神经元“死亡”,怎么理解?
  5. What is the “dying ReLU” problem in neural networks?
  6. 相对的判别器:现有GAN存在关键属性缺失
  7. 你的 GAN 是不是少了什么?
  8. RSGAN:对抗模型中的“图灵测试”思想
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值