DL花书阅读笔记-深度生成模型(一)

date
Jul 5, 2022
Last edited time
Jul 5, 2022 03:20 PM
status
Published
slug
DL花书阅读笔记-深度生成模型1
tags
DL
summary
type
Post
Field
Plat

玻尔兹曼机

玻尔兹曼机最初作为一种广义的 “联结主义’’ 引入,用来学习二值向量上的任意概率分布 (Fahlman et al., 1983; Ackley et al., 1985; Hinton et al., 1984b; Hinton and Sejnowski, 1986)。在本节中,我们简要介绍二值玻尔兹曼机并讨论训练模型和进行推断时出现的问题。
DL花书阅读笔记-深度学习中的结构化概率模型
我们可以把概率分布分解成许多因子的乘积形式,而不是使用单一的函数来表示概率分布。 优点: 这种分解可以极大地减少用来描述一个分布的参数数量。 我们可以用图来描述这种分解。由一些可以通过边互相连接的顶点的集合构成。当我们用图来表示这种概率分布的分解,我们把它称为结构化概率模型(structured probabilistic model)或者图模型(graphical model)。 无向(undirected)模型使用带有无向边的图,它们将分解表示成一组函数 有向(directed)模型使用带有有向边的图,它们用条件概率分布来表示分解。也被称为信念网络(belief network)或者贝叶斯网络(Bayesian network)。 变量 的有向概率模型是通过有向无环图 (每个结点都是模型中的随机变量)和一系列局部条件概率分布(local conditional probability distribution) 来定义的,其中 表示结点 的所有父结点。 的概率分布可以表示为 无向(undirected )模型,也被称为马尔可夫随机场(Markov random field, MRF)或者是马尔可夫网络(Markov network)。就像它们的名字所说的那样,无向模型中所有的边都是没有方向的。 一个无向模型是一个定义在无向模型 上的结构化概率模型。对于图中的每一个团 ,一个因子(factor)(也称为团势能(clique potential)),衡量了团中变量每一种可能的联合状态所对应的密切程度。它们一起定义了未归一化概率函数(unnormalized probability function): 团: 是图中结点的一个子集,并且其中的点是全连接的 为了得到一个有效的概率分布,我们需要使用对应的归一化的概率分布: 其中, 是使得所有的概率之和或者积分为 1 的常数, 归一化常数 被称作是配分函数.
DL花书阅读笔记-深度学习中的结构化概率模型
我们在 维二值随机向量 上定义玻尔兹曼机。玻尔兹曼机是一种基于能量的模型,意味着我们可以使用能量函数定义联合概率分布:
其中 是能量函数, 是确保 的配分函数。玻尔兹曼机的能量函数如下给出:
其中 是模型参数的 ‘‘权重’’ 矩阵, 是偏置向量。
在一般设定下,给定一组训练样本,每个样本都是 维的。式(1) 描述了观察到的变量的联合概率分布。虽然这种情况显然可行,但它限制了观察到的变量和权重矩阵描述的变量之间相互作用的类型。具体来说,这意味着一个单元的概率由其他单元值的线性模型(逻辑回归)给出。
当不是所有变量都能被观察到时,玻尔兹曼机变得更强大。在这种情况下,潜变量类似于多层感知机中的隐藏单元,并模拟可见单元之间的高阶交互。具有隐藏单元的玻尔兹曼机不再局限于建模变量之间的线性关系。相反,玻尔兹曼机变成了离散变量上概率质量函数的万能近似器 (Le Roux and Bengio, 2008)。正式地,我们将单元 分解为两个子集:可见单元 和潜在(或隐藏)单元 。 能量函数变为:

受限玻尔兹曼机

