乐读窝

深度学习

乐读窝 > 文学理论 > 深度学习

19.3 最大后验推断和稀疏编码

书籍名:《深度学习》    作者:伊恩.古德费洛



我们通常使用推断(inference)这个术语来指代给定一些其他变量的情况下计算某些变量概率分布的过程。当训练带有潜变量的概率模型时,我们通常关注于计算p(h|ν)。另一种可选的推断形式是计算一个缺失变量的最可能值来代替在所有可能值的完整分布上的推断。在潜变量模型中,这意味着计算

这被称作最大后验(Maximum  A  Posteriori)推断,简称MAP推断。

MAP推断并不被视作一种近似推断,它只是精确地计算了最有可能的一个h∗。然而,如果我们希望设计一个最大化(ν,h,q)的学习过程,那么把MAP推断视作是输出一个q值的学习过程是很有帮助的。在这种情况下,我们可以将MAP推断视作是近似推断,因为它并不能提供一个最优的q。

我们回过头来看看第19.1节中所描述的精确推断,它指的是关于一个在无限制的概率分布族中的分布q使用精确的优化算法来最大化

我们通过限定分布q属于某个分布族,能够使得MAP推断成为一种形式的近似推断。具体地说,我们令分布q满足一个Dirac分布:

这也意味着现在我们可以通过µ来完全控制分布q。将中不随µ变化的项丢弃,我们只需解决一个优化问题:

这等价于MAP推断问题

因此我们能够证明一种类似于EM算法的学习算法,其中我们轮流迭代两步,一步是用MAP推断估计出h∗,另一步是更新θ来增大log  p(h∗,ν)。从EM算法角度来看,这也是对的一种形式的坐标上升,交替迭代时通过推断来优化关于q的以及通过参数更新来优化关于θ的。作为一个整体,这个算法的正确性可以得到保证,因为是log  p(ν)的下界。在MAP推断中,这个保证是无效的,因为Dirac分布的微分熵趋近于负无穷,使得这个界会无限地松。然而,人为加入一些µ的噪声会使得这个界又有了意义。

MAP推断作为特征提取器以及一种学习机制被广泛地应用在了深度学习中。它主要用于稀疏编码模型中。

我们回过头来看第13.4节中的稀疏编码。稀疏编码是一种在隐藏单元上加上了诱导稀疏性的先验知识的线性因子模型。一个常用的选择是可分解的Laplace先验,表示为

可见的节点是由一个线性变化加上噪声生成的:

分布p(h|ν)难以计算,甚至难以表达。每一对hi,hj变量都是ν的母节点。这也意味着当ν可被观察时,图模型包含了一条连接hi和hj的活跃路径。因此p(h|ν)中所有的隐藏单元都包含在了一个巨大的团中。如果是高斯模型,那么这些相互作用关系可以通过协方差矩阵来高效地建模。然而稀疏型先验使得这些相互作用关系并不服从高斯分布。

分布p(x|h)的难处理性导致了对数似然及其梯度也很难得到。因此我们不能使用精确的最大似然估计来进行学习。取而代之的是,我们通过MAP推断以及最大化由以h为中心的Dirac分布所定义而成的ELBO来学习模型参数。

如果我们将训练集中所有的向量h拼成矩阵H,并将所有的向量ν拼起来组成矩阵V,那么稀疏编码问题意味着最小化

为了避免如极端小的H和极端大的W这样的病态的解,大多数稀疏编码的应用包含了权重衰减或者对H列范数的限制。

我们可以通过交替迭代,分别关于H和W最小化J的方式来最小化J。且两个子问题都是凸的。事实上,关于W的最小化问题就是一个线性回归问题。然而关于这两个变量同时最小化J的问题通常并不是凸的。

关于H的最小化问题需要某些特别设计的算法,例如特征符号搜索方法(Lee  et  al.,2007)。