迁移学习(transfer learning)通俗来讲,就是运用已有的知识来学习新的知识,核心是找到已有知识和新知识之间的相似性,用成语来说就是举一反三。由于直接对目标域从头开始学习成本太高,我们故而转向运用已有的相关知识来辅助尽快地学习新知识。比如,已经会下中国象棋,就可以类比着来学习国际象棋;已经会编写Java程序,就可以类比着来学习C#;已经学会英语,就可以类比着来学习法语;等等。世间万事万物皆有共性,如何合理地找寻它们之间的相似性,进而利用这个桥梁来帮助学习新知识,是迁移学习的核心问题。
上图不同位置、不同传感器的迁移标定。已知一个房间中A点的WiFi信号与相应的人体行为,如何标定另一个房间中C点的蓝牙信号?
具体地,在迁移学习中,我们已有的知识叫做源域(source domain),要学习的新知识叫目标域(target domain)。迁移学习研究如何把源域的知识迁移到目标域上。特别地,在机器学习领域中,迁移学习研究如何将已有模型应用到新的不同的、但是有一定关联的领域中。传统机器学习在应对数据的分布、维度,以及模型的输出变化等任务时,模型不够灵活、结果不够好,而迁移学习放松了这些假设。在数据分布、特征维度以及模型输出变化条件下,有机地利用源域中的知识来对目标域更好地建模。另外,在有标定数据缺乏的情况下,迁移学习可以很好地利用相关领域有标定的数据完成数据的标定。
图2 迁移学习与传统机器学习的不同。(a)传统机器学习对不同的学习任务建立不同的模型,(b)迁移学习利用源域中的数据将知识迁移到目标域,完成模型建立。插图来自:Sinno Jialin Pan and Qiang Yang, A survey on transfer learning. IEEE TKDE 2010.
迁移学习按照学习方式可以分为基于样本的迁移,基于特征的迁移,基于模型的迁移,以及基于关系的迁移。基于样本的迁移通过对源域中有标定样本的加权利用完成知识迁移;基于特征的迁移通过将源域和目标域映射到相同的空间(或者将其中之一映射到另一个的空间中)并最小化源域和目标域的距离来完成知识迁移;基于模型的迁移将源域和目标域的模型与样本结合起来调整模型的参数;基于关系的迁移则通过在源域中学习概念之间的关系,然后将其类比到目标域中,完成知识的迁移。
理论上,任何领域之间都可以做迁移学习。但是,如果源域和目标域之间相似度不够,迁移结果并不会理想,出现所谓的负迁移情况。比如,一个人会骑自行车,就可以类比学电动车;但是如果类比着学开汽车,那就有点天方夜谭了。如何找到相似度尽可能高的源域和目标域,是整个迁移过程最重要的前提。
迁移学习方面,代表人物有香港科技大学的Qiang Yang教授,南洋理工大学的Sinno Jialin Pan,以及第四范式的CEO戴文渊等。代表文献是Sinno Jialin Pan和Qiang Yang的A survey on transfer learning。
作者网站:http://jd92.wang.
[参考资料]
[1] Pan S J, Yang Q. A survey on transfer learning[J]. IEEE Transactions on knowledge and data engineering, 2010, 22(10): 1345-1359.
[2] Introduction to Transfer Learning: http://jd92.wang/assets/files/l03_transferlearning.pdf。
[3] Qiang Yang: Qiang Yang.
[4] Sinno Jialin Pan: http://www.ntu.edu.sg/home/sinnopan/.
[5] Wenyuan Dai: https://scholar.google.com/citations?user=AGR9pP0AAAAJ&hl=zh-CN.
迁移学习(Transfer Learning)是一种机器学习方法,它的主要思想是将已经在一个任务上学到的知识迁移到另一个相关或不相关的任务上,以提高目标任务的性能。迁移学习的核心概念是,模型可以通过先前学到的知识来更好地解决新任务,而不是从零开始学习。
以下是迁移学习的一些关键概念和要点:
基础假设:迁移学习的基本假设是,不同的任务之间存在某种程度的相关性或共享的特征。因此,从一个任务中学到的知识可以用于帮助解决另一个任务。
领域和任务:在迁移学习中,通常涉及两个关键概念:源领域(Source Domain)和目标领域(Target Domain)。源领域是已经学习过的任务或数据领域,而目标领域是希望改善性能的新任务或数据领域。
迁移方式:迁移学习可以通过多种方式进行,包括特征提取、模型微调、知识蒸馏等。最常见的方式是使用已经在源领域上训练好的模型(通常是深度神经网络),然后对这个模型进行微调,以适应目标任务。
领域适应:领域适应是迁移学习的一个重要子领域,专注于解决源领域和目标领域之间存在较大差异的情况。领域适应方法旨在减轻领域间分布差异,以提高模型在目标领域上的性能。
迁移学习的应用:迁移学习在各种领域中都有广泛的应用,包括计算机视觉、自然语言处理、语音识别、医疗诊断等。例如,可以使用在大规模图像分类任务上训练好的卷积神经网络(CNN)来提取图像特征,然后将这些特征用于解决目标任务,如人脸识别或疾病检测。
总的来说,迁移学习是一种强大的机器学习技术,可以提高在新任务上的性能,并减少数据需求。它在实际应用中具有广泛的潜力,能够加速和改善各种机器学习任务的解决过程。