【论文链接】 on the expressive power of deep architectures. Bengio et al,
深层结构是与深层电路对应的函数族,深度学习将这些电路参数化并调试参数以近似优化一些训练目标。通常,学习函数可看作是将数据集映射为一个函数(通常是一个决策函数) 的泛函。常用网络或者电路来描述一个有向无环图,将学习函数的参数设置在电路的输入节点。电路的深度等于图中的输入节点到输出节点的最长路径的长度。深度学习通过学习多层表示,以发现更抽象的特征。
局部泛化与非局部泛化:所有的泛化原则都利用了目标函数的一些性质(先验),而局部泛化依赖于光滑性假设,即要求target function changes slowly and rarely.流形学习旨在表征目标分布集中的低维流形。基于局部泛化的学习算法通常可看作是创建许多个局部区域,对每个区域产生不同的响应。这些算法包括用于密度估计的高斯混合、高斯核机器、普通聚类(K-均值、凝聚聚类或近似传播),决策树,近邻算法和Parzen windows estimator等。这些算法只有当有足够的样本以覆盖所有需要互相区分的区域时才能泛化良好。而基于密度分布的稀疏表示的思想是:只在表示的少数几个维度是活跃状态,将不活跃的维度设为0或接近于0的数。因而对于表示中d个活跃维度中的k个,仍然可以获得比局部表示的指数倍的表示能力,可以区分的区域数目是 .
左图为基于局部泛化的学习算法划分输入空间,右图为基于分布表示的算法(如RBM)如何划分输入空间,它所需要的样本/参数数目比左图更少。
深度的一个优点:表示的效率高,两个多项式族可由深度为d的电路有效地表示。深度学习非常适合迁移学习与多任务学习,深度学习严重依赖于无监督或半监督学习,并假定X的表示对于捕获P(X)与 P(Y|X)都有用,X的先验可用于解释贪心逐层无监督预训练的成功。深度和-积网络(sum-product network)案例中,用网络中可计算单元的数目来衡量“效率”。和积网络被提出作为计算易处理图模型的分区函数的方法,与传统ANN的不同在于,它在节点处计算输入单元的内积或输入的加权和(compute either products or weighted sums of their inputs),最终的输出值可表示为输入变量的积的和( a sum of products of input variables )。因此可将其简单地重写为具有一个求和的输出单元和求积的多个隐单元的浅层网络(a shallow network with a sum output unit and product hidden units. )
接下来考虑由深度和积网络表示的两个函数族F和G,并证明了函数族F和G可以通过深度和积网络计算,其单元数指数小于计算浅和积网络的单元数。 functions in families F and G can be computed by a deep sum-product network with exponentially less units than when computed by a shallow sum-product network.
进行深度学习的两个阶段:无监督逐层训练以及对利用第一阶段所做工作的分类器的监督训练(supervised training of a classifier that exploits what has been done in the first phase).
玻尔兹曼机是个无向图模型,对于基于潜在变量h的观测变量x,它由一个能量函数E(x,h)定义
Z是被称为分区函数的标准化常数,在玻尔兹曼机中E是二阶多项式,例如
其中x和h都是二值向量, 为模型参数。
给定一个观测值x, 可由MCMC采样估计(e.g. by Gibbs sampling, or using loopy belief循环信念, variational变分法 or mean-field approximations均值场近似)。大多数算法进行对数似然的梯度估计时,将其分解为正相和负相,正相中x固定为观测值,梯度项趋向于降低相关能量,负相中x 和h都根据P采样,梯度项趋向于增加能量。
在RBM(Restricted Boltzmann Machine,受限玻尔兹曼机)中,U=0且V=0,因此
,梯度的正相可由块吉布斯抽样计算( blocked Gibbs sampling (sampling h given x, then x given h, again h given x, etc.). )
RBM通常使用随机梯度下降训练,使用带噪声 的对数似然梯度估计,对RBM提出的第一个梯度估计值为对比散度估计,实践中,对比散度的梯度估计对无监督预训练很有效。训练RBM的另一种方法是随机最大化似然SML,又叫做持续性对比散度PCD,它能产生更好的似然。将RBM堆叠可得到深度置信网络DBN,是由有向图与无向图模型结合,用一个RBM来刻画最上面两层之间的相互作用,再通过有向信念网络生成输入。文章后面还介绍了自编码器,稀疏编码,得分匹配可根据数据生成过程下的能量函数的第一、二阶导数的期望来重写,使计算便于处理。去噪自编码器捕获输入的分布,噪声对比估计用于当能量函数可计算而分区函数不可计算时,半监督嵌入用未标记的数据来学习表示,压缩自编码器。
【参考:受限玻尔兹曼机 】
自编码器是经过训练以重构其输入的神经网络。 单个隐层自动编码器与RBM非常相似,并且其重构误差梯度可被视为RBM对数似然梯度的近似。 RBM和自动编码器都可以用作单层无监督学习算法,从而产生输入或前一层的新表示。 同年RBM成功地提出用于深度神经网络的无监督预训练,自动编码器也被证明有助于比随机初始化更好地初始化深度神经网络。 然而,普通的自动编码器通常比RBM表现更差,并且不满意,因为当表示大小大于输入时(所谓的“过度完成”情况),它们可能潜在地学习无用的identity变换。
在计算神经科学中引入了稀疏编码,并且产生的滤波器非常类似于在皮质视觉区域V1中观察到的滤波器(在使用RBM,稀疏预测分解和去噪自动编码器实现类似滤波器之前)。 它对应于线性有向图模型,其具有与稀疏性先验相关联的连续值潜变量(t分布或拉普拉斯,后者对应于潜在变量的值的L1惩罚)。 这类似于自动编码器,但没有参数编码器,只有参数解码器。“编码”对应于推理(找到与观察到的可见输入相关联的最可能的隐藏代码)并且涉及解决冗长的凸优化问题,并且已经花费了大量工作来加速它。 一个非常有趣的方法是使用Predictive Sparse Decomposition(Kavukcuoglu et al。,2008),其中一个学习参数编码器,它近似于稀疏编码推断的结果(实际上改变了解决方案,使得近似编码和 解码工作很好)。 这种基于近似推理的模型是将稀疏编码(Ranzato等人,2007; Jarrett等人,2009)堆叠成深层架构的第一个成功例子(根据上述贪心逐层方案,后来为监督分类进行了调整)。
当最大似然框架不易处理时,得分匹配是另一种统计估计原则(Hyv¨arinen,2005)。 当概率函数可以合理地计算到其归一化常数(RBM的情况)时,它可以应用于连续值数据的模型,即,它具有易处理的能量函数。 模型的得分是对数似然相对于输入的偏导数,并且指示可能性将从特定输入x增加最多的方向。 分数匹配基于最小化模型得分与目标得分之间的平方差异。 后者通常是未知的,但是仍然可以根据能量相对于输入的第一、(对角线)二阶导数的期望(在数据生成过程中)来重写得分匹配,其对应于易处理的计算。
Vincent等人首先引入了去噪自动编码器以绕过上面提到的自动编码器的局限性。自动编码器仅用于学习“瓶颈”,即降维表示。去噪自动编码器(DAE)的想法很简单:向编码器/解码器系统提供随机损坏的输入,但要求它重建clear输入(通常用于训练任何去噪系统)。这个小的变化使结果比普通自编码器系统地产生更好的结果,并且与在几个图像分类任务的基准上用RBM获得的结果相似或更好(Vincent等,2010)。有趣的是,去噪误差可以通过几种方式与未经破坏的例子分布的生成模型的似然性联系起来(Vincent等,2008; Vincent,2011),特别是通过对数似然的得分匹配代理。 (Vincent,2011):去噪误差对应于一种正则化分数匹配标准(Kingma和LeCun,2010)。该链接还阐明了为什么去噪自动编码器捕获输入分布。重建和损坏输入之间的差异向量是模型对似然性最大增加方向的猜测(从损坏的例子开始),而损坏的输入和干净原始之间的差异向量是自然界的方向暗示可能性增加最多(因为训练示例的嘈杂版本很可能比数据生成分布下的原始概率低得多)。这两个差异的差异只是去噪重建误差的残差。
噪声对比估计是另一种估计原理,可以在计算能量函数但不能用于分区函数时应用(Gutmann和Hyvarinen,2010)。 它不仅基于目标分布的样本和辅助“背景”分布的样本(例如flat高斯)的训练。 在一种逻辑回归中,分区函数被认为是一个自由参数(连同其他参数),该回归训练用于预测样本属于目标分布与背景分布的概率。
半监督嵌入是一种有趣且不同的方式,可以使用未标记的数据来学习表示(例如,在深层神经网络的隐藏层中),基于对示例对的暗示(Weston等,2008)。 如果预期成对的两个样本具有相似的语义,则应该鼓励它们的表示相似,否则它们的表示应该至少相距一定距离。
压缩自编码器(Rifai等,2011)最小化训练标准,该训练标准是重建误差和“收缩惩罚”的总和,其鼓励学习表示h(x)尽可能对输入x不变,而仍允许将训练样例彼此区分开(即重构它们)。因此,该表示忠实于在样本集中的流形方向上的输入空间的变化,但是在正交方向上它是高度收缩的。这在思想上类似于PCA(其仅保持变化的主导方向并且完全忽略其他方向),但是更柔软(在特定尺寸处没有硬切割hard cutting),是非线性的并且可以在不同方向上收缩,这取决于哪里一个看起来在输入空间(因此可以捕获非线性流形)。为了防止编码器权重变为零并且解码器权重变为无穷大的简单解决方案,压缩自动编码器使用绑定权重(解码器权重被强制为编码器权重的转置)。由于收缩标准,我们根据经验得出的结论是,对于任何特定的输入示例,许多隐藏单元饱和,而少数仍然对输入的变化敏感(对应于数据分布下预期的变化方向的变化)。当我们在输入空间中移动时,活跃单元的子集会发生变化,并在每个输入点的邻域中定义一种局部图表或局部坐标系。通过查看雅可比矩阵J的奇异值和奇异向量(包含每个隐藏单元输出关于每个输入单元的的导数),可以在某种程度上可视化这一点。与其他自动编码器相反,人们倾向于仅发现少数主要特征值,并且它们的数量对应于局部秩或局部维度(当我们在输入空间中移动时,它们可以改变)。这与其他降维算法不同,在这些算法中,维度的数量是手动固定(而不是学习)并固定在输入域中。事实上,学习的表示可能是过度完整的(大于输入):只有雅可比的意义上,它对任何特定的输入点都有一个有效的小维度。可以利用大量隐藏单元来模拟复杂的非线性流形。