柯西分布 KL 永远有限且对称,闭式只需位置与尺度四个参数

A closed-form formula for the Kullback-Leibler divergence between Cauchy distributions

Frédéric Chyzak, Frank Nielsen

cs.IT, cs.SC

2019-05-27

INRIA 与索尼用计算机代数给出柯西分布 KL 的闭式,只含位置与尺度四个参数;该散度永远有限,对调两个分布结果不变。

这篇在解决什么

KL 散度量的是:按分布 p 采样,却用 q 的码本来编码,平均多花多少 nats。高斯、以及协方差结构对齐的指数族,都有现成闭式。柯西分布没有均值、没有方差,密度是 \(s/(\pi(s^2+(x-l)^2))\),属于位置-尺度族。微分熵已知是 \(\log(4\pi s)\);同一位置、只改尺度时的 KL,Nielsen 2019 也写过。位置和尺度同时不同的两个柯西,此前没有干净的闭式。

交叉熵积分在重尾分布上还可能发散。有没有闭式,直接决定柯西能不能进变分推断、鲁棒聚类这类要反复算 KL 的流程。

方法

KL 等于交叉熵减去熵。熵已知,剩下的是

\[h^\times(p{l1,s1}:p{l2,s2})=-\int p{l1,s1}(x)\log p{l2,s2}(x)\,dx\]

代入柯西密度后,这项化成 \(\log(\pi/s2)\) 加上一个六参数定积分

\[A(a,b,c;d,e,f)=\int{-\infty}^{\infty}\frac{\log(dx^2+ex+f)}{ax^2+bx+c}\,dx\]

两个二次多项式都要求在实轴上恒正:首项为正、常数项为正、判别式为负。柯西的系数由 \((l1,s1,l2,s2)\) 直接代入。

这个积分手算很脏。Chyzak 用自己维护的 Maple 包 Mgfun,走 creative telescoping:在积分号下求导,构造一个能在边界消掉的全导数,把含参定积分变成参数的线性微分方程。路线分四步。

\[A=\frac{2\pi\bigl(\log(2af-be+2cd+\sqrt{4ac-b^2}\sqrt{4df-e^2})-\log(2a)\bigr)}{\sqrt{4ac-b^2}}\]

附录几乎原样贴出 Maple 命令。证明路径是计算机代数给出候选闭式,再用微分和边界条件钉死积分常数。Prudnikov 积分表里有一个少两个参数的近亲公式,没有写出证明;那条路走的是 Meijer G 函数识别。

结果

定理:两个柯西密度的 KL 是

\[\mathrm{KL}(p{l1,s1}:p{l2,s2})=\log\frac{(s1+s2)^2+(l1-l2)^2}{4s1 s2}\]

四个参数,没有特殊函数。\(s1=s2\)、\(l1=l2\) 时分子分母相等,KL 掉到 0,自洽。

设置公式对照
一般位置-尺度\(\log[((s1+s2)^2+(l1-l2)^2)/(4s1 s2)]\)此前无闭式
同位置、不同尺度\(2\log((s1+s2)/(2\sqrt{s1 s2}))\)收回 Nielsen 2019 尺度族结果
同尺度、不同位置\(\log(1+(l1-l2)^2/(4s^2))\)新的位置族特例
微分熵 \(h(p{l,s})\)\(\log(4\pi s)\)与既有手册一致

这个 KL 永远有限。把 \((l1,s1)\) 和 \((l2,s2)\) 对调,分子分母一起变,对数值没影响,所以 \(\mathrm{KL}(p:q)=\mathrm{KL}(q:p)\)。普通高斯位置-尺度族没有这条对称性。论文拿正态族当反例:同样是平移加伸缩,高斯的 KL 并不对称。

交叉熵本身是 \(\log[\pi((s1+s2)^2+(l1-l2)^2)/s2]\),分母只剩 \(s2\),并不对称。对称性是熵那一项把不对称部分消掉之后才出现的。

位置-尺度族还有一条尺度不变性:\(\mathrm{KL}(p{l1,s1}:p{l2,s2})=\mathrm{KL}(p{0,1}:p{(l2-l1)/s1,\,s2/s1})\)。这对任意 f-散度都成立,不只是 KL。把标准柯西代进闭式,两边对得上。

为什么重要

公式短到可以手写进 loss。做 Cauchy 噪声的变分推断、用柯西当重尾混合分量、或者在鲁棒回归里拿 KL 当正则,都不用再走数值积分。

日常用法把 KL 的不对称当成默认设定,才有 forward KL 和 reverse KL 两种优化行为。柯西是一个干净的反例:没有矩,却把 KL 写成一个对称的 log。

这是一篇短注,不是新算法。工程价值在于把一个以前要数值积的量,变成四个算术运算加一个 log。

局限与存疑

整篇没有实验。没有把闭式和自适应积分比精度、比速度,也没有讨论 \(s\) 接近 0、或两个分布差很远时的浮点表现。log 的分子分母在实数上都是正的,理论上稳;\(s1\)、\(s2\) 差几个数量级会不会 cancellation,论文没测。

证明依赖 Maple 的 Mgfun,以及 assuming 机制处理对数和根号的解析分支。附录写得很完整,复现却需要同一套计算机代数栈。人手跟完那条三阶 ODE 并不轻松。

只覆盖了一维柯西。多元柯西、自由度大于 1 的 t 分布、logistic 这些同属重尾位置-尺度族的 KL,这篇没有给。对称性是柯西的特例,不能外推到整个位置-尺度族。

论文是 2019 年 5 月的 v2。主体加附录共 8 页,真正拿来用的新公式只有一行。

术语

原文与代码

社区讨论

相关论文

全部论文解读