GAN相关论文《Spectral Regularization for Combating Mode Collapse in GANs》
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的时候,的大量的奇异值都接近于1,其中是谱归一化的权重矩阵;
在出现mode collapse的时候,权重矩阵的奇异值drop的很快,作者称这种现象为spectrual collapse(谱崩溃)。作者认为,只要spectrual collapse解决了,mode collapse就会一定程度的解决。
SN-GAN的谱归一化:,
是权重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矩阵的左奇异向量,,被称为W矩阵的右奇异向量。
可被表示为
其中的代表着权重矩阵W的谱分布。
当出现mode collapse时,谱分布专注于最大的奇异值,而其他的奇异值drop的比较快。
为了避免spectrual collapse,SR-GAN设计了一个用于补偿D,,其中是一个需要自己设定的超参数。
则会变成
从而
从而获得谱正则化的结果
当i=1时,,SN-GAN就成为SR-GAN的一种特殊的形式。
后面还有理论分析和超参选择什么的,不写了,有空再说。
源码:
https://github.com/max-liu-112/SRGANs-Spectral-Regularization-GANs-
补充:
https://github.com/Hhhhhhhhhhao/Paper-Notes/blob/7025aa2c976c3e351aac12b8a7bf9324cffba657/Spectral-Regularization-for-Combating-Mode-Collapse-in-GANs/SRGAN.md
写的不错。