机器学习笔记之配分函数(三)对比散度
创始人
2024-03-25 18:54:17
0

机器学习笔记之配分函数——对比散度

  • 引言
    • 回顾:随机最大似然求解模型参数的过程
    • 随机最大似然的缺陷
      • 吉布斯采样的缺陷与对比散度思想
    • 对比散度名称的由来
      • 从KL\mathcal K\mathcal LKL散度的角度描述极大似然估计
      • 对比散度的本质

引言

上一节介绍了随机最大似然(Stochastic Maximum Likelihood)求解最优模型参数的过程。本节将介绍对比散度(Constractive Divergence,CD)。

回顾:随机最大似然求解模型参数的过程

针对极大似然估计,使用梯度上升算法使模型参数θ\thetaθ逼近最优参数θ^\hat {\theta}θ^:
θ^=arg⁡max⁡θlog⁡∏i=1NP(x(i);θ)θ(t+1)⇐θ(t)+η∇θL(θ)\begin{aligned} \hat \theta = \mathop{\arg\max}\limits_{\theta} \log \prod_{i=1}^N \mathcal P(x^{(i)};\theta) \\ \theta^{(t+1)} \Leftarrow \theta^{(t)} + \eta\nabla_{\theta} \mathcal L(\theta) \end{aligned}θ^=θargmax​logi=1∏N​P(x(i);θ)θ(t+1)⇐θ(t)+η∇θ​L(θ)​

关于目标函数梯度∇θL(θ)\nabla_{\theta}\mathcal L(\theta)∇θ​L(θ)表示如下:
∇θL(θ)=EPdata[∇θlog⁡P^(x(i);θ)]−EPmodel[∇θlog⁡P^(X;θ)]\nabla_{\theta}\mathcal L(\theta) = \mathbb E_{\mathcal P_{data}} \left[\nabla_{\theta} \log \hat \mathcal P(x^{(i)};\theta)\right] - \mathbb E_{\mathcal P_{model}} \left[\nabla_{\theta} \log \hat \mathcal P(\mathcal X;\theta)\right]∇θ​L(θ)=EPdata​​[∇θ​logP^(x(i);θ)]−EPmodel​​[∇θ​logP^(X;θ)]
其中:

  • Pdata\mathcal P_{data}Pdata​表示真实分布,该分布是客观存在的,可以将样本集合X\mathcal XX看作是从Pdata\mathcal P_{data}Pdata​中采出的NNN个样本

  • Pmodel\mathcal P_{model}Pmodel​表示模型分布,它实际上是基于样本特征或者概率图结构假设出来的分布

  • EPdata[∇θlog⁡P^(x(i);θ)]\mathbb E_{\mathcal P_{data}} \left[\nabla_{\theta} \log \hat \mathcal P(x^{(i)};\theta)\right]EPdata​​[∇θ​logP^(x(i);θ)]表示正相(Positive Phase),它本质上是基于Pdata\mathcal P_{data}Pdata​的期望结果。由于样本集合X\mathcal XX的特征均是可观测的,因而正相的期望求解更加简单。如:批梯度下降法(Batch Gradient Descent);mini-Batch 梯度下降法

  • EPmodel[∇θlog⁡P^(X;θ)]\mathbb E_{\mathcal P_{model}} \left[\nabla_{\theta} \log \hat \mathcal P(\mathcal X;\theta)\right]EPmodel​​[∇θ​logP^(X;θ)]表示负相(Negative Phase)。负相难求解的原因在于:它不像Pdata\mathcal P_{data}Pdata​是恒定不变的,并拥有X\mathcal XX提供采样;我们假定的Pmodel\mathcal P_{model}Pmodel​要逼近Pdata\mathcal P_{data}Pdata​,但随着Pmodel\mathcal P_{model}Pmodel​分布的变化,我们对它中间过程的分布一无所知

    因此,采用马尔可夫链蒙特卡洛方法(Markov Chain Monte Carlo Method)在梯度上升算法过程中,每一次迭代过程都需要对Pmodel\mathcal P_{model}Pmodel​进行采样,从而近似计算负相结果。

最终,通过正相、负相的计算结果,联合更新模型参数θ\thetaθ的梯度方向,最终近似求解最优模型参数θ^\hat\thetaθ^。

随机最大似然的缺陷

对于负相难求解问题,通常使用马尔可夫链蒙特卡洛方法进行分布近似,如吉布斯采样。根据吉布斯采样的要求,并不是直接从分布中采样出M\mathcal MM个样本,而是基于坐标上升思想将分布收敛成平稳分布(Stationary Distribution)后,从平稳分布中进行采样。
基于吉布斯采样初始分布到平稳分布的收敛过程表示如下:
MCMC-平稳分布收敛过程

