第15章 表示学习
大多数表示学习算法都会在尽可能多地保留与输入相关的信息和追求良好的性质(如独立性)之间作出权衡。
表示学习特别有趣,因为它提供了进行无监督学习和半监督学习的一种方法。我们通常会有巨量的未标注训练数据和相对较少的标注训练数据。在非常有限的标注数据集上监督学习通常会导致严重的过拟合。半监督学习通过进一步学习未标注数据,来解决过拟合的问题。具体地,我们可以从未标注数据上学习出很好的表示,然后用这些表示来解决监督学习问题。
贪心逐层无监督预训练
无监督学习在深度神经网络的复兴上起到了关键的、历史性的作用,它使研究者首次可以训练不含诸如卷积或者循环这类特殊结构的深度监督网络。我们将这一过程称为无监督预训练(unsupervised pretraining),或者更精确地, 贪心逐层无监督预训练(greedy layer-wise unsupervised pretraining)。此过程是一个任务(无监督学习,尝试获取输入分布的形状)的表示如何有助于另一个任务(具有相同输入域的监督学习)的典型示例。
贪心逐层无监督预训练被称为贪心(greedy)的,是因为它是一个贪心算法
(greedy algorithm),这意味着它独立地优化解决方案的每一个部分,每一步解决一个部分,而不是联合优化所有部分。它被称为逐层的(layer-wise),是因为这些独立的解决方案是网络层。具体地,贪心逐层无监督预训练每次处理一层网络,训练第k
何时以及为何无监督预训练有效?
无监督预训练结合了两种不同的想法。第一,它利用了深度神经网络对初始参数的选择,可以对模型有着显著的正则化效果(在较小程度上,可以改进优化)的想法。第二,它利用了更一般的想法——学习输入分布有助于学习从输入到输出的映射。
一个重要的问题是无监督预训练是如何起到正则化项作用的。一个假设是,预训练鼓励学习算法发现那些与生成观察数据的潜在原因相关的特征。这也是启发除无监督预训练之外许多其他算法的重要思想。
迁移学习和领域自适应
迁移学习和领域自适应指的是利用一个情景(例如,分布P1)中已经学到的内容去改善另一个情景(比如分布P2)中的泛化情况。这点概括了上一节提出的想法,即在无监督学习任务和监督学习任务之间转移表示。
迁移学习的两种极端形式是一次学习(one-shot learning)和零次学习(zero-shot learning),有时也被称为零数据学习(zero-data learning)。只有一个标注样本的迁移任务被称为一次学习;没有标注样本的迁移任务被称为零次学习。
半监督解释因果关系
在表示学习的其他方法中,我们大多关注易于建模的表示——例如,数据稀疏
或是各项之间相互独立的情况。能够清楚地分离出潜在因素的表示可能并不一定易于建模。然而,该假设促使半监督学习使用无监督表示学习的一个更深层原因是,对于很多人工智能任务而言,有两个相随的特点:一旦我们能够获得观察结果基本成因的解释,那么将会很容易分离出个体属性。具体来说,如果表示向量h 表示观察值x 的很多潜在因素,并且输出向量y 是最为重要的原因之一,那么从h 预测y 会很容易。
无监督学习的另一个思路是选择一个更好的确定哪些潜在因素最为关键的定义。之前,自编码器和生成模型被训练来优化一个类似于均方误差的固定标准。这些固定标准确定了哪些因素是重要的。例如,图像像素的均方误差隐式地指定,一个潜在因素只有在其显著地改变大量像素的亮度时,才是重要影响因素。如果我们希望解决的问题涉及到小对象之间的相互作用,那么这将有可能遇到问题。如图15.5 所示,在机器人任务中,自编码器未能学习到编码小乒乓球。同样是这个机器人,它可以成功地与更大的对象进行交互(例如棒球,均方误差在这种情况下很显著)。
分布式表示
得益于深度的指数增益
多层感知机是万能近似器,相比于浅层网络,一些函数能够用指数级小的深度网络表示。缩小模型规模能够提高统计效率。在本节中,我们描述如何将类似结果更一般地应用于其他具有分布式隐藏表示的模型。
在许多不同情景中已经证明,非线性和重用特征层次结构的组合来组织计算,可以使分布式表示获得指数级加速之外,还可以获得统计效率的指数级提升。许多种类的只有一个隐藏层的网络(例如,具有饱和非线性,布尔门,和/积,或RBF 单元的网络)都可以被视为万能近似器。在给定足够多隐藏单元的情况下,这个模型族是一个万能近似器,可以在任意非零允错级别近似一大类函数(包括所有连续函数)。然而,隐藏单元所需的数量可能会非常大。关于深层架构表达能力的理论结果表明,有些函数族可以高效地通过深度k 层的网络架构表示,但是深度不够(深度为2 或k 1)时会需要指数级(相对于输入大小而言)的隐藏单元。
提供发现潜在原因的线索
查看1道真题和解析
