WGAN(Wassertein GAN)

WGAN

E x ∼ P g [ log ⁡ ( 1 − D ( x ) ) ] E x ∼ P g [ − log ⁡ D ( x ) ] \begin{aligned} & \mathbb{E}_{x \sim P_g}[\log (1-D(x))] \\ & \mathbb{E}_{x \sim P_g}[-\log D(x)] \end{aligned} ExPg[log(1D(x))]ExPg[logD(x)]
原始 GAN 中判别器; 在 WGAN 两篇论文中称为 “the - log D alternative” 或 “the - log D trick”。WGAN 前作分别分析了这两种形式的原始 GAN 各自的问题所在 .

第一种原始 GAN 形式的问题

原始 GAN 中判别器要最小化如下损失函数,尽可能把真实样本分为正例,生成样本分为负例:
− E x ∼ P r [ log ⁡ D ( x ) ] − E x ∼ P g [ log ⁡ ( 1 − D ( x ) ) ] -\mathbb{E}_{x \sim P_r}[\log D(x)]-\mathbb{E}_{x \sim P_g}[\log (1-D(x))] ExPr[logD(x)]ExPg[log(1D(x))]
一句话概括:判别器越好,生成器梯度消失越严重。

在生成器 G 固定参数时最优的判别器 D 应该是什么,对于一个具体样本 x x x 它对公式 1 损失函数的贡献是
− P r ( x ) log ⁡ D ( x ) − P g ( x ) log ⁡ [ 1 − D ( x ) ] -P_r(x) \log D(x)-P_g(x) \log [1-D(x)] Pr(x)logD(x)Pg(x)log[1D(x)]

− P r ( x ) D ( x ) + P g ( x ) 1 − D ( x ) = 0 -\frac{P_r(x)}{D(x)}+\frac{P_g(x)}{1-D(x)}=0 D(x)Pr(x)+1D(x)Pg(x)=0

D ∗ ( x ) = P r ( x ) P r ( x ) + P g ( x ) D^*(x)=\frac{P_r(x)}{P_r(x)+P_g(x)} D(x)=Pr(x)+Pg(x)Pr(x)

如果 P r ( x ) = 0 P_r(x)=0 Pr(x)=0 P g ( x ) ≠ 0 P_g(x)\neq0 Pg(x)=0 最优判别器就应该非常自信地给出概率 0;如果 P r ( x ) = P g ( x ) P_r(x)=P_g(x) Pr(x)=Pg(x)

说明该样本是真是假的可能性刚好一半一半,此时最优判别器也应该给出概率 0.5。

GAN 训练有一个 trick,就是别把判别器训练得太好,否则在实验中生成器会完全学不动(loss 降不下去),为了探究背后的原因,我们就可以看看在极端情况 —— 判别器最优时,生成器的损失函数变成什么。给公式 2 加上一个不依赖于生成器的项,使之变成

D ∗ ( x ) D^*(x) D(x) 带入 公式1 得到
E x ∼ P r log ⁡ P r ( x ) 1 2 [ P r ( x ) + P g ( x ) ] + E x ∼ P g log ⁡ P g ( x ) 1 2 [ P r ( x ) + P g ( x ) ] − 2 log ⁡ 2 \mathbb{E}_{x \sim P_r} \log \frac{P_r(x)}{\frac{1}{2}\left[P_r(x)+P_g(x)\right]}+\mathbb{E}_{x \sim P_g} \log \frac{P_g(x)}{\frac{1}{2}\left[P_r(x)+P_g(x)\right]}-2 \log 2 ExPrlog21[Pr(x)+Pg(x)]Pr(x)+ExPglog21[Pr(x)+Pg(x)]Pg(x)2log2

K L ( P 1 ∥ P 2 ) = E x ∼ P 1 log ⁡ P 1 P 2 J S ( P 1 ∥ P 2 ) = 1 2 K L ( P 1 ∥ P 1 + P 2 2 ) + 1 2 K L ( P 2 ∥ P 1 + P 2 2 ) \begin{aligned} & K L\left(P_1 \| P_2\right)=\mathbb{E}_{x \sim P_1} \log \frac{P_1}{P_2} \\ & J S\left(P_1 \| P_2\right)=\frac{1}{2} K L\left(P_1 \| \frac{P_1+P_2}{2}\right)+\frac{1}{2} K L\left(P_2 \| \frac{P_1+P_2}{2}\right) \end{aligned} KL(P1P2)=ExP1logP2P1JS(P1P2)=21KL(P12P1+P2)+21KL(P22P1+P2)

