深度学习近年来在许多研究领域取得了主导地位。深度学习是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术。它的基本特点是试图模仿大脑的神经元(neuron)之间传递处理信息的模式。最显著的应用是计算机视觉和自然语言处理领域。显然,“深度学习”与机器学习中的“神经网络”是强相关,“神经网络”也是其主要的算法和手段;或者我们可以将“深度学习”称之为“改良版的神经网络”算法。深度学习又分为卷积神经网络和深度置信网(deep belief nets,DBN)。其主要的思想就是模拟人的神经元,每个神经元接收到信息,处理完后传递给与之相邻的所有神经元,如图1.11所示。
图1.11 神经网络数据处理方式示意图
神经网络的计算量非常大,事实上在很长时间里由于基础设施技术的限制进展并不大。而GPU(图形处理器)的出现让人看到了曙光,也造就了深度学习的蓬勃发展。将深度学习应用到迁移学习中,重要的是要找到通过深度神经网络有效地传递知识的方法。基于深度学习的迁移学习定义:
给定一个由<DS,TS,DT,TT,fT(·)>定义的迁移学习任务。这就是一个深度迁移学习任务,其中fT(·)是一个表示深度神经网络的非线性函数。
深度迁移学习研究如何通过深度神经网络利用其他领域的知识。由于深度神经网络在各个领域都很受欢迎,人们已经提出了相当多的深度迁移学习方法,那么对这些方法进行分类和总结非常重要。根据深度迁移学习中使用的技术,本书将深度迁移学习分为四类[74]:基于样本的深度迁移学习、基于映射的深度迁移学习、基于网络的深度迁移学习和基于对抗的深度迁移学习。
1.基于样本的深度迁移学习
基于样本的深度迁移学习是指使用特定的权重调整策略,通过为那些选中的样本分配适当的权重,从源域中选择部分样本作为目标域训练集的补充。基于样本的深度迁移学习基于“尽管两个域之间存在差异,但源域中的部分样本可以分配适当权重供目标域使用”这样的假设展开。基于样本的深度迁移学习的示意图如图1.12所示,其中源域中与目标域不相似的浅色样本被排除在训练数据集之外;源域中与目标域相似的深色样本以适当权重包括在训练数据集中。
图1.12 基于样本的深度迁移学习的示意图[74]
TrAdaBoost[75]使用基于AdaBoost的技术来过滤掉源域中与目标域不同的样本,在源域中对样本重新加权以构成类似于目标域的分布。最后,通过使用来自源域的重新加权样本和来自目标域的原始样本来训练模型。它可以减少保持AdaBoost属性的不同分布域上的加权训练误差。而TaskTrAdaBoost是一种快速算法[76],可以促进对新目标域的快速再训练。与TrAdaBoost设计用于分类问题不同,ExpBoost.R2和TrAdaBoost.R2[77]可以用于解决回归问题。双权重域自适应(BIW)[78]可以将两个域的特征空间对齐到公共坐标系中,然后为源域的样本分配适当的权重。增强的TrAdaBoost[79]可用来处理区域砂岩显微图像分类的问题。文献[80]提出了一个度量迁移学习框架,用于在并行框架中学习样本权重和两个不同域的距离,以使跨域的知识迁移更有效。Liu等[81]将集成迁移学习引入可以利用源域样本的深度神经网络。
2.基于映射的深度迁移学习
基于映射的深度迁移学习是指将源域和目标域中的样本映射到新的特征空间。在这个新的特征空间中,来自两个域的样本相似且都适用于联合深度神经网络。它基于假设:尽管两个原始域之间存在差异,但它们在精心设计的新特征空间中可能更为相似。基于映射的深度迁移学习的示意图如图1.13所示。在基于映射的深度迁移学习中,来自源域和目标域的样本同时映射到新特征空间,将新特征空间中所有的样本视为神经网络的训练集。(www.daowen.com)
由文献[82]引入的迁移成分分析和基于TCA[83]的方法已被广泛用于传统迁移学习的许多应用中。一个自然的想法是将TCA方法也扩展到深度神经网络。Tzeng等[84]通过引入适应层和额外的域混淆损失来扩展MMD用以比较深度神经网络中的分布,以学习具有语义意义和域不变性的表示。Long等[85]通过使用文献[86]中提出的多核变量MMD(MK-MMD)距离代替MMD距离改进了以前的工作。与卷积神经网络中的学习任务相关的隐藏层被映射到再生核Hilbert空间(reproducing kernel Hilbert space,RKHS),并且通过多核优化方法使不同域之间的距离最小化。Long等提出联合最大均值差异(JMMD)[87]来衡量联合分布的关系。JMMD用于泛化深度神经网络(DNN)的迁移学习能力,以适应不同域的数据分布,并改进了以前的工作。Wasserstein距离[88]可以用作域的新距离度量,以便找到更好的映射。
图1.13 基于映射的深度迁移学习的示意图[74]
3.基于网络的深度迁移学习
基于网络的深度迁移学习是指复用在源域中预先训练好的部分网络,包括其网络结构和连接参数,将其迁移到目标域中使用的深度神经网络的一部分。基于网络的深度迁移学习认为“神经网络类似于人类大脑的处理机制,它是一个迭代且连续的抽象过程。网络的前面层可被视为特征提取器,提取的特征是通用的”。基于网络的深度迁移学习的示意图如图1.14所示。在迁移的过程中,首先,在源域中使用大规模训练数据集训练网络。然后,基于源域预训练的部分网络被迁移到为目标域设计的新网络的一部分。最后,它就成了在微调策略中更新的子网络。
图1.14 基于网络的深度迁移学习的示意图[74]
文献[89]将网络分为两部分,前者是与语言无关的特征变换,后者是与语言相关的分类器。语言独立的特征变换可以在多种语言之间迁移。反复使用CNN在ImageNet数据集上训练的前几层来提取其他数据集图像的中间图像表征,在这一过程中,CNN被训练去学习图像表征,它可以有效地迁移到其他训练数据量受限的视觉识别任务[90]。Long等[91]提出了一种联合学习源域中有标签数据和目标域中没有标签数据的自适应分类器和可迁移特征的方法,它通过将多个层插入深层网络,指引目标分类器显式学习残差函数。Zhu等[92]提出了在DNN中同时学习域自适应和深度哈希特征。此外,一种新颖的多尺度卷积稀疏编码方法可以以一种联合方式自动学习不同尺度的滤波器组,强制规定学习模式的明确尺度,并提供无监督的解决方案,用于学习可迁移的基础知识并将其微调到目标任务。George等[94]应用深度迁移学习将知识从现实世界的物体识别任务迁移到glitch分类器,用于多重力波信号的探测。它证明了DNN可以作为优秀的无监督聚类方法特征提取器,根据样本的形态识别新类,而无须任何有标签样本。另一个值得注意的结果是网络结构和可迁移性之间的关系。文献[95]证明了某些模块可能不会影响域内准确性,但会影响可迁移性,并指出哪些特征在深层网络中可以迁移,哪种类型的网络更适合迁移。文献给出的结论为LeNet、AlexNet、VGG(visual geometry group)、Inception、ResNet在基于网络的深度迁移学习中是很好的选择。
4.基于对抗的深度迁移学习
基于对抗的深度迁移学习是指引入受生成对抗网络(generative adversarial networks,GAN)[95]启发的对抗技术,以找到适用于源域和目标域的可迁移表征。它基于这个假设:为了有效迁移,良好的表征应该为主要学习任务提供判别力,并且在源域和目标域之间不可区分。基于对抗的深度迁移学习的示意图如图1.15所示。在源域大规模数据集的训练过程中,网络的前几层被视为特征提取器。它从两个域中提取特征并将它们输入对抗层。
图1.15 基于对抗的深度迁移学习的示意图[74]
对抗层试图区分特征的来源。如果对抗网络的表现很差,则意味着两种类型的特征之间存在细微差别,可迁移性更好,反之亦然。在以下训练过程中,将考虑对抗层的性能以迫使迁移网络发现更多具有可迁移性的通用特征(general feature)。基于对抗的深度迁移学习由于其良好的效果和较强的实用性,近年来取得了快速发展。例如通过在损失函数中使用域自适应正则化项,引入对抗技术来迁移域适应的知识[96]。Ganin和Lempitsky[97]提出了一种对抗训练方法,通过增加几个标准层和一个简单的新梯度翻转层,使其适用于大多数前馈神经模型。Tzeng等[98]为稀疏标记的目标域数据提供了一种方法迁移同时跨域和跨任务的知识。他们在这项工作中使用了一种特殊的联合损失函数来迫使CNN优化域之间的距离,其定义为LD=Lc+λLadver,其中Lc是分类损失,Ladver是域对抗损失。在计算的过程中引入迭代优化算法,固定一个损失时更新另一个损失。此外还有一种新的GAN损失[99],可以将判别模型与新的域自适应方法相结合。Long等[100]提出一个随机多线性对抗网络,其利用多个特征层和基于随机多线性对抗的分类器层来实现判别对抗适应的深度网络。Luo等[101]利用域对抗性损失,并使用基于度量学习的方法将嵌入泛化到新任务,以在深度迁移学习中找到更易处理的特征。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。