notion image
受限玻尔兹曼机本身是基于二分图的无向图模型,在图的一部分具有可见单元,另一部分具有隐藏单元。可见单元之间没有连接,隐藏单元之间也没有任何连接。通常每个可见单元连接到每个隐藏单元,但也可以构造稀疏连接的 RBM,如卷积 RBM.
RBM 是包含一层可观察变量和单层潜变量的无向概率图模型。RBM 可以堆叠起来(一个在另一个的顶部)形成更深的模型。它是一个二分图,观察层或潜层中的任何单元之间不允许存在连接。
更正式地说,令观察层由一组 个二值随机变量组成,我们统称为向量 。我们将 个二值随机变量的潜在或隐藏层记为 。受限玻尔兹曼机也是基于能量的模型,其联合概率分布由能量函数指定:
RBM 的能量函数由下给出:
其中 是被称为配分函数的归一化常数:
在受限玻尔兹曼机的情况下,配分函数 是难解的。难解的配分函数 意味着归一化联合概率分布 也难以评估。

条件分布

虽然 难解,但 RBM 的二分图结构具有非常特殊的性质,其条件分布 是因子的,并且计算和采样是相对简单的。我们可以从联合分布中导出条件分布:
我们可以将向量 上的联合概率写成单独元素 上(未归一化)分布的乘积:
现在我们可以将关于隐藏层的完全条件分布表达为因子形式:
同样的, 也是因子形式的分布:

训练受限玻尔兹曼机

因为 RBM 允许高效计算 的估计和微分,并且还允许高效地(以块吉布斯采样的形式)进行 MCMC 采样,所以我们很容易使用CD、SML(PCD)、比率匹配等训练具有难以计算配分函数的模型的技术来训练 RBM。与深度学习中使用的其他无向模型相比,RBM 可以相对直接地训练,因为我们可以以闭解形式计算 。其他一些深度模型,如深度玻尔兹曼机,同时具备难处理的配分函数和难以推断的难题。

深度信念网络

 
notion image
深度信念网络是涉及有向和无向连接的混合图模型。与 RBM 一样,它也没有层内连接。然而,DBN 具有多个隐藏层,因此隐藏单元之间的连接在分开的层中。深度信念网络所需的所有局部条件概率分布都直接复制 RBM 的局部条件概率分布。或者,我们也可以用完全无向图表示深度信念网络,但是它需要层内连接来捕获父节点间的依赖关系。
深度信念网络是具有若干潜变量层的生成模型。潜变量通常是二值的,而可见单元可以是二值或实数。尽管构造连接比较稀疏的 DBN 是可能的,但在一般的模型中,每层的每个单元连接到每个相邻层中的每个单元(没有层内连接)。顶部两层之间的连接是无向的。而所有其他层之间的连接是有向的,箭头指向最接近数据的层。
具有 个隐藏层的 DBN 包含 个权重矩阵: 。同时也包含 个偏置向量: ,其中 是可见层的偏置。DBN 表示的概率分布由下式给出:
其中, 下式定义了顶部两层之间的无向模型:
下式给出了条件分布:
在实值可见单元的情况下,替换为 为便于处理, 为对角形式。
至少在理论上,推广到其他指数族的可见单元是直观的。
  • DBN的训练
    • 为了从 DBN 中生成样本,我们先在顶部的两个隐藏层上运行几个 Gibbs 采样步骤。然后,我们可以对模型的其余部分使用单次原始采样,以从可见单元绘制样本。即完成了模型的采样.
      为训练深度信念网络,我们可以先使用对比散度或随机最大似然方法训练 RBM 以最大化对数似然梯度 。RBM 的参数定义了 DBN 第一层的参数。
      然后,第二个 RBM 训练为近似最大化
      其中 是第一个 RBM 表示的概率分布, 是第二个 RBM 表示的概率分布。换句话说,第二个 RBM 被训练为模拟由第一个 RBM 的隐藏单元采样定义的分布,而第一个 RBM 由数据驱动。这个过程能无限重复,从而向 DBN 添加任意多层,其中每个新的 RBM 对前一个 RBM 的样本建模。每个 RBM 定义 DBN 的另一层。这个过程可以被视为提高数据在 DBN 下似然概率的变分下界 (Hinton et al., 2006a)。
      训练好的 DBN 可以直接用作生成模型,但是 DBN 的大多数兴趣来自于它们改进分类模型的能力。我们可以从 DBN 获取权重,并使用它们定义 MLP:

