用傅立叶级数拟合一维概率密度函数

6bea2399fecd7e93b5ae05dd93e50813.gif

©PaperWeekly 原创 · 作者 | 苏剑林

单位 | 科学空间

研究方向 | NLP、神经网络

在《“闭门造车”之多模态模型方案浅谈》中我们曾提到,图像生成的本质困难是没有一个连续型概率密度的万能拟合器。当然,也不能说完全没有,比如高斯混合模型(GMM)理论上就是可以拟合任意概率密度,就连 GAN 本质上也可以理解为混合了无限个高斯模型的 GMM。然而,GMM 尽管理论上的能力是足够的,但它的最大似然估计会很困难,尤其是通常不适用基于梯度的优化器,这限制了它的使用场景。

近日,Google 的一篇新论文《Fourier Basis Density Model》[1] 针对一维情形,提出了一个新的解决方案——用傅立叶级数来拟合。论文的分析过程颇为有趣,构造形式也很是巧妙,值得学习一番。

693aad46c0fad190dd68aac7087d577b.png

问题简述

可能有读者质疑:只研究一维情形有什么价值?确实,如果只考虑图像生成场景,那可能真的价值有限,但一维概率密度估计本身有它的应用价值,如数据的有损压缩,所以它依然是一个值得研究的主题。再者,即便我们需要研究多维的概率密度,也可以通过自回归的方式转化为多个一维的条件概率密度来估计。最后,这个分析和构造过程本身就很值得回味,所以哪怕是仅仅作为一道数学分析题来练习也是相当有益的。

言归正传。所谓一维概率密度估计,是指给定 n 个从同一分布采样出来的实数 的情况下,估计采样分布的概率密度函数。这个问题的方法可以分为“非参数化估计”和“参数化估计”两类。非参数化估计主要就是指核密度估计,它跟《用狄拉克函数来构造非光滑函数的光滑近似》一样,本质上是利用狄拉克函数做光滑近似:

34a79139bb82f7e2dc23af1d7acb48fe.png

但是 不是常规的光滑函数,所以我们要找它的一个光滑近似,比如 ,它是正态分布的概率密度函数,当 的时候它就是 ,代入到上式,结果就是“高斯核密度估计”。

可以看到,核密度估计本质上就是把数据背下来,因此可以推测它泛化能力有限,另外它的复杂度正比于数据量,那么数据规模较大时也不实用,所以我们需要“参数化估计”,即构建一个非负的、归一化的、带有固定量的参数 的概率密度函数簇 ,然后通过最大似然就可以求解:

57c502921d3fed6f4effdabaff37dfd0.jpeg

这个问题的关键就是如何构建一簇有足够拟合能力的概率密度函数 。

5254b984bf8dd979a6feaecad89902a2.png

已有方法

参数化概率密度估计的经典方法是高斯混合模型(Gaussian Mixed Model,GMM),它的出发点同样是式(1)加高斯核,但它不是遍历所有数据作为中心,而是通过训练的方式,找到有限的 K 个均值和方差,构建一个复杂度跟数据量无关的模型:

cc349906b89f42c4c1a986dbdcd4b2b1.png

GMM 通常也被理解为一种聚类方法,它是 K-Means 的推广, 是聚类中心,比 K-Means 则多出了方差 。由于式(1)的理论保证,因此当 K 足够大、 足够小时,GMM 理论上总能拟合任意复杂的分布,因此 GMM 的理论能力是足够的。

但 GMM 的问题在于 这个形式衰减得太快,梯度消失非常严重,因此通常只能用 EM 算法求解(参考《三味Capsule:矩阵Capsule与EM路由》),不好用梯度优化器优化,这限制了它的应用,而且即便用 EM 算法也通常都只能找到一个次优的解。

原论文还提到了一个叫做 DFP(Deep Factorized Probability)的方法,它是专为一维概率密度估计设计的,出自论文《Variational image compression with a scale hyperprior》[2]。DFP 利用了累积概率函数的单调性,即如下积分

fa60330a81d1d38ea8a4f071048fcaee.png

必然是单调递增的。如果我们能先构造一个 的单调递增函数 ,那么对它求导就是一个合理的概率密度函数。

如何保证一个模型的输出随着输入单调递增呢?DFP 用一个多层神经网络来构建模型,并且保证:1)所有激活函数都是单调递增的;2)所有乘法权重都是非负的。在这两点约束之下,模型必然符合单调递增这一特点,最后再加个 Sigmoid,就可以控制值域为 [0,1]。

DFP 的原理也称得上是简单直观,但类似于 flow-based 模型,这种逐层的约束会让人担心损失了拟合能力。

