CD是Hinton为了训练他的Product of Expert模型提出的,后来用于训练RBM。
CD是最大似然法的近似算法,Contrastive Divergence (CD) is an approximate Maximum-Likelihood.
(ML) learning algorithm proposed by Geoffrey Hinton
最大似然法是训练权重的最理想的方法。CD provides an approximation to the maximum likelihood method that would ideally be applied for learning the weights

为什么需要CD

训练单个RBM时,权重的更新用梯度下降:

机器学习消融实验怎么描述 消融实验和对比实验_对比散度


其中p(v)是显层向量的联合概率,由这个向量的的能量决定:分子表示各种可能的隐层向量h下v的能量总和,分母是配分函数,是所有可能的v,h搭配情况的能量总和,是为了归一化used for normalizing。

机器学习消融实验怎么描述 消融实验和对比实验_机器学习消融实验怎么描述_02


E(v,h)是整个RBM网络的能量。由显层隐层单元具体取值确定。能量越低的(v,h)/网络越是我们想要的。A lower energy indicates the network is in a more “desirable” configuration.

机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_03

其中<>p表示分布p的平均。 represent averages with respect to distribution p。 如:

机器学习消融实验怎么描述 消融实验和对比实验_对比散度_04

这个运算很难算,computationally intractable, 所以我们换个办法——数值近似:通过CD算法经过n次(n常常取1可以取得好的效果)采样得到<>p

The issue arises in sampling <vihj>model because this requires extended alternating Gibbs sampling. CD replaces this step by running alternating Gibbs sampling for n steps (values of n=1 perform well). After n steps, the data are sampled and that sample is used in place of <vihj>model


一、CD的数学推导

假设我们要用函数机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_05建模一个数据点的概率,通常指pdf函数
且令机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_06,这是配分函数
其中机器学习消融实验怎么描述 消融实验和对比实验_对比散度_07是所有参数构成的向量
机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_08表示在数据点处的概率,由于在x上对每个点的概率进行积分结果为1,即机器学习消融实验怎么描述 消融实验和对比实验_训练方法_09
所以

机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_10

可见机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_11是配分函数,由所有参数决定,所以在学习任务中,机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_11通常是未知的,因为要学习的对象就是参数。

那么对于一组训练数据机器学习消融实验怎么描述 消融实验和对比实验_对比散度_13,联合概率可连乘(假设样本之间独立):
机器学习消融实验怎么描述 消融实验和对比实验_对比散度_14

在实际任务中,我们就是要通过最大化上式(1)或者最小化它的负对数(下式(2))去学习参数向量机器学习消融实验怎么描述 消融实验和对比实验_对比散度_07

(1)的负对数(再除个常数因子K,即训练样本总数)常被记为能量机器学习消融实验怎么描述 消融实验和对比实验_机器学习消融实验怎么描述_16:

机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_17
化简整理可得:
机器学习消融实验怎么描述 消融实验和对比实验_RBM_18

所以RBM的能量函数实际上来自于所有样本的联合概率,且与配分函数也有关。

下面我们只讨论利用最小化式(2)进行学习参数的推导,因为更常用。

要学习参数,就直接对参数向量进行求导,计算出梯度表达式:

机器学习消融实验怎么描述 消融实验和对比实验_对比散度_19
机器学习消融实验怎么描述 消融实验和对比实验_RBM_20机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_21

机器学习消融实验怎么描述 消融实验和对比实验_训练方法_22

this integration is generally algebraically intractable.

对能量函数直接求偏导而得到的梯度的代数计算式里面的积分很难直接算,但是却很容易从机器学习消融实验怎么描述 消融实验和对比实验_训练方法_23分布中抽取样本进行数值近似。

draw samples from the distribution机器学习消融实验怎么描述 消融实验和对比实验_训练方法_23

但是由于配分函数未知,所以又不能直接从机器学习消融实验怎么描述 消融实验和对比实验_训练方法_23分布中抽取样本,但是可以用多个周期的MCMC采样把目标分布中抽取的样本(即训练样本机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_26)转换为在机器学习消融实验怎么描述 消融实验和对比实验_训练方法_23分布中抽取的样本。这样做可行是因为这个转换只需要计算两个概率的比值,从而把配分函数约掉了。
This is possible as the transformation only involves calculating the ratio of two probabilities, 机器学习消融实验怎么描述 消融实验和对比实验_对比散度_28, so the partition function cancels out.

机器学习消融实验怎么描述 消融实验和对比实验_训练方法_29表示把训练数据机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_26经过n个MCMC周期转换得到的数据,n趋近于无穷则一定可以转换为机器学习消融实验怎么描述 消融实验和对比实验_训练方法_23分布的样本。那么能量函数对参数向量的梯度就可以表示为:

机器学习消融实验怎么描述 消融实验和对比实验_对比散度_32

但是,,,新问题又来了,,无穷步MCMC采样要花很多很多时间,导致上式计算近似的梯度太缓慢。
We still have a computational hurdle to overcome—the many MCMC cycles required to compute an accurate gradient will take far too long.

Hinton认为,只需要很少的几步,即很小的n,就可以得到很好的近似梯度,并且根据经验,n=1!!!

Empirically, Hinton has found that even 1 cycle of MCMC is sufficient for the algorithm to converge to the ML answer.
所以,根据梯度下降法,

机器学习消融实验怎么描述 消融实验和对比实验_深度信念网_33

机器学习消融实验怎么描述 消融实验和对比实验_训练方法_34是步长,the step size factor,要根据收敛时间和稳定性来确定,即在实验中摸索确定。


二、 CD算法的工作流程

机器学习消融实验怎么描述 消融实验和对比实验_训练方法_35

这里只写了显层隐层都是二元取值单元的训练方法。

2,3,4都是吉布斯采样的内容。

只有第五步权重的更新上用到了CD。权重变化量正比于梯度的相反数。

2,3两步的计算非常非常简单,sigmoid函数的输入是神经元机器学习消融实验怎么描述 消融实验和对比实验_训练方法_36机器学习消融实验怎么描述 消融实验和对比实验_机器学习消融实验怎么描述_37(要更新的那个单元)的总输入,为自身偏置加上所有连接到它的另一层单元的权重乘取值之和,sigmoid把这个输入的激活值转化为这个单元取1的概率,然后以这个概率随机更新一个值。0 or 1。

Once an RBM is trained, another RBM is “stacked” atop it, taking its input from the final trained layer. The new visible layer is initialized to a training vector, and values for the units in the already-trained layers are assigned using the current weights and biases. The new RBM is then trained with the procedure above. This whole process is repeated until the desired stopping criterion is met.

三、对CD的评价

虽然CD对最大似然的近似很粗糙,没有遵循任何函数的梯度,但经验表明他就是好使。
Although the approximation of CD to maximum likelihood is crude (does not follow the gradient of any function), it is empirically effective.