1.逐层预训练和微调
逐层预训练思想在训练深度神经网络和自动编码器中得到了广泛的应用。在这种方法中,用无监督学习训练得到的参数被用来初始化特定的分类任务[14]。该方法假定无监督学习任务(例如样本重建)可以展现良好的表示能力。用它们初始化的参数应该位于下游任务的合适区域。这种初始化策略可以看作是对所学模型参数的一种正则化。
在分层预训练算法中,第一阶段是使用无监督学习来训练每一层,这就是所说的预训练阶段。具体地说,对于第l层,使用第(l-1)层输出的训练样本hl-1(x)来训练一个无监督学习模型,以便在下一层再现特征hl(x)=Rl(hl(x))。第二阶段是用监督信号为下游任务(例如分类)进行微调。现已经为微调步骤设计了几种变体。最常用的一种方法是将第一阶段的hl(x)作为输入,初始化一个线性或非线性监督预测器,然后根据监督训练损失对模型参数进行微调。
文献[15]便对以上方法的变体进行了探索。Hinton等在文献[15]中提出了一种深度信念网络的快速学习算法,展示了如何使用“互补先验”来消除使具有许多隐藏层的紧密连接的信念网络中推理困难的explaining away效应。利用互补先验知识,他们推导出一个快速的贪心算法,只要顶部两层形成一个无向联想记忆,就可以一次一层地学习深度有向信念网络。这个快速的贪心算法用于初始化较慢的学习过程,该过程使用wake-sleep算法的对比版本来微调权重。经过微调,一个具有3个隐藏层的网络形成了一个非常好的手写数字图像及其标签的联合分布的生成模型。如表4.1所示,这种生成模型比最好的判别学习算法提供了更好的数字分类。
表4.1 不同学习算法在MNIST数字识别任务中的错误率[15]
2.通过监督学习的参数进行微调
分层预训练法是深度学习早期流行的一种方法,但后来被dropout和批处理归一化(batch normalization)所取代,以端到端的方式训练各层。通过更稳定的优化方法和大量的有标签数据,可以直接从头训练一个有监督的深度模型。关键问题是如何在不同的监督任务中转移监督学习到的参数。
文献[16]的实验评估了预训练的卷积神经网络CNN模型的不同层的可移植性。图4.6说明了实验的设置。将ImageNet数据集分为A和B两部分,图4.6前两行的模型分别针对A和B进行训练,它们被用作基础模型。在最后两行中,模型的前几层由学到的值初始化,而其他层则随机初始化。XnY表示从基础模型X复制下来并冻结在Y中进行迁移学习的前n层,同时XnY+表示迁移过来的前n层,Y可以对其进行微调。
图4.6 CNN实验设置概述[16]
图4.7显示了不同迁移学习设置的结果。显然,转移和微调的设置使AnB+优于基础模型B。当n较大时,冻结转移层的AnB和BnB的准确度显示了很大的下降。结果表明,底层的特征具有更强的可移植性,而上层的特征与特定的任务的相关性更强。
同样,文献[17]的实验评估了循环神经网络(recurrent neural networks,RNN)参数在自然语言分类任务中的可移植性。如图4.8所示,自然语言分类的RNN模型由三层组成:①E,嵌入层;②H,用于捕获序列模式的RNN隐藏层;③O,输出层。
为了分析各层的可移植性,Mou等人[17]在工作中进行了几个实验,实验是在6个数据集上进行的,分别是大型电影评论数据集IMDB、小型电影评论数据集MR、小型六向问题数据集QC,和用于句子含义识别的大型数据集SNLI(分类目标是隐含、矛盾和中性)以及小型数据集SICK(它与SNLI的分类目标完全相同),还有用于语义检测的小型数据集MSRP,目标是判断两个句子是否有相同的意思的二分类问题。Mou等测试了在不同迁移学习设置下的迁移结果,包括冻结、微调和任务间迁移。RNN的结果与CNN的结果相似。较高级别的层(如隐藏层和输出层)不太容易转移。即使在从IMDB传输到MR的相同语义设置中,如果冻结所有层,分类准确率也会降低。在从IMDB到QC等不同任务的情况下,冻结隐藏层会导致分类准确率急剧下降。如果使用从源域中学习到的参数初始化模型,然后继续进行微调,则性能通常会高于基本模型或至少与基本模型相当。
图4.7 CNN中特征表示的可迁移性实验结果[16]
图4.8 自然语言分类的LSTM模型[17]
具体性能分析如表4.2所示。E表示嵌入层,H表示隐藏层,O表示输出层。表示经过word2vec预训练的单词嵌入。□表示参数是随机初始化的。表示参数被转移并且被冻结。表示参数被转移且经过微调。可以发现,在两组实验中语义等价任务(IMDB→MR,SNLI→SICK)的迁移学习都是成功的。然而,对于IMDB→QC和SNLI→MSRP,转移隐含层(排除嵌入层),即LSTM-RNN单元和CNN特征映射,并没有得到改善。源域中LSTMRNN和CNN模型提取的特征与最终任务(QC和MSRP)几乎无关。这表明,神经网络在自然语言处理应用中语义相似或不同的两个任务之间的可转移性很差。神经网络几乎不能转移到不同语义的NLP任务。与图像处理领域相比,NLP的迁移学习更倾向于语义,在图像处理领域,甚至高级特征检测器几乎总是可转移的。
表4.2 参数初始化神经网络的迁移学习的主要结果[17](www.daowen.com)
为了得出不同层次的NLP神经模型的可转移性,Mou等分析了每一层的可移植性。首先,他们冻结了嵌入层和隐藏层。即使在语义相同的设置中,如果进一步冻结输出层,尽管IMDB→MR和SNLI→SICK的性能都有所下降,但通过随机初始化输出层的参数,他们可以得到与基线相似或更高的结果。这表明,输出层主要是特定于数据集的,转移输出层的参数效果并不好。
IMDB→MR实验表明,嵌入层和隐藏层都发挥了重要作用。然而,在SNLI→SICK中,准确率的提高主要依赖于隐藏层。原因是在情感分类任务(IMDB和MR)中,信息来源于原始输入,即情感词汇及其嵌入,而自然语言推理任务(SNLI和SICK)更多地关注语义的构成,因此隐含层更为重要。此外,对于语义不同设置的任务(IMDB→QC和SNLI→MSRP),嵌入层的参数是唯一可转移的知识。
3.其他微调模型
Frome等人[18]在文本领域学习语义知识,并将知识转移到视觉对象识别领域。首先,针对单词的分布式表示对skip-gram神经语言模型进行了预训练,训练该模型能同时利用有标签的图像数据和从没有标签的文本中收集的语义信息来识别视觉对象。同时,利用LSVRC 2012 1K数据集训练了一种最新的视觉对象识别深度神经网络。最后,将预先训练好的视觉对象识别网络的表示层与神经语言模型相结合,构建了一种深度视觉语义模型。该模型将继续对参数进行微调。视觉语义微调模型及训练过程如图4.9所示。
图4.9 视觉语义微调模型及训练过程[18]
如图4.10所示,Frome等训练了隐藏维度从100维到2 000维不等的skip-gram神经语言模型,发现500维和1 000维的嵌入向量在训练速度、语义质量和模型的最终性能方面有一个很好的表现。通过这些模型学习的嵌入表示的语义质量很好。在ImageNet标签子集上的语义嵌入空间的可视化表明,语言模型学习了丰富的语义结构,可以在视觉任务中利用。
图4.10 ILSVRC 2012 1K中使用skip-gram神经语言模型的标签嵌入学习的t-SNE可视化子集[18](见彩插)
文献[19]引入一种深度迁移学习方案,称为选择性联合微调,以改善深度学习任务在训练数据不足的情况下带来的风险,提升模型精度。在该方案中,一个训练数据不足的目标域学习任务与另一个训练数据充足的源域学习任务同时进行。但是,源域学习任务并不使用所有现有的训练数据。其核心思想是将一些训练集充足的任务(如ImageNet、Places365分类等)引入当前任务中联合进行训练,识别并使用来自源域学习任务的训练图像子集,这些图像的底层特征与目标域学习任务的相似,并共同微调这两个任务的共享卷积层。具体地说,Ge和Yu从这两个任务的训练图像上的线性或非线性滤波器组响应中计算描述因子,并使用这些描述因子为源域学习任务搜索所需的训练样本子集。
算法具体流程如下,首先要解决的问题是,如何在源域学习任务的数据集上挑选出和目标域任务数据集相似的图像作为辅助任务的训练集。通常来说,都是先进行特征提取,然后通过特征比较来选出相似的图像。本书作者给出了两种特征提取的方法。
方法一,通过构造一系列Gabor滤波器来作为图像特征提取器。作者使用的第一个滤波器组是Gabor滤波器组。Gabor滤波器通常用于特征描述,尤其是纹理特征。Gabor滤波器响应是用于图像和模式分析的强大的底层特征。具体来说,使用文献[20]中的参数设置作为引用,对于每一个实部和虚部,作者使用了24个卷积核,有4个尺度和6个方向。因此总共有48个Gabor滤波器。
方法二,可以将在标准数据集上预训练好的深度卷积神经网络模型的第一层和第二层激活作为图像的特征。原因在于深度卷积神经网络的内核实际上是空间滤波器。内核与非线性激活的组合实质上是一个非线性滤波器。深度卷积神经网络可以在不同的卷积层上提取低/中/高水平特征。靠近输入数据的卷积层专注于提取低级特征,而远离输入数据的卷积层则提取中级和高级特征。在大规模的不同数据集(如ImageNet)上训练时,这样的内核可用于描述通用的低级图像特征。在实验中,作者使用来自AlexNet在ImageNet上预先训练的第一卷积层和第二卷积层的所有内核(以及它们随后的非线性激活)作为第二个滤波器组。
特征提取后,对当前任务训练集的每一张图像在源域任务的数据集中逐一进行距离度量,即可找到相似的N张图像。随后在ImageNet或Places上预先训练权重初始化的深度卷积神经网络。并将上述挑选出的相似图像组成新的训练数据集来训练辅助任务,目标域任务的训练集保持不变,源域任务和目标域任务共享前面的卷积层参数,只在最后的分类器层独立进行梯度反传,最终获得了非常大的性能提升。最后共同优化各自标签空间内的源域损失函数和目标域损失函数。
如表4.3所示,实验表明,选择性联合微调在深度学习训练数据不足的情况下,在多个视觉分类任务上取得了最先进的性能。这些任务包括Caltech 256、MIT Indoor 67和细粒度分类问题(Oxford Flowers 102和Stanford Dogs 120)。与没有源域的微调相比,单模型的分类精度提高了2%到10%。仅使用该数据集的训练样本进行常规微调,在不使用源域的情况下,平均类精度达到92.3%。选择性联合微调进一步提高了性能,达到94.7%,比之前单一网络MagNet[21]的最佳结果提高了3.3%。为了与以往使用不同网络集成获得的最先进的结果进行比较,作者对目标域的困难训练样本在迭代源图像检索过程中获得的多个模型的性能进行平均。实验表明,作者的集成模型的性能为95.8%,比之前VGG-19+GoogleNet+AlwxNet[22]方法的最佳集成性能提高了1.3%。为了验证联合微调策略的有效性,作者还比较了将全部辅助任务的训练集加入进行联合训练的策略,结果性能不如只用挑选后的部分数据集来辅助训练。
表4.3 Stanford Dogs 120分类结果[19]
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。