2.9. 神经网络模型(无监督)#
2.9.1. 受限玻尔兹曼机#
限制Boltzmann机(RBM)是基于概率模型的无监督非线性特征学习器。当将RBM或RBM层次结构提取的特征输入线性分类器(例如线性支持者或感知器)时,通常会给出良好的结果。
该模型对输入的分布做出了假设。目前,scikit-learn仅提供 BernoulliRBM
,它假设输入是二进制值或0到1之间的值,每个输入都对特定功能打开的概率进行编码。
RBM试图使用特定的图形模型最大化数据的可能性。使用的参数学习算法 (Stochastic Maximum Likelihood )防止表示远离输入数据,这使得它们捕获有趣的数据集,但使模型对小数据集不太有用,而且通常对密度估计也不太有用。
该方法在使用独立RBM的权重初始化深度神经网络方面得到了普及。这种方法被称为无监督预训练。

示例
2.9.1.1. 图形模型和参数化#
RBM的图形模型是一个全连接的二部图。

这些节点是随机变量,其状态取决于它们所连接的其他节点的状态。因此,该模型通过连接的权重以及每个可见和隐藏单元的一个截取(偏差)项进行参数化,为了简单起见,从图像中省略了。
能量函数衡量联合作业的质量:
在上面的公式中, \(\mathbf{b}\) 和 \(\mathbf{c}\) 分别是可见层和隐藏层的截取载体。模型的联合概率根据能量定义:
这个词 restricted 指的是模型的二分结构,它禁止隐藏单元之间或可见单元之间的直接交互。这意味着假设以下条件独立性:
二部结构允许使用高效的块Gibbs采样进行推理。
2.9.1.2. 限制伯努利玻尔兹曼机#
在 BernoulliRBM
,所有单位都是二元随机单位。这意味着输入数据应该是二进制的,或者是0和1之间的实值,这意味着可见单元打开或关闭的可能性。这是字符识别的一个很好的模型,其中的兴趣在于哪些像素是活动的,哪些不是。对于自然场景的图像,由于背景、深度和邻近像素取相同值的倾向,它不再适合。
每个单元的条件概率分布由其接收的输入的逻辑Sigmoid激活函数给出:
哪里 \(\sigma\) 是逻辑Sigmoid函数:
2.9.1.3. 随机最大似然学习#
中实现的训练算法 BernoulliRBM
被称为随机最大似然度(SML)或持续对比分歧(PD)。由于数据可能性的形式,直接优化最大可能性是不可行的:
为了简单起见,上面的方程是针对单个训练示例编写的。相对于权重的梯度由与上述项相对应的两项构成。由于它们各自的符号,它们通常被称为正梯度和负梯度。 在此实现中,在小批量样本上估计梯度。
在最大化log似然时,正梯度使模型更喜欢与观察到的训练数据兼容的隐藏状态。由于RBM的二部结构,可以有效地计算。然而,负梯度是棘手的。它的目标是降低模型偏好的联合状态的能量,从而使其保持真实性。它可以通过马尔科夫链蒙特卡罗来逼近,使用块Gibbs采样,通过迭代采样每个 \(v\) 和 \(h\) 给予另一个,直到链条混合。以这种方式生成的样本有时被称为幻想粒子。这是低效的,并且很难确定马尔科夫链是否混合。
对比分歧方法建议在少量迭代后停止链, \(k\) ,通常甚至1.该方法速度快、方差小,但样本与模型分布相距较远。
持续的对比分歧解决了这个问题。我们不是在每次需要梯度时启动新链,并且只执行一个Gibbs采样步骤,而是在PDC中保留了许多更新的链(幻想粒子) \(k\) 每次体重更新后,吉布斯都会采取步骤。这使得粒子能够更彻底地探索太空。
引用
"A fast learning algorithm for deep belief nets" <https://www.cs.toronto.edu/~hinton/absps/fastnc.pdf>
_,G。辛顿,S.奥辛德罗,Y.- W. Teh,2006"Training Restricted Boltzmann Machines using Approximations to the Likelihood Gradient" <https://www.cs.toronto.edu/~tijmen/pcd/pcd.pdf>
_,T.蒂勒曼,2008年