2 J S ( P r ∥ P g ) − 2 log ⁡ 2 2 J S\left(P_r \| P_g\right)-2 \log 2 2JS(PrPg)2log2

key point

在最优判别器下,我们可以把原始GAN定义的生成器loss等价变换为最小化真实分布 P r P_r Pr 与生成分布 P g P_g Pg 之间的JS散度。我们越训练判别器,它就越接近最优最小化生成器的 loss 也就会越近似于最小化$ P_r$ P g P_g Pg 之间的JS 散度。

问题就出在这个 JS 散度上。我们会希望如果两个分布之间越接近它们的 JS 散度越小,我们通过优化 JS 散度就能将 P g P_g Pg "拉向" P r P_r Pr​, ,最终以假乱真。这个希望在两个分布有所重叠的时候是成立的,但是如果两个分布完全没有重叠的部分,或者它们重叠的部分可忽略(下面解释什么叫可忽略),它们的 JS 散度是多少呢? 答案是log⁡2,因为对于任意一个 x 只有四种可能:
P 1 ( x ) = 0 且  P 2 ( x ) = 0 P 1 ( x ) ≠ 0 且  P 2 ( x ) ≠ 0 P 1 ( x ) = 0 且  P 2 ( x ) ≠ 0 P 1 ( x ) ≠ 0 且  P 2 ( x ) = 0 \begin{aligned} & P_1(x)=0 \text { 且 } P_2(x)=0 \\ & P_1(x) \neq 0 \text { 且 } P_2(x) \neq 0 \\ & P_1(x)=0 \text { 且 } P_2(x) \neq 0 \\ & P_1(x) \neq 0 \text { 且 } P_2(x)=0 \end{aligned} P1(x)=0  P2(x)=0P1(x)=0  P2(x)=0P1(x)=0  P2(x)=0P1(x)=0  P2(x)=0

  • 第一种对计算 JS 散度无贡献
  • 第二种情况由于重叠部分可忽略所以贡献也为 0
  • 第三种情况对公式 7 右边第一个项的贡献 log ⁡ P 2 1 2 ( P 2 + 0 ) = log ⁡ 2 \log \frac{P_2}{\frac{1}{2}\left(P_2+0\right)}=\log 2 log21(P2+0)P2=log2
  • 第四种情况 J S ( P 1 ∥ P 2 ) = log ⁡ 2 J S\left(P_1 \| P_2\right)=\log 2 JS(P1P2)=log2

即无论 P r P_r Pr P g P_g Pg 是远在天边,还是近在眼前,只要它们俩没有一点重叠或者重叠部分可忽略,JS 散度就固定是常数log⁡2, 而这对于梯度下降方法意味着 —— 梯度为 0.此时对于最优判别器来说,生成器肯定是得不到一丁点梯度信息的;即使对于接近最优的判别器来说,生成器也有很大机会面临梯度消失的问题。

Manifold A topological space that locally resembles Euclidean space near each point when this Euclidean space is of dimension n n n ,the manifold is referred as manifold.

  • 支撑集(support)其实就是函数的非零部分子集,比如 ReLU 函数的支撑集就是(0,+∞),一个概率分布的支撑集就是所有概率密度非零部分的集合。
  • 流形(manifold)是高维空间中曲线、曲面概念的拓广,我们可以在低维上直观理解这个概念,比如我们说三维空间中的一个曲面是一个二维流形,因为它的本质维度(intrinsic dimension)只有 2,一个点在这个二维流形上移动只有两个方向的自由度。同理,三维空间或者二维空间中的一条曲线都是一个一维流形。