此外,由于该模型完全由神经网络构建,根据此前《Frequency Principle: Fourier Analysis Sheds Light on Deep Neural Networks》[3] 等结论,神经网络在训练时会优先学习低频信号,这可能会使得 DPF 对概率密度的峰值点拟合不佳,即出现过度平滑的拟合结果,然而在很多场景下,峰值的拟合能力是衡量一个概率建模方法的重要指标之一。

08cc5047d2e0043b58037345d759a9f7.png

请傅立叶

如论文标题“Fourier Basis Density Model”(下面简称 FBDM)所示,论文所提的新方法,是基于傅立叶级数来拟合概率密度的。有一说一,其实用傅立叶级数来拟合这一点并不难想到,难的是里边有一个关键的非负约束不容易构造,而 FBDM 则是把相关的细节都走通了,不得不让人佩服。

简单起见,我们把 x 的定义域设为 [-1,1],由于总可以通过 之类的变换将 上的实数都压到到 [-1,1],因此这个设定并不失一般性。也就是说,现在我们所求的概率密度函数 p(x) 是定义在 [-1,1] 上的函数,那么我们可以将它写成傅立叶级数:

b61013f0231bd0699e7713d45575fd8a.png

然而,我们现在要做的事情是反过来的,并非已知 p(x) 求它的傅立叶级数,而是只知道 p(x) 的样本,需要把 p(x) 设成如下的截断傅立叶级数形式,然后把系数 通过优化器求出来:

e5dbfd72e311e0d6a28f6ccb98f9f4a8.png

众所周知,作为一个合理的概率密度函数, 至少要满足如下两个条件:

3507bacc71a01f8a16a9ed37864ebf9a.png

问题是如果 取任意实数/复数,那么式(6)是否实数都无法保证,更不用说非负了。所以说,用傅立叶级数来拟合并不难想,难在如何设定 的形式,使得对应的输出必然是非负的(后面我们将会看到,在傅立叶级数下,最难的是非负,归一反而简单)。

9c8017e0c305bf6bba31cf940c845b0e.png

保证非负

这一节我们就来看全文难度最高的非负性构造。当然,这里的难并不是说它推导有多复杂,而是非常有技巧性。

首先,我们知道非负的前提是实数,而保证实数相对比较简单:

c0b280bcc40b709ac27d501335cc293d.png

可以反过来证明这个条件也是充分的,所以保证实数只需要约束 ,这个相对来说很容易实现,同时这也意味着式(6)的级数作为概率密度函数时,只有 这 N+1 个独立参数。

关于非负约束,原论文只是抛出了一个“Herglotz’s theorem”的引用,然后就直接给出了答案,可以说几乎没有推导。笔者搜了一下 Herglotz’s theorem,也发现鲜有介绍,因此只好尝试跳过 Herglotz’s theorem,用自己的方式去理解原论文的答案了。

考虑任意整数的有限子集 ,以及对应的任意复数列 ,我们有

f785ef37955e0aaed407fa5afc6c400d.png

最后的 取决于 ,所以我们就得出了 的一个必要条件:。如果将所有 排列成一个大矩阵(Toeplitz 矩阵),那么这个条件用线性代数的话说就是任意 对应的行列交集组成的子矩阵都是复空间中的正定矩阵。也可以证明这个条件是充分的,即满足此条件的 必然恒大于 0。

所以问题变成了如何找一个复数列 ,使得对应的 Toeplitz 矩阵 是一个正定矩阵。看上去这转换把问题变得更加复杂了,但对于了解时间序列的读者来说,他们可能知道一个现成的构造方式,那就是“自相关系数” [4]:对于任意复数列 ,自相关系数定义为

44e6dd97ea41ba63de10d23386217f17.png

可以证明 必然是正定的:

115dfba9448a730bb58535c3042c2217.png

因此将 取成 的形式就是一个可行的解。为了确保 的独立参数量只有 N+1 个,我们约定当 或者 时 ,那么得到

097e32f60f4fa91d8648255a7927774e.png

这就构成出了对应的 ,使得式(6)的傅立叶级数的结果必然非负,满足了概率密度函数的非负要求。

99790ba83c6a11343423df68b37e59f4.png

一般结果

至此,整个问题中最难的部分——“非负性”已经被解决。剩下的归一化很简单,因为

c7b597948ebf7f0862579d9a4b9530cc.png

所以归一化因子就是 !于是我们只需要将 设成

a1d71826bd25f869f2a6e207ba3d7f0a.png

它就是一个有效的概率密度候选函数。