假设从Step-1\text{Step-1}Step-1开始,收敛至Step-k\text{Step-k}Step-k后达到平稳分布,从第q(q>k)\text{q}(q >k)q(q>k)次迭代中进行采样,直到采出M\mathcal MM个样本为止。
从初始状态收敛至平稳分布的过程称作‘混合时间’(Mixing Time).

回顾吉布斯采样的迭代过程,每一个Step\text{Step}Step的执行过程是复杂的:

  • 需要基于每一维度进行采样,并且在采样过程中需要将其他所有维度固定(遍历过的、没遍历过的)
  • 直至所有维度均遍历一遍,一次Step\text{Step}Step才算完成。

这种迭代过程是十分消耗时间的,关于上述采样方法,容错率是极低的。因为如果没有收敛至平稳分布的话,那么一个样本都采不出来
从而衍生出一种 以空间换时间 的采样方法,一次性使用若干条马尔可夫链进行采样。换句话说:哪条马尔可夫链达到平稳分布了,就从那条链中抽一个样本。这样采样容错率就很高,并且尽量满足每个样本均从不同的平稳分布中采样出来,保证了样本之间 相互独立
基于多条链的采样思路
这种采样方式的弊端自然是消耗更多的存储资源

吉布斯采样的缺陷与对比散度思想

即便是以空间换时间,这种采样结果可能依然很低效。其核心原因是:在每次吉布斯采样的初始Step\text{Step}Step中,需要给定一个初始分布;这个初始分布可以是任意分布,通常会设置为简单分布。如均匀分布、高斯分布等。但如果要近似的Pmodel\mathcal P_{model}Pmodel​分布过于复杂,导致吉布斯采样在迭代过程中混合时间很长,甚至是极难收敛至平稳分布

如何处理这种难收敛的问题:对比散度(Constractive Divergence)这种方法从初始分布入手。初始分布本质上是从任意分布中采集的样本点,而对比散度的朴素思想是与其从任意分布中进行采样,干脆直接采样一些优秀的样本点

什么样的样本点是优秀的样本点?自然是这些样本点作为初始分布后,能够 更快地收敛至平稳分布。而这里的平稳分布指的自然是Pmodel\mathcal P_{model}Pmodel​。什么样的初始分布和Pmodel\mathcal P_{model}Pmodel​相似呢?对比散度的思路是:将正相中Pdata\mathcal P_{data}Pdata​采样的M\mathcal MM个样本点直接作为负相采样的初始分布
既然要求解的Pmodel\mathcal P_{model}Pmodel​最终是要逼近Pdata\mathcal P_{data}Pdata​的,直接用Pdata\mathcal P_{data}Pdata​的样本,自然会加快Pmodel\mathcal P_{model}Pmodel​的逼近速度。

这种方法被称为CD-k\text{CD-k}CD-k,这里的kkk自然表示吉布斯采样的步骤编号。这种方法的特点在于:我们并非一定要达到平稳分布后再执行采样,仅仅通过若干次迭代之后,即便没有达到平稳分布,也可以进行采样
CD-1\text{CD-1}CD-1表示从第一次迭代结束后,直接进行采样。以此类推。

感性理解

  • 基于CD的朴素思想,初始分布的样本点x^(i)(i=1,2,⋯,M)∼Pdata\hat x^{(i)}(i=1,2,\cdots,\mathcal M) \sim \mathcal P_{data}x^(i)(i=1,2,⋯,M)∼Pdata​,在收敛至平稳分布的迭代过程中,它的本质就是将Pdata⇒Pmodel\mathcal P_{data} \Rightarrow \mathcal P_{model}Pdata​⇒Pmodel​方向上的过渡过程;在计算完梯度之后,最终还是要将Pmodel⇒Pdata\mathcal P_{model} \Rightarrow \mathcal P_{data}Pmodel​⇒Pdata​方向逼近。莫不如一开始采集出的样本与Pdata\mathcal P_{data}Pdata​的关联度高,从而更快地将Pmodel\mathcal P_{model}Pmodel​分布向Pdata\mathcal P_{data}Pdata​分布方向‘牵引’。
  • 相反地,并不是一开始的CD-0\text{CD-0}CD-0就一定是最优的分布,即便是使用Pdata\mathcal P_{data}Pdata​的采样结果作为初始分布,但依然需要‘在给定这些可见单元的隐藏单元条件分布上采样的马尔可夫链上进行[磨合]’(摘自《深度学习》(花书)373页).