P r Pr Pr 已发现它们集中在较低维流形中。这实际上是流形学习的基本假设。想想现实世界的图像,一旦主题或所包含的对象固定,图像就有很多限制可以遵循,例如狗应该有两只耳朵和一条尾巴,摩天大楼应该有笔直而高大的身体,等等。这些限制使图像无法具有高维自由形式。

P g P_g Pg 也存在于低维流形中。每当生成器被要求提供更大的图像(例如 64x64),给定小尺寸(例如 100),噪声变量输入 z z z 这4096个像素的颜色分布是由100维的小随机数向量定义的,很难填满整个高维空间。

P r P_r Pr P g P_g Pg 不重叠或重叠部分可忽略的可能性有多大?不严谨的答案是:非常大。

both P r P_r Pr and p g p_g pg 处于低维流形中,他们几乎不会相交。(wgan 前面一篇理论证明)

GAN 中的生成器一般是从某个低维(比如 100 维)的随机分布中采样出一个编码向量 z z z,再经过一个神经网络生成出一个高维样本(比如 64x64 的图片就有 4096 维)。当生成器的参数固定时,生成样本的概率分布虽然是定义在 4096 维的空间上,但它本身所有可能产生的变化已经被那个 100 维的随机分布限定了,其本质维度就是 100,再考虑到神经网络带来的映射降维,最终可能比 100 还小,所以生成样本分布的支撑集就在 4096 维空间中构成一个最多 100 维的低维流形,“撑不满” 整个高维空间。

在这里插入图片描述

我们就得到了 WGAN 前作中关于生成器梯度消失的第一个论证:在(近似)最优判别器下,最小化生成器的 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,最终导致生成器的梯度(近似)为 0,梯度消失。

原始 GAN 不稳定的原因就彻底清楚了:判别器训练得太好,生成器梯度消失,生成器 loss 降不下去;判别器训练得不好,生成器梯度不准,四处乱跑。只有判别器训练得不好不坏才行,但是这个火候又很难把握,甚至在同一轮训练的前后不同阶段这个火候都可能不一样,所以 GAN 才那么难训练。

在这里插入图片描述

第二种原始 GAN 形式的问题 “the - log D trick”

一句话概括:最小化第二种生成器 loss 函数,会等价于最小化一个不合理的距离衡量,导致两个问题,一是梯度不稳定,二是 **Mode collapse 即多样性不足。**WGAN 前作又是从两个角度进行了论证

上文推导已经得到在最优判别器 D ∗ D^* D
E x ∼ P r [ log ⁡ D ∗ ( x ) ] + E x ∼ P g [ log ⁡ ( 1 − D ∗ ( x ) ) ] = 2 J S ( P r ∥ P g ) − 2 log ⁡ 2 \mathbb{E}_{x \sim P_r}\left[\log D^*(x)\right]+\mathbb{E}_{x \sim P_g}\left[\log \left(1-D^*(x)\right)\right]=2 J S\left(P_r \| P_g\right)-2 \log 2 ExPr[logD(x)]+ExPg[log(1D(x))]=2JS(PrPg)2log2

K L ( P g ∥ P r ) = E x ∼ P g [ log ⁡ P g ( x ) P r ( x ) ] = E x ∼ P g [ log ⁡ P g ( x ) / ( P r ( x ) + P g ( x ) ) P r ( x ) / ( P r ( x ) + P g ( x ) ) ] = E x ∼ P g [ log ⁡ 1 − D ∗ ( x ) D ∗ ( x ) ] = E x ∼ P g log ⁡ [ 1 − D ∗ ( x ) ] − E x ∼ P g log ⁡ D ∗ ( x ) \begin{aligned} K L\left(P_g \| P_r\right) & =\mathbb{E}_{x \sim P_g}\left[\log \frac{P_g(x)}{P_r(x)}\right] \\ & =\mathbb{E}_{x \sim P_g}\left[\log \frac{P_g(x) /\left(P_r(x)+P_g(x)\right)}{P_r(x) /\left(P_r(x)+P_g(x)\right)}\right] \\ & =\mathbb{E}_{x \sim P_g}\left[\log \frac{1-D^*(x)}{D^*(x)}\right] \\ & =\mathbb{E}_{x \sim P_g} \log \left[1-D^*(x)\right]-\mathbb{E}_{x \sim P_g} \log D^*(x) \end{aligned} KL(PgPr)=ExPg[logPr(x)Pg(x)]=ExPg[logPr(x)/(Pr(x)+Pg(x))Pg(x)/(Pr(x)+Pg(x))]=ExPg[logD(x)1D(x)]=ExPglog[1D(x)]ExPglogD(x)