当然,目前这个分布还只是定义在 [-1,1],我们需要将它扩展到整个 上,这个不难,我们先想一个将 压缩为 [-1,1] 的变换,然后求变换之后的概率密度形式就行。为此,我们可以先通过原始样本估计出均值 和方差 ,然后通过 就将它变为均值为 0、方差为 1 的分布,接着就可以通过 压缩到 [-1,1] 中,对应的新概率密度函数为

7ba3475aafd83ecdc8a4515b46e106df.png

从端到端学习的角度来讲,我们可以直接把原始数据代入到 的对数似然中进行优化(而不是先压缩后优化),甚至可以连同 也当成可训练参数一起调整。

最后,为了防止过拟合,我们还需要一个正则项,正则项的目的是希望拟合的分布能稍微平滑一些,不要过度陷入局部细节中,为此,我们考虑 导数的模长平方作为正则项:

92af1a0323c1c0bf6cb87c51c73e3483.png

从最后的形式可以看出,它加大了高频项系数的惩罚权重,这可以避免模型过度拟合高频细节,从而提高泛化能力。

ee7900433660a00198b52141983e033e.png

延伸思考

到这里,我们已经把 FBDM 的所有理论推导完成了,剩下的自然是做实验,这部分我们不再重复,直接看原文的结果就好。注意 FBDM 的所有系数和运算都是在复数域内,如果强行实数化会让结果形式复杂不少,所以简单起见应该直接基于所用框架的复数运算来实现(原论文用的是 Jax)。

在看实验结果之前,我们先来想想评价指标是什么。如果是模拟实验的话,我们通常都能知道真实分布的概率密度表达式,因此最直接的指标就是计算真实分布与拟合分布的 KL 散度/W 距离等分布度量。

除此之外,对于概率密度的拟合,我们通常有一个更关心的指标,那就是“峰值”的拟合效果。假设概率密度是光滑的,那么它可能有多个局部最大值点,这些局部最大值点就是我们所说的峰值,或者称为“modal”,很多场景下能否准确找到更多的 modal 比整个分布的度量大小更重要,比如有损压缩的基本思想就是只保留这些 modal 来描述分布。

而从原论文的实验结果可以看到,在同等参数量下 FBDM 在 KL 散度和 modal 方面都做得更好:

afa8b3e5d52451180bae26c2c9058733.png

▲ GMM、DFP、FBDM效果对比

之所以有这样的优势,笔者猜测是因为 FBDM 的虚指数形式,本质上就是三角函数,它不像 GMM 那样的负指数有严重的梯度消失问题,因此基于梯度的优化器有更大的概率能找到更优的解答。从这个形式来看,FBDM 也可以理解为连续型概率密度的“Softmax”,都是以 为基来构建一个概率分布,只不过一个是实指数,一个则是虚指数。

相比 GMM,FBDM 自然也有一些缺点,如不够直观、不易采样、不易推广到高维等(当然这些缺点 DFP 也有)。GMM 很直观,就是有限个正态分布的加权平均的形式,通过先类别采样、后正态采样的层次采样就可以实现概率密度函数中采样,相比之下 FBDM 没那么直观的方案,看上去只能通过逆累积概率函数的方式进行采样,即先求出累积概率函数

8479b3e509feb4352fdc0f42174233f0.png

然后 就可以实现采样了。至于高维推广,正态分布本来就有高维形式,因此 GMM 推广到任意维度也很容易,但是 FBDM 要想直接推广到 D 维,那么就有 个参数,很明显复杂度太高,或者就像 Decoder-Only 的 LLM 一样,用自回归的方式转化为多个一维条件概率密度估计,总之,办法不能说没有,但是各种弯弯绕绕更多。

c6f52951c922e90a65ee9a76e8c738e9.png

文章小结

本文介绍了一种用傅立叶级数来建模一维概率密度函数的新思路,关键之处是通过精巧的系数构造,来约束原本值域是复数域的傅立叶级数成为一个非负函数,整个过程颇为赏心悦目,值得学习一番。

outside_default.png

参考文献

outside_default.png

[1] https://arxiv.org/abs/2402.15345

[2] https://arxiv.org/abs/1802.01436

[3] https://arxiv.org/abs/1901.06523

[4] https://en.wikipedia.org/wiki/Autocorrelation

更多阅读

cde972361dddec974a1a4f2aa969026a.png

fed6ceeaca4911bb902d06e6fb9f00d3.png

34c74e51c3fe4b68e90f67e3cb06e4c5.png

607d2813456ee55c754e93504cf85f83.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

c325d520dc8cb81aa104ec045f4b7967.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

5a1a83b914126ebf5098ad35e6a7c0b5.jpeg

  • 18
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值