对比散度名称的由来

从KL\mathcal K\mathcal LKL散度的角度描述极大似然估计

回顾基于归一化后概率模型P(X;θ)\mathcal P(\mathcal X;\theta)P(X;θ)的极大似然估计
加上一个系数1N\frac{1}{N}N1​,并不影响最值的取值结果。
θ^=arg⁡max⁡θlog⁡∏i=1NP(x(i);θ)=arg⁡max⁡θ1N∑i=1Nlog⁡P(x(i);θ)\begin{aligned} \hat \theta & = \mathop{\arg\max}\limits_{\theta} \log \prod_{i=1}^N \mathcal P(x^{(i)};\theta) \\ & = \mathop{\arg\max}\limits_{\theta} \frac{1}{N}\sum_{i=1}^N \log \mathcal P(x^{(i)};\theta) \end{aligned}θ^​=θargmax​logi=1∏N​P(x(i);θ)=θargmax​N1​i=1∑N​logP(x(i);θ)​
因而上述式子可写成期望形式

  • 再次强调,将X={x(i)}i=1N\mathcal X = \{x^{(i)}\}_{i=1}^NX={x(i)}i=1N​视作真实分布Pdata\mathcal P_{data}Pdata​中采集出的样本结果;而‘均值结果写作期望’在这里是蒙特卡洛方法的逆向表示。因为Pdata\mathcal P_{data}Pdata​确实是‘无法精确得到的分布’。即便写成了期望形式,并不影响最优参数的求解。
  • P(x(i);θ)\mathcal P(x^{(i)};\theta)P(x(i);θ)实际上就是基于‘样本特征/概率图结构’假设的概率模型,因此将其写作Pmodel(x(i);θ)\mathcal P_{model}(x^{(i)};\theta)Pmodel​(x(i);θ).
    1N∑i=1Nlog⁡P(x(i);θ)≈EPdata[log⁡P(X;θ)]θ^=arg⁡max⁡θEPdata[log⁡Pmodel(X;θ)]\begin{aligned} \\ & \frac{1}{N}\sum_{i=1}^N \log \mathcal P(x^{(i)};\theta) \approx \mathbb E_{\mathcal P_{data}}[\log \mathcal P(\mathcal X;\theta)] \\ & \hat \theta = \mathop{\arg\max}\limits_{\theta} \mathbb E_{\mathcal P_{data}} \left[\log \mathcal P_{model}(\mathcal X;\theta)\right] \end{aligned}​N1​i=1∑N​logP(x(i);θ)≈EPdata​​[logP(X;θ)]θ^=θargmax​EPdata​​[logPmodel​(X;θ)]​

假设随机变量集合X\mathcal XX是连续型随机变量(观察方便起见),将上述式子描述为积分形式
Pdata\mathcal P_{data}Pdata​本身是客观存在的概率分布,和这里的模型参数θ\thetaθ无关。
θ^=arg⁡max⁡θ∫XPdata(X)log⁡Pmodel(X;θ)dX\hat \theta = \mathop{\arg\max}\limits_{\theta} \int_{\mathcal X} \mathcal P_{data}(\mathcal X) \log \mathcal P_{model}(\mathcal X;\theta) d\mathcal Xθ^=θargmax​∫X​Pdata​(X)logPmodel​(X;θ)dX

