一、Lagrange Duality#
1. 原问题定义#
xminf0(x)s.t.{fi(x)≤0,hj(x)=0,i=1,…,mj=1,…,p
2. Lagrangian 函数#
L(x,λ,ν)=f0(x)+i=1∑mλifi(x)+j=1∑pνjhj(x)
3. 对偶问题#
定义对偶函数为:
g(λ,ν)=xinfL(x,λ,ν)
这个函数有两个性质:
-
g(λ,ν) 是一个凹函数。
给定一个 x,L(x,λ,ν) 是 λ 和 ν 的仿射(线性)函数,而 g(λ,ν) 是一系列仿射函数的下包络线,因此 g 是一个凹函数。
-
对于任何 λ≥0 和任意 ν,有 g(λ,ν)≤p∗,其中 p∗ 是原问题的最优值。
g(λ,ν)≤L(x∗,λ,ν)≤f0(x∗)=p∗
由此可见 g(λ,ν) 是原问题的一个下界。定义对偶问题为:
λ,νmaxg(λ,ν)s.t.λ≥0
这是一个凸优化问题。
对于最优解 (λ∗,ν∗),有 g(λ∗,ν∗)≤p∗,这被称为弱对偶性。如果取等号成立则称为强对偶性。
强对偶性的一个充分不必要条件是 Slater 条件:如果原问题是一个凸优化问题,并且存在一个严格可行点(即满足 fi(x)<0 和 hj(x)=0 的点),则强对偶性成立。
在强对偶性成立的情况下,可以通过求解对偶问题来得到原问题的最优值。
二、KKT 条件#
KKT 条件是原问题的必要条件。在 L 对 x 可微的前提下,对于一个可行点 x∗,如果存在 λ∗≥0 和 ν∗ 满足以下条件:
- 原始可行性
fi(x∗)≤0,hj(x∗)=0
- 对偶可行性
λi∗≥0,∀i
- 互补松弛
λi∗fi(x∗)=0,∀i
- 梯度条件
∇L(x∗,λ∗,ν∗)=∇f0(x∗)+i=1∑mλi∗∇fi(x∗)+j=1∑pνj∗∇hj(x∗)=0
则称 (x∗,λ∗,ν∗) 满足 KKT 条件。
其中,互补松弛条件表明对于每个不等式约束,要么 λi∗=0(约束不活跃),要么 fi(x∗)=0(约束活跃)。
可以这样理解:
f0(x∗)=g(λ∗,ν∗)=xinf{f0(x)+i=1∑mλi∗fi(x)+j=1∑pνj∗hj(x)}≤f0(x∗)+i=1∑mλi∗fi(x∗)+j=1∑pνj∗hj(x∗)≤f0(x∗)
不等号必须取等号,因此立刻得到互补松弛条件 λi∗fi(x∗)=0。
三、Kantorovich-Rubinstein 对偶性#
1. 对偶形式#
在 Wasserstein GAN 中,生成器的目标是最小化 Wasserstein 距离:
W(P,Q)=γ∈Π(P,Q)infE(x,y)∼γ[∥x−y∥]=γ∈Π(P,Q)infx,y∑γ(x,y)c(x,y)
约束条件为:
γ(x,y)≥0,y∑γ(x,y)=P(x),x∑γ(x,y)=Q(y)
这是一个线性规划问题,所有变量就是不同 x,y 对应的 γ(x,y),(不严谨的推导)套用上述 Lagrange Duality:
L(γ,λ,ν1,ν2)=x,y∑γ(x,y)c(x,y)+x,y∑λ(x,y)(−γ(x,y))+x∑ν1(x)(P(x)−y∑γ(x,y))+y∑ν2(y)(Q(y)−x∑γ(x,y))=x,y∑γ(x,y)[c(x,y)−λ(x,y)−ν1(x)−ν2(y)]+x∑ν1(x)P(x)+y∑ν2(y)Q(y)
可以证明强对偶性满足。KKT 条件告诉我们:
⎩⎨⎧γ(x,y)≥0,∑yγ(x,y)=P(x),∑xγ(x,y)=Q(y)λ(x,y)≥0λ(x,y)γ(x,y)=0c(x,y)−λ(x,y)−ν1(x)−ν2(y)=0
对偶形式为:
ν1,ν2maxx∑ν1(x)P(x)+y∑ν2(y)Q(y)s.t.ν1(x)+ν2(y)≤c(x,y)
2. 一个函数能给出下界#
假设 f 是一个 1-Lipschitz 函数,即:
∣f(x)−f(y)∣≤c(x,y)
令:
ν1(x)=f(x),ν2(y)=−f(y)
显然满足 ν1(x)+ν2(y)=f(x)−f(y)≤c(x,y),因此 f 可以给出一个下界:
∥f∥L≤1sup[x∑f(x)P(x)−y∑f(y)Q(y)]≤W(P,Q)
3. 最优解可以压缩成一个函数#
固定 ν2:
ν1(x)≤yinf[c(x,y)−ν2(y)]
记 f(x)=RHS,我们先证明,如果 c 是一个度量:
c(x,y)=d(x,y)
那么 f 是 1-Lipschitz 的:
首先根据三角不等式:
d(x,z)−ν2(z)≤d(x,y)+d(y,z)−ν2(z)
两边同时对 z 取 inf:
zinf[d(x,z)−ν2(z)]≤d(x,y)+zinf[d(y,z)−ν2(z)]
因此
f(x)≤d(x,y)+f(y)
同理 f(y)≤d(x,y)+f(x),所以 ∣f(x)−f(y)∣≤d(x,y)。
一方面:
ν1(x)≤f(x)
另一方面:
f(x)=yinf[c(x,y)−ν2(y)]≤c(x,x)−ν2(x),⇒ν2(y)≤−f(y)
结合起来,存在一个 1-Lipschitz 函数 f(x) 使得:
W(P,Q)=ν1,ν2maxx∑ν1(x)P(x)+y∑ν2(y)Q(y)≤x∑f(x)P(x)−y∑f(y)Q(y)
4. 结论#
以上结果说明
- 只要 f 是 1-Lipschitz 的,ν1=f,ν2=−f 就是对偶问题的一个下界。
- 对偶问题的任意一个解 (ν1,ν2) 都可以找到一个 1-Lipschitz 函数 f 以给出不弱于 (ν1,ν2) 的解 (f,−f)。
因此:
W(P,Q)=∥f∥L≤1sup[x∑f(x)P(x)−y∑f(y)Q(y)]
或者
W(P,Q)=∥f∥L≤1supEx∼P[f(x)]−Ey∼Q[f(y)]
这就是 Kantorovich-Rubinstein 对偶性,也是 Wasserstein GAN 的理论基础。