Why Does Unsupervised Pre-training Help Deep Learning?

为什么无监督预训练有助于深度学习?

翻译:娄英欣  

摘要:

很多最近的研究都致力于学习深层结构的算法,例如深度置信网络(DBN)和堆叠自动编码器的变形,他们在不同的领域成果斐然,大部分建立在视觉和语言数据集。监督学习任务获得的最好的结果均包括无监督学习成分,通常是在无监督预训练阶段。即使这些算法已经应用于训练深度模型,但是对于原始的学习依旧存在许多问题。最主要的问题如下:无监督预训练是怎么工作的?对于深层结构学习的提高,这个问题的答案是很重要的。我们提出了几种假设,并通过大量的仿真进行测试。我们展示了预训练对于结构的深度、模型的能力和训练样本数量的影响。实验结果证实了无监督预训练的好处。结果显示在训练数据集中,无监督预训练使得学习走向吸引盆的最小值处,支持更好的泛化;该结果支持预训练正则化作用的解释。

关键词:

深层结构 无监督预训练 深度置信网络 堆叠降噪自动编码器 非凸最优化

1. 前言

深度学习思想旨在采用由低层特征组成的高层特征来学习特征层次结构。包括的学习思想有:深层结构的广义数组(Bengio, 2009),多隐层的神经网络(Bengio, 2007)和多层隐藏变量的图解模型(Hinton, 2006)。一些理论成果(Yao, 1985),Bengio和LeCun在2007年进行了回顾和讨论,建议为了学习能表达高层抽象的复杂函数,需要深层结构。最近该领域的学习浪潮似乎支持这个观点,尤其是与人工智能相关的课题,例如计算机视觉(Bengio, 2007),自然语言处理((Collobert and Weston,2008)和信息检索(Salakhutdinov and Hinton, 2007)。深度学习思想明显优于同类竞争者,经常打败最先进的技术。

尽管深度学习中训练模型需要多层自适应参数是严峻的挑战,但是最近已经证明可以达到标准。几乎在深度学习所有的例子中,目标函数都是一个高度非凸参数函数,因此在模型的参数空间可能会存在多个不同的局部最小值。最主要的问题是并不是所有的这些最小值均提供相等的泛化误差,因此我们建议对于深层结构,标准的训练准则(基于随机初始化)趋向于将参数放置于泛化较差的参数空间区域,这个结果根据经验可以经常观察到但是很少被报道(Bengio and LeCun, 2007)。

深层结构有效训练策略的突破是在2006年,出现了2种训练算法:深度置信网络(Hinton, 2006)和堆叠自动编码器(Bengio, 2007),二者均基于相似的方法:先进行逐层贪婪无监督预训练,然后进行监督微调。每层均采用无监督学习算法进行预训练,学习输入(前一层的输出)的非线性变换,捕获输入的主要变化。无监督预训练有益于最终的训练阶段,最终深层结构通过基于梯度优化的监督训练准则进行微调。虽然对于深度模型预训练的性能很好,但是很少有人知道成功背后隐藏的机制。

本文通过大量的实验来探索无监督预训练如何使得深层结构更有效和为什么比传统神经网络训练方法更好。本文提出了几个合理的预训练作用的假设。第一个假设,无监督预训练作为一种网络的预处理器,为了将来的监督训练将参数值放在适当的范围。第二个假设,无监督预训练初始化模型到参数空间的一个点,致使优化过程更有效,从某种意义上说实现了最低的经验代价函数(Bengio, 2007)。

本文中我们的实验结果显示,无监督预训练作为正则化的一种特殊形式:最小化方差和引入对无监督学习有帮助的带偏差的参数空间结构。这个观点使得无监督预训练包含在最近发展的半监督思想中。然而,无监督预训练方法在半监督训练策略中是唯一的,它是对于标准的监督训练定义了一个特殊的初始化点,而不是修改监督目标函数(Barron, 1991)或在整个训练中加上对参数的限制(Lasserre et al., 2006)。这种初始化-正则化的思想早在神经网络文献中提到,即早期停止思想(Sjöberg and Ljung, 1995)。我们建议在高度非凸的情况下训练深层结构,定义一个特殊的初始化点,隐性地在参数上加限制,使得成本函数最低。通过这种方法,可以认为无监督预训练和Lasserre的方法相关联。

另一个重要的、明显的无监督预训练的特征是,在标准的训练中使用随机梯度下降法,且即使样本数量大量增长,预训练产生的有益的泛化效果也不会减少。我们认为这是由于非凸目标函数的组合和随机梯度下降法对样本顺序的依赖性。我们发现参数的早期变化对最终学习结束的区域(下降过程中的吸引盆)有很大的影响。特别地就泛化而言,无监督预训练设置参数在能达到更好的吸引盆的区域。因此,尽管无监督预训练作为正则化矩阵,但是当训练数据很大的时候,它对训练目标有积极的影响。

正如上文所言,本文通过大量的实验来评估无监督预训练有助于深度学习的多种假设。为此,我们设计了一系列实验来排除一些假设,试图验证无监督预训练的神秘效果。
在第一组实验中(第6部分),我们验证无监督预训练对提高训练好的深层结构的泛化误差的影响。在这部分我们也会利用降维技术来说明无监督预训练是怎样影响参数空间的局部最小。

在第二组实验中(第7部分),我们直接比较之前的两种假设(预训练作为预处理器和预训练作为优化方案)与无监督预训练作为正则化假设。在最后一部分实验中(第8部分),我们探索无监督预训练对训练数据非常多的在线学习的影响。在这些实验中,我们探索了本文假设关于代价函数拓扑的关键因素和无监督预训练在操作监督训练开始处的参数空间区域中扮演的角色。

在深入研究之前,我们先看一下训练深层结构中的挑战和我们认为无监督预训练如何克服这些挑战。

2. 深度学习的挑战

在这部分,我们提出了一个观点关于为什么基于梯度反向传播的标准训练深度模型很艰难。首先,建立我刚才陈述的训练困难观点是很重要的。我们坚信训练深层结构的核心挑战是处理训练中层间参数存在的依赖性。一种方法来设想这个问题的难度就是我们必须同时:

1. 适应底层以提供足够的输入给最后(训练结束)上层的设置
2. 适应上层以充分利用最后(结束训练)底层的设置

第二个问题比较简单,第一个问题的难度还不清楚,我们猜想当两套层共同学习时会产生特定的困难,因为目标函数的梯度受限于给定当前其他参数设置的局部测量。而且,由于最高两层有足够的能力可以很容易过拟合训练集,因此训练误差不一定揭示了优化底层的难度。我们的实验显示,标准的训练准则趋向于将参数放置于泛化较差的参数空间区域。

如果我们重点关注基于随机梯度下降的传统训练思想,那么就会产生一个独立却相关的问题。在线梯度下降过程中的样本定义了参数空间的轨迹,在某种意义上会收敛(误差不再提高,可能因为接近局部最小值)。有一假设,轨迹中小的扰动(初始化或变化)对早期影响很大。在接下来的早期随机梯度下降过程中,权重的变化会增加数量级,因此非线性网络的数量增加。当出现上述情况,由训练样本分布随机梯度下降可达到的区域的集合会变得更小。早期训练的小扰动使得模型参数从一个盆转换到附近的一个,然而后来(通常用于较大的参数值)似乎很难逃脱这样的一个吸引盆。因此早期的样本有更大的影响,而且在实践中,在对于训练样本特定和任意排序的特定参数空间区域诱捕模型参数。这个现象的一个重要结论是即使面对大量的监督数据,在早期的训练过程中,随机梯度下降法受到一定程度的过拟合训练数据的影响。在这层意义上,无监督预训练与优化过程相互作用密切,而且当训练样本的数量非常大的时候,无监督预训练的积极影响不仅体现在泛化误差,还体现在泛化误差上。

3. 无监督预训练的正则化作用

正如前言所述,通过在监督微调训练过程前引入逐层贪婪预训练可以克服深度学习的挑战。正则化效果是预训练过程的结果,建立在参数空间内部区域微调过程的初始化点,在参数空间中参数从此受限。参数被限制到相对小体积的参数空间中,这个空间描述为监督微调代价函数局部吸引盆的边界。

预训练过程增加了权重的大小,且在标准的深层模型中采用S非线性和更多的拓扑特征如峰、谷和平稳,可以使得函数更非线性和本地代价函数更复杂。这些拓扑特性的存在使得本地参数空间通过梯度下降过程更难达到有效的距离。这是预训练过程所施加的限制属性的核心,是正则化特性的基础。

但是无监督预训练限制参数到特定区域:捕获输入分布结构P(X)。预训练作为正则化一定程度上削弱了其有效性。并不是所有的正则化矩阵都是平等的,相比于标准的正则化如L1和L2参数惩罚项,无监督预训练有意想不到的效果。我们认为它的成功归功于无监督预训练过程中无监督训练标准的优化。

在贪婪无监督训练的每个阶段,每层被训练来表示数据变化现存的主导因素。在每层,根据X的统计可靠特征来预测输出Y。这个观点使得非监督预训练与半监督的学习策略方法一致。正如最近其他的研究成果一样,我们在正则化模型参数中来证明半监督思想的有效性,无监督预训练的限制范围为学习P(X)有助于学习P(Y|X)。我们发现X的变形-学习的特征-是P(X)中预测的变化的主要因素,当预训练有效,这些X学习到的特征也可以预测Y。在深度学习的背景下,贪婪无监督策略可能也有特殊函数。在一定程度上,通过引入一个代理标准解决了不同层同时学习参数(在第2部分提到过)的问题。这个代理标准鼓励输入数据变化的显著因素,以便于在中间层显示。

为了说明这段推理,我们引入了参数的先验分布来使无监督预训练的效果形式化。我们假设参数选定在有界区域。让S 在区域中 分割,该区域是在训练误差中下降过程的吸引盆(注意 依赖于训练集,随着实例的增加依赖性降低)。对于i,j不相等,我们有 表示区域 的体积(θ是模型参数)。 是中纯随机初始化的概率, 中预训练的概率,即。我们考虑初始化过程为正则化项:

对于预训练模型,先验概率为:


对于没有预训练的模型,先验概率为:

我们可以证明。当非常小,无监督预训练中惩罚项很高。正则化的导数几乎处处为0,因为我们在区域中选择了统一的先验概率。因此考虑正则化和生成模型,需要选择一个合理的初始化点θ(从这个点开始,在训练标准的迭代最小化中,惩罚项不会增加),这就是我们实验中预训练模型是怎样构建的。

注意形式化只是一个说明:我们只是简单展示一下如何概念性的考虑初始化点的正则化作用,而不能认为是正则化实现的文字解释,因为我们没有计算的解析式。相反,这些是无监督预训练过程的隐函数。

4. 之前相关的工作

我们先回顾一下文献中的半监督学习(SSL),因为SSL框架也是我们所研究的。

4.1 相关半监督方法

人们认为生成模型比判别模型更不容易过拟合(Ng, 2002)。考虑输入变量X和目标变量Y,判别模型关注P(Y|X),生成模型关注P(X, Y)(经常参数化为P(X|Y) P(Y)),也就是说它也关注P(X)的正确性,因为当最终目标只是给定X 预测Y,P(X)可以减少拟合数据的自由度。

探索P(X)的信息可以提高分类的泛化,已经成为半监督学习之后的另一类思想(Chapelle, 2006)。例如,我们可以采用无监督学习将X映射为一个表示法(也叫嵌入),例如两个实例X1和X2属于相同的群集,那么它们最终会有相近的嵌入。然后在那个新的空间使用监督学习(例如线性分类器)实现很多情况下更好的泛化(Belkin, 2002)。这种方法采用主成分分析作为分类器前的一个预处理步骤。在这些模型中,首先采用无监督学习将数据转换为新的表示,然后采用监督学习分类器,学习将新表现形式的数据映射到类预测。

在模型中监督和非监督组件不是分开的,我们可以考虑模型中的P(X)共享参数,而且我们可以交换监督标准和无监督或生成模型。生成模型是先验的一种特殊形式。通过控制总的标准中的生成标准,我们可以更好的权衡纯生成或纯判别准则(Lasserre, 2006)。
在深层结构中,一个非常有趣的应用是将每层无监督嵌入准则加到传统的监督训练(Weston, 2008)。这就是一个强大的半监督策略,也是本文中描述和评估的一种替代算法,组合了无监督学习和监督学习。

在缺乏标签数据(充足的无标签数据)的情况下,深层结构表现突出。Salakhutdinov and Hinton (2008)提出了学习高斯过程协方差矩阵的思想,使用无标签数据模型化P(X)提高P(Y|X)效果非常明显。注意结果是预料的:用少量的标签样本建模P(X)很有帮助。我们的结果显示即使有丰富的标签数据,无监督预训练仍对泛化有明显的积极影响:一个有点令人吃惊的结论。

4.2 过早停止是正则化的一种形式

我们认为预训练作为初始化可以看作限制优化过程在一个相对小体积的参数空间中,相当于监督代价函数的局部吸引盆。限制初始化过程到参数空间中靠近初始配置的区域,过早停止和其有相似的影响。τ表示迭代的次数,η表示更新过程中的学习率,τη可被视为正则化参数的倒数。事实上,限制了参数空间中从起始点可达区域的数量。至于使用二次误差函数和简单梯度下降的简单线性模型(初始化在原点)的优化,过早停止与传统的正则化有相同的作用。

因此,在预训练和过早停止中,监督代价函数参数限制接近它们的初始值。更正式的正则化过早停止处理由Sjöberg and Ljung (1995)提出。与预训练处理不相同,本文阐明了深层结构中初始化的效果。

5. 实验装置和方法论

在这部分,我们会描述用来测量第3部分和之前提出的假设的实验装置。这部分描述了使用的深层结构、数据集和重现我们结果的必要细节。

5.1 模型

所有文献中训练深层结构的方法都有一些共同点:他们依赖无监督学习算法在每层提供一个训练信号。主要工作分为两个阶段。第一阶段,无监督预训练,所有层均采用逐层无监督学习信号来初始化。第二阶段,微调,全局训练标准(预测误差,在监督任务下使用标签)最小化。在最初提出的算法中(Hinton, 2006; Bengio, 2007; Ranzato, 2007),无监督预训练采用逐层贪婪:在第k阶段,第k层训练采用前一层的输出作为输入,且前一层保持固定。
我们将考虑深度学习文献中两个具有代表性的深层结构。

5.1.1 深度置信网络(DBN)

第一个模型是Hinton(2006)提出的深度置信网络,采用限制玻尔兹曼机(RBM)训练和逐层堆叠起来。一旦堆叠的RBM经过训练,它可以用来初始化一个多层分类神经网络。

DBN是多层生成模型,包括参数h0、h1、h2等。最高两层(即RBM)有联合分布,因此2层的DBN即为RBM,在一个DBN中,堆叠的RBM共享参数。对比分歧更新方向可以用来初始化DBN的每层作为一个RBM,如下所示。考虑DBN第1层作为RBM P1进行训练,隐藏层h1,可见层为v1。当我们训练另外一个RBM P2,样本h1取自P1 (h1|v1),样本v1取自训练数据集。可以看出,在模型顶层添加训练好的RBM,可以获得P(h_k | h_k−1)中前一层的h_k−1,上述可以最大化DBN的对数似然函数的下界。

5.1.2 堆叠降噪自动编码器(SDAE)

第二个模型是Vincent(2008)提出的堆叠降噪自动编码器,采用了DBN的贪婪原则,但是使用降噪自动编码器作为无监督模型的框架。自动编码器的编码器h()和解码器g()的组合可以确定训练集中的样本,即g(h(x))≈x。
假设有一些限制条件阻止g(h())确定任意参数,自动编码器需要捕获训练集中的统计结构来最小化重建误差。然而,对于高容量的代码(h(x)维数多),自动编码器可以学习到一个简单的编码。注意到,最小化自动编码器的重建误差和RBM训练的对比分歧有一个亲密的关联:二者均可以近似对数似然梯度(Bengio, 2009)。
降噪自动编码器(Vincent, 2008)是普通自动编码器的随机变量,即使在高容量模型中,它也不能学习恒等映射。降噪自动编码器可以对输入的破损数据进行降噪,训练标准可以认为是特定生成模型的似然函数的变分下界。它已经被证明性能明显比普通自动编码器好,在深层监督结构中与RBM性能相似或者更好(Vincent, 2008)。另一种方法限制自动编码器的编码单元比输入的方式:通过编码稀疏来限制容量(Ranzato, 2008)。
现在我们总结一下堆叠降噪自动编码器的训练算法。降噪自动编码器从随机破损变换中重构x,输出为编码向量h(x),在我们的实验中 为普通的神经网络层,隐层单元偏置为b,权重矩阵为W。
采用DBN或SDAN,监督训练后输出的逻辑回归层相加。整体的网络像普通多层感知器一样进行训练来最小化输出(负对数似然)预测误差。

5.2 数据集

本文实验基于3个数据集,我们的实验结果将有助理解之前深层结构的结果,大部分基于MNIST数据集和其变形:
MNIST LeCun(1998)提出的数字分类数据,包含了60000个训练样本和10000个测试样本,均为28*28灰度手写数字
InfiniteMNIST Loosli (2007)提出的数据集,是MNIST的扩展,可以获得恰似无限的样本。样本的获得是通过对原始的MNIST数字进行随机的弹性变形。在这个数据集,只有一组实例,我们将会比较模型的在线性能
Shapeset 一个具有几何不变性的综合数据集,对10*10的三角形和正方形图像进行二元分类。实例显示图像的形状有很多变化,例如大小、方向和灰度级。数据集由50000训练、10000验证和10000测试图像组成。

5.3 装置

使用的模型:
1. 包含伯努利RBM层的DBN
2. 基于伯努利输入单元的堆叠降噪自动编码器(SDAE)
3. 标准前馈多层神经网络
每个模型均包含1-5个隐藏层,每个隐藏层都包含相同的隐藏单元,是一个超参数。其他超参数为无监督和监督学习率、L2惩罚项/权重衰减和SDAE中随机破损输入的百分数。对于MNIST,每层监督和无监督通过的数据为50。对于InfiniteMNIST,有250万无监督更新,然后是750万监督更新。标准前馈多层神经网络采用100万监督更新进行训练。对于MNIST,
模型选择是根据能优化验证集中监督错误的超参数。对于InfiniteMNIST,超参数的选择是根据最后一百万样本的平均在线误差。所有的情况下均采用了纯随机梯度更新。
实验基于深层结构,包含预训练和没有预训练和采用不同的训练层数。对于给定的层,权重初始化采用均匀随机样本 ,k表示一个单元与前一层的连接数。监督梯度下降和无监督预训练均采用上述标准。
在大多数情况下(MNIST),我们首先做了一组实验,采用10个不同的随机初始化种子计算超参数值的向量积,然后根据有/无预训练模型、层数和训练标准数,选出验证误差最小的超参数。基于这些超参数,我们又采用额外的400个初始化种子做实验。对于InfiniteMNIST,只考虑一个随机选择的种子。
在接下来的讨论中我们会经常用到一个词:明显的局部最小值,意味着当通过随机梯度下降法再有明显的进步,训练结束后得到的解决方案。可能这不是真正的局部最小值(),但是很明显这些终止点代表着梯度下降“卡/陷”在了某一区域。同时要注意,我们所说的层数是指网络中的隐藏层数。

6. 无监督预训练的影响

我们首先会呈现大量的仿真实验,来证实之前所说的关于深层结构的结论。在分析实验结果的过程中,我们开始关联本文的假设,然后针对本文假设做实验。

6.1 更好的泛化

当我们选择每层的单元数、学习速率和训练迭代次数来优化验证集中分类误差,相比于没有预训练、相同深度或较浅深度的比MNIST小的不同视觉数据集,无监督预训练大幅度减小了测试分类误差。
上述工作建立在一个或少量不同随机初始化种子,因此本文研究的其中一个目标就是确定当初始化一般神经网络(深或浅)和预训练过程的时候,使用随机种子产生的影响。为此,在MNIST数据集选择了50-400个不同的种子来获得图像。
Why Does Unsupervised Pre-training Help Deep Learning?_第1张图片

图1 左无预训练,右有预训练

Why Does Unsupervised Pre-training Help Deep Learning?_第2张图片
图2
图1中显示了基于有/无预训练且增加网络的深度,测试分类误差的分布。图2中显示了1层和4层的分布直方图。在图1中,从1层到4层,无监督预训练使得分类误差稳步下降,
然而没有预训练误差在第2层后开始上升。我们应该注意到,如果不采用无监督预训练,无法有效训练第5层模型。无监督预训练的平均误差较低,且似乎有很健壮的随机初始化。无监督预训练在达到4隐层后方差仍保持相同水平,且离群的数量也增长缓慢。
形成鲜明对比的无预训练:当增加层数超过2后,方差和离群数量急剧增长。图2中显示,当我们增加层数,无监督预训练的效果更明显,随机初始化的健壮性也更好。无预训练更深层结构的误差方差和均值都增长,说明了当我们开始于随机初始化,增加深度意味着增加了找到差的明显局部最小值的可能性。还有一个很有趣的事,无监督预训练中采用400个种子得到低方差和小的传播误差:因此对于随机初始化种子,无监督预训练具有健壮性。
实验表明采用随机初始化种子,没有预训练最终的测试误差的方差较大,且对于更深结构效果会放大。我们同时也要注意到这项技术的成功有一个限制因素:在第5层性能下降。

6.2 特征可视化

图3显示了监督微调前/后DBN第一层的权重(滤波器)。为了可视化第2、3层单元的作用,我们使用了激活最大化技术(Erhan, 2009):为了可视化单元的最大响应,该思想通过寻找有界输入模式来最大化激活给定单元。这是一个优化问题,通过在输入空间中执行梯度上升算法来寻找激活函数的局部最大值。有趣的是,从大部分随机初始化的输入模式中可以获得几乎相同的最大激活函数输入模式。
Why Does Unsupervised Pre-training Help Deep Learning?_第3张图片

图3 上:预训练 下:预训练+监督微调 从左到右:1/2/3层

作为比较,我们也做了无预训练网络1-3层滤波器可视化(图4)。第1层滤波器似乎与局部特征相关,2、3层则无法解释。定性地说,图3最下面一行的滤波器与图4有些相似,这是一个有趣的结论。此外,利用无监督预训练学习网络中的视觉特征似乎更有趣。
从图3中我们可以得到一些有趣的结论。首先,经过预训练的监督微调,即使有750万更新,也没有明显的改变权重(至少在视觉上):它们似乎“卡”在了一个特定的权重空间区域,监督微调后权重也没有明显改变(视觉上两行形式相同)。其次,不同层改变不同:第1层改变最少,监督训练对第3层影响更大。观测结果和我们的预测相一致:即早期的动态随机梯度下降法,由无监督预训练引起的动态可以将训练“锁”在参数空间的区域,使用纯监督方式训练本质上是不可达的。
最后,增加更多层使得特征的复杂度增加。第1层权重编码基础检测器,第2层权重检测数字部分,第3层权重检测整个数字。当增加层数特征会更复杂,对于每个特征只用一幅图片来显示,这样不能处理好特征的非线性特性。例如,当特征高度活跃(或高度不活跃),它不能显示模式集。
图3、4显示了基于InfiniteMNIST的滤波器,与应用于MNIST的可视化类似。同样,SDAE获得的特征有类似定性的结论。

Why Does Unsupervised Pre-training Help Deep Learning?_第4张图片

图4 无预训练+监督微调


6.3 学习轨迹模型可视化

学习特征的可视化允许我们对深层结构的训练策略做定性的比较。然而我们无法调查这些策略是如何受随机初始化影响的,因为从多种初始化学习来的特征看起来都很相似。如果我们可以同时可视化多个模型,这样我们就可以探索我们的假设,且确认预训练模型和没有预训练的模型之间的区别。这两组模型在参数空间中覆盖的不同区域吗?参数轨迹会卡在很多明显不同的局部最小值吗?
不幸的是,不可能直接比较两种结构的参数值,因为相同模型会采用很多相同参数的变换。然而,我们可以采用函数逼近方法来比较每个网络的函数(输入到输出),而不是比较参数。
函数是对于所有的输入有无限有序输出值,可以用有限输入近似。为了可视化训练过程的轨迹,我们采用下面的步骤。对于一个给定的模型,我们计算和连接测试集的所有输出作为一个长向量,来总结它所在的“函数空间”。对于每个部分训练的模型都得到一个这样的向量。使用降维方法可以将这些向量映射到二维空间来可视化。图5和图6显示了使用降维技术得到的结果,分别得到局部和全局的结构。根据训练规则每个点均着色来帮助根据轨迹移动。
Why Does Unsupervised Pre-training Help Deep Learning?_第5张图片

图5 tSNE局部结构


可视化得到的结论:
1. 预训练和无预训练模型的开始和保持在函数空间的不同区域;
2. 局部结构的可视化(图5):给定模型(预训练和无预训练)的轨迹最初一起移动。然而在某一时刻(大约7之后),轨迹发散,且不会再互相靠近(无预训练模型更明显)。这表明每个轨迹都会移动到明显不同的局部最小值;
3. 整体结构的可视化(图6):预训练模型与无预训练模型不相交,且区域小得多。事实上,从没有预训练的函数角度,预训练看起来一样,且训练期间他们的自相似性在增加(种子方差下降),这与第3部分预训练的形式一致,即我们描述了观测无监督预训练的正则化作用的理论依据,在这里,预训练参数落在吸引盆的概率很小。
训练轨迹的可视化似乎证实了我们的猜想。很难保证每条轨迹都在不同的局部最小值结束(对不同的参数和不同的函数)。

Why Does Unsupervised Pre-training Help Deep Learning?_第6张图片

图6 ISOMAP整体结构

我们也分析了训练结束后的模型,可视化参数向量 附近的训练标准。通过随机采样方向v,画出 在v方向的训练标准,即 。其可视化如图7所示。误差无限近似二次函数,似乎在所有方向都有局部最小值,而不是鞍点或平原。通过计算黑塞矩阵,可以得到更明确的答案。图7显示了在无监督与训练下和更深层结构下,误差更小。
Why Does Unsupervised Pre-training Help Deep Learning?_第7张图片

图7 基于Shapeset的训练误差

6.4 启示

到现在为止,一系列的结果与我们的假设相一致。预训练可以得到更好的泛化使得随机初始化具有鲁棒性,无监督学习P(X)有助于P(Y|X)的学习。我们所观测到的函数空间显示有很多明显的局部最小值。预训练模型似乎结束在这些误差空间的不同区域(参数空间的不同区域)。这个结果是从函数空间轨迹得到的,而且对于可视化学习特征,可以定性的观察到有/无预训练的模型有明显的不同。

7. 无监督预训练的角色

目前本文可以证实,开始于预训练权重的监督优化比随机初始化权重能更好的进行分类。为了更好的理解这一优势从哪里来的,需要知道监督目标优化在两种情况下是一样的。基于梯度的优化过程也是一样的。唯一的不同点是参数空间中的起始点:随机选择还是经过无监督预训练后获得(也开始于随机初始化)。
深层结构建立于几层非线性组合,产生的误差面是非凸且由于疑似存在很多局部最小值导致很难优化。居于梯度的优化应该结束在明显的局部最小值(也可从上面的可视化得到),无论我们从吸引盆的哪里开始。从这个角度来讲,无监督预训练的优势为放置于吸引盆更深的参数空间区域,比随机选择开始参数要好。这个优势源于更好的优化。
当无监督预训练将我们放置在训练误差并不比随机开始好(或更差)的参数空间区域,但是会得到更好的泛化(测试误差)。这个现象即为正则化的影响。注意这两种解释并不是相互排斥的。
最后,有一个很简单且很明显的解释:即监督训练开始时权重大小的不同(或者更通俗的说权重的边缘分布)。我们首先分析(排除)第一个假设。

7.1 实验1:无监督预训练对监督学习提供了一个更好的调整过程吗?

典型的深度模型梯度下降训练采用随机分配权重进行初始化,小到可以在参数空间的线性区域(对于大部分神经网络和DBN模型接近为0)。我们有理由质疑是否最初的无监督预训练阶段的优势只是由于权重更大,因此在某种意义上提供了优化过程更好的调整的初始值,我们想排除这个可能性。
通过调整,我们从初始的权重求得范围和边缘分布的平均值。换言之,如果我们仍采用独立的初始权重,但是使用一个更合适的分布而不是均匀分布 ,这样我们能得到与无监督预训练相同的优势吗?为了证明上述猜想,我们计算了无监督预训练中每层受训的权重和偏差的边缘直方图。根据这些直方图我们重新采样得到初始随机权重,并进行微调。结果显示参数与无监督预训练得到参数有相同的边缘统计特性,但是不一样的联合分布。
想象两个场景。第一个场景,边缘初始化比标准初始化(无预训练)有明显更好的性能。这就意味着无监督预训练可以提供更好的权重边缘条件。第二个场景,相比于无预训练,边缘使得性能更相近或更差。

表1
我们观察表1可以发现结论属于第一种场景。然而,对于基于MNIST的2个隐藏层,在预训练结束后初始化权重匹配的边缘分布似乎稍微提高了泛化误差,差别并不明显,对有/无预训练的结果影响不大。
实验结果推翻了预处理假设,但并不排除优化假设和正则化假设。

7.2 实验2:预训练对训练误差的影响

优化和正则化假设在预测无监督预训练如何影响训练误差方面是有分歧的:前者预测无监督预训练会导致较低的训练误差,然后后者的预测是相反的。为了验证这两种假设的影响,我们来看一下基于训练代价函数的测试代价(测试数据的福对数似然函数),即优化过程中参数空间的轨迹。图8显示了参数空间中开始于同一随机初始化点的400条曲线,即蓝色的无预训练,红色的有预训练。
实验基于网络的1/2/3隐藏层。正如图8所示,1个隐藏层时,无监督预训练有更小的训练代价,暗示着有更好的优化,对深层网络并不一定成立。可以观察到,相同的训练代价,预训练模型比随机初始化模型有更低的测试代价。因此,优势是一种更好的泛化而不是仅仅一个更好的优化过程。
因此得到如下结论:无监督预训练和正则化有相同的影响,或参数好的“prior”,即使在优化代价中没有明显的正则化术语。正如假设中所说,可以推断在无监督预训练标准(SDAE)中,限制参数空间中可能的起始点对限制最后的配置参数值有影响。像一般的正则化矩阵,无监督预训练因此被视为减少方差和引入偏差。与一般的正则化矩阵不同,无监督预训练有依赖数据行为。
Why Does Unsupervised Pre-training Help Deep Learning?_第8张图片
图8

7.3 实验3:层数的影响

正则化的另外一个本质特征是容量(例如隐藏单元数)增加,正则化效果增加,有效地将模型复杂度约束转换为另外一个。在这个实验中我们探索每层的单元数和无监督预训练效果之间的关系。无监督预训练正则化作用的假设使得当每层单元数增加的时候,我们会看到无监督预训练有效性有增加的趋势。
我们采用MNIST训练模型进行有/无预训练,过程增加层数量:每层25,50,100,200,400,800个单元,结果如图9所示。在SDAE中,我们期望降噪预训练过程何以帮助多层分类,因为降噪预训练在层比输入大的时候,允许在过完成的情况下学习有用的表达(Vincent, 2008)。我们观察到的是一个更系统的结果:无监督预训练对多层和更深层网络有帮助,但它似乎对太小的网络有伤害。
图9表明DBN与SDAE的性能相似,实验结果再次验证了我们的正则化假设。在这种情况下,对于DBN和SDAE模型,无监督预训练表现为一个额外的正则化矩阵—在小型隐藏层的正则化之上。随着模型大小从800个隐藏单元减少,泛化误差增加,由于额外的正则化影响,对于无监督预训练增长的更多:小网络的容量有限导致泛化误差增加(引入的偏差),
该结论与纯优化影响不兼容。
Why Does Unsupervised Pre-training Help Deep Learning?_第9张图片
图9 基于MNIST
该影响可以解释为,无监督预训练作为提高输入变换的角色,可以有效捕获输入分布P(X)的主要变量。可能只有小部分变量与预测类标签Y有关。当隐藏层很小,通过无监督预训练学习不太可能得到预测Y的变换。

7.4 实验4:挑战优化假设

实验1 – 3的结果与正规化假设是一致的,实验2 – 3似乎直接支持正则化假说。
在文献中有一些支持优化的假设。Bengio(2007)限制深层网络的最顶层只有20个单元,然后测量了有/无预训练的训练误差。该思想是防止网络由于顶部隐藏层而过拟合训练误差,因此可以看出是否底层的优化影响是存在的。报告中训练和测试误差均比预训练网络低。存在一个问题就是他们使用了过早停止,这样是有问题的,因为正如之前所说,过早停止本身就是正则化,它可以影响训练误差。可以想象如果Bengio(2007)使得模型收敛,结果会不同。我们需要证明一下。
图10显示了没有过早停止产生的结果。尽管泛化误差较低,对于预训练网络训练误差仍旧较高。这个结果支持正则化假设,反对优化假设。可能发生的事:过早停止阻止了无预训练网络朝着明显的局部最小值移动太多。

Why Does Unsupervised Pre-training Help Deep Learning?_第10张图片
图10

7.5 实验5:对比预训练和L1/L2正则化

另外一种假设是经典的正则化可能和无监督预训练具有相同的影响。我们研究了没有预训练的网络采用L1/L2正则化的影响,发现基于MNIST的小惩罚起作用,但是增益远没有预训练大。对于InfiniteMNIST,L1/L2正则化的最佳值为0。
这不是一个完全令人惊讶的发现:并不是所有的正则化矩阵都是相等的,这与半监督训练的文献相一致,即无监督预训练可以被看作为正则化的一种特别有效的形式。

7.6 总结实验1-5

到目前为止,之前试验获得的结果对无监督预训练的影响有非常清晰的解释:正则化作用。我们可以看到采样使用相同的权重大小是不够的:无监督初始化是至关重要的。而且我们观察到,标准的L1/L2正则化达不到预训练的水平。
最引人注目的正则化假设的证据是图8和9,优化假设Bengio(2007)不成立。

8. 在线学习设置

我们的假设不仅包括统计/现象学的假设:无监督预训练起正则化作用,也包含了一种机制:这样的行为出现也作为一系列训练动态性—在训练阶段和非凸监督目标函数中使用随机梯度。
在我们的假设中,我们提出早期的样例会引发权重大小的改变,增加网络的非线性,相反会减少随机梯度下降过程可得到的区域。这就意味着早期的样例决定着剩余训练样例的吸引盆;同时意味着早期的样例对训练模型的配置参数有不成比例的影响。
一个假设是是我们将会预测采用无限的或者非常大的数据集在线设置,无监督预训练的行为与标准的L1/L2正则化产生分歧。这是因为当数据增加时,标准的L1/L2正则化影响减小;然而当数据增加时,无监督预训练的影响保持不变。
需要注意在线学习的随机梯度下降是泛化误差的随机梯度下降优化,所以在线错误比较好意味着对于泛化误差优化的好。
在本部分,我们经验性地挑战一下这方面的假设,显示出证据支持我们的假设,即正则化。

8.1 实验6:在大数据集下预训练的效果

本部分实验结果可能是这篇文章最惊人的发现。图11显示基于InifiteMNIST 6种结构的在线分类错误:1-3层DBN,1-3层SDAE,1-3层无预训练网络。
从这些实验中我们可以观察到以下几点。首先,无预训练的3层网络比无预训练的1层网络泛化误差较差。该现象证明了即使在线设置假设依旧成立,优化深层网络比浅层网络难。其次,3层SDAE模型比3层DBN模型泛化更好。最后且最重要,当训练样例数量增加,相反,预训练的优势不消失。
注意到每个模型的隐藏单元数都是一个超参数。所以理论结果显示,当容量和数据增加,1层无预训练网络原则上应该可以代表输入分布。相反,没有预训练,网络将不会利用额外的容量,这一现象再次指向了优化解释。然而很明显,非凸优化问题的起点很重要,即便对于那些看起来很容易优化的网络,这个现象支持我们的假设。

Why Does Unsupervised Pre-training Help Deep Learning?_第11张图片
图11
另外一个实验在图12中显示了大规模在线随机非凸优化的影响。基于InifiteMNIST,按照模型样例的顺序计算训练集的错误。我们观察到几个有趣的结论:首先,两种模型均更擅长分类更近可见的样例。这是拥有不变学习率的随机梯度下降的自然效应(指数的给最近的样例更大的权重)。同时,也要注意对于两种模型在训练开始的样例,就误差来说,本质上与测试样例类似。最后,我们观察到在训练集上,预训练模型整体表现更好。这与优化假设一致,即它表明无监督预训练有优化效果。
在线设置中,训练和泛化误差收敛,正如经验分布收敛于真是的数据分布。这些结果都表明随着数据集的增加,无监督预训练的影响不会消失。对于无监督预训练正则化作用,我们如果仅从表面理解,是预料不到这个结果的。然而它和我们对在线设置中无监督预训练基于非凸目标函数的随机梯度下降训练的解释相一致,阐明了我们的假设。

Why Does Unsupervised Pre-training Help Deep Learning?_第12张图片
图12

8.2实验7:样例顺序的影响

本文假设的机制暗示着由于学习的动态性(权重大小的增加和训练过程的非线性),和依赖于吸引盆的早期数据(当基于随机梯度下降训练,早期样例敏感性增强)。基于InifiteMNIST我们操作于在线随机优化体制,在这我们试图找到一个高度非凸目标函数的局部最小值。然后,需要学习这种优化输出多大程度受训练过程中在不同点可见样例的影响,和是否早期样例有更大的影响。

为了量化训练过程中在不同点训练样例的输出方差,和比较有/无预训练模型的方差,我们进行了如下实验。给定100万样例的数据集,我们变化第100万个样例且保持其他不变。训练好10组模型后,测量出基于固定数据集网络的输出方差。接着同样改变下100万样例,观察哪组训练组对最终函数影响最大。

图13显示了实验结果,开始的样本比后面的样本更能影响网络的输出。然而,方差比预训练网络低。除此之外,我们应该注意到预训练网络的方差在0.25(开始预训练点)之后比监督网络在0.0的方差要小。这个结果意味着无监督预训练可以被视为一种方差减小技术,与正则化假设一致。最后,两个网络均受用于优化的最后一组样例的影响较大,这是由于在随机梯度中我们使用了固定学习率,最近期的样本梯度有更大的影响。

这些结果均与我们的假设一致:早期样本有更大的影响(方差更高),且预训练模型在我们的预期下可以减小方差。

Why Does Unsupervised Pre-training Help Deep Learning?_第13张图片

图13 在0.25开始预训练

8.3 实验8:预训练前k层

从图11我们可以看到对于3层网络无监督预训练的影响是不同的。在图14中,我们探索了深度和无监督预训练的关系,设置如下:基于MNIST和InifiteMNIST,我们只预训练底部k层,对顶部n-k层像平时一样随机初始化。在这个实验中,n=3且k从0(无预训练)变化到n(正常预训练)。
对于MNIST,我们画出了log(train NLL) vs. log(test NLL)的轨迹,每个点代表着一定数量epochs后的测量。轨迹大致从右到左、从上到下,对应着训练和测试误差的减少。我们也可以看到模型从某一点开始过拟合。

Why Does Unsupervised Pre-training Help Deep Learning?_第14张图片
图14  左: MNIST InifiteMNIST
对于InifiteMNIST,优化低层/高层困难度的结果很模糊。我们预期最大增量增益来自于预训练的前1/2层,事实上对于前2层是成立的,对于1层是不成立的。但我们预训练更多层,模型的泛化更好。对于MNIST,预训练更多层,最终的训练误差变得更差。该现象同样支持正则化假设。

9 讨论和总结

我们已经证明无监督预训练可以增加深层网络的鲁棒性,结果同样显示增加无预训练结构的深度,会增加找到差的明显局部最小值的可能性。预训练网络可以始终有更好的泛化,预训练网络比没有预训练网络可以定性地学习到不同的特征。而且,拥有不同初始化种子的网络的轨迹似乎落入很多明显不同的局部最小值,结果再次不同,依赖于是否使用了预训练。
无监督预训练不单单只是一种能得到好的初始化边缘分布的方法,它还能捕获参数间复杂的依赖关系。我们发现有无监督预训练的深层网络似乎表现出一些正则化的特性:对于足够小的层数,预训练深层结构比随机初始化的深层结构更差。而且,当层数足够大,预训练模型的训练误差大,但是泛化性能好。此外,我们重做了一个实验,据说可以得到无监督预训练的优化假设解释,但是相反我们观测到的是正则化影响。我们也展示了经典的正则化技术如L1/L2正则化达不到无监督预训练的效果,且随着数据的增加无监督预训练的效果不消失,所以如果无监督预训练是正则化矩阵,那么它一定是截然不同的一种正则化。
本文考虑了2中无监督预训练模型—降噪自动编码器和受限玻尔兹曼机,两种模型有相似的结果。我们很惊讶的观察到,即使在非常大的训练集中预训练的优势依旧存在,指出结论:非凸优化问题的开始点真的很重要,这个结论是通过观察不同层的可视化滤波器验证的。最后,无监督预训练作为方差减少技术,但是在大数据集中预训练网络有较低训练误差,这一结果支持优化解释。
我们如何理解所有这些结果?正则化和优化影响表面上是矛盾的。在第3部分,我们描述了一个假设:结构的动态学习分为两阶段,无监督预训练和有监督的微调,这个假设与上述结果一致。
这个假设显示监督目标函数的非线性有很多影响。其中的一个影响是早期的样例对训练输出有很大的影响,这也是为什么在大规模数据集下无监督预训练的影响依然存在。通过这篇文章,我们探究出由早期样例引发的吸引盆,监督训练无法逃脱。
无监督预训练作为正则化矩阵,只影响监督训练的开始点,与典型正则化不同的是,数据增加正则化作用不消失。
我们的结果中最重要的一个是基于随机梯度下降非凸目标函数的优化分析具有挑战性,尤其在大数据中。我们的分析到目前为止显示网络受早期样例的影响更多。这使得我们想要网络在后面的样例中捕获更多的信息,即训练非常大的数据集时试图捕获更多的信息。
一个有趣的实现,采用小的训练集,我们不用关注最小化训练误差,因为过拟合是主要的问题;对于两种模型的泛化性能,训练误差并不是一个好方法来区分它们。在上述设置中,无监督预训练可以帮助找到泛化误差更小的明显局部最小值。大训练集中见图12,经验和真实分布收敛。在这样的场景,找到一个更好的局部最小值很重要,在大训练集下更好的优化策略应该对泛化有明显的影响。注意在深度自编码器中有一个瓶颈,即之前的结果显示训练误差和测试误差经过预训练都会减少,这一现象支持优化假设,我们假设这个瓶颈是区分深度自编码器和深度分类器的关键因素。
尽管对于这个实验跑了几个月的CPU,使得我们能更好的理解这些结果。我们的最初目标是控制实验量来更好地理解数据集。然而,我们的结果受限于数据集,但是结果是合理的。
我们结果显示深层网络的优化是一个复杂的问题,受训练中早期样例的严重影响,未来的工作应该证明这个假设。如果这是真的,我们希望学者捕获真实复杂的分布,这可能意味着我们应该考虑学习算法来减少早期样例的影响,当现有的学习卡住时,使得参数能够逃脱吸引盆。
除了上述的假设,未来的工作应该调查本文结果与Hinton and Salakhutdinov (2006)结果之间的关联,Hinton表示在深度自编码器中,很难得到好的训练重构误差。未来工作还可以包括分析和理解深度半监督技术,即预训练过程和监督过程不分离。我们期望尽管分析结果和我们的类似,但是可能会暴露出一些问题。
对于理解和提高深层结构仍有许多开放性问题。我们的信念是深层机构学习的提高策略需要对现有的问题有更深的理解,同时通过大量仿真提出无监督预训练背后训练机制的解释。







你可能感兴趣的:(深度学习,深度学习,DL,无监督预训练,非凸最优化)