将上述式子执行如下变换
在中括号中减去一个和θ\thetaθ无关的常量——Pdata(X)log⁡Pdata(X)\mathcal P_{data}(\mathcal X) \log \mathcal P_{data}(\mathcal X)Pdata​(X)logPdata​(X),并不影响最优参数的求解
θ^=arg⁡max⁡θ∫X[Pdata(X)log⁡Pmodel(X;θ)−Pdata(X)log⁡Pdata(X)]dX=arg⁡max⁡θ∫XPdata(X)⋅[log⁡Pmodel(X;θ)−log⁡Pdata(X)]dX=arg⁡max⁡θ∫XPdata(X)⋅log⁡[Pmodel(X;θ)Pdata(X)]dX\begin{aligned} \hat \theta & = \mathop{\arg\max}\limits_{\theta} \int_{\mathcal X} \left[P_{data}(\mathcal X) \log \mathcal P_{model}(\mathcal X;\theta) - \mathcal P_{data}(\mathcal X) \log \mathcal P_{data}(\mathcal X)\right] d\mathcal X \\ & = \mathop{\arg\max}\limits_{\theta} \int_{\mathcal X} \mathcal P_{data}(\mathcal X) \cdot \left[\log \mathcal P_{model}(\mathcal X;\theta) - \log \mathcal P_{data}(\mathcal X)\right] d\mathcal X \\ & = \mathop{\arg\max}\limits_{\theta} \int_{\mathcal X} \mathcal P_{data}(\mathcal X) \cdot \log \left[\frac{\mathcal P_{model}(\mathcal X;\theta)}{\mathcal P_{data}(\mathcal X)}\right] d\mathcal X \end{aligned}θ^​=θargmax​∫X​[Pdata​(X)logPmodel​(X;θ)−Pdata​(X)logPdata​(X)]dX=θargmax​∫X​Pdata​(X)⋅[logPmodel​(X;θ)−logPdata​(X)]dX=θargmax​∫X​Pdata​(X)⋅log[Pdata​(X)Pmodel​(X;θ)​]dX​
这明显是KL\mathcal K\mathcal LKL散度的表示格式:
KL散度在EM算法,变分推断中最早提到过,本质上是描述两分布之间关联程度的一个量。其结果非负恒成立,当两分布相等时,KL散度等于0.
θ^=arg⁡max⁡θ{−KL[Pdata(X)∣∣Pmodel(X;θ)]}=arg⁡min⁡θ{KL[Pdata(X)∣∣Pmodel(X;θ)]}\begin{aligned} \hat \theta & = \mathop{\arg\max}\limits_{\theta} \left\{-\mathcal K \mathcal L \left[\mathcal P_{data}(\mathcal X) || \mathcal P_{model}(\mathcal X;\theta)\right]\right\} \\ & = \mathop{\arg\min}\limits_{\theta} \left\{\mathcal K \mathcal L \left[\mathcal P_{data}(\mathcal X) || \mathcal P_{model}(\mathcal X;\theta)\right]\right\} \end{aligned}θ^​=θargmax​{−KL[Pdata​(X)∣∣Pmodel​(X;θ)]}=θargmin​{KL[Pdata​(X)∣∣Pmodel​(X;θ)]}​

这也是极大似然估计的另一角度逻辑:通过求解合适的模型参数θ^\hat \thetaθ^,使得真实分布Pdata(X)\mathcal P_{data}(\mathcal X)Pdata​(X)与模型学习分布Pmodel(X;θ)\mathcal P_{model}(\mathcal X;\theta)Pmodel​(X;θ)之间的KL\mathcal K\mathcal LKL散度达到最小
对原始基于概率模型P(X;θ)\mathcal P(\mathcal X;\theta)P(X;θ)的描述更加精进一步————对概率模型进行更精进的划分,并描述两种概率模型之间的逻辑关系。

对比散度的本质

上述关于KL\mathcal K\mathcal LKL散度的描述适用于任意模型的极大似然估计。继续观察负相中的吉布斯采样过程描述方便,在粘一遍
对比散度思想的角度观察,初始化分布(Initialization)就是从Pdata\mathcal P_{data}Pdata​中采集的样本,这里 记作P0\mathcal P_0P0​(吉布斯采样第0步骤的分布结果);而经过相当多次的迭代后,其分布结果是平稳分布,即当前时刻的Pmodel\mathcal P_{model}Pmodel​,这里 记作P∞\mathcal P_{\infty}P∞​(这里仅表示一个符号,∞\infty∞表示相当多次的迭代后达到平稳分布)

关于极大似然估计,使用上述符号可表示为如下形式:
θ^=arg⁡min⁡θ{KL[Pdata(X)∣∣Pmodel(X;θ)]}=arg⁡min⁡θ{KL[P0∣∣P∞]}\begin{aligned} \hat \theta & = \mathop{\arg\min}\limits_{\theta} \left\{\mathcal K \mathcal L \left[\mathcal P_{data}(\mathcal X) || \mathcal P_{model}(\mathcal X;\theta)\right]\right\} \\ & = \mathop{\arg\min}\limits_{\theta} \left\{\mathcal K\mathcal L [\mathcal P_0 \text{ }|| \text{ }\mathcal P_{\infty}]\right\} \end{aligned}θ^​=θargmin​{KL[Pdata​(X)∣∣Pmodel​(X;θ)]}=θargmin​{KL[P0​ ∣∣ P∞​]}​

