ICCV 2019的一篇论文,作者在出名的SN-GAN上进行改进。
SN-GAN介绍应该还是挺多的,随便找一篇https://zhuanlan.zhihu.com/p/65549312
谱归一化约束,通过约束 GAN 的 Discriminator 的每一层网络的权重矩阵(weight matrix)的谱范数来约束 Discriminator 的 Lipschitz 常数, 从而增强 GAN 在训练过程中的稳定性。
这篇文章呢,作者自称叫做SR-GAN,Spectrual Regularization 谱正则化。
作者发现一个现象,就是如果没有mode collapse的时候, W ‾ S N ( W ) \overline{W}_{SN}(W) WSN(W)的大量的奇异值都接近于1,其中 W ‾ S N ( W ) \overline{W}_{SN}(W) WSN(W)是谱归一化的权重矩阵;
在出现mode collapse的时候,权重矩阵的奇异值drop的很快,作者称这种现象为spectrual collapse(谱崩溃)。作者认为,只要spectrual collapse解决了,mode collapse就会一定程度的解决。
SN-GAN的谱归一化: W ‾ S N ( W ) : = W / σ ( W ) \overline{W}_{SN}(W):=W/\sigma(W) WSN(W):=W/σ(W),
σ ( W ) \sigma(W) σ(W)是权重W的奇异值的最大值。
SN-GAN通过这种方式来约束Lipschitz常数。原文中也证明了优于其他的normalization或者regularization的方法,比如gradient penalty、weight normalization和正交正则化等等。
注意:本论文关于spectrual collapse是作者在实验中观察得到的现象!
正如SN-GAN和BigGAN等类似的论文发现的,batch大小增加或者D网络的channel减小,都会导致mode collapse。因此本文中设置了若干种对照组,分别有不同的batch和channel。
如图所示,spectrual collapse的时候,奇异值会drop的很严重。
Spectrual Regularization
首先进行奇异值分解,权重矩阵W可以分解为 W = U ⋅ Σ ⋅ V T W=U\cdot\Sigma\cdot V^T W=U⋅Σ⋅VT
其中的 U U U和 V V V都是正交矩阵, U U U, [ u 1