深度玻尔兹曼机

notion image
深度(受限)玻尔兹曼机是具有几层潜变量的无向图模型。与 RBM 和 DBN 一样,DBM 也缺少层内连接。DBM 与 RBM 的联系不如 DBN 紧密。当从 RBM 堆栈初始化 DBM 时,有必要对 RBM 的参数稍作修改。某些种类的 DBM 可以直接训练,而不用先训练一组 RBM。
深度玻尔兹曼机(Deep Boltzmann Machine, DBM)是另一种深度生成模型。与深度信念网络(DBN)不同的是,它是一个完全无向的模型。与 RBM 不同的是,DBM 有几层潜变量(RBM 只有一层)。但是像 RBM 一样,每一层内的每个变量是相互独立的,并条件于相邻层中的变量。
在一个深度玻尔兹曼机包含一个可见层 和三个隐藏层 , 的情况下,联合概率由下式给出:
为简化表示,下式省略了偏置参数。DBM 能量函数定义如下:
与 RBM 的能量函数相比,DBM 能量函数以权重矩阵( )的形式表示隐藏单元(潜变量)之间的连接。
深度玻尔兹曼机的层可以组织成一个二分图,其中奇数层在一侧,偶数层在另一侧。容易发现,当我们条件于偶数层中的变量时,奇数层中的变量变得条件独立。当然,当我们条件于奇数层中的变量时,偶数层中的变量也会变得条件独立。
notion image
在给定相邻层值的情况下,层内的单元彼此条件独立,因此二值变量的分布可以由 Bernoulli 参数(描述每个单元的激活概率)完全描述。
二分图结构使 Gibbs 采样能在深度玻尔兹曼机中高效采样。Gibbs 采样的方法是一次只更新一个变量。我们可以简单地假设具有 层的 DBM 需要 次更新,每次迭代更新由某层单元组成的块。然而,我们可以仅在两次迭代中更新所有单元。Gibbs 采样可以将更新分成两个块,一块包括所有偶数层(包括可见层),另一个包括所有奇数层。由于 DBM 二分连接模式,给定偶数层,关于奇数层的分布是因子的,因此可以作为块同时且独立地采样。

条件分布

DBM拥有和RBM类似的条件概率分布。在有两层隐层的情况里,如下:

有趣的性质

与 DBN 相比,DBM 的后验分布 更简单。有点违反直觉的是,这种后验分布的简单性允许更加丰富的后验近似。
DBM 一个不理想的特性是从中采样是相对困难的。DBN 只需要在其顶部的一对层中使用 MCMC 采样。其他层仅在采样过程末尾涉及,并且只需在一个高效的原始采样过程。要从 DBM 生成样本,必须在所有层中使用 MCMC,并且模型的每一层都参与每个马尔可夫链转移。

DBM均匀场推断

