本文转载自雷锋网。迁移学习是机器学习的一个重要研究分支,其重点是将学到的知识迁移应用到新问题中,从而增强解决新问题的能力,提高解决新问题的速度。4月8日,在AITIME青年科学家-AI2000学者论坛上,微软亚洲研究院研究员王进东做了报告《迁移学习前沿探究探讨:低资源、领域泛化与安全迁移》。他提到,虽然迁移学习在领域适应方向的研究很多,相对成熟。但低资源学习、安全迁移和领域泛化留下了许多悬而未决的问题。对于这三方面的工作,王进东提出了三个简单而新颖的拓展思路。以下为演讲全文。所有内容都可以在作者维护的Github上最流行的迁移学习仓库:transferlearning.xyz中找到。今天我将介绍迁移学习三个方向的工作:低资源、领域泛化和安全迁移。迁移学习英文名称:Transferlearning,基本范式是通过微调来“重用”预训练模型。纵观绝大多数机器学习应用,都会采用这种预训练+微调的范式来节省成本。上图迁移学习范式的例子表明,在Teacher网络模型中,经过一套完整的输入输出过程训练,已经获得了比较好的性能。如果要训练Student模型,可以固定或者借用Teacher网络的Tk层,然后单独根据任务微调模型,这样可以获得更好的性能。目前在CV领域,ResNet已经存在;在NLP领域,已经有了BERT、RoBERT等模型。如上图,2016年GitHub上有一个统计,关于迁移学习的repository一共有2220个,目前可能更多。上图显示了过去五年顶级会议在迁移学习领域取得的进展。吴恩达在NIPS16上最先提出迁移学习在未来很重要;然后,CVPR2018上有一篇关于迁移学习的最佳论文;同年,在IJCAI18,一个团队使用迁移学习赢得了ADs比赛;在2019年的ACL大会上,有学者强调迁移学习范式在NLP领域非常重要。一年后,一篇迁移学习论文被提名为会议最佳论文。直到去年,深度学习三巨头表示,在现实世界中,数据分布不稳定,需要开发一种能够快速适应小数据集变化的迁移模型。事实上,随着我们学得越来越多,我们会逐渐意识到迁移学习有很多问题需要解决,需要不断开发新的方法。在迁移学习范式中,如果训练数据和预训练模型恰好匹配,就可以开发出性能更优越的应用;如果差异较大,可以借助“外援数据”进行修正,进而得到目标模型,再对(未知)数据进行测试,以达到更好的性能。从训练数据到测试数据,整个过程其实有很多问题,比如:低资源学习,即在小数据的情况下如何建立迁移模型;域适应,即当训练集和测试集数据分布出现偏差时如何解决问题;domaingeneralization,如何从多个数据分布不同的数据集(domain)中学习出泛化能力强的模型;“中毒”等。目前在领域自适应方面已经有了很多研究成果,这个领域比较成熟。但在低资源学习、安全迁移和领域泛化方面仍然存在许多未解决的问题。1Low-resourcelearning低资源学习的本质是依靠少量的标记样本学习一个泛化能力强的模型,并期望它在未知数据上表现良好。但问题是如何保证小数据中的标签在各种场景下仍然包含知识,并且这些知识可以迁移到大量未标记的数据中。经典工作来自NeurIPS2020,当时谷歌在论文中提出了FixMatch算法,通过一致性正则化和基于阈值的置信度来简化半监督学习,并设置一个固定的阈值来调整迁移学习的知识。公式如上,模型学习的置信度要根据阈值来判断,如果大于某个阈值,则使用该数据进行训练和预测;否则数据将不会参与下一次训练。那么,对于半监督学习,预训练模型只考虑阈值就够了吗?在论文中,谷歌将阈值设置为0.95。显然,这个数字是从谷歌的实验中得到的。事实上,我们永远不会知道现实世界中的价值是多少。基于此,需要学习更符合实际的阈值,即开发自适应学习,让模型根据数据灵活决定取值。为了验证这个思路,我们先回答“选择固定阈值还是灵活阈值”。如上图(左)所示,固定阈值的Loss下降非常缓慢。同时,通过对比选取的两个ACC指标也可以证明,如上图(中)所示,需要针对不同的类别设置不同的阈值。在“动态调整”的思路下,我们在NeurIPS2021上提出了FlexMatch算法,它具有以下特点:针对不同的类别,可以进行不同程度的阈值自适应;针对不同的样本,可以设置不同的阈值;在测试阶段,需要对阈值“一视同仁”,全程无人干预。全自动学习阈值实验结果表明,如上图(右)所示,在相同的数据集上,该方法呈现正曲线,效果较为稳定。FlexMatch的设计思路借鉴了“课程学习”。半监督学习经常被用来给不确定的样本打上错误的标签。伪标签的学习应该是一个渐进迁移的过程,即从易到难,那么类别的学习也是从易到难的过程。同时,FlexMatch采用聚类假设:类别和阈值密切相关。以上是思路的流程图,与FixMatch类似。不同之处在于它强调不同的类别,估计学习的难度,然后自适应地调整阈值。以上实验在CIFAR10/100、SVHN、STL-10、ImageNet等常用数据集上进行,并与FixMatch、UDA、ReMixmatch等最新最强的SSL算法进行对比。实验结果如上表所示,可以发现FlexMatch在标签有限的情况下可以有明显的提升。在没有新增超参数、没有额外计算的情况下,对于复杂任务也有明显的提升,收敛速度明显提升。值得一提的是,针对这个领域,我们开源了一个半监督算法库TorchSSL,目前支持的算法有:Pi-Model、MeanTeacher、Pseudo-Label、VAT、MixMatch、UDA、ReMixMatch、FixMatch。链接:https://github.com/TorchSSL/TorchSSL2低资源应用现实世界中有很多语言,但标注数据却很少。世界上有7000种语言,常用的语言只有几十种。绝大多数是低资源语言。模型训练需要在小数据上进行,同时避免模型过拟合。因此,低资源语言的自动语音识别(ASR)仍然是端到端(E2E)模型的挑战。迁移学习的解决方案是对资源丰富的语言进行预训练,对资源丰富的语言进行微调,对资源丰富的语言和资源丰富的语言进行多任务学习,同时对资源丰富的语言进行元学习以快速适应低资源语言。具体来说,就是要发现语言之间的联系。比如上图,不同的语言、不同的语系之间,都会存在相似性和相关性。这些语言是如何分布的,它们有什么相似之处?我们的目标是如何适应性地学习这种关系。目前主要有两种方法:隐式和显式。其中,隐式是指不对他们之间的关系做任何假设,直接通过网络进行学习;显式是指假设语言之间存在线性关系,简化算法。基于以上两点,我们设计了两个简单的算法MetaAdapter和SimAdapter。前者可以直接学习不同语言之间的关系;后者假设语言之间存在线性关系,并使用注意力机制进行学习。同时结合MetaAdapter和SimAdapter,我们设计了SimAdapter+,可以达到更好的效果。具体模型结构如下图。只有对数据中的参数进行微调,才能完成网络的训练。3域泛化域泛化的目的是使用多个训练分布为未知域学习通用模型。存在数据属性随时间动态变化,导致动态分布变化等问题。因此,需要捕捉数据的动态分布变化,比如如何量化数据在时间序列上的分布。为了应对上述挑战,我们提出了AdaRNN。首先,将时间序列分布动态变化的现象定义为时间协变量偏移(TCS)问题。如上图所示,一段时间内的数据分为A、B、C和未知数据。可以看出,A,BB,C和A,C之间的数据分布差异很大,如何解决呢?分两步:首先学习数据的最坏情况分布,然后匹配最坏分布的间隙。具体来说,采用聚类的方法对问题进行优化,然后采用贪心算法求解序列分布,将数据分成若干段;最后,域泛化旨在匹配分布。我们在四个真实数据集上测试了算法的有效性,包括1个分类任务(行为识别)和3个回归任务(空气质量预测、用电量预测和股价预测)。实验结果表明,模型的性能得到了一定程度的提升。此外,我们发现Adaptive方法不仅在RNN上对Transformer结构也有效。4安全迁移安全迁移体现在迁移学习的方方面面,比如如何保证迁移学习模型不被滥用?如何在保证效果的同时降低迁移模型的复杂度?如何进行安全的迁移学习,避免恶意攻击模型对用户造成的影响?比如在软件工程领域,如果软件存在恶意BUG,一旦你从开源社区下载了该软件,你不仅继承了该软件好的功能,也继承了它易受攻击的弱点。另外,如果黑客知道用户的软件使用了哪些开源代码,他们就可以对您的应用软件发起相应的攻击。据统计,在师生微调范式中,学生从老师那里继承那些易受攻击的弱点的概率是50%到90%。换句话说,最坏的情况是,如果Teacher被攻击,Student也可以被攻击。因为老师的模型是公开的。因此,安全迁移研究的目的是如何在保持性能的同时减少对预训练模型的攻击。其中,未知攻击、DNN模型缺乏可解释性等问题将得到解决。我们考虑两种类型的攻击:对抗性攻击,比如给一张熊猫图片加点噪音,AI会把它识别为长臂猿;后门攻击,神经网络结构本身有一些可以被利用的东西,比如输入数字7,然后输出数字8。针对安全迁移问题,我们提出了ReMoS算法,主要思想是:找出网络有用的权重,剔除无用的权重。第一步:需要计算神经元;第二步:评估Teacher模型对Student模型的重要性,计算两者的差值;按照以上两步,你可以轻松剪掉不必要的重量。实验结果表明,ReMoS方法几乎没有显着增加计算量,其收敛速度与微调模型基本相同,明显优于从头开始训练。上图(右)展示了剪枝后权重与网络层数的关系。这一结果表明,随着网络层数据的加深,网络与学生任务的相关性越来越强,因此,深层的权重大多被重新初始化。这一发现也与关于深度网络可迁移性的结论一致。综上所述,今天主要介绍三个方面,低资源学习、领域泛化、安全迁移。我为这三个领域提供了三个简单的新扩展思路。希望接下来的研究者能够设计出更好的框架和新的理论,然后在迁移学习的安全性上做一些探索。
