我在Coursera上完成了Geoff Hinton的神经网络课程,并通过介绍受限的Botzmann机器进行了学习,但我仍然不理解RBM背后的直觉。
为什么我们需要在这台机器上计算能量?在这台机器中,概率有什么用?我也看了这段视频。在视频中,他只是在计算步骤之前就写了概率和能量方程,而且似乎没有在任何地方使用它。
除此之外,我不确定似然函数的作用是什么?
我在Coursera上完成了Geoff Hinton的神经网络课程,并通过介绍受限的Botzmann机器进行了学习,但我仍然不理解RBM背后的直觉。
为什么我们需要在这台机器上计算能量?在这台机器中,概率有什么用?我也看了这段视频。在视频中,他只是在计算步骤之前就写了概率和能量方程,而且似乎没有在任何地方使用它。
除此之外,我不确定似然函数的作用是什么?
Answers:
RBM是有趣的野兽。为了回答您的问题,并在这些问题上留下我的记忆,我将推导RBM并讨论推导过程。您提到您对可能性感到困惑,因此我的推论是从尝试使可能性最大化的角度出发。因此,让我们开始吧。
RBM包含两组不同的神经元,可见的和隐藏的,我分别将它们表示为和。给定和的特定配置,我们将其映射为概率空间。
还有两件事需要定义。我们用来从特定配置映射到概率空间的替代函数称为能量函数。该ž不变的是确保我们实际上映射到概率空间归一化因子。现在,让我们了解我们真正要寻找的东西。一组可见神经元的概率,换句话说就是我们数据的概率。 ž = Σ v ∈ V Σ ħ ∈ ħ ë - ë (v ,ħ ) p (v )
尽管此等式中有很多术语,但可以归结为编写正确的概率等式。但愿,到目前为止,这有助于你明白为什么我们需要能量函数来计算概率,或更有甚者通常,非标准化的概率进行。使用未归一化的概率是因为分区函数Z的计算非常昂贵。
现在让我们进入RBM的实际学习阶段。为了使似然性最大化,对于每个数据点,我们都必须采取梯度步骤使。为了获得梯度表达式,需要一些数学技巧。我们要做的第一件事是取p (v )的对数。从现在开始,我们将在对数概率空间中进行运算,以使数学可行。
让我们以梯度相对于 p (v )中的参数
现在,我在纸上进行了此操作,并将半决赛方程式写下来,以免浪费该站点上的大量空间。我建议您自己导出这些方程式。现在,我将写下一些方程式,这将有助于继续进行推导。需要注意的是:,p (v )= Σ ħ ∈ ħ p (v ,ħ )和p (ħ | v )=
然后,我们就得出了RBM的最大似然估计,如果您希望可以通过对它们各自的条件(条件和联合概率)的期望来写出最后两个条件。
关于神经元的能量功能和随机性的注释。
正如您在上面的推导中看到的那样,我对能量函数的定义相当模糊。这样做的原因是,许多不同版本的RBM实现了各种能源功能。在上面的链接中,欣顿在上面的演讲中描述的那个由@ Laurens-Meeus表示的是:
通过期望形式可能更容易推断出上面的梯度项。
第一项的期望实际上很容易计算,这就是RBM背后的天才。通过限制连接,有条件的期望简单地变成了RBM的向前传播,可见单元被夹紧。这就是玻尔兹曼机器中所谓的唤醒阶段。现在计算第二项要困难得多,通常使用蒙特卡洛方法。通过蒙特卡洛游程的平均值编写梯度:
如上所述,计算第一项并不难,因此,在第二项上进行蒙特卡洛计算。蒙特卡洛方法使用分布的随机连续抽样来计算期望值(总和或积分)。现在,将经典RBM中的这种随机采样定义为随机地根据其概率将一个单位设置为0或1,换句话说,如果它小于神经元概率,则获得一个随机统一数,如果将其设置为1,大于将其设置为0。
除了现有的答案外,我还要谈谈这个能量函数,以及其背后的直觉。很抱歉,如果这太长且太物理了。
能量函数描述了所谓的Ising模型,它是根据统计力学/量子力学来描述的铁磁性模型。在统计力学中,我们使用所谓的哈密顿算子来描述量子力学系统的能量。并且系统总是试图以最低的能量进入状态。
RBM与这种铁磁性量子力学模型有什么关系?
我们需要使用最终的物理量:熵。从热力学我们知道,系统将以最小的能量稳定在状态中,这也对应于最大熵的状态。
最后,这是我们回到RBM的地方:基本上,我们希望该RBM编码尽可能多的信息。因此,由于我们必须最大化 RBM系统中的(信息论)熵。正如Hopfield在1982年提出的那样,我们可以像物理熵一样最大化信息理论的熵:通过像上面的Ising模型那样对RBM建模,并使用相同的方法来最小化能量。这就是为什么我们在RBM中需要这种奇怪的能量函数!
Armen Aghajanyan答案中的数学推导很好地显示了我们需要做的一切,以最大程度地减少能量,从而使熵最大化,并在我们的RBM中存储/保存尽可能多的信息。
PS:亲爱的物理学家,请原谅这位工程师推导过程中的任何不准确之处。随时发表评论或修正错误(甚至是错误)。
@Armen的答案给了我很多见识。但是,尚未回答一个问题。
h
或v
-你是采样为二进制值的向量h
或v
,以便产生一个例子,该网络“相信”存在-即具有作为代表的高统计机会的示例训练集。在训练过程中,您要确定它与现有训练示例的匹配程度,并相应地调整权重。