迁移学习(transfer learning)领域有哪些比较新的研究方向?
作者:牛力
链接:https://www.zhihu.com/question/513765568/answer/2439885449
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
1 综述
1.1 跨种类迁移
深度学习模型的训练需要大量标注良好的训练样本,但是这种训练样本的获取成本非常高昂。现实世界中种类繁多,新种类也在源源不断地出现,因此不可能为所有种类收集大量标注良好的训练样本。尽管目前有很多高质量的标注数据库,但它们只包含有限个基础种类,如何从基础种类拓展到新种类成为很多热门领域的研究内容。比如零样本学习(zero-shot learning)和少样本学习(few-shot learning)把所有种类划分成没有交集的基础种类(base categories)和新种类(novel categories)。基础种类有大量标注良好的训练样本,新种类没有训练样本或者只有少量训练样本。弱样本学习(weak-shot learning)和零样本学习、少样本学习类似,也把所有种类划分成基础种类和新种类。不同的是,基础种类有大量强标注的训练样本,而新种类有大量弱标注的训练样本。 考虑到数据标注的"质量"包含"质"(quality)和"量"(quantity)两个方面,少样本学习和弱样本学习可以看成姊妹学习范式。少样本学习侧重于降低对新种类训练数据量的要求,而弱样本学习侧重于降低对新种类训练数据质的要求。零样本学习、少样本学习和弱样本学习的比较如图1所示:
图1: 零样本学习、少样本学习、弱样本学习的对比
1.2 弱样本学习任务
弱标注(weak annotation)的定义取决于不同的任务,并且同一个任务也可以有不同级别的弱标注,也就是不同程度的"弱"。 比如,对于图像分类任务来说,有噪音的图像标签属于弱标注。对于目标检测任务和语义分割任务来说,图像标签属于弱标注。说到不同程度的"弱",拿语义分割举例,图像标签、点标注、线标注、标注框都属于弱标注。所以不同的任务搭配不同的弱标注形式,可以衍生出很多弱样本学习的具体问题。弱样本学习方法的内核是给定任务的基础网络,夹层是弱监督学习框架,外面套了一层如何从基础种类向新种类迁移信息的外壳,如图2所示。我们实验室的弱样本图像分类(weak-shot classification)工作[2]和弱样本目标检测(weak-shot object detection)工作[3]很幸运地同时被NeurIPS2021接收了。
图2:不同的弱样本学习任务以及弱样本学习和弱监督学习的关系
弱样本分类的工作[2]其实是我之前一个工作[1]的延伸。博士期间做了一些基于网络数据的弱监督学习(webly supervised learning)方面的工作和零示例学习方面的工作,然后自然而然做了一个把弱监督学习和零示例学习结合的工作,把所有种类划分成没有交集的基础种类和新种类。基础种类有标注良好的训练图片,是强监督数据。新种类有带噪音的网络图片,是弱监督数据。所有种类都有词向量,以便迁移信息。但是,做[1]这个工作的时候发现如果新种类的弱监督训练数据充足,通过词向量迁移信息基本起不到帮助作用。做完[1]之后,我就想着如何简化问题设定,比如舍弃种类的词向量。一年半前,偶然间想到可以从基础种类向新种类迁移相似度,利用迁移的相似度为新种类的弱监督训练数据去噪。就让学生试了一下,在新种类上的性能提升超过了我的预期。这个工作[2]历经波折,幸运地被NeurIPS接收了。
做完弱样本分类的工作之后,组织学生调研了一下类似的问题设定在其他任务里面有没有做过。调研目标检测之后,发现弱样本目标检测已经有人做过了,但是实验设定非常混乱,起的名字也很混乱(cross-supervised, mixed-supervised)。我们遵循了其中一篇比较新的看起来比较权威的论文[5],做了工作[3],也很幸运地被NeurIPS接收了。调研实例分割之后,发现弱样本实例分割的工作相对较多相对规范,并且统一叫做部分监督实例分割(partially supervised instance segmentation)。调研语义分割之后,发现弱样本语义分割(weak-shot semantic segmentation)好像没有人做过,所以我们又做了一篇弱样本语义分割的工作。在做完弱样本图像分类和弱样本语义分割这两个工作之后,感觉像是填补了拼图上缺失的两块空白,让整个弱样本领域变得更系统更完整了。
1.3 思路总结
在看完弱样本学习在不同任务上的方法设计之后,发现在思想上有很多相通之处。我总结了一下,弱样本学习的方法大体可以分成两大类:1. 迁移种类无关的信息:比如similarity, objectness, boundary, saliency等等。这些信息可以从基础种类迁移到新种类。2. 迁移从弱监督信息到强监督信息的映射。因为强监督数据一般也可以获得其弱监督信息(弱样本图像分类除外),可以学习从弱监督标注到强监督标注的映射,或者从弱监督模型到强监督模型的映射,这些映射可以从基础种类迁移到新种类。 我写了篇弱样本学习的英文概述[4],简要介绍了弱样本学习范式的定义和解决问题的主要思路。相关论文和代码也都整理在github 上
。接下来详细介绍我们实验室的弱样本图像分类工作[2]和弱样本目标检测工作[3]。
2 弱样本图像分类
论文链接:
数据及代码已开源:
2.1 问题定义
基础种类有强标注(clean label)的图片,而新种类只有弱标注(noisy label)的图片。弱标注的图片可以使用类别名称在公共网站上检索来获得,这是一个有潜力的数据源来支持新种类的学习而不耗费任何的人工标注。研究如何从基础种类向新种类迁移信息,解决新种类训练图片标签噪音的问题。
2.2 方法介绍
我们方法的训练阶段由两部分组成:在基础种类训练集上学习相似度网络;在新种类数据集上学习主分类器。相似度网络的架构如图3所示,它输入一批图片,然后输出每一对图片之间的相似度分数。其中的枚举层把每一对图片的骨干网络特征拼接起来,称之为关系特征。然后通过全连接层对拼接起来的特征输出相似度分数。相似度分数由分类代价函数监督,如果一对图片是来自于同一个种类,那么就是"相似"种类,反之则为"不相似"种类。如果自由地抽取一批图片,那么绝大多数图片对是来自于不同的种类。所以为了减少相似对和不相似对的不均衡问题,对于每一批图片,我们首先选择少量的种类,然后再从少量的种类中抽取图片。
图3: 相似度网络示意图
对于单个新种类中网络图片来说,我们可以发现标签正确的样本通常占大多数。当在单个新种类中计算每一对图片的相似度时,我们可以发现标签错误的样本与其他大部分图片都不相似。因此,我们可以根据一张图片是否与其他图片相似来判断它标签的正确与否。对于每一个新种类,我们首先利用预训练好的相似度网络计算该种类中所有图片对的相似度,得到了一个相似度矩阵,然后我们利用某个图片与其他所有图片的相似度的平均作为该图片的代价函数权重。 然后所有图片的权重规范化到均值为1。最后,将图片的权重应用于分类的代价函数中。通过这样的方式,我们对标签错误样本的分类代价函数施加更低的权重。
当直接在新种类训练集上学习的时候,
结构,也就是图片特征之间的相似度,被噪声标签所主导。例如,噪声标签的代价函数隐式地拉近具有相同标签的图片的特征距离。然后这样的特征图结构可能被噪声标签所误导,所以我们试图用迁移来的相似度来纠正被误导的特征图结构。具体地,我们使用经典的图正则化来规范特征,使得语义相似的图片对的特征相近。 网络图片主要有两种噪声:异常值和标签翻转。异常值指图片不属于任务中所考虑的任何种类,而标签翻转指图片的真实标签是所考虑种类中的一种。对于标签翻转噪声,上文介绍的样本权重方法直接通过分配更低的权重抛弃了它们。然后图正则化可以利用它们来保持合理的特征图结构和帮助特征学习。方法细节和实验结果请参见论文。图4: 弱样本图像分类方法示意图
3 弱样本目标检测
论文链接:
代码已开源:
3.1 问题定义
基础种类有强标注(bounding box)的图片,而新种类只有弱标注(image label)的图片。研究如何从基础种类向新种类迁移信息,提升新种类目标检测的性能。
3.2 方法介绍
之前的工作[5]提出了一种基于渐进式知识迁移的方案,具体是先利用基础种类的数据去训练一个二分类目标检测器,然后将此检测器学习到的类无关的objectness从基础种类迁移到新种类,用这个二分类目标检测器对新种类的数据做测试,输出的粗糙的候选框再经过一个多实例学习(Multi-Instance Learning)分类器,实现对这些候选框的分类,再根据分类得分筛选出高置信度的候选框作为新种类的伪标注框。得到的伪标注框被添加到前面提到的二分类目标检测器的训练数据中,迭代优化该检测器,后续操作不断迭代进行,从而实现对新种类物体的检测。
我们在这种渐进式知识迁移的基础上,加入了分割掩码(mask)生成器和相似度网络。分割掩码生成器的利用数据中的类标签得到每个种类对应的分割掩码,一共有C个种类,那么最后该分割掩码生成器会输出C个通道的分割掩码。我们将该分割
与基础网络输出的特征图进行融合,从而得到掩码增强的特征图,再输入到后续结构中。我们假设利用分割掩码辅助预测候选框的能力可以从基础种类迁移到新种类。而相似度网络的设计出发点是我们认为在对候选框做筛选的时候,只根据分类得分这一个标准来做筛选的话,太过于粗糙,可能会保留一些被错分类的但是置信度很高的候选框。所以我们设计了一个相似度网络,该网络可以计算两两候选框之间的相似度。那么如果某两个候选框属于同一类的话,这两个候选框应该是具有较高相似度的,反之,两个不同类的候选框会有很低的相似度。我们基于此,筛选出同一类中平均相似度较低的候选框,并将其视为异常候选框。在训练相似度网络时,基础种类中两两相同种类的候选框的相似度为1,而不同类的候选框之间的相似度为0。然后可以计算某个候选框与同类中其他候选框的平均相似度,用于过滤候选框。至此,我们将分割掩码生成器与相似度网络加入到主网络中,如图5所示。训练阶段迭代训练每一个部分,具体流程请参考原文Algorithm 1。方法细节和实验结果请参见论文。
图5: 弱样本目标检测网络结构示意图
参考文献
- Li Niu, Ashok Veeraraghavan, Ashu Sabharwal, “Webly Supervised Learning Meets Zero-shot Learning: A Hybrid Approach for Fine-grained Classification”, CVPR, 2018.
- Junjie Chen, Li Niu, Liu Liu, Liqing Zhang, "Weak-shot Fine-grained Classification via Similarity Transfer", NeurIPS, 2021.
- Yan Liu, Zhijie Zhang, Li Niu, Junjie Chen, Liqing Zhang, "Mixed Supervised Object Detection by Transferring Mask Prior and Semantic Similarity", NeurIPS, 2021.
- Li Niu, "Weak Novel Categories without Tears: A Survey on Weak-Shot Learning", arXiv preprint arXiv:2110.02651, 2021.
- Yuanyi Zhong, Jianfeng Wang, Jian Peng, Lei Zhang, "Boosting weakly supervised object detection with progressive knowledge transfer", ECCV, 2020.
赞同 92添加评论
分享
收藏喜欢
收起
更多回答
科研话题下的优秀答主
谢邀
101 人赞同了该回答
目录
收起
低资源学习
低资源应用
领域泛化
安全迁移
【2022迁移学习研究前沿:低资源、领域泛化与安全迁移-
】以下为整理文字版:
目前迁移学习虽然在领域自适应方向有大量研究,相对比较成熟。但低资源学习、安全迁移以及领域泛化还有很多待解决的问题。
所有内容可以在作者整理维护的Github上最流行的迁移学习仓库:
上找到相关材料。本文PPT下载:今天介绍迁移学习三个方向的工作:低资源、领域泛化与安全迁移。迁移学习英文名称:Transfer learning,基本范式是通过微调“重用”预训练模型。纵观机器学习的绝大多数应用,都会采用这种预训练+微调的范式,节省成本。
迁移学习
上图迁移学习范式示例,在Teacher网络模型中,经过输入、输出一整套流程训练,已经获得比较好的性能。Student模型想要训练,则可以固定或者借用Teacher网络的Tk层,然后单独根据任务微调模型,如此可以获得更好的性能。
Github上使用预训练模型的仓库数,2016年
目前,在CV领域,已经存在ResNet;在NLP领域已经有BERT、RoBERT等模型可供使用。如上图,2016年GitHub上有个统计,关于迁移学习的Repository总计有2220个,当前可能会更多。
迁移学习近年来在顶会的高光时刻
上图展示了,过去五年,迁移学习领域在顶级会议上取得的进展。最早是
在NIPS16上表示迁移学习在未来非常重要;然后,CVPR2018上有一篇最佳论文是关于迁移学习的;同年,IJCAI18上,有团队用迁移学习的手法赢得ADs竞赛;2019年,ACL会议上,有学者强调迁移学习的范式在NLP领域非常重要,一年后,一篇迁移学习论文拿到了该会议的最佳论文提名。一直到去年,深度学习三巨头表示,现实的世界中数据分布不稳定,有必要开发快速适应小数据集变化的迁移模型。
事实上,随着我们认知越来越多,会逐渐认识到迁移学习有很多问题待解决,需要不断开发新的方法。
迁移学习研究路线图
在移学习范式中,如果训练数据和预训练模型刚好匹配,则能开发出性能优越的应用;如果有较大差异,则可以借助“外援数据”进行修正,然后获得目标模型,进而在测试(未知)数据上获得较好表现。
从训练数据到测试数据,整套流程中,其实存在很多问题,例如:
- 低资源学习,即如何在小数据情况下,如何设置迁移模型;
- 领域自适应,即如何解决当训练集和测试集的数据分布存在偏差;
- 领域泛化,如何从若干个具有不同数据分布的数据集(领域)中学习一个泛化能力强的模型;
- 同时,整个过程还需要时刻注重安全迁移,确保隐私不泄露,模型不“中毒”等等。
目前,领域自适应方面已经有大量研究成果、该领域相对较成熟。但低资源学习、安全迁移以及领域泛化等方面还有很多待解决的问题。
低资源学习
低资源学习的本质是,依赖少量的有标签的样本去学习泛化能力强的模型,期望其在未知的数据上表现良好。但问题在于,在各种场景下如何确保小数据中的标签仍然含有知识、且这些知识能被迁移到大量的无标签数据上。
经典的工作来自于NeurIPS 2020,当时谷歌在论文中提出FixMatch算法,通过一致性正则和基于阈值的置信度来简化半监督学习,设置固定阈值调整迁移学习的知识。
FixMatch
公式如上,模型学习的置信度要根据阈值来判定,如果大于一定的域值,就使用这些数据进行训练和预测;否则这些数据则不参与下次训练。
那么,对于半监督学习而言,预训练模型仅考虑阈值就足够了吗?谷歌在论文中,将阈值设置为0.95,显然这个数字是由谷歌的实验得出,其实我们在真实世界中,永远无法得知的取值是多少。
基于此,需要学习一个更真实的阈值,也即开发一种自适应学习,让模型根据数据灵活决定值。为了验证这一想法,我们先回答“选择固定阈值还是灵活阈值”。
FixMatch和FlexMatch效果对比
如上图(左)所示,固定阈值的Loss下降的特别慢。同时,通过对比两种选择的ACC指标也能证明,如上图(中),对于不同的类别,需要设置不同的阈值。
在“动态调整”的思想下,
,有以下几个特点:- 对于不同的类别,能进行不同程度的阈值自适应;
- 对于不同的样本,设置不同阈值;
- 测试阶段,需要对阈值“一视同仁”
- 全程无人工干扰,全自动学习阈值
实验结果表明,如上图(右)所示,在同样的数据集上,该方法呈现正向曲线,效果比较稳定。FlexMatch的设计思想借用了“课程学习”,半监督学习常用给不确定样本打伪标签的策略,伪标签的学习应该是循序渐进的迁移的过程,即由易到难的过程,然后类别的学习也是由易到难的过程。同时,FlexMatch采取了聚类假设:类别和阈值息息相关。
FlexMatch算法
以上是该思想的
,和FixMatch大同小异,不同之处是强调在不同类别上,会预估学习难度,然后自适应调整阈值。FlexMatch结果
以上是在CIFAR10/100、SVHN、STL-10和ImageNet等常用数据集上进行了实验,对比了包括FixMatch、UDA、ReMixmatch等最新最强的SSL算法。实验结果如上表所示,可以发现FlexMatch在标签有限的情况下能显著改进。在未引入新的超参数、无额外计算的情况下,对于复杂任务,也有显著改进,且收敛速度显著提升。
开源库TorchSSL
值得一提的是,针对该领域,我们开源了一个半监督算法库TorchSSL,目前已支持算法有:Pi-Model,MeanTeacher,Pseudo-Label,VAT,MixMatch,UDA,ReMixMatch,FixMatch。
链接:
低资源应用
现实世界中存在大量语言,但有很少的标注数据,世界上有7000种语言,常用的语言也就那么几十种,剩下绝大大多数都是低资源的语言。需要对小数据进行模型训练,同时能够避免模型过拟合。所以,针对低资源语言的
(ASR)仍然是端到端(E2E)模型的一个挑战。迁移学习的解决方案是,对资源丰富的语言进行预训练,对资源低的语言进行微调,对资源丰富的语言和资源低的语言进行多任务学习,同时对资源丰富的语言进行元学习,以快速适应资源不足的语言。
具体而言,要发现语言之间的联系,例如上图表明,不同的语言、不同的语系之间会有相似、相关性。这些语言具体怎么分布,有哪些相似性?我们的目标是如何自适应学习这种关系。
当前主要有两种方法:隐式、
。其中,隐式是指不对他们的关系做任何假设,通过网络直接学习;显式是指假设语言之间存在线性关系,简化算法。基于上述两点,
。前者能够直接学习不同语言之间的关系;后者假设语言之间是线性关系,用注意力机制进行学习。同时,结合MetaAdapter和SimAdapter,我们设计了SimAdapter+,能达到更好的效果。具体模型结构如下所示,只用微调数据里面的参数,就可以去完成网络的训练。Adapter架构
领域泛化
领域泛化的目的是利用多个训练分布来学习未知领域的通用模型。存在数据属性随时间动态变化,导致动态分布变化等问题。因此,需要捕捉数据的动态分布变化,例如如何量化时间序列中的数据分布。
Temporal Covariate Shift
针对上述挑战,
。首先将时间序列中分布动态改变的现象定义为时序分布漂移 (Temporal Covariate Shift, TCS)问题,如上图所示将一段时间的数据分为A、B、C以及未知数据,可以看出A、B之间,B、C之间以及A、C之间的数据分布相差比较大,如何解决?分两步走:先来学习数据最坏情况下的分布,然后匹配最坏分布的差距。AdaRNN计算过程
具体而言,采用聚类方法优化问题,然后用贪心算法求解序列分布,将数据分成几段;最后,设计领域泛化进行匹配分布。
我们在四个真实数据集上测试了算法的效果,包括1个分类任务(行为识别)和3个回归任务(空气质量预测、用电量预测和股价预测)。实验结果表明,模型性能有一定的提升。此外,我们发现不仅在RNN上,Adaptive方法对于Transformer结构也一样有效。
安全迁移
安全迁移体现在迁移学习的各个方面,例如如何确保迁移学习模型不会被滥用?如何在保证效果的同时降低迁移模型的复杂性?如何进行安全的迁移学习、避免模型受到恶意攻击而对用户造成影响?
安全迁移学习
举个例子,在软件工程领域,如果软件有恶意BUG,一旦你在开源社区下载该软件,不仅会继承该软件好的功能,也会继承它的容易受攻击的弱点。另外,如果黑客知道用户的软件使用了哪段
,便可以对你的应用软件发动相应攻击。我们统计了一下,在Teacher到student的微调范式中,Student可以从Teacher中继承那些易受攻击的弱点的概率为50%~90%。换句话说,最坏的情况是Teacher怎么被攻击,Student便可以被攻击。因为Teacher的模型是公开的。
因此,安全迁移研究的目的是如何减少预训练模型被攻击的情况,同时还能维护性能。这其中会解决未知攻击、DNN模型缺乏可解释性等难题。
我们考虑两种攻击:对抗攻击,例如熊猫图片中加入某些噪声,AI会将其识别成长臂猿;后门攻击,神经网络结构本身就存在一些可能被利用的东西,例如输入数字7,然后输出数字8。
针对安全迁移问题,
,主要思想是:找出网络有用权重,剔除无用权重。第一步:需要计算神经元;第二步:评估Teacher模型对Student模型的重要性,计算两者之差;根据以上两步,就可以轻松裁减不需要的权重。实验结果发现,ReMoS方法几乎不会显著增加计算量,其收敛速度与微调模型基本一致,显著好于从头开始训练。
ReMoS方法效果
上图(右)画出了剪枝之后的权重和
的关系。此结果说明随着网络层数据的加深,网络越来越与学生任务相关,因此,在深层的权重大部分被重新初始化了。这一发现也符合 的结论。总结一下,今天主要介绍了三方面,低资源学习、领域泛化以及安全迁移。我为这三个方面提供了三个简单的、新的扩展思路。希望接下来的研究者能够设计出更好的框架,新的理论,然后在迁移学习的安全性方面去做一些探索。
更多信息请扫码添加小编:
- 点赞
- 收藏
- 关注作者
评论(0)