最优传输逆问题 [inverse-optimal-transport]
最优传输逆问题 [inverse-optimal-transport]
本篇是基于论文Inverse optimal transport的阅读笔记,结合了论文内容、我自身的理解和 GPT 的解释。
最优传输是在边缘概率分布的约束下,寻找使总运输成本最小的传输计划。就像其他逆问题一样:有了边缘约束和成本矩阵,我们可以通过最优传输算法得到最优传输矩阵;那么,有了最优传输矩阵,我们能否反过来得到对应的成本矩阵呢?这是我们自然会想知道的问题。
另外,为什么这个问题有意义呢?从我的理解来看,成本矩阵包含源与目的地之间的传输代价信息,可能反映物理、经济等机制。因此,反推成本有助于理解产生传输行为的机制。下面是问题的正式表述。
一、最优传输的正问题
给定两个边缘分布 p,q 和成本矩阵 C,最优传输(Optimal Transport,OT)的目标是求出最优传输计划 T^*。
主要符号如下:
| 符号 | 含义 |
|---|---|
| p\in\Delta_n,\ q\in\Delta_m | 两个分别为 n、m 维的离散概率分布(边缘分布) |
| C\in\mathbb R^{n\times m} | 成本矩阵,C_{ij} 表示从位置 i 到位置 j 的运输成本 |
| T\in\mathbb R_+^{n\times m} | 传输计划矩阵,T_{ij} 表示从 i 向 j 传输的质量 |
| \mathbf 1_n,\mathbf 1_m | 全 1 的 n、m 维列向量 |
| T^* | 最优传输计划 |
这里 \mathbb R_+ 包括零,p,q 均为列向量;T_{ij} 也可理解为源位置为 i、目的地为 j 的联合概率。
在离散情况下,概率单纯形可以表示为
满足边缘约束的传输计划集合可记为
那标准离散最优传输问题可以写成
最优传输问题(康托维奇形式),其实就是用各种方法求出这个计划。计划有了,再计算内积 \langle C,T^*\rangle(逐元素相乘再求和),就能得到最优传输值。
从线性规划的角度看,这个问题可能有唯一解,也可能有多个最优解。pq^\top 总是可行计划;可行集闭且有界,线性目标因此能取到最小值。如果有两个不同的最优解,由于约束和目标都是线性的,它们的任意凸组合也都是最优解,因此会有无穷多个最优解。
那么,现在可以将求解最优传输计划的过程抽象为一个映射:
需要注意:最优传输计划不一定唯一。 为了将求解过程写成单值函数 f,可以固定一个确定性的求解算法以及处理多解的规则,由它选出一个确定的 T^*。
二、最优传输的逆问题
正问题是从 (p,q,C) 推出 T^*;逆问题则是:
已知观测到的传输矩阵 T^{\mathrm{obs}},反过来推断可能产生它的 p,q,C。
如果观察到的是没有噪声的真实传输计划,那么边缘分布应满足
一种直接思路是:
- 将 T^{\mathrm{obs}} 的行和、列和当作真实的边缘分布 p,q;
- 再通过某种优化方法尝试反推成本矩阵 C。
最直接的方法是把成本参数限制在有限网格上,遍历候选值,并比较对应的最优传输计划。不过,连续参数不能直接穷举,而且找到相符的成本,也不代表它唯一。
例如,取 p=q=(1/2,1/2)^\top,成本矩阵
都产生同一个唯一最优计划 T^*=\operatorname{diag}(1/2,1/2):成本为零要求两个非对角元素都为零,边缘约束再确定两个对角元素;正比例放大成本不改变最小点。这已经说明,仅凭传输计划通常无法唯一恢复成本。
但现实中的 T^{\mathrm{obs}} 往往包含观测噪声,因此由它直接计算出的边缘分布也可能受到噪声影响,无法准确反映真实情况。
例如,在后面的独立高斯噪声假设下,行和、列和的误差分别满足
也就是说,直接求和得到的边缘虽然无偏,却仍有随机误差;噪声还可能使它们不满足非负性或总和为 1。
那么,自然地,就要考虑带噪声的观测模型,也就是观测值等于真实值加上噪声
其中 \eta 是观测噪声矩阵,每个元素都服从所设定的分布。带噪观测 T^{\mathrm{obs}} 本身不必是满足约束的传输计划。多解时,这个模型还把 f 的选择规则纳入了假设;若真实系统选了另一个最优计划,其差异也会被归入观测残差。 这个设定在信号处理中很常见:观测信号等于真实信号加上噪声。有电子工程背景的学生,多少都听说过高斯白噪声。
基于这个模型,我们就可以开始推断了,但首先得有个抓手。 到底怎么来算呢?没有噪声时,p,q 可以由 T 的行和、列和直接得到,只需尝试反推 C;现在 p,q,C 都未知,问题就更复杂了。
现在,把 p,q,C 合并记为参数 \mu=(p,q,C)(将 C 展平后,可整体视作一个高维向量),那模型就变成了
对于矩阵中的每一个元素,模型为
f 是已知的求解算法,\eta 是随机噪声,T^{\mathrm{obs}} 是已经观测到的值,于是就会想到贝叶斯的一套工具:用先验分布表达对参数的偏好,再结合观测推断参数。这里真实参数可以是固定但未知的,贝叶斯分布表达的是我们对它的不确定性。那这个分布怎么建模呢?下一小节来阐述这个问题。
三、高斯噪声假设与似然函数
假设观测噪声独立于参数,各个矩阵元素的噪声相互独立,且服从相同方差的高斯分布,其中 \sigma>0 已知且固定。这是信号处理中常见的建模假设;许多微小扰动叠加时,可在适当条件下由中心极限定理得到高斯近似,但独立、同方差仍需另作假设:
于是,在给定参数 \mu 时,
这个其实很简单:确定参数 \mu 后,f(\mu) 的值也就确定了,而观测矩阵的每个元素都在对应的 f_{ij}(\mu) 附近服从上述高斯分布。实际推断时,观测值固定,似然则看作参数 \mu 的函数。
根据高斯分布的定义,单个矩阵元素的条件概率密度为
如果只关注与 \mu 有关的部分,则可以写为
由于假设各元素的噪声独立,整个矩阵的条件密度等于各元素条件密度的乘积:
把观测值固定后,这个概率密度作为参数的函数,就是似然函数,衡量给定参数对当前观测的支持程度。
定义
其中 \|\cdot\|_F 表示矩阵的 Frobenius 范数,即 \|A\|_F^2=\sum_{i,j}A_{ij}^2。
于是似然函数可简写为
预测传输矩阵 f(\mu) 越接近观测矩阵 T^{\mathrm{obs}},数据失配 \Phi 越小,对应参数的似然就越大。
四、贝叶斯推断:从似然到后验分布
根据贝叶斯公式,
其中:
- \pi(\mu\mid T^{\mathrm{obs}}):后验分布;
- p(T^{\mathrm{obs}}\mid\mu):似然函数;
- \pi(\mu):先验分布;
- p(T^{\mathrm{obs}}):使后验密度积分为 1 的归一化常数(边际似然)。
这个公式的意思就是:结合先验分布和似然函数,推断在当前观测下,哪些参数更合理。
那来看看我们现在有什么:后验分布的表达式有了,但设置先验时还需要处理参数约束,尤其是 p,q 的非负性与归一化条件。当然,可以直接为它们设置狄利克雷先验;这里稍微处理一下,改用隐变量参数化,便于统一处理约束。
引入隐变量 u,v,w(分别为 n、m 维列向量和 n\times m 矩阵),用映射表示原始参数:
这里的 M 是参数化或归一化映射,目的是让相应参数满足所设定的约束。例如,对非负且不全为零的向量 x\in\mathbb R_+^r,可取
使边缘分布自动满足约束;M_{n\times m} 则按具体的成本约束选择。原论文将非负且非零的成本除以全部元素之和;这里保留一般写法,实际计算前还须明确成本映射及参数域。零向量处可另行约定映射值,在下面的连续均匀先验下该情形的概率为零。
定义
以及复合映射
于是观测模型简化为
作为一种简单的先验选择,可以在有界参数区域 \mathcal U 上对隐变量设置均匀先验。需要注意,隐变量均匀一般不意味着映射后的 p,q,C 均匀。这里直接指定 \theta 的先验,再由映射诱导 \mu 的先验,并非保留某个既定 \pi(\mu) 的密度换元,因此下文不需另加雅可比因子。
例如,当 \mathcal U=[0,1]^d 时,
其中 \mathbf 1_{\mathcal U} 是参数域的指示函数:
这里 d 是隐变量 \theta=(u,v,w) 的总维数;若 u,v,w 的形状分别为 n、m、n\times m,则 d=n+m+nm。
之前推导的似然函数也不白费:只是把 f(\mu) 换成 G(\theta),形式仍然一样,而先验更容易处理。相应地,将失配函数写成
这里沿用 \Phi 表示参数化后的失配函数。
由似然和均匀先验可得
将归一化常数记为 Z:
代入 \theta=(u,v,w),有
其归一化常数为
当参数维数较高,或者每次求值 G(\theta) 的代价较大时,直接计算 Z 通常很困难,因为高维数值积分可能需要大量函数求值。因此,我们希望使用不必显式求出 Z 的方法研究后验分布。
五、最大后验估计(MAP)
一种求解方式是只寻找后验密度最大的参数,即最大后验估计(Maximum a Posteriori,MAP):
在均匀先验、固定噪声方差的假设下,最大化后验密度等价于最小化失配函数:
但 MAP 估计通常只提供一个最优点(或一个最优解集合),无法完整描述参数的不确定性。这里求的是隐变量的 MAP;将它映射回 \mu 可得到一个参数估计,但不保证是 \mu 的 MAP,因为密度最大点依赖参数化。
若 G 可微,可以对 \Phi 求导,再用投影梯度下降等方法,在 \mathcal U 内寻找局部最小点。不过,标准线性规划 OT 的解映射通常不光滑,不能直接假定普通梯度法适用;也可以考虑无梯度优化,或改用适当的光滑正则化正问题。
逆问题可能具有多解性: 不同的 p,q,C(或者不同的隐变量 \theta)有可能产生相同或非常接近的传输矩阵。因此,即便已经观测到 T^{\mathrm{obs}},仍可能有多组合理参数。例如,在标准 OT 中,给成本矩阵的每行或每列分别加一个常数,只会使目标函数增加一个由边缘分布决定的常数,不改变最优解集合:若 C'_{ij}=C_{ij}+a_i+b_j,则 \langle C',T\rangle=\langle C,T\rangle+a^\top p+b^\top q。变换后的成本是否仍可作为候选,还取决于所选参数域和映射。
产生相同预测的参数具有相同似然,数据无法区分它们;后验还取决于先验,贝叶斯与 MCMC 并不会自动消除这种不可辨识性。
由此自然产生进一步的问题:
- 哪些参数组合在观测数据下更合理?
- 后验分布的整体形状是什么?
- 参数的后验均值和方差是多少?
- 由这些参数所生成的传输矩阵,元素级的不确定性如何?
这就引出了 MCMC。
六、MCMC:马尔可夫链蒙特卡洛方法
首先来说一下为什么要用 MCMC。我们已经知道后验密度的未归一化形式:
之前提到过归一化常数 Z 不容易求,但很多马尔可夫链蒙特卡洛(Markov Chain Monte Carlo,MCMC)方法可以只利用未归一化后验密度构造采样算法,而无需显式计算 Z。在满足收敛条件并经过充分迭代后,可以得到近似服从后验分布的一组样本(样本之间通常相关):
例如,可用采样均值近似参数的后验均值:
进一步,可以根据样本估计各分量的方差、分位数及可信区间,从而研究参数的不确定性。
那具体怎么做呢?可以用均匀分布生成候选参数,但不能直接把它们当作后验样本,还需要接受或拒绝这一步。例如,在 \mathcal U 上采用独立均匀提议,这是 Metropolis–Hastings 的一个简单例子(原论文主要采用随机游走及其分块更新)。先选取 \theta^{(0)}\in\mathcal U,计算 G(\theta^{(0)}) 和失配;每次计算候选的失配,也都要运行一次 OT 求解器。
- 从当前参数 \theta^{(k)}\in\mathcal U 出发,提出 \theta'\sim\mathrm{Uniform}(\mathcal U)。
- 以概率
接受候选参数:另抽 r\sim\mathrm{Uniform}(0,1),若 r\leq\alpha,令 \theta^{(k+1)}=\theta';否则保留当前参数,令 \theta^{(k+1)}=\theta^{(k)}。拒绝后的重复状态也要计入样本。
- 重复迭代,舍弃预热阶段并检查收敛后,用保留的样本计算统计量。可比较不同初值的多条链的轨迹与统计量,但诊断通过并不保证已充分探索后验。
这个接受概率来自后验密度之比,归一化常数 Z 正好约掉了;独立均匀提议的正反提议密度相同,也会约掉。独立均匀提议容易理解,但在高维或后验集中时可能效率较低,也可以改用随机游走等提议方式;若提议不对称(越界后重抽通常会如此),接受率还需包含反向与正向提议密度之比。给定当前状态后,下一状态的条件分布不再依赖更早状态,这就是马尔可夫性;利用样本平均近似期望,就是蒙特卡洛。上面的均值、方差估计均使用保留的后验样本。
对每个后验样本,再计算
于是,对于传输矩阵中的元素 (i,j),其后验均值可近似为
相应地,无噪声计划的后验方差可用样本方差估计(不包含新的观测噪声):
相关样本下,这个估计不保证有限样本无偏;在链满足遍历条件时,它随样本增多趋近后验方差,不能把它当成样本均值的蒙特卡洛误差。
同样可以利用各样本计算相应的
从而分析边缘分布及成本矩阵的后验不确定性。应先映射每个样本再求均值,一般不能把隐变量均值直接映射为原参数均值。
七、整体推导链条
整个思路可以概括为:
- 正问题: 给定 p,q,C,由最优传输求解器得到 T^*=f(p,q,C)。
- 逆问题: 观察到带噪声的矩阵 T^{\mathrm{obs}}=T^*+\eta,希望反推未知参数。
- 参数化: 先将原始参数记为 \mu=(p,q,C);再引入隐变量 \theta=(u,v,w),用复合映射 G(\theta) 表示模型。
- 似然建模: 假设独立高斯噪声,得到
- 贝叶斯推断: 加入先验,得到后验分布 \pi(\theta\mid T^{\mathrm{obs}})。
- MAP: 寻找后验最大的参数组合,但这无法描述整体不确定性。
- MCMC: 从后验分布采样,计算参数及传输矩阵的均值、方差等统计量。
简写为:
参考论文:Inverse Optimal Transport(Stuart 和 Wolfram)。