最优传输之浅谈

本文介绍了最优传输(Optimal Transport)理论,包括Kantorovich Relaxation、Wasserstein距离和其在WGAN中的应用。讨论了熵正则化和Sinkhorn算法,以及它们在解决实际问题如DM-Count中的作用。
摘要由CSDN通过智能技术生成

总说

最近最优传输很火啊,而且用处很大。这里简单记录,到底讲了啥问题,以及解法和应用。

简单理解:其实就是把 A A A数据迁移到 B B B上,当然了。你可以理解成两堆土,从 A A A土铲到另外一个地方,最终堆成 B B B土。就像是以前初中学的线性规划一样的:我3个城市(A, B, C)有1, 0.5, 1.5吨煤,然后要运到2个其他城市,这两个城市(C, D)分别需要2,1吨煤。然后当然,不同城市到不同的费用不同,让你算最优运输方案和代价。

基本概念

Probability vector / Histogram (概率向量/ 直方图)定义:
a ∈ ∑ n : = { a ∈ R + n ∣ ∑ i = 1 n a i = 1 } a \in \sum_{n} := \{a \in \mathbb{R}^{n}_{+} | \sum^{n}_{i=1}a_i = 1\} an:={ aR+ni=1nai=1}

另外,定义 离散测度:以 a a a为概率,且包含了不同的位置 x 1 , ⋅ , x n ∈ X x_1, \cdot, x_n \in \mathcal{X} x1,,xnX
α = ∑ i = 1 n a i δ x i \alpha = \sum^{n}_{i=1} a_i\delta_{x_i} α=i=1naiδxi
其中 δ x \delta_{x} δx是Dirac函数。

Monge(蒙日)问题初阶

对于两个离散测度:
α = ∑ i = 1 n a i δ x i ,        β = ∑ j = 1 m b i δ y j \alpha = \sum^{n}_{i=1} a_i\delta_{x_i}, \ \ \ \ \ \ \beta= \sum^{m}_{j=1} b_i\delta_{y_j} α=i=1naiδxi,      β=j=1mbiδyj
找到一个 n n n维映射到 m m m维的一个映射 T : [ n ] → [ m ] T: [n] \to [m] T:[n][m],使得

∀ j ∈ [ m ] ,      b j = ∑ i : T ( x i ) = y j a i \forall j \in [m], \ \ \ \ b_j = \sum_{i: T(x_i) = y_j} a_i j[m],    bj=i:T(xi)=yjai
上面可以简单记为:
T ♯ α = β T_{\sharp}\alpha = \beta Tα=β

也就是说,你找到一个映射 T T T, 然后呢,所有 通过这个 T T T转移到 b j b_j bj的那些元素 a i a_i ai,那些 a i a_i ai的元素求和,肯定要刚好等于 b j b_j bj. 这个很好理解吧,比如,我城市转移煤,你咔咔设计了方案,起码保证 D, E 城市的需要收入的煤(\ie, b j b_j bj),恰好等于往该城市 转移的煤总和吧 (注意: 其实运煤问题是 Kantorovich Relaxation后的蒙日问题,因为每个城市的煤可以不全部运到另一个城市,可以拆分,运到多个城市。具体后面讲解)。

显然,蒙日问题,不一定有解。也不一定有唯一最优解。

Monge(蒙日)问题高阶
找到怎么运煤没啥意思啊,你总得考虑成本吧,这样会有意思些。显然,我们可以定义运输代价(transportation cost) c ( x , y ) c(x,y) c(x,y)

即满足上述条件下,并且运费最小。
min ⁡ T = { ∑ i c ( x i , T ( x i ) ) ∣ T ♯ α = β } \min_{T} = \lbrace \sum_{i}c(x_i, T(x_i)) | T_{\sharp} \alpha = \beta \rbrace Tmin={ ic(xi,T(xi))Tα=β}

蒙日问题缺点:

  1. 两堆点,要一样的size
  2. 非凸

Kantorovich Relaxation

即:我们可以对不质量点 x i x_i xi进行分拆,然后再运输。
此时:转移矩阵 T T T可以变成一个: T → T\to T P ∈ R + n × m P \in \mathbb{R}^{n\times m}_{+} PR+n×m
且满足:
U ( a , b ) : = { P ∈ R + n × m ∣ P 1 m = a , P T 1 n = b } U(a, b) := \{ P\in \mathbb{R}^{n\times m}_{+} | P\mathbb{1}_m = a, P^{T}\mathbb{1}_n = b \} U(a,b):={

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值