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