给定相邻层,一个 DBM 层上的条件分布是因子的。在有两个隐藏层的 DBM 的示例中,这些分布是 , 。因为层之间的相互作用,所有隐藏层上的分布通常不是因子的。在有两个隐藏层的示例中,由于 之间的交互权重 使得这些变量相互依赖, 不是因子的。
与 DBN 不同,DBM 在其隐藏单元上的后验分布(复杂的)很容易用变分近似来近似,具体是一个均匀场近似。均匀场近似是变分推断的简单形式,其中我们将近似分布限制为完全因子的分布。在 DBM 的情况下,均匀场方程捕获层之间的双向相互作用。
均匀场方法推导
的近似, 均匀场假设意味着
均匀场近似试图找到这个分布族中最适合真实后验 的成员。重要的是,每次我们使用 的新值时,必须再次运行推断过程以找到不同的分布 。均匀场方法最小化分布 相对于分布 的 KL 散度, 即
我们将 Q 作为 Bernoulli 分布的乘积进行参数化,即我们将 每个元素的概率与一个参数相关联。具体来说,对于每个 ,其中 。另外,对于每个 ,其中 。因此,我们有以下近似后验:
现在我们已经指定了近似分布 的函数族,但仍然需要指定用于选择该函数族中最适合 的成员的过程。
DL花书阅读笔记-近似推断
在深度学习中,通常我们有一系列可见变量 和一系列潜变量 。 推断(inference)指给定一些其他变量的情况下计算某些变量概率分布的过程, 推断困难 通常是指难以计算 或其期望。通常源于结构化图模型中潜变量之间的相互作用。 许多仅含一个隐藏层的简单图模型会定义成易于计算 或其期望的形式,例如受限玻尔兹曼机和概率 PCA。不幸的是,大多数具有多层隐藏变量的图模型的后验分布都很难处理。对于这些模型而言,精确推断算法需要指数量级的运行时间。即使一些只有单层的模型,如稀疏编码,也存在着这样的问题。 因为 和 之间的距离是由 散度来衡量的,且 散度总是非负的,我们可以发现: 通过简单的代数运算我们可以把 重写成一个更加简单的形式: 这里使用的 即为 的简化写法, 如 . 在潜变量模型中期望最大化(expectation maximization, EM)算法,是一个非常常见的训练算法。与大多数我们在本章中介绍的其他算法不同的是,EM 并不是一个近似推断算法,而是一种能够学到近似后验的算法。 E 步(expectation step): 更新更准确的分布 来最大化 . 令 表示在这一步开始时的参数值。对任何我们想要训练的(对所有的或者小批量数据均成立)索引为 的训练样本 ,令 。通过这个定义,我们认为 在当前参数 下定义。如果我们改变 ,那么 将会相应地变化,但是 还是不变并且等于 。 M 步(maximization step):更新 来最大化 . 使用选择的优化算法完全地或者部分地关于 最大化 .
DL花书阅读笔记-近似推断
应用上面的不动点方程, 可以得到如下更新规则(忽略了偏置项)
在该方程组的不动点处,我们具有变分下界 的局部最大值。因此,这些不动点更新方程定义了迭代算法,其中我们分别使用上面的两个式子交替更新
 

DBM 的参数学习

对于具有两个隐藏层的深度玻尔兹曼机, 由下式给出
然后, 可以写为基于能量的模型的形式:
.
该表达式仍然包含对数配分函数 。由于深度玻尔兹曼机包含受限玻尔兹曼机作为组件,用于计算受限玻尔兹曼机的配分函数和采样的困难同样适用于深度玻尔兹曼机。这意味着评估玻尔兹曼机的概率质量函数需要近似方法,如退火重要采样。同样,训练模型需要近似对数配分函数的梯度。DBM 通常使用随机最大似然训练。许多其他技术都是不适用的, 诸如伪似然的技术需要评估非归一化概率的能力,而不是仅仅获得它们的变分下界。对于深度玻尔兹曼机,对比散度是缓慢的,因为它们不能在给定可见单元时对隐藏单元进行高效采样——反而,每当需要新的负相样本时,对比散度将需要磨合一条马尔可夫链。
用于训练具有两个隐藏层的DBM的变分随机最大似然算法
设步长 为一个小正数 设定吉布斯步数 ,大到足以让 的马尔可夫链能磨合 (从来自 的样本开始)。 初始化三个矩阵, , 每个都将 行设为随机值(例如,来自 Bernoulli 分布,边缘分布大致与模型匹配)。
while 没有收敛(学习循环) do
从训练数据采包含 个样本的小批量,并将它们排列为设计矩阵 的行。 初始化矩阵 ,使其大致符合模型的边缘分布。 while 没有收敛(均匀场推断循环) do
# 不动点方程, 获得分布 的最优近似 替代
end while # 更新 # 更新 for to (Gibbs 采样) do #块吉布斯采样得到模型分布
Gibbs block 1: Gibbs block 2:
end for
end while

逐层预训练

