原始GAN存在训练不稳定的情况,主要原因是JS散度的选取不太合理。我们的目标是通过神经网络的学习,不断地让生成分布 P g P_{g} Pg 不断接近真实分布 P r P_{r} Pr。但是当使用JS散度作为两个分布之间的距离的度量时,如果两个分布之间没有重叠,或重叠部分可忽略,则JS散度的计算值始终为log2,即失去了指导 P g P_{g} Pg 向 P r P_{r} Pr 靠拢的梯度。与此同时, P g P_{g} Pg 和 P r P_{r} Pr 的支撑集属于高维空间的低维流形,因此两者的重叠部分可忽略不计,JS散度也始终接近于常数log2,造成了梯度的消失。
因此,要解决GAN训练不稳定的问题,就要从改变生成分布 P g P_{g} Pg 与真实分布 P r P_{r} Pr之间的距离度量入手。在WGAN中,作者把JS散度改为Wasserstein距离,达到的训练效果比GAN更加稳定。
Wasserstein距离
Wasserstein距离又称为推土机距离(Earth-Mover),其定义如下:
W ( P r , P g ) = i n f γ ∼ ∏ ( P r , P g ) E ( x , y ) ∼ γ [ ∣ ∣ x − y ∣ ∣ ] W(P_{r},P_{g})=\mathop{inf}\limits_{\gamma\sim\prod(P_{r},P_{g})}E_{(x,y)\sim\gamma}[||x-y||] W(Pr,Pg)=γ∼∏(Pr,Pg)infE(x,y)∼γ[∣∣x−y∣∣]
其中, ∏ ( P r , P g ) \prod(P_{r},P_{g}) ∏(Pr,Pg)表示两个分布 P r P_{r} Pr 和 P g P_{g} Pg 组合而成的联合分布集合。每一个 γ \gamma γ对应一个联合分布,在这个联合分布 γ \gamma γ 采样出一个样本对 ( x , y ) (x,y) (x,y),其中 x x x 为真实样本, y y y