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的时候,WSN(W)\overline{W}_{SN}(W)的大量的奇异值都接近于1,其中WSN(W)\overline{W}_{SN}(W)是谱归一化的权重矩阵;
在出现mode collapse的时候,权重矩阵的奇异值drop的很快,作者称这种现象为spectrual collapse(谱崩溃)。作者认为,只要spectrual collapse解决了,mode collapse就会一定程度的解决。

SN-GAN的谱归一化:WSN(W):=W/σ(W)\overline{W}_{SN}(W):=W/\sigma(W),
σ(W)\sigma(W)是权重W的奇异值的最大值。
SN-GAN通过这种方式来约束Lipschitz常数。原文中也证明了优于其他的normalization或者regularization的方法,比如gradient penalty、weight normalization和正交正则化等等。
注意:本论文关于spectrual collapse是作者在实验中观察得到的现象!
正如SN-GAN和BigGAN等类似的论文发现的,batch大小增加或者D网络的channel减小,都会导致mode collapse。因此本文中设置了若干种对照组,分别有不同的batch和channel。
GAN相关论文《Spectral Regularization for Combating Mode Collapse in GANs》
如图所示,spectrual collapse的时候,奇异值会drop的很严重。

Spectrual Regularization

首先进行奇异值分解,权重矩阵W可以分解为W=UΣVTW=U\cdot\Sigma\cdot V^T
其中的UUVV都是正交矩阵,UU, [u1,u2,,um],[u_1, u_2, · · · , u_m], 被称为W矩阵的左奇异向量,VV,[v1,v2,,vn][v_1, v_2, · · · , v_n]被称为W矩阵的右奇异向量。
Σ\Sigma可被表示为
Σ=[D000]\Sigma= \begin{bmatrix} D & 0\\ 0 & 0 \\ \end{bmatrix}
其中的D=diag{σ1,σ2,...,σr}D=diag \{\sigma_1,\sigma_2,...,\sigma_r \}代表着权重矩阵W的谱分布。
当出现mode collapse时,谱分布专注于最大的奇异值,而其他的奇异值drop的比较快。
为了避免spectrual collapse,SR-GAN设计了一个ΔD\Delta D用于补偿D,ΔD=diag{σ1σ1,σ1σ2,...,σ1σi,0,...,0}\Delta D=diag\{\sigma_1-\sigma_1,\sigma_1-\sigma_2,...,\sigma_1-\sigma_i , 0,...,0\},其中ii是一个需要自己设定的超参数。
DD会变成D=D+ΔD=diag{σ1,σ1,...,σ1,σi+1,...,σr}D' = D+\Delta D=diag \{\sigma_1,\sigma_1,...,\sigma_1, \sigma_{i+1},...,\sigma_{r}\}
从而ΔW=U[ΔD000]VT=k=2i(σ1σk)ukvkT\Delta W=U\cdot\begin{bmatrix} \Delta D & 0\\ 0 & 0 \\ \end{bmatrix}\cdot V^T=\sum_{k=2}^i(\sigma_1-\sigma_k)u_kv_k^T
从而获得谱正则化的结果WSR(W)=W+ΔWσ(W)=WSN(W)+ΔWσ(W)\overline{W}_{SR}(W)=\frac{W+\Delta W}{\sigma(W)}=\overline{W}_{SN}(W)+\frac{\Delta W}{\sigma(W)}

当i=1时,ΔW=0\Delta W=0,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
写的不错。