同上,吉布斯采样的第1步,第2步,…,第kkk步骤等等也可以表示为P1,P2,⋯,Pk,Pk+1,⋯\mathcal P_1,\mathcal P_2,\cdots,\mathcal P_k,\mathcal P_{k+1},\cdotsP1​,P2​,⋯,Pk​,Pk+1​,⋯

如果根据上述对比散度的思想:在吉布斯采样的第kkk步进行采样,即便第kkk步骤并不是平稳分布,这相当于 吉布斯采样只迭代了一部分,就直接进行采样使用了,此时的模型参数θ\thetaθ的优化问题表示如下:
θ^=arg⁡min⁡θ[KL(P0∣∣P∞)−KL(Pk∣∣P∞)]\hat \theta = \mathop{\arg\min}\limits_{\theta} \left[\mathcal K \mathcal L(\mathcal P_0 \text{ } || \text{ } \mathcal P_{\infty}) - \mathcal K\mathcal L (\mathcal P_k \text{ } || \mathcal P_{\infty})\right]θ^=θargmin​[KL(P0​ ∣∣ P∞​)−KL(Pk​ ∣∣P∞​)]

个人理解:

  • 可以将KL(P0∣∣P∞)\mathcal K\mathcal L(\mathcal P_0 \text{ } || \text{ }\mathcal P_{\infty})KL(P0​ ∣∣ P∞​)看作是Pdata,Pmodel\mathcal P_{data},\mathcal P_{model}Pdata​,Pmodel​之间‘总差距’的一种量的表示;同理,KL(Pk∣∣P∞)\mathcal K\mathcal L(\mathcal P_{k} \text{ } || \text{ }\mathcal P_{\infty})KL(Pk​ ∣∣ P∞​)表示吉布斯采样第k次迭代产生的分布Pk\mathcal P_kPk​Pmodel\mathcal P_{model}Pmodel​之间的差距。
  • 和原始的极大似然估计相比,这种‘对比散度’方式对差距的范围描述明显更小了————将Pk→P∞\mathcal P_{k} \to \mathcal P_{\infty}Pk​→P∞​的差距全部减掉了。
  • 而减掉的这一部分对于整个差距来说,比重是很小的。因为在吉布斯采样的迭代过程中,最开始的几步一定是‘更新较大的’————随着步骤的增加,最终‘磨合’成平稳分布Pmodel\mathcal P_{model}Pmodel​。而更新较大的步骤能够带来较高的‘梯度’,从而使梯度上升过程中能够变化更快。

这里解释说明了《机器学习》(花书)P372页最下方的描述:“CD可以被理解为去掉了正确MCMC梯度更新中的最小项,这解释了偏差的由来。”

配分函数部分将介绍到这里,后续会将受限玻尔兹曼机的学习任务部分补上

相关参考:
3-What is Contrastive Divergence(对比散度)
4-Name of Contrastive Divergence(对比散度名字的由来)
深度学习(花书)——第18章 直面配分函数

相关内容

热门资讯

将引入私人投资,加州撤回起诉美... 央视记者当地时间12月27日获悉,美国加利福尼亚州已正式撤回此前针对美联邦政府的诉讼,不再挑战联邦政...
增强市场主体获得感 以制度和规... “放得活”与“管得好”,既是一项重要的经济政策要求,也是一种治理智慧。在经济转型升级的关键阶段,把握...
东营集中巡查!抓获违法犯罪人员... 根据上级统一部署 连日来 东营市公安局东营分局 结合岁末年初社会治安特点 对全区治安复杂区域、人员密...
每周股票复盘:金煤科技(600... 截至2025年12月26日收盘,金煤科技(600844)报收于2.94元,较上周的3.0元下跌2.0...
每周股票复盘:武进不锈(603... 截至2025年12月26日收盘,武进不锈(603878)报收于9.94元,较上周的10.14元下跌1...
每周股票复盘:华依科技(688... 截至2025年12月26日收盘,华依科技(688071)报收于33.81元,较上周的32.34元上涨...
每周股票复盘:文灿股份(603... 截至2025年12月26日收盘,文灿股份(603348)报收于19.23元,较上周的19.5元下跌1...
每周股票复盘:中邮科技(688... 截至2025年12月26日收盘,中邮科技(688648)报收于58.51元,较上周的58.49元上涨...
每周股票复盘:蓝科高新(601... 截至2025年12月26日收盘,蓝科高新(601798)报收于8.99元,较上周的8.98元上涨0....
每周股票复盘:红豆股份(600... 截至2025年12月26日收盘,红豆股份(600400)报收于2.42元,较上周的2.5元下跌3.2...