大家好,欢迎来到IT知识分享网。
《迁移学习》
一、什么是迁移学习
迁移学习(Transfer learning) 顾名思义就是就是把已学训练好的模型参数迁移到新的模型来帮助新模型训练。考虑到大部分数据或任务是存在相关性的,所以通过迁移学习我们可以将已经学到的模型参数(也可理解为模型学到的知识)通过某种方式来分享给新模型从而加快并优化模型的学习效率不用像大多数网络那样从零学习(starting from scratch,tabula rasa)。
迁移学习的本质是适应(adaptation)。适应可以是适应一个任务、适应一种模态、适应一个领域、适应一种语言、适应一份新数据等。所谓“适应”,有两方面的内涵:一是只有已经能用的东西才能“适应”新东西,二是这个能用的东西需要在别的场景下发挥作用。
迁移学习是运用已存有的知识对不同但相关领域问题进行求解的新的一种机器学习方法。它放宽了传统机器学习中的两个基本假设,目的是迁移已有的知识来解决目标领域中仅有少量有标签样本数据甚至没有的学习问题[1]。在美国国防部高级研究计划局的信息处理技术办公室发表的公告中,给出的迁移学习的定义是:
把之前任务中学习到的知识和技能应用到新的任务中的能力。
迁移学习是机器学习领域中的一种技术,它涉及将从一个任务学到的知识应用到另一个不同但相关的任务上。这种方法特别适用于新任务的数据量有限的情况,或者新任务的标注数据获取成本很高时。通过迁移学习,可以利用已有的模型(通常是在大数据集上预训练的模型)来加速新任务的学习过程,并提高模型的性能。
例如将猫狗分类的学习模型迁移到其它相似的任务上面,用来分辨老鹰和布谷鸟(因为都是拍摄的真实图片,所以属于相同的域,抽取特征的方法相同),或者是分别卡通图像(卡通图像和真实图片属于不同的域,迁移时要消除域之间的差异)
了解迁移学习中有两对主要的概念,域和任务以及源和目标:
Domain(域):包括两部分:feature space(特征空间)和probability(概率)。所以当domain不同的时候,分两种情况。可能是feature space不同,也可能是feature space一样但probability不同;
Task(任务):包括两部分: label space(标记空间)和objective predictive function(目标预测函数)。同理,当task不同的时候,也分两种情况。可能是label space不同,也可能是label space一样但function不同;
Source(源)是用于训练模型的域/任务;
Targe(任务)是要用前者的模型对自己的数据进行预测/分类/聚类等机器学习任务的域/任务。
迁移学习广泛存在于人类的活动中,两个不同的领域共享的因素越多,迁移学习就越容易,否则就越困难,甚至出现“负迁移”,产生副作用。所以迁移学习的能力也是有限的,我们需要关注迁移学习的边界在哪里,以在迁移之前先看看source和domain之间的transferability(可迁移性)。近十几年来,很多学者对迁移学习展开了广泛的研究,而且很多集中在算法研究上,即采用不同的技术对迁移学习算法展开研究。
二、分类
基于实例的迁移学习:通过将源任务中的实例(或数据点)迁移到目标任务中来实现知识的迁移。
基于特征的迁移学习:将源任务中学习到的特征表示迁移到目标任务中,这些特征可能在源任务和目标任务之间共享。
基于模型的迁移学习:直接迁移源任务中训练好的模型参数到目标任务中,可能需要对模型进行一些调整或微调(Fine-tuning)。
基于关系的迁移学习:在某些情况下,源任务和目标任务之间的知识迁移是基于它们之间的关系,而不仅仅是特征或实例。
迁移学习在许多领域都有应用,包括计算机视觉、自然语言处理、语音识别等。例如,在计算机视觉中,一个在大规模图像数据集上训练好的深度学习模型(如ImageNet上的模型)可以被迁移到较小的特定任务上,如医学图像分析,通过微调模型的某些层来适应新任务。
优势
迁移学习的关键优势在于它能够利用已有的知识和资源,减少对大量标注数据的依赖,加快学习速度,并在新任务上获得更好的性能。
三、为什么要进行迁移学习
四、学习路线?
第一阶段:基础知识
机器学习基础
学习计划
每日学习:每天安排固定时间学习理论和实践。
项目实践:定期进行实践项目,将理论应用到实际中。
社区互动:积极参与线上和线下的机器学习社区。
通过遵循这个路线,你可以系统地学习迁移学习,并逐步提高你的技能和知识。记住,实践是学习的关键,不断尝试和实验将帮助你更好地理解和掌握迁移学习。
五、迁移学习研究现状总结
迁移学习已在文本分类、文本聚类、情感分类、图像分类、协同过滤等方面进行了应用研究。下面我们将根据迁移学习知识的表示形式分类方式进行研究总结。
基于实例的迁移学习方法代表有Dai 等人[3]提出的基于实例的 TrAdaBoost 迁移学习算法。当目标域中的样本被错误地分类之后,可以认为这个样本是很难分类的,因此增大这个样本的权重,在下一次的训练中这个样本所占的比重变大。如果源域中的一个样本被错误地分类了,可以认为这个样本对于目标数据是不同的,因此降低这个样本的权重,降低这个样本在分类器中所占的比重。Masashi Sugiyama等人[4],考虑了模型选择的重要性,在协变量变换下,根据测试和训练输入密度的比例一致,标准学习方法(如最大似然估计)不再是一致加权变量,首先分别估计训练和测试输入密度,然后通过取估计密度的比率来估计重要性。
基于特征的迁移学习方法可以分为基于特征选择的迁移学习方法和基于特征映射的迁移学习方法。基于特征选择的迁移学习方法是识别出源领域与目标领域中共有的特征表示,然后利用这些特征进行知识迁移。Jiang等人[5]认为与样本类别高度相关的那些特征应该在训练得到的模型中被赋予更高的权重,因此他们在领域适应问题中提出了一种两阶段的特征选择框架。第一阶段首先选出所有领域(包括源领域和目标领域)共有的特征来训练一个通用的分类器;然后从目标领域无标签样本中选择特有特征来对通用分类器进行精化从而得到适合于目标领域数据的分类器。Dai等人[6]提出了一种基于联合聚类(Co-clustering)的预测领域外文档的分类方法CoCC,该方法通过对类别和特征进行同步聚类,实现知识与类别标签的迁移。CoCC算法的关键思想是识别出领域内(也称为目标领域)与领域外(也称为源领域)数据共有的部分,即共有的词特征。然后类别信息以及知识通过这些共有的词特征从源领域传到目标领域。Fang等人[7]利用迁移学习对跨网络中的协作分类进行研究,试图从源网络迁移共同的隐性结构特征到目标网络。该算法通过构造源网络和目标网络的标签传播矩阵来发现这些隐性特征。
基于特征映射的迁移学习方法是把各个领域的数据从原始高维特征空间映射到低维特征空间,在该低维空间下,源领域数据与目标领域数据拥有相同的分布。这样就可以利用低维空间表示的有标签的源领域样本数据训练分类器,对目标测试数据进行预测。Pan等人[8]提出了一种新的维度降低迁移学习方法,他通过最小化源领域数据与目标领域数据在隐性语义空间上的最大均值偏差(Maximun Mean Discrepancy),从而求解得到降维后的特征空间。在该隐性空间上,不同的领域具有相同或者非常接近的数据分布,因此就可以直接利用监督学习算法训练模型对目标领域数据进行预测。Blitzer等人[9]提出了一种结构对应学习算法(Structural Corresponding Learning, SCL),该算法把领域特有的特征映射到所有领域共享的“轴”特征,然后就在这个“轴”特征下进行训练学习。
基于模型的迁移学习方法由源域学习到的模型应用到目标域上,再根据目标域学习新的模型。代表工作有中科院计算所的Zhao等人[10]提出了TransEMDT方法。该方法首先针对已有标记的数据,利用决策树构建鲁棒性的行为识别模型,然后针对无标定数据,利用K-Means聚类方法寻找最优化的标定参数。在2014年的CVPR上Oquab等人[11]提出了TRCNN,主要解决深度学习需要大量的数据,对于小的数据集,如何进行深度学习训练的问题。作者提出了可以在大型数据集(如ImageNet)上进行预训练,然后将训练好的网络权重迁移到小的数据集,即用小的数据集对网络进行微调,从而使网络可以适用于小的数据集。
基于关系的迁移学习方法利用源域学习逻辑关系网络,再应用与目标域上。这种方法比较关注源域和目标域的样本之间的关系。就目前来说,基于关系的迁移学习方法的相关研究工作非常少,仅有几篇连贯式的文章讨论,这些文章都借助于马尔科夫逻辑网络(Markov Logic Net)来挖掘不同领域之间的关系相似性。如Davis等人[12]提出的二阶马尔科夫逻辑。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/125145.html