E x ∼ P g [ − log ⁡ D ∗ ( x ) ] = K L ( P g ∥ P r ) − E x ∼ P g log ⁡ [ 1 − 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 ) ] \begin{aligned} \mathbb{E}_{x \sim P_g}\left[-\log D^*(x)\right] & =K L\left(P_g \| P_r\right)-\mathbb{E}_{x \sim P_g} \log \left[1-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] \end{aligned} ExPg[logD(x)]=KL(PgPr)ExPglog[1D(x)]=KL(PgPr)2JS(PrPg)+2log2+ExPr[logD(x)]

注意上式最后两项不依赖于生成器 G G G ,最终得到最小化公式 3 等价于最小化 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(PgPr)2JS(PrPg)

这个等价最小化目标存在两个严重的问题。第一是它同时要最小化生成分布与真实分布的 KL 散度,却又要最大化两者的 JS 散度,一个要拉近,一个却要推远!这在直观上非常荒谬,在数值上则会导致梯度不稳定,这是后面那个 JS 散度项的毛病。

第二,即便是前面那个正常的 KL 散度项也有毛病。因为 KL 散度不是一个对称的衡量 K L ( P g ∥ P r ) K L\left(P_g \| P_r\right) KL(PgPr) K L ( P r ∥ P g ) K L\left(P_r \| P_g\right) KL(PrPg) 是有差别的。

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)γ[xy]

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以看出 Wasserstein 距离处处连续,而且几乎处处可导,数学性质非常好,能够在两个分布没有重叠部分的时候,依旧给出合理的距离度量。对于离散概率分布,Wasserstein 距离也被描述性地称为推土机距离 (EMD)。 如果我们将分布想象为一定量地球的不同堆,那么 EMD 就是将一个堆转换为另一堆所需的最小总工作量。

解释如下: Π ( P r , P g ) \Pi\left(P_r, P_g\right) Π(Pr,Pg) P r P_r Pr P g P_g Pg 组合起来的所有可能的联合分布的集合,反过来说, Π ( P r , P g ) \Pi\left(P_r, P_g\right) Π(Pr,Pg) 中每一个分布的边缘分布都是 P r P_r Pr P g P_g Pg 。对于每一个可能的联合分布 γ \gamma γ 而言,可以从 中采样 ( x , y ) ∼ γ (x, y) \sim \gamma (x,y)γ 得到一个真实样本 x x x 和一个生成样本 y y y ,并算出这对样本的距离 ∥ x − y ∥ \|x-y\| xy ,所 以可以计算该联合分布 γ \gamma γ 下样本对距离的期望值 E ( x , y ) ∼ γ [ ∥ x − y ∥ ] \mathbb{E}_{(x, y) \sim \gamma}[\|x-y\|] E(x,y)γ[xy] 。在所有可能的联合分布中 够对这个期望值取到的下界inf in ⁡ γ ∼ ( P r , P g ) E ( x , y ) ∼ γ [ ∥ x − y ∥ ] \operatorname{in}_{\gamma \sim\left(P_r, P_g\right)} \mathbb{E}_{(x, y) \sim \gamma}[\|x-y\|] inγ(Pr,Pg)E(x,y)γ[xy] ,就定义为 Wasserstein 距离。

直观上可以把 E ( x , y ) ∼ γ [ ∥ x − y ∥ ] \mathbb{E}_{(x, y) \sim \gamma}[\|x-y\|] E(x,y)γ[xy] 理解为在 γ \gamma γ 这个 “路径规划" 下把 P r P_r Pr 这堆 “沙土" 挪到 P g P_g Pg “位置” 所需的 “消耗”, 而 W ( P r , P g ) W\left(P_r, P_g\right) W(Pr,Pg) 就是 “最优路径规划" 下的 “最小消耗”,所以才 叫 Earth-Mover (推土机 ) 距离

