形式陈述
已知熵正则最优计划公理库熵正则化最优输运Entropic optimal transport在有限输运计划上加入相对熵,得到唯一正计划,同时区分计算平滑性与原始搬运成本偏差。形如 ,怎样找出两组正缩放系数?
设 , 为严格正、总和均为一的边缘。取任意 ,交替计算
其中 表示逐元素相除。令 。严格正矩阵条件下,计划收敛到具有指定边缘的唯一缩放矩阵;对 ,它正是熵正则最优计划。反过来,任意严格正有限矩阵都可取 写成此形式;这里的对数与熵都采用自然单位。系数本身有比例自由度: 乘常数、 除同一常数不改变计划。
直觉
固定列缩放 时,当前第 行总量是 ,所以把 调成 ,就精确修好所有行。同理,固定 后修列。第二次修正一般会再次改变行和,因此必须继续交替。
每次更新保持正性以及“对同一个 只作行列缩放”的结构。刚修正的一侧边缘精确满足,另一侧逐渐接近。收敛可以直接由相对熵恒等式证明,而不把它当作普通欧氏投影。
为什么交替缩放确实收敛
把初始矩阵 除以其元素总和,记所得严格正概率表为 。逐次修行、修列得到概率表 ;每两步对应算法的一整轮。初始归一化只改变无关的缩放常数。对任意满足两组边缘的 ,以自然对数记 。一次修行使 只依赖行号,而 与 行和相同,故
修列时同理。于是
固定边缘时, 与本页熵正则目标只差一个正常数倍及加法常数,所以其最小者是已知严格正的唯一计划 。在 (1) 中取 ,得 一致有界。由于每个 ,而所有概率表项不超过 ,这迫使全部 有共同正下界;否则某项 会发散。各步散度非负,其和有界,所以 。
由有限维的Bolzano–Weierstrass 定理公理库Bolzano–Weierstrass 定理Bolzano–Weierstrass theorem实数空间中的每个有界序列都存在收敛子列。,可从迭代矩阵抽取收敛子列。共同正下界使散度在这些矩阵上连续;若相邻两步的差没有趋零,再抽取一对极限就会得到散度为零而两表不同,矛盾。每步精确满足一侧边缘,因此任意子列极限 同时满足两侧边缘。设 (1) 中的部分和趋于 ,沿 分别取 与 ,得到
的最优性给第二个左侧不大于第一个左侧,故 ,即 。所有子列极限相同,整个计划序列便收敛。这个论证给出收敛性,没有给出与矩阵条件无关的统一迭代轮数。
例子与边界
取
第一轮 ,随后 ,故
列和已是 ,行和却是 。这明确展示“修好列”没有同时保证行。第二轮行缩放为 ,再修列后,行边缘的 残差从 降为 ,列残差仍为零。
实作时应计算
而非只观察系数变化。边缘残差控制可行性;若还需严格的目标误差证书,应构造可行计划及相应对偶界。只做固定轮数而不报告残差,无法判断结果是否达到要求。
稠密矩阵每轮两次矩阵向量乘法,时间 ; 的存储为 ,两组缩放向量为 。迭代轮数还取决于矩阵条件、正则参数与容许误差,不能把总成本也无条件写成 。
对数域避免下溢
当 很大,直接计算 可能变成机器零。令 、,行更新改写为
列更新同理; 通过先减最大值稳定计算。零边缘应先删除,真正的零核元素则需要支持可行性条件,不能用除零继续迭代。
推论与应用
Sinkhorn 求解的是给定 的正则问题。即使边缘残差已经很小,仍有熵正则化相对于原输运问题的偏差。对计算报告而言,至少应一起给出 、边缘残差和所报告成本的定义,才能让结果可复核。
参考资料