WGAN理论推导

本文详细介绍了Wasserstein距离的理论,从定义到线性规划,再到对偶形式的弱对偶和强对偶形式。接着,通过线性规划的对偶问题导出WGAN的优化目标,并讨论了WGAN实现中的关键点,如去掉sigmoid激活、使用RMSProp优化器和权重修剪。最后,提供了Wasserstein距离的代码实现,解析了WGAN中最大化问题转换为最小化问题的技巧。
摘要由CSDN通过智能技术生成

    大部分的文章讲WGAN都会从GAN开始扯,然后到WGAN这里直接扔出一个公式

                                                      W(P_r,P_g)=\mathop{inf}_{\gamma\in\prod(P_r,P_g) }E_{(x,y)\sim\gamma}[\left \|x-y\right \|]

或者

                                                  W(P_r,P_g)=\mathop{sup}_{\left\|f\right|_L\leq 1}E_{x\sim P_r}[f(x)]-E_{x\sim P_\theta}[f(x)]

    然后开始讲这就是EM距离,讲的是模拟推土机推土的距离,至于怎么推土的,不好意思,没有。

    《从Wasserstein距离、对偶理论到WGAN》这篇文章中讲的是这土是怎么推的,本文内容基于这篇文章,主要工作是根据自身理解情况调整内容顺序,并添加一些个人理解的内容。

    1.Wasserstein距离

        真正的Wasserstein距离公式实际上是长下面这个样子的:

                                             \mathcal{W}_{[p,q]}=\mathop{inf}_{\gamma\in\prod_{[p,q]}}\iint{\gamma(x,y)d(x,y)dxdy}

        其中\gamma\in\prod{[p,q]}表示\gamma服从[p,q]的联合分布,p,q\gamma的边缘分布,因此有下面的关系成立

                            \int\gamma(x,y)dy=p(x)  和\int\gamma(x,y)dx=q(y)

      \mathop{inf}表示下确界,简单理解就是最小值。d(x,y)分布pq的距离。距离可以使用各种形式,最常用的有各种范数,还有余弦距离等等。

   边缘分布可以从概率的角度来解释,但在EM距离中通常采用“推土机”推土的比喻,实际上就是将一个分布转换成另一个分布需要做的工作是多少,\int\gamma(x,y)dx=q(y)表示的就是从x处搬运\gamma(x,y)dx到y处所需要的成本,这个成本可以理解为做的功是多少,或者移动的距离是多少,总是会得到一个表示成本的数字,如下图所示:

              推土机距离图示:左边p(x)每处的沙土被分为若干部分,然后运输到右端q(x)的同色的位置(或者不动)

   因此,可以将d(x,y)理解为成本(也就是距离),将\gamma(x,y)理解为搬运的策略,\iint{\gamma(x,y)d(x,y)dxdy}取最小就得到了最小的搬运成本。

    2.从W距离到线性规划

                                                            \mathcal{W}_{[p,q]}=\mathop{inf}_{\gamma\in\prod_{[p,q]}}\iint{\gamma(x,y)d(x,y)dxdy} \qquad\qquad(1)

        公式(1)看起来比较复杂,实际上可以转换成一种更好理解的形式,即有约束的优化问题:

        问题1:目标是求

                                                                   \iint{\gamma(x,y)d(x,y)dxdy} \qquad\qquad(2)

的最小值,其中d(x,y)是确定的,且需要满足以下约束:

                                                   \int\gamma(x,y)dy=p(x),\int\gamma(x,y)dx=q(y),\gamma(x,y)\ge0 \qquad\qquad(3)

       积分只是求和的连续极限形式,因此可以将式(2)写成离散的形式,将d(x,y)\gamma(x,y)离散化,写成很长的向量[1]

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值