随机初始化后使用随机最大似然训练(如上所述)的 DBM 通常导致失败。在一些情况下,模型不能学习如何充分地表示分布。在其他情况下,DBM 可 以很好地表示分布,但是没有比仅使用 RBM 获得更高的似然。除第一层之外,所有层都具有非常小权重的 DBM 与 RBM 表示大致相同的分布。
克服 DBM 的联合训练问题最初和最流行的方法是贪心逐层预训练。在该方法中,DBM 的每一层被单独视为 RBM,进行训练。第一层被训练为对输入数据进行建模。每个后续 RBM 被训练为对来自前一 RBM 后验分布的样本进行建模。在以这种方式训练了所有 RBM 之后,它们可以被组合成 DBM。然后可以用 PCD 训练 DBM。通常,PCD 训练将仅使模型的参数、由数据上的对数似然衡量的性能、或区分输入的能力发生微小的变化。
notion image
用于分类 MNIST 数据集的深度玻尔兹曼机训练过程。 (a) 使用CD近似最大化 来训练RBM。 (b) 训练第二个RBM,使用CD-k 近似最大化 来建模 和目标类 ,其中 采自第一个RBM条件于数据的后验。在学习期间将 增加到 。 (c) 将两个RBM组合为DBM。使用 的随机最大似然训练,近似最大化 。 (d) 将 从模型中删除。定义新的一组特征 ,可在缺少 的模型中运行均匀场推断后获得。使用这些特征作为MLP的输入,其结构与均匀场的额外轮相同,并且具有用于估计 的额外输出层。初始化MLP的权重与DBM的权重相同。使用随机梯度下降和Dropout训练MLP近似最大化
 
这种贪心逐层训练过程不仅仅是坐标上升。因为我们在每个步骤优化参数的一个子集,它与坐标上升具有一些传递相似性。这两种方法是不同的,因为贪心逐层训练过程中,我们在每个步骤都使用了不同的目标函数。

联合训练深度玻尔兹曼机

实值数据上的玻尔兹曼机

在本节中,我们介绍概率密度定义在实值数据上的玻尔兹曼机。

Gaussian-Bernoulli RBM

Gaussian-Bernoulli RBM是最常见的具有二值隐藏单元和实值可见单元的 RBM,其中可见单元上的条件分布是高斯分布(均值为隐藏单元的函数)。
首先,我们可以选择协方差矩阵或精度矩阵来参数化高斯分布。我们希望条件分布为:
通过扩展未归一化的对数条件分布可以找到需要添加到能量函数中的项:
此处 封装所有的参数,但不包括模型中的随机变量。因为 的唯一作用是归一化分布,并且我们选择的任何可作为配分函数的能量函数都能起到这个作用,所以我们可以忽略
如果我们在能量函数中包含上式中涉及 的所有项(其符号被翻转),并且不添加任何其他涉及 的项,那么我们的能量函数就能表示想要的条件分布
考虑上式可以分解出来一项: . 因为该项包含 项,它不能被全部包括在内。这些对应于隐藏单元之间的边。如果我们包括这些项,我们将得到一个线性因子模型,而不是受限玻尔兹曼机。当设计我们的玻尔兹曼机时,我们简单地省略这些 交叉项。
如果我们假设精度矩阵是对角的,就能发现对于每个隐藏单元 ,我们有一项 . 相当于 的偏置项, 这里使用了 简化了表达, 因为 .
因此,在 Gaussian-Bernoulli RBM 上定义能量函数的一种方式:
在这个推导中,我们没有在可见单元上添加偏置项,但添加这样的偏置是容易的。精度矩阵它可以被固定为常数(可能基于数据的边缘精度估计)或学习出来。它也可以是标量乘以单位矩阵,或者是一个对角矩阵。

条件协方差的无向模型

高斯 RBM 感应偏置不能很好地适合某些类型的实值数据中存在的统计变化,特别是自然图像。由于高斯 RBM 仅对给定隐藏单元的输入条件均值建模,所以它不能捕获条件协方差信息。为了回应这些评论,已经有学者提出了替代模型,设法更好地考虑实值数据的协方差。这些模型包括均值和协方差 RBM(mean and ovariance RBM, mcRBM) 1 、学生 t 分布均值乘积(mean product of Student t-distribution, mPoT)模型和尖峰和平板 RBM(spike and slab RBM, ssRBM)。
 

© Lazurite 2021 - 2024