SNGAN

Miyato T., Kataoka T., Koyama M & Yoshida Y. SPECTRAL NORMALIZATION FOR GENERATIVE ADVERSARIAL NETWORKS. ICLR, 2018.

通过限制谱范数来限制Lipschitz常数, 但又不像weight normalization 或者其它的正则化方法一样, 本文提出的方法不会丧失过多的灵活性且保持高效.

主要内容

经过WGAN之后, 有许多方法是探讨如何限制Lipschitz常数的, 即

[min_G max_{|f|_{Lip} le K} V(G, D), ]

其中(f)

[f(x, heta) = W^{L+1}a_L (W^L(a_{L-1}(W^{L-1}(cdots a_1(W^1x)cdots)))), ]

[D(x, heta) = mathcal{A}(f(x, heta)). ]

实际上,

[|f|_{Lip} le prod_{i=1}^{L+1} sigma(W^l), ]

其中(sigma)为谱范数. 故本文的思想是, 实际使用下面的权重矩阵

[ar{W}_{SN} (W) := W/sigma(W), ]

此时(|f|_{Lip} le 1).

但是, 由于(W)在训练过程中是变化的, 所以, 作者并不是精确求解(sigma(W)), 采用了一种类似running average的方式, 既然

[sigma(W) = u_1^T Wv_1, ]

其中(u_1, v_1)分别为(sigma(W))所对应的左特征向量和右特征向量.

image-20201206174226824

作者进一步分析, 经过标准化后的(W)的梯度的变化

[frac{partial V(G, D)}{partial W} = frac{1}{sigma(W)} (hat{mathbb{E}}[delta h^T] - lambda u_1v_1^T), ]

其中(lambda:= hat{mathbb{E}}[delta^T (ar{W}_{SN}h)]), (delta:= (partial V(G,D) / partial (ar{W}_{SN}h))^T) . 与原来的梯度仅仅差了后面的一项, 这相当于阻止整个网络仅仅往一个方向学习而产生mode collapse.

实际上, 已经有很多类似的方法了, 一些是在损失函数后面加正则化项, 一些是直接要求多个奇异值的和等于某一个值(WN), 作者认为这些方法会让网络的能力下降, 在某种程度上会迫使权重的奇异值集中在一个维度之上. 还有像正交化的约束, 是能够避免集中在一个维度之上的, 但是这假设所以维度的意义是同等重要, 这个并不合适, 因为谱不一致是有意义的.

原文地址:https://www.cnblogs.com/MTandHJ/p/14093519.html