Wasserstein 距离相比 KL 散度、JS 散度的优越性在于,即便两个分布没有重叠,Wasserstein 距离仍然能够反映它们的远近。WGAN 本作通过简单的例子展示了这一点。考虑如下二维空间中 的两个分布 P 1 P_1 P1 P 2 , P 1 P_2 , P_1 P2P1 在线段 A B \mathrm{AB} AB 上均匀分布, P 2 P_2 P2 在线段 C D \mathrm{CD} CD 上均匀分布,通过控制参数 θ \theta θ 可以控制着两个分布的距离远近。

在这里插入图片描述
在这里插入图片描述

K L ( P 1 ∥ P 2 ) = K L ( P 1 ∣ ∣ P 2 ) = { + ∞ if  θ ≠ 0 0 if  θ = 0 (突变)  J S ( P 1 ∥ P 2 ) = { log ⁡ 2 if  θ ≠ 0 0 if  θ − 0 (突变 )  W ( P 0 , P 1 ) = ∣ θ ∣ (平滑 )  \begin{aligned} & K L\left(P_1 \| P_2\right)=K L\left(P_1|| P_2\right)=\left\{\begin{array}{ll} +\infty & \text { if } \theta \neq 0 \\ 0 & \text { if } \theta=0 \end{array}\right. \text { (突变) } \\ & J S\left(P_1 \| P_2\right)=\left\{\begin{array}{ll} \log 2 & \text { if } \theta \neq 0 \\ 0 & \text { if } \theta-0 \end{array}\right. \text { (突变 ) } \\ & W\left(P_0, P_1\right)=|\theta| \text { (平滑 ) } \end{aligned} KL(P1P2)=KL(P1∣∣P2)={+0 if θ=0 if θ=0 (突变JS(P1P2)={log20 if θ=0 if θ0 (突变 ) W(P0,P1)=θ (平滑 ) 

第四部分:从 Wasserstein 距离到 WGAN

EMD ⁡ ( P r , P θ ) = inf ⁡ γ ∈ Π ∑ x , y ∥ x − y ∥ γ ( x , y ) = inf ⁡ γ ∈ Π E ( x , y ) ∼ γ ∥ x − y ∥ \operatorname{EMD}\left(P_r, P_\theta\right)=\inf _{\gamma \in \Pi} \sum_{x, y}\|x-y\| \gamma(x, y)=\inf _{\gamma \in \Pi} \mathbb{E}_{(x, y) \sim \gamma}\|x-y\| EMD(Pr,Pθ)=γΠinfx,yxyγ(x,y)=γΠinfE(x,y)γxy

It is intractable to exhaust all the possible joint distributions in Π ( p r , p g ) \Pi\left(p_r, p_g\right) Π(pr,pg) to compute inf ⁡ γ ∼ Π ( p r , p g ) \inf _{\gamma \sim \Pi\left(p_r, p_g\right)} infγΠ(pr,pg) Thus the authors proposed a smart transformation of the formula based on the KantorovichRubinstein duality to: 作者提出了基于 Kantorovich-Rubinstein 对偶性的公式的巧妙转换:
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)=K1fLKsupExpr[f(x)]Expg[f(x)]
首先需要介绍一个概念——Lipschitz 连续。它其实就是在一个连续函数 f f f 上面额外施加了一个限 制,要求存在一个常数 K ≥ 0 K \geq 0 K0 使得定义域内的任意两个元素 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)Kx1x2
此时称函数 f f f 的 Lipschitz 常数为 K K K

述公式 的意思就是在要求函数 f f f 的 Lipschitz 常数 ∣ f ∥ L \mid f \|_L fL 不超过 K K K 的条件下,对所有可能满足 件的 f f f 取到趻 数 w w w 来定义一系列可能的函数 f w f_w fw ,此时求解公式 可以近似变成求解如下形式
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] KW(Pr,Pg)w:fwLKmaxExPr[fw(x)]ExPg[fw(x)]

W ( p r , p θ ) = inf ⁡ γ ∈ π ∬ ∥ x − y ∥ γ ( x , y ) d x d y = inf ⁡ γ ∈ π E x , y ∼ γ [ ∥ x − y ∥ ] . W\left(p_r, p_\theta\right)=\inf _{\gamma \in \pi} \iint\|x-y\| \gamma(x, y) \mathrm{d} x \mathrm{~d} y=\inf _{\gamma \in \pi} \mathbb{E}_{x, y \sim \gamma}[\|x-y\|] . W(pr,pθ)=γπinfxyγ(x,y)dx dy=γπinfEx,yγ[xy].

W ( p r , p θ ) = inf ⁡ γ ∈ π E x , y ∼ γ [ ∥ x − y ∥ ] = inf ⁡ γ E x , y ∼ γ [ ∥ x − y ∥ + sup ⁡ f E s ∼ p r [ f ( s ) ] − E t ∼ p θ [ f ( t ) ] − ( f ( x ) − f ( y ) ) ] ⏟ = { 0 , if  γ ∈ π + ∞ else  = inf ⁡ γ sup ⁡ f E x , y ∼ γ [ ∥ x − y ∥ + E s ∼ p r [ f ( s ) ] − E t ∼ p θ [ f ( t ) ] − ( f ( x ) − f ( y ) ) ] \begin{aligned} W\left(p_r, p_\theta\right) & =\inf _{\gamma \in \pi} \mathbb{E}_{x, y \sim \gamma}[\|x-y\|] \\ & =\inf _\gamma \mathbb{E}_{x, y \sim \gamma}[\|x-y\|+\underbrace{\left.\sup _f \mathbb{E}_{s \sim p_r}[f(s)]-\mathbb{E}_{t \sim p_\theta}[f(t)]-(f(x)-f(y))\right]} \\ & =\left\{\begin{array}{c} 0, \text { if } \gamma \in \pi \\ +\infty \text { else } \end{array}\right. \\ & =\inf _\gamma \sup _f \mathbb{E}_{x, y \sim \gamma}\left[\|x-y\|+\mathbb{E}_{s \sim p_r}[f(s)]-\mathbb{E}_{t \sim p_\theta}[f(t)]-(f(x)-f(y))\right] \end{aligned} W(pr,pθ)=γπinfEx,yγ[xy]=γinfEx,yγ[xy+ fsupEspr[f(s)]Etpθ[f(t)](f(x)f(y))]={0, if γπ+ else =γinffsupEx,yγ[xy+Espr[f(s)]Etpθ[f(t)](f(x)f(y))]

sup ⁡ f inf ⁡ γ E x , y ∼ γ [ ∥ x − y ∥ + E s ∼ p r [ f ( s ) ] − E t ∼ p θ [ f ( t ) ] − ( f ( x ) − f ( y ) ) ] = sup ⁡ f E s ∼ p r [ f ( s ) ] − E t ∼ p θ [ f ( t ) ] + inf ⁡ γ E x , y ∼ γ [ ∥ x − y ∥ − ( f ( x ) − f ( y ) ) ] ⏟ γ = { 0 , if  ∥ f ∥ L ≤ 1 − ∞ else  \begin{array}{r} \sup _f \inf _\gamma \mathbb{E}_{x, y \sim \gamma}\left[\|x-y\|+\mathbb{E}_{s \sim p_r}[f(s)]-\mathbb{E}_{t \sim p_\theta}[f(t)]-(f(x)-f(y))\right] \\ =\sup _f \mathbb{E}_{s \sim p_r}[f(s)]-\mathbb{E}_{t \sim p_\theta}[f(t)]+\underbrace{\inf _\gamma \mathbb{E}_{x, y \sim \gamma}[\|x-y\|-(f(x)-f(y))]}_\gamma \\ =\left\{\begin{array}{cc} 0, & \text { if }\|f\|_L \leq 1 \\ -\infty & \text { else } \end{array}\right. \end{array} supfinfγEx,yγ[xy+Espr[f(s)]Etpθ[f(t)](f(x)f(y))]=supfEspr[f(s)]Etpθ[f(t)]+γ γinfEx,yγ[xy(f(x)f(y))]={0, if fL1 else 

W ( p r , p θ ) = sup ⁡ f E s ∼ p r [ f ( s ) ] − E t ∼ p θ [ f ( t ) ] + inf ⁡ γ E x , y ∼ γ [ ∥ x − y ∥ − ( f ( x ) − f ( y ) ) ] = sup ⁡ ∥ f ∥ L ≤ 1 E s ∼ p r [ f ( s ) ] − E t ∼ p θ [ f ( t ) ] \begin{aligned} W\left(p_r, p_\theta\right) & =\sup _f \mathbb{E}_{s \sim p_r}[f(s)]-\mathbb{E}_{t \sim p_\theta}[f(t)]+\inf _\gamma \mathbb{E}_{x, y \sim \gamma}[\|x-y\|-(f(x)-f(y))] \\ & =\sup _{\|f\|_{L \leq 1}} \mathbb{E}_{s \sim p_r}[f(s)]-\mathbb{E}_{t \sim p_\theta}[f(t)] \end{aligned} W(pr,pθ)=fsupEspr[f(s)]Etpθ[f(t)]+γinfEx,yγ[xy(f(x)f(y))]=fL1supEspr[f(s)]Etpθ[f(t)]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/369986.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python爬虫教程第1篇-基础知识

文章目录 什么是爬虫爬虫的工作原理用途搜索引擎爬虫Robots协议HTTP的请求过程URL的含义HTTP常见请求头爬虫常用的技术 什么是爬虫 信息的交互是通过web网页、或者移动端等不同的客户端端形式进行交互,这个过程是一个人与网路正常的交互行为。而爬虫可以用来模拟人…

SwiftUI 6.0(iOS 18.0)滚动视图新增的滚动阶段(Scroll Phase)监听功能趣谈

何曾几时,在 SwiftUI 开发中的秃头小码农们迫切需要一种能够读取当前滚动状态的方法。 在过去,他们往往需要借助于 UIKit 的神秘力量。不过这一切在 SwiftUI 6.0 中已成“沧海桑田”。 在本篇博文中,您将学到如下内容: 1. Scroll…

植物大战僵尸融合版最新版1.0下载及安装教程

《植物大战僵尸融合版》最新版1.0已经发布,为粉丝们带来了全新的游戏体验。这个版本由B站UP主蓝飘飘fly精心打造,引入了创新的植物融合玩法,让玩家可以享受策略和创意的结合。以下是游戏的详细介绍和安装指南: 游戏特色介绍 全新…

审核平台前端新老仓库迁移

背景 审核平台接入50业务,提供在线审核及离线质检、新人培训等核心能力,同时提供数据报表、资源追踪、知识库等工具。随着平台的飞速发展,越来越多的新业务正在或即将接入审核平台,日均页面浏览量为百万级别。如今审核平台已是公司…

可验证算法在招投标领域的专家“盲抽”中的标段识别码加密应用研究

摘要 在招投标过程中,标段(包)识别码的安全性至关重要。本文提出了一种基于可验证算法的标段识别码加密方法,以确保其在专家“盲抽”过程中的保密性和可信性。通过对不同表的标段识别码进行全量加密,并通过匹配验证其…

【Nginx】docker运行Nginx及配置

Nginx镜像的获取 直接从Docker Hub拉取Nginx镜像通过Dockerfile构建Nginx镜像后拉取 二者区别 主要区别在于定制化程度和构建过程的控制: 直接拉取Nginx镜像: 简便性:直接使用docker pull nginx命令可以快速拉取官方的Nginx镜像。这个过程…

SpringBoot 启动流程四

SpringBoot启动流程四 前面这个创建对象是初始化SpringApplication对象 是加载了SpringBoot程序的所有相关配置 我们接下来要将这个run方法 run过程是一个运行 初始化容器 我们看我们的运行结果是得到一个ConfigurableApplicationContext对象 package com.bigdata1421.star…

【Android】Android基础--显式Intent和隐式Intent

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

STM32和DHT11使用显示温湿度度(代码理解)+单总线协议

基于STM32CT,利用DHT11采集温湿度数据,在OLED上显示。一定要阅读DHT11数据手册。 1、 DHT11温湿度传感器 引脚说明 1、VDD 供电3.3~5.5V DC 2、DATA 串行数据,单总线 3、NC 空脚 4、GND 接地,电源负极 硬件电路 微…

【Linux进程】进程优先级 Linux 2.6内核进程的调度

前言 进程是资源分配的基本单位, 在OS中存在这很多的进程, 那么就必然存在着资源竞争的问题, 操作系统是如何进行资源分配的? 对于多个进程同时运行, 操作系统又是如何调度达到并发呢? 本文将以Linux kernel 2.6为例 , 向大家介绍进程在操作系统中 (OS) 的调度原理; 1. 进程优…

嵌入式linux面试1

1. linux 1.1. Window系统和Linux系统的区别 linux区分大小写windows在dos(磁盘操作系统)界面命令下不区分大小写; 1.2. 文件格式区分 windows用扩展名区分文件;如.exe代表执行文件,.txt代表文本文件,.…

.net 调用海康SDK的跨平台解决方案

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:新的征程,我们面对的不仅仅是技术还有人心,人心不可测,海水不可量,唯有技术,才是深沉黑夜中的一座闪烁的灯塔序言 上2篇海康SDK使用以及常见的坑…

玩转Easysearch语法

Elasticsearch 是一个基于Apache Lucene的开源分布式搜索和分析引擎,广泛应用于全文搜索、结构化搜索、分析等多种场景。 Easysearch 作为Elasticsearch 的国产化替代方案,不仅保持了与原生Elasticsearch 的高度兼容性,还在功能、性能、稳定性…

Python基础小知识问答系列-高效遍历多个不同类型元素的迭代器

1. 问题: 当需要对多个迭代器进行相同遍历操作时,如何避免因为迭代器之间的类型或者迭代器元素 数量过大引发的问题? 2. 解决方法: 使用itertools模块中的chain函数。 示例: from itertools import chainlist_a [2,…

C语言之Const关键字与指针

目录 1 前言2 变量与指针的储存方式3 const int *var;int *const var;const int *const var;理解与区分4 总结 1 前言 实际开发过程中经常遇到const关键字作用于指针的情况,例如:const int *var;int *const var;const…

【前端】从零开始学习编写HTML

目录 一、什么是前端 二、什么是HTML 三、HTML文件的基本结构 四、HTML常见标签 4.1 注释标签 4.2 标题标签 4.3 段落标签 4.4 换行标签 4.5 格式化标签 4.6 图片标签 4.7 超链接标签 4.8 表格标签 4.9 列表标签 4.10 表单标签 (1)form标…

【vue动态组件】VUE使用component :is 实现在多个组件间来回切换

VUE使用component :is 实现在多个组件间来回切换 component :is 动态父子组件传值 相关代码实现&#xff1a; <component:is"vuecomponent"></component>import componentA from xxx; import componentB from xxx; import componentC from xxx;switch(…

电脑f盘的数据回收站清空了能恢复吗

随着信息技术的飞速发展&#xff0c;电脑已成为我们日常生活和工作中不可或缺的设备。然而&#xff0c;数据的丢失或误删往往会给人们带来极大的困扰。尤其是当F盘的数据在回收站被清空后&#xff0c;许多人会陷入绝望&#xff0c;认为这些数据已无法挽回。但事实真的如此吗&am…

windows server2016搭建AD域服务器

文章目录 一、背景二、搭建AD域服务器步骤三、生成可供java程序使用的keystore文件四、导出某用户的keytab文件五、主机配置hosts文件六、主机确认是否能ping通本人其他相关文章链接 一、背景 亲测可用,之前搜索了很多博客&#xff0c;啥样的都有&#xff0c;就是不介绍报错以…

STM32-I2C硬件外设

本博文建议与我上一篇I2C 通信协议​​​​​​共同理解 合成一套关于I2C软硬件体系 STM32内部集成了硬件I2C收发电路&#xff0c;可以由硬件自动执行时钟生成、起始终止条件生成、应答位收发、数据收发等功能&#xff0c;减轻CPU的负担 特点&#xff1a; 多主机功能&#x…