2.9. 神经网络模型(无监督)#
2.9.1. 受限玻尔兹曼机#
受限玻尔兹曼机 (RBM) 是基于概率模型的无监督非线性特征学习器。由 RBM 或 RBM 层次结构提取的特征,在输入到线性分类器(如线性 SVM 或感知器)时,通常会产生良好的结果。
该模型对输入的分布做出假设。目前,scikit-learn 仅提供 BernoulliRBM
,它假设输入是二进制值或 0 到 1 之间的值,每个值都编码特定特征被激活的概率。
RBM 试图使用特定的图形模型来最大化数据的似然性。使用的参数学习算法 (随机最大似然) 阻止表示偏离输入数据太远,这使得它们能够捕获有趣的规律,但也使得模型对小型数据集不太有用,通常不适用于密度估计。
该方法因使用独立 RBM 的权重来初始化深度神经网络而广受欢迎。这种方法被称为无监督预训练。
示例
2.9.1.1. 图形模型和参数化#
RBM 的图形模型是一个完全连接的二部图。
节点是随机变量,其状态取决于它们连接到的其他节点的状态。因此,该模型由连接的权重以及每个可见单元和隐藏单元的一个截距(偏差)项参数化,为了简单起见,图像中省略了这些项。
能量函数衡量联合赋值的质量
在上面的公式中,\(\mathbf{b}\) 和 \(\mathbf{c}\) 分别是可见层和隐藏层的截距向量。模型的联合概率用能量来定义
术语“受限”指的是模型的二部结构,它禁止隐藏单元之间或可见单元之间的直接交互。这意味着假设以下条件独立性
二部结构允许使用高效的块吉布斯采样进行推断。
2.9.1.2. 伯努利受限玻尔兹曼机#
在 BernoulliRBM
中,所有单元都是二元随机单元。这意味着输入数据应该是二元的,或者是在 0 到 1 之间的实数值,表示可见单元开启或关闭的概率。这是一个适合字符识别的模型,因为字符识别关注的是哪些像素是活动的,哪些像素不是。对于自然场景的图像,它不再适用,因为存在背景、深度以及相邻像素倾向于取相同值的现象。
每个单元的条件概率分布由它接收的输入的逻辑 sigmoid 激活函数给出
其中 \(\sigma\) 是逻辑 sigmoid 函数
2.9.1.3. 随机最大似然学习#
在 BernoulliRBM
中实现的训练算法被称为随机最大似然 (SML) 或持久对比散度 (PCD)。由于数据似然的形式,直接优化最大似然是不可行的
为了简单起见,上面的等式是针对单个训练样本写的。关于权重的梯度由上面两个项组成。它们通常被称为正梯度和负梯度,因为它们各自的符号。在这个实现中,梯度是在样本的小批量上估计的。
在最大化对数似然时,正梯度使模型更倾向于与观察到的训练数据兼容的隐藏状态。由于 RBM 的二部结构,它可以有效地计算。然而,负梯度是难以处理的。它的目标是降低模型偏好的联合状态的能量,从而使其保持对数据的真实性。它可以通过马尔可夫链蒙特卡罗使用块吉布斯采样来近似,通过迭代地采样每个 \(v\) 和 \(h\),直到链混合。以这种方式生成的样本有时被称为幻想粒子。这效率低下,而且很难确定马尔可夫链是否混合。
对比散度方法建议在梯度需要时停止链,经过少量迭代,\(k\),通常甚至只有 1 次。这种方法速度快,方差低,但样本距离模型分布很远。
持久对比散度解决了这个问题。与每次需要梯度时启动一个新的链,并且只执行一次吉布斯采样步骤不同,在 PCD 中,我们保留了一些链(幻想粒子),这些链在每次权重更新后更新 \(k\) 次吉布斯步骤。这允许粒子更彻底地探索空间。
参考文献
“深度信念网络的快速学习算法”,G. Hinton,S. Osindero,Y.-W. Teh,2006
“使用似然梯度近似训练受限玻尔兹曼机”,T. Tieleman,2008