最优传输问题
考虑一个网络零售商(卖电子阅读器的),在
N
N
N个地区各有一个存储仓库。现在有K个顾客要订购电子书阅读器。假设第
n
n
n个仓库
x
n
x_{n}
xn含有
m
n
m_{n}
mn个阅读器,而第
k
k
k个顾客
y
k
y_{k}
yk要订购
h
k
h_{k}
hk个阅读器(
n
n
n和
k
k
k分别是
1
1
1到
N
N
N和
1
1
1到
K
K
K之间的任意值)。传输代价
c
(
x
,
y
)
c(x,y)
c(x,y)是仓库
x
x
x和顾客
y
y
y之间的距离。最优传输问题就是寻找讲
N
N
N个仓库里的所有阅读器运送到所有
K
K
K个顾客所在位置的最廉价的运送方式。这种运送方式可以用一个
N
×
K
N\times K
N×K矩阵
Γ
\Gamma
Γ来表示,其中
Γ
n
k
\Gamma_{nk}
Γnk个元素表示从第
n
n
n个仓库运送到第
k
k
k个顾客手中的阅读器的数量。另外,每个仓库运出阅读器的数量必须和该仓库所拥有的阅读器的数量相等,同样的,每个顾客收到的阅读器的数量也必须和该顾客订购的阅读器的数量相等。这个限制条件可以用如下两个公式来表示,
∑
k
Γ
n
k
=
m
n
\sum\limits_{k}\Gamma_{nk}=m_{n}
k∑Γnk=mn
∑
n
Γ
n
k
=
h
k
\sum\limits_{n}\Gamma_{nk}=h_{k}
n∑Γnk=hk
此外,矩阵
Γ
\Gamma
Γ的每一个元素必须是非负的。
最优传输方案
T
^
\hat{T}
T^就是在上述限制条件下使得总的传输代价最小的传输矩阵,即
T
^
=
a
r
g
m
i
n
Γ
∑
n
,
k
Γ
n
k
c
(
x
n
,
y
k
)
\hat{T}=argmin_{\Gamma}\sum\limits_{n,k}\Gamma_{nk}c(x_{n},y_{k})
T^=argminΓn,k∑Γnkc(xn,yk)
在上式中,我们是假设传输
L
L
L个阅读器从
x
n
x_{n}
xn到
y
k
y_{k}
yk的代价是传输一个阅读器的
L
L
L倍。然而,在大部分的现实问题中,这种假设一般是不成立的,这里只是为了分析方便。
概率模型
在机器学习和统计问题中,通常把最优传输问题以概率的形式表示。考虑两个有限的概率空间
(
X
,
P
)
(X,P)
(X,P)和
(
Y
,
Q
)
(Y,Q)
(Y,Q),其中
X
X
X和
Y
Y
Y是有限集,
P
P
P和
Q
Q
Q分别是在两个集合上的概率分布函数。概率
P
P
P和
Q
Q
Q之间的最优传输
γ
^
\hat{\gamma}
γ^即是能使得下述损失函数最小的条件概率分布
γ
(
y
∣
x
)
\gamma(y|x)
γ(y∣x):
γ
^
=
a
r
g
m
i
n
γ
∑
n
,
k
γ
(
y
k
∣
x
n
)
P
(
x
n
)
c
(
x
n
,
y
k
)
\hat{\gamma}=argmin_{\gamma}\sum\limits_{n,k}\gamma(y_{k}|x_{n})P(x_{n})c(x_{n},y_{k})
γ^=argminγn,k∑γ(yk∣xn)P(xn)c(xn,yk)
同时要满足如下的约束条件:
∑
n
γ
(
y
k
∣
x
n
)
=
Q
(
y
k
)
\sum\limits_{n}\gamma(y_{k}|x_{n})=Q(y_{k})
n∑γ(yk∣xn)=Q(yk)
即联合概率分布
γ
(
y
∣
x
)
P
(
x
)
\gamma(y|x)P(x)
γ(y∣x)P(x)的另一个边缘分布是
Q
(
y
)
Q(y)
Q(y)。而第一个边缘分布是
P
(
x
)
P(x)
P(x),这里是自动满足的,即:
∑
k
γ
(
x
n
∣
y
k
)
=
P
(
x
n
)
\sum\limits_{k}\gamma(x_{n}|y_{k})=P(x_{n})
k∑γ(xn∣yk)=P(xn)
可以理解为,
γ
(
y
∣
x
)
\gamma(y|x)
γ(y∣x)就是把把分布
P
(
x
)
P(x)
P(x)传输到分布
Q
(
y
)
Q(y)
Q(y)。这个传输可以理解为一个以
x
x
x作为输入、以概率
γ
(
y
∣
x
)
\gamma(y|x)
γ(y∣x)输出y的一个随机函数(stochastic function)。这时,最优传输问题就是寻找能使期望传输代价最小的把概率分布
P
P
P投射到概率分布
Q
Q
Q的一个随机函数。这个问题和第一部分描述的确定性问题是相同的,这里的传输矩阵
Γ
n
k
\Gamma_{nk}
Γnk即是
γ
(
y
k
∣
x
n
)
P
(
x
n
)
\gamma(y_{k}|x_{n})P(x_{n})
γ(yk∣xn)P(xn)。
连续概率模型
考虑将上述离散概率扩展为连续概率。具体做法是将离散概率
P
(
x
)
P(x)
P(x)和
Q
(
y
)
Q(y)
Q(y)替换为概率密度函数
p
(
x
)
p(x)
p(x)和
q
(
y
)
q(y)
q(y),同时将求和替换为求积分的形式,即:
γ
^
=
a
r
g
m
i
n
γ
∬
γ
(
y
∣
x
)
p
(
x
)
c
(
x
,
y
)
d
x
d
y
\hat{\gamma}=argmin_{\gamma}\iint\gamma(y|x)p(x)c(x,y)dxdy
γ^=argminγ∬γ(y∣x)p(x)c(x,y)dxdy
(这里使用双积分符号是为了便于理解,下面统一用单积分符号表示)
类似地,边缘分布约束就变为:
∫
γ
(
y
∣
x
)
p
(
x
)
d
x
=
q
(
y
)
\int\gamma(y|x)p(x)dx=q(y)
∫γ(y∣x)p(x)dx=q(y)
和
∫
γ
(
x
∣
y
)
q
(
y
)
d
y
=
p
(
x
)
\int\gamma(x|y)q(y)dy=p(x)
∫γ(x∣y)q(y)dy=p(x)
但是,连续最优传输问题通常会以另一种稍微不同但更常见的形式来表表。将联合概率密度
γ
(
y
∣
x
)
p
(
x
)
\gamma(y|x)p(x)
γ(y∣x)p(x)表示为
γ
(
x
,
y
)
\gamma(x,y)
γ(x,y),将
m
i
n
min
min替换为
i
n
f
inf
inf(infimum,下确界),即:
a
r
g
i
n
f
γ
∫
γ
(
x
,
y
)
c
(
x
,
y
)
d
x
d
y
arginf_{\gamma}\int\gamma(x,y)c(x,y)dxdy
arginfγ∫γ(x,y)c(x,y)dxdy
同时满足如下的限制条件:
∫
γ
(
x
,
y
)
d
x
=
q
(
y
)
\int\gamma(x,y)dx=q(y)
∫γ(x,y)dx=q(y)
和
∫
γ
(
x
,
y
)
d
y
=
p
(
x
)
\int\gamma(x,y)dy=p(x)
∫γ(x,y)dy=p(x)
最优传输散度和Wasserstein距离
在很多情况下,主要需求并不是要获得最优传输映射。反而是利用最优传输代价作为统计散度(divergence)来反应两个概率分布密度之间的离散程度。统计散度是输入为两个概率分布,输出为零(如果两个概率分布相同)或者一个正数(如果两个概率分布不同)的函数。主要用来表示两个概率分布的不相似程度。类似的统计散度有比较知名的KL散度(KL divergence)。统计散度在机器学习的很多领域中有大量应用,如生成网络和变分贝叶斯推理等。
最优传输散度定义为两个概率分布之间的最优传输代价(最小传输代价),即:
O
T
c
[
p
,
q
]
=
i
n
f
γ
∫
γ
(
x
,
y
)
c
(
x
,
y
)
d
x
d
y
OT_{c}[p,q]=inf_{\gamma}\int\gamma(x,y)c(x,y)dxdy
OTc[p,q]=infγ∫γ(x,y)c(x,y)dxdy
同时满足边缘分布约束(11)和(12)。上式提供了一个有效的统计散度,只要代价函数总是非负的,并且
c
(
x
,
x
)
c(x,x)
c(x,x)对所有的
x
x
x都为
0
0
0。
很明显,最优传输散度的性质依赖于代价函数。一个常用的代价函数是欧几里得距离,即:
c
(
x
,
y
)
=
∥
x
−
y
∥
2
2
c(x,y)=\left\|x-y\right\|_{2}^2
c(x,y)=∥x−y∥22
使用欧氏距离作为代价函数,我们就获得了知名的2-Wasserstein距离:
W
2
[
p
,
q
]
2
=
i
n
f
γ
∫
γ
(
x
,
y
)
∥
x
−
y
∥
2
2
d
x
d
y
W_{2}[p,q]^2=inf_{\gamma}\int\gamma(x,y)\left\|x-y\right\|_{2}^2dxdy
W2[p,q]2=infγ∫γ(x,y)∥x−y∥22dxdy
类似的,对于任意正整数
k
k
k,k-Wasserstein距离可以定义为:
W
k
[
p
,
q
]
k
=
i
n
f
γ
∫
γ
(
x
,
y
)
∥
x
−
y
∥
k
k
d
x
d
y
W_{k}[p,q]^k=inf_{\gamma}\int\gamma(x,y)\left\|x-y\right\|_{k}^kdxdy
Wk[p,q]k=infγ∫γ(x,y)∥x−y∥kkdxdy
其中,
∥
⋅
∥
k
\left\|·\right\|_{k}
∥⋅∥k是
L
k
L_{k}
Lk范数。
对偶问题和Wasserstein GAN
最优传输问题是一种特殊的线性规划问题,因为优化函数和约束函数都是传输映射(即
γ
\gamma
γ)的线性函数(积分运算是线性的)。线性规划问题是数学优化的基石,而且所有的线性规划问题都有一个对应的对偶问题(关于对偶,推荐看Steven Boyd写的Convex Optimization这本书,非常详细)。而这里最优传输问题也有相对应的对偶问题,并且对偶问题的解就是初始问题的解。而且,最优传输问题的对偶形式是对抗算法和Wasserstein GAN的出发点。一个最优传输散度的对偶形式可以用如下公式表示:
O
T
c
[
p
,
q
]
=
s
u
p
f
∈
L
c
[
∫
f
(
x
)
p
(
x
)
d
x
−
∫
f
(
y
)
q
(
y
)
d
y
]
OT_{c}[p,q]=sup_{f\in L_{c}}\lbrack\int f(x)p(x)dx-\int f(y)q(y)dy\rbrack
OTc[p,q]=supf∈Lc[∫f(x)p(x)dx−∫f(y)q(y)dy]
其中
L
c
L_{c}
Lc是所有增长都被
c
c
c限定的函数的集合(即满足lipschitz条件,限制了函数改变的速度),即:
L
c
=
{
f
:
ℜ
→
ℜ
∣
f
(
x
)
−
f
(
y
)
≤
c
(
x
,
y
)
}
L_{c}=\{f:\Re\rightarrow\Re|f(x)-f(y)\leq c(x,y)\}
Lc={f:ℜ→ℜ∣f(x)−f(y)≤c(x,y)}
数学证明
为了推导最优传输问题的对偶形式,我们需要把主问题中的有约束优化转化为非约束优化。考虑如下优化问题:
s
u
p
f
[
∫
f
(
x
′
)
p
(
x
′
)
d
x
′
−
∫
f
(
x
)
γ
(
x
,
y
)
d
x
d
y
]
sup_{f}[\int f(x')p(x')dx'-\int f(x)\gamma(x,y)dxdy]
supf[∫f(x′)p(x′)dx′−∫f(x)γ(x,y)dxdy]
其中
f
f
f可以是任何函数。上式左半边是函数
f
f
f在概率密度函数
p
p
p下的期望,右边部分是函数
f
f
f在边缘分布
∫
γ
(
x
,
y
)
d
y
\int\gamma(x,y)dy
∫γ(x,y)dy下的期望。如果关于
p
p
p的边缘约束得到满足(即公式(12)成立),这个表达式显然是0,因为左右两部分是相等的。然而,如果关于
p
p
p的边缘约束不满足,那么
f
f
f关于
x
x
x的值可以选择在两个边缘分布不同的时候变得任意大,因此整个部分的上确界是无穷大。因此当约束条件满足的时候,在我们要优化问题的代价函数中添加类似两项并不会改变优化问题,不满足约束条件的时候因为是无穷大同样不会改变优化问题。另外,注意到可以将
∫
f
(
x
′
)
p
(
x
′
)
d
x
′
\int f(x')p(x')dx'
∫f(x′)p(x′)dx′移动到后半部分积分项里面,因为常数的期望积分还是它本身。即:
s
u
p
f
[
∫
f
(
x
′
)
p
(
x
′
)
d
x
′
−
∫
f
(
x
)
γ
(
x
,
y
)
d
x
d
y
]
=
s
u
p
f
[
∫
f
(
x
′
)
p
(
x
′
)
d
x
′
−
f
(
x
)
]
γ
(
x
,
y
)
d
x
d
y
sup_{f}[\int f(x')p(x')dx'-\int f(x)\gamma(x,y)dxdy]=sup_{f}[\int f(x')p(x')dx'-f(x)]\gamma(x,y)dxdy
supf[∫f(x′)p(x′)dx′−∫f(x)γ(x,y)dxdy]=supf[∫f(x′)p(x′)dx′−f(x)]γ(x,y)dxdy
现在可以把含有限制条件的修正的代价函数修正为:
O
T
c
[
p
,
q
]
=
i
n
f
γ
[
∫
γ
(
x
,
y
)
c
(
x
,
y
)
d
x
d
y
+
s
u
p
f
L
[
f
,
γ
]
]
OT_{c}[p,q]=inf_{\gamma}[\int \gamma(x,y)c(x,y)dxdy+sup_{f}L[f,\gamma]]
OTc[p,q]=infγ[∫γ(x,y)c(x,y)dxdy+supfL[f,γ]]
其中,y
L
[
f
,
γ
]
=
[
(
∫
f
(
x
′
)
p
(
x
′
)
d
x
′
−
f
(
x
)
)
−
(
∫
f
(
y
′
)
p
(
y
′
)
d
y
′
−
f
(
y
)
)
]
γ
(
x
,
y
)
d
x
d
y
L[f,\gamma]=[(\int f(x')p(x')dx'-f(x))-(\int f(y')p(y')dy'-f(y))]\gamma(x,y)dxdy
L[f,γ]=[(∫f(x′)p(x′)dx′−f(x))−(∫f(y′)p(y′)dy′−f(y))]γ(x,y)dxdy
下一步就是交换下确界和上确界的顺序,这里使用Sion’s minimax theorem因为代价函数关于
f
f
f和
γ
\gamma
γ都是线性的:
O
C
c
[
p
,
q
]
=
s
u
p
f
i
n
f
γ
[
∫
γ
(
x
,
y
)
c
(
x
,
y
)
d
x
d
y
+
L
[
f
,
γ
]
]
=
s
u
p
f
[
∫
f
(
x
′
)
p
(
x
′
)
d
x
′
−
∫
f
(
y
′
)
p
(
y
′
)
d
y
′
+
i
n
f
γ
∫
l
(
x
,
y
)
γ
(
x
,
y
)
d
x
d
y
]
OC_{c}[p,q]=sup_{f}inf_{\gamma}[\int \gamma(x,y)c(x,y)dxdy+L[f,\gamma]]=sup_{f}[\int f(x')p(x')dx'-\int f(y')p(y')dy'+inf_{\gamma}\int l(x,y)\gamma(x,y)dxdy]
OCc[p,q]=supfinfγ[∫γ(x,y)c(x,y)dxdy+L[f,γ]]=supf[∫f(x′)p(x′)dx′−∫f(y′)p(y′)dy′+infγ∫l(x,y)γ(x,y)dxdy]
其中,
l
(
x
,
y
)
=
c
(
x
,
y
)
−
(
f
(
x
)
−
f
(
y
)
)
l(x,y)=c(x,y)-(f(x)-f(y))
l(x,y)=c(x,y)−(f(x)−f(y))
因为
i
n
f
γ
∫
l
(
x
,
y
)
γ
(
x
,
y
)
d
x
d
y
inf_{\gamma}\int l(x,y)\gamma(x,y)dxdy
infγ∫l(x,y)γ(x,y)dxdy为0或者负无穷。因此,问题得证。
wGAN
在wGAN中,作者将对偶形式的最优传输散度替换了KL散度,并且采用深度神经网络的方法来估计 f f f函数,因为直接接上述优化问题比较困难。实际上,已经有人采用蒙日-安培方程等直接解出f函数,不在需要神经网络进行估计和对抗。(参见顾险峰相关博客、文章等)。最近准备啃villani的最优传输教材,如果有新的认识再作补充。
本文主要根据an intuitive guide to optimal transport 来撰写的, 和上篇博文主要的区别是公式的变动,表达的更详细、更准确,希望理解起来更方便。如有不足,请多指正。