SNGAN是从lipschitz的角度讲故事的
- 最开始 WGAN 的权重裁剪
- 到后来 WGAN-GP 的梯度约束
- 再到 spectral norm
理论上讲,SN + WGAN 应该是一个很优美的结构。但是原始SNGAN论文中,作者使用的是 spectral norm + 标准GAN的 loss,而没有使用WGAN的loss。
然而作者在 github 项目中提到,WGAN + SN 不work(见这里:https://github.com/pfnet-research/sngan_projection/issues/15)。这可能有两点原因:
- SN 达不到 1-lipschitz 的条件
- SN 能够满足 1-lipschitz 约束,但是 wgan 在SN的 1-lipschitz 约束下,效果不好。
SN + 原始GAN的效果也不错,是不是能够说明之前关于GAN loss存在饱和区,梯度容易消失的说法就是错误的呢?那么也许WGAN真正work的并不是他的 W 距离,而是对判别器添加的 1-lipschitz 约束。