当判别器为最优时,最佳生成器的损失函数为
2 J S ( P r ∥ P g ) − 2 log 2 2 J S\left(P_{r} \| P_{g}\right)-2 \log 2 2JS(Pr∥Pg)−2log2
即当判别器为最优时,最小化真实分布 P r P_{r} Pr与生成分布 P g P_{g} Pg之间的JS散度,可以得到最优的生成器。当真实分布 P r P_{r} Pr与生成分布 P g P_{g} Pg有重叠部分时,最小化其JS散度可以拉近这二个分布。但当真实分布 P r P_{r} Pr与生成分布 P g P_{g} Pg没有重叠部分时,最佳的JS散度固定为 log 2 \log 2 log2。此时,不管真实分布 P r P_{r} Pr与生成分布 P g P_{g} Pg相距多远,只要没有重叠部分,JS散度就固定是常数 log 2 \log 2 log2,生成器梯度为0,导致梯度消失的问题。
在(近似)最优判别器下,最小化生成器的loss等价于最小化真实分布 P r P_{r} Pr与生成分布 P g P_{g} Pg之间的JS散度,而由于 P r P_{r} Pr与 P g P_{g} Pg几乎不可能有不可忽略的重叠,所以无论它们相距多远JS散度都是常数 log 2 \log 2 log2,最终导致生成器的梯度(近似)为0,梯度消失。
生成器损失函数为 E x ∼ P g [ − log D ( x ) ] \mathbb{E}_{x \sim P_{g}}[-\log D(x)] Ex∼Pg[−logD(x)]
在最优判别器 D ∗ D^{*} D∗下,
E x ∼ P a [ − log D ∗ ( x ) ] = K L ( P g ∥ P r ) − 2 J S ( P r ∥ P g ) + 2 log 2 + E x ∼ P r [ log D ∗ ( x ) ] \mathbb{E}_{x \sim P_{a}}\left[-\log D^{*}(x)\right]=K L\left(P_{g} \| P_{r}\right)-2 J S\left(P_{r} \| P_{g}\right)+2 \log 2+\mathbb{E}_{x \sim P_{r}}\left[\log D^{*}(x)\right] Ex∼Pa[−logD∗(x)]=KL(Pg∥Pr)−2JS(Pr∥Pg)+2log2+Ex∼Pr[logD∗(x)]
所以最小化生成器的损失函数等价于最小化 K L ( P g ∥ P r ) − 2 J S ( P r ∥ P g ) K L\left(P_{g} \| P_{r}\right)-2 J S\left(P_{r} \| P_{g}\right) KL(Pg∥Pr)−2JS(Pr∥Pg)
由于 K L ( P g ∥ P r ) K L\left(P_{g} \| P_{r}\right) KL(Pg∥Pr)与 J S ( P r ∥ P g ) J S\left(P_{r} \| P_{g}\right) JS(Pr∥Pg)在最小化时矛盾,导致训练时梯度不稳定。
由于KL散度是不对称的衡量,即 K L ( P g ∥ P r ) K L\left(P_{g} \| P_{r}\right) KL(Pg∥Pr) 与 K L ( P r ∥ P g ) K L\left(P_{r} \| P_{g}\right) KL(Pr∥Pg)存在差别。
这导致生成器趋向于生成重复的接近真实的样本,避免产生错误,造成样本多样性不足的情况。
Wasserstein距离的定义为:
W ( P r , P g ) = inf γ ∼ Π ( P r , P g ) E ( x , y ) ∼ γ [ ∥ x − y ∥ ] W\left(P_{r}, P_{g}\right)=\inf _{\gamma \sim \Pi\left(P_{r}, P_{g}\right)} \mathbb{E}_{(x, y) \sim \gamma}[\|x-y\|] W(Pr,Pg)=γ∼Π(Pr,Pg)infE(x,y)∼γ[∥x−y∥]
Π ( P r , P g ) \Pi\left(P_{r}, P_{g}\right) Π(Pr,Pg) 是 P r P_{r} Pr 和 P g P_{g} Pg 组合起来的所有可能的联合分布的集合。
Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们的远近。
Lipschitz连续指的是存在一个常数 K > 0 K>0 K>0 使得定义域内的任意两个元素 x 1 x_{1} x1 和 x 2 x_{2} x2 都满足
∣ f ( x 1 ) − f ( x 2 ) ∣ ≤ K ∣ x 1 − x 2 ∣ \left|f\left(x_{1}\right)-f\left(x_{2}\right)\right| \leq K\left|x_{1}-x_{2}\right| ∣f(x1)−f(x2)∣≤K∣x1−x2∣
等价于 f f f的导函数绝对值不超过 K K K。
由于Wasserstein距离的式子无法直接求解,可以变换成
W ( P r , P g ) = 1 K sup ∥ f ∥ L ≤ K E x ∼ P r [ f ( x ) ] − E x ∼ P g [ f ( x ) ] W\left(P_{r}, P_{g}\right)=\frac{1}{K} \sup _{\|f\|_{L} \leq K} \mathbb{E}_{x \sim P_{r}}[f(x)]-\mathbb{E}_{x \sim P_{g}}[f(x)] W(Pr,Pg)=K1∥f∥L≤KsupEx∼Pr[f(x)]−Ex∼Pg[f(x)]
其中, ∥ f ∥ L \|f\|_{L} ∥f∥L表示函数 f f f 的Lipschitz常数。上式又可近似为
K ⋅ W ( P r , P g ) ≈ max w : ∣ f w ∣ L ≤ K E x ∼ P r [ f w ( x ) ] − E x ∼ P g [ f w ( x ) ] K \cdot W\left(P_{r}, P_{g}\right) \approx \max _{w:\left|f_{w}\right|_{L} \leq K} \mathbb{E}_{x \sim P_{r}}\left[f_{w}(x)\right]-\mathbb{E}_{x \sim P_{g}}\left[f_{w}(x)\right] K⋅W(Pr,Pg)≈w:∣fw∣L≤KmaxEx∼Pr[fw(x)]−Ex∼Pg[fw(x)]
可以用神经网络来拟合 f w f_{w} fw。我们可以构造一个含参数 w w w、最后一层不是非线性激活层的判别器网络 f w f_{w} fw,在限制 w w w不超过某个范围的条件下,
L = E x ∼ P r [ f w ( x ) ] − E x ∼ P g [ f w ( x ) ] L=\mathbb{E}_{x \sim P_{r}}\left[f_{w}(x)\right]-\mathbb{E}_{x \sim P_{g}}\left[f_{w}(x)\right] L=Ex∼Pr[fw(x)]−Ex∼Pg[fw(x)]
L L L就是近似真实分布与生成分布之间的Wasserstein距离。
判别器 f w f_{w} fw 做的是近似拟合Wasserstein距离,属于回归任务,要去掉最后一层的Sigmoid函数。判别器要做的是令Wasserstein距离尽可能最大,所以损失函数为 E x ∼ P g [ f w ( x ) ] − E x ∼ P r [ f w ( x ) ] \mathbb{E}_{x \sim P_{g}}\left[f_{w}(x)\right]-\mathbb{E}_{x \sim P_{r}}\left[f_{w}(x)\right] Ex∼Pg[fw(x)]−Ex∼Pr[fw(x)]
而生成器的损失函数则为 − E x ∼ P g [ f w ( x ) ] -\mathbb{E}_{x \sim P_{g}}\left[f_{w}(x)\right] −Ex∼Pg[fw(x)]