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.mzph.cn/web/40655.shtml

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

相关文章

springboot基于Java的超市进销存系统+ LW+ PPT+源码+讲解

第三章系统分析与设计 3.1 可行性分析 一个完整的系统,可行性分析是必须要有的,因为他关系到系统生存问题,对开发的意义进行分析,能否通过本网站来补充线下超市进销存管理模式中的缺限,去解决其中的不足等&#xff0c…

6域名系统DNS

《计算机网络》第7版,谢希仁 每次记不清楚的知识点,通过上网查找,总是只能看到很零碎的答案。最后还是最喜欢看这个版本的书,一看就回忆起来了,逻辑严谨,循循善诱,知识讲解的全面又清晰&#xf…

架构师应该在团队中发挥怎样的作用?

架构师分为5种: 1.企业架构师EA(Enterprise Architect) EA的职责是决定整个公司的技术路线和技术发展方向。 2.基础结构架构师IA(Infrastructure Architect) IA的工作就是提炼和优化技术方面积累和沉淀形成的基础性的、公共的、可复用的框架和组件,这…

Qt 基础组件速学 鼠标和键盘事件

学习目标: 鼠标事件和键盘事件应用 前置环境 运行环境:qt creator 4.12 学习内容和效果演示: 1.鼠标事件 根据鼠标的坐标位置,做出对应的事件。 2.键盘事件 根据键盘的输入做出对应操作 详细主要代码 1.鼠标事件 #include "main…

一文读懂轻量日志收集系统Loki工作原理

Loki 是由 Grafana Labs 开发的日志聚合系统,设计目标是提供一种高效、低成本的日志收集和查询解决方案。与传统的日志系统(如 ELK Stack)不同,Loki 不会对日志内容进行索引,而是仅对日志的元数据进行索引,…

FTP、http 、tcp

HTTP VS FTP HTTP :HyperText Transfer Protocol 超文本传输协议,是基于TCP协议 FTP: File Transfer Protocol 文件传输协议, 基于TCP协议, 基于UDP协议的FTP 叫做 TFTP HTTP 协议 通过一个SOCKET连接传输依次会话数…

FIND_IN_SET使用案例--[sql语句根据多ids筛选出对应数据]

一 FIND_IN_SET select id,system_ids from intellect_client_info where FIND_IN_SET(5, system_ids) > 0;

Spring Boot 中的监视器是什么?有什么作用?

前言: 监听器相信熟悉 Spring、Spring Boot 的都知道,但是监视器又是什么?估计很多人一脸懵的状态,本篇分享一下 Spring Boot 的监视器。 Spring Boot 系列文章传送门 Spring Boot 启动流程源码分析(2) …

Apache DolphinScheduler 与 AWS 的 EMR/Redshift 集成实践分享

引言 这篇文章将给大家讲解关于DolphinScheduler与AWS的EMR和Redshift的集成实践,通过本文希望大家能更深入地了解AWS智能湖仓架构,以及DolphinScheduler在实际应用中的重要性。 AWS智能湖仓架构 首先,我们来看一下AWS经典的智能湖仓架构图…

高考选专业,兴趣与就业前景该如何平衡?

从高考结束的那一刻开始,有些家长和学生就已经变得焦虑了,因为他们不知道成绩出来的时候学生应该如何填报志愿,也不知道选择什么样的专业,毕竟大学里面的专业丰富多彩,如何选择确实是一门学问,而对于学生们…

乐清网站建设规划书

乐清是位于浙江省温州市的一个县级市,拥有悠久的历史和丰富的文化底蕴。随着互联网的快速发展,网站建设成为推动乐清经济和文化发展的重要手段。因此,我们认为有必要制定一个全面的乐清网站建设规划书,以促进乐清的经济繁荣和文化…

东芝 TB5128FTG 强大性能的步进电机驱动器

TB5128FTG它以高精度和高效能为设计理念,采用 PWM 斩波方法,并内置时钟解码器。通过先进的 BiCD 工艺制造,这款驱动器提供高达 50V 和 5.0A 的输出额定值,成为广泛应用场景中的强劲解决方案。 主要特性 TB5128FTG 拥有众多确保高…

SAP PS学习笔记01 - PS概述,创建Project和WBS

本章开始学习PS(Project System)。 1,PS的概述 PS(Project System)是SAP企业资源规划系统中的一个关键模块,主要用于项目管理。 它提供了一个全面的框架来规划、控制和执行项目,涵盖了从项目启…

竞赛选题 卷积神经网络手写字符识别 - 深度学习

文章目录 0 前言1 简介2 LeNet-5 模型的介绍2.1 结构解析2.2 C1层2.3 S2层S2层和C3层连接 2.4 F6与C5层 3 写数字识别算法模型的构建3.1 输入层设计3.2 激活函数的选取3.3 卷积层设计3.4 降采样层3.5 输出层设计 4 网络模型的总体结构5 部分实现代码6 在线手写识别7 最后 0 前言…

C++内存的一些知识点

一、内存分区 在C中,内存主要分为以下几个区域: 代码区:存放函数体的二进制代码。 全局/静态存储区:存放全局变量和静态变量,这些变量在程序的整个运行期间都存在。常量存储区:存放常量,这些值…

WPF UI 界面布局 魔术棒 文字笔记识别 技能提升 布局功能扩展与自定义 继承Panel的对象,测量与排列 系列七

应用开发第一步 功能分类:页面上的功能区域划分。。。。需求分析 业务逻辑 数据流 功能模块 UI/UX 编码 测试 发布 功能开发与布局 不用显式的方式设定元素的尺寸 不使用屏幕坐标来指定位置 Grid 功能最强大,布局最灵活的容器…

开发个人Go-ChatGPT--5 模型管理 (一)

开发个人Go-ChatGP–5 模型管理 (一) 背景 开发一个chatGPT的网站,后端服务如何实现与大模型的对话?是整个项目中开发困难较大的点。 如何实现上图的聊天对话功能?在开发后端的时候,如何实现stream的响应呢?本文就…

Vue-Router4.0 报“Cannot read property ‘forEach‘ of undefined”

Vue-Router4.0在创建路由时 报“Cannot read property ‘forEach‘ of undefined” 解决办法 将路由规则名称更改为routes,否则报错 import { createWebHashHistory, createRouter } from vue-router; // 创建路由规定 const routes [{path: /login,name: login,co…

【Unity数据交互】Unity中使用二进制进行数据持久化

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 专栏交流🧧&…

PostgreSQL 技术内幕(十七):FDW 实现原理与源码解析

对于一定规模的系统而言,数据仓库往往需要访问外部数据来完成分析和计算。外部数据包装器(Foreign Data Wrapper, 简称 FDW)是 PostgreSQL 提供的访问外部数据源机制。用户可以使用简单的 SQL 语句访问和操作外部数据源&#xff0…