在机器学习领域的热门分类学习任务中,为了保证训练好的分类模型的准确性和高可靠性,两个基本一般做假设: 学习的训练样本与新的测试样本满足独立同分布; 必须有足够的可用训练样本才能学习到好的分类模型。 但实际情况很难满足这两个条件。 许多ML技术只有在假设训练和测试数据在相同的特征空间或具有相同的分布的情况下才能很好地工作,一旦标签可用性变差或标记的样本数据随着时间的推移变得稀缺,效果是不像预期的那样。 因此,这就引出了ML中另一个需要关注的重要问题,如何利用源域(Sourcedomian)中少量可用的标签训练样本/数据来训练一个鲁棒的模型。未标记/较少可用的标签目标域(Targetdomain)用于预测。 于是,迁移学习(TransferLearning)应运而生,并引起了广泛的关注和研究。 近年来,越来越多的研究者投身于迁移学习。每年,机器学习和数据挖掘的顶级会议都会发表关于迁移学习的文章。 顾名思义,迁移学习就是将一个领域已经训练好的模型参数迁移到另一个领域,从而使目标领域取得更好的学习效果。鉴于大部分数据的相关性,迁移学习可以很容易地将模型学到的知识共享到新模型中,从而避免从头开始学习,从而加快了效率,大大提高了样本不足任务的分类识别结果。 在今年的NeurIPS上,来自谷歌的研究团队发表了一篇名为Whatisbeingtransferredintransferlearning?的论文,揭示了迁移学习的最新研究进展。 在这篇论文中,作者为我们提供了新的工具和分析方法,从不同的角度分析了不同模块的功能和影响成功迁移的因素,得到了一些有趣的结论,例如,与高层特征相比,预训练模型主要适用于低级统计信息的传输。 具体来说,通过对转移到块洗牌图像的一系列分析,他们将特征重用的影响与学习低级数据统计隔离开来,并表明当从中导出预训练权重初始化进行训练时,model位于损失函数“map”的同一个“basin”,不同的实例在特征空间上相似,在参数空间上接近(注:basin这个词在该领域的文献中经常用到,到指损失函数值相对较低的参数空间区域)。 迁移学习应用现状 前百度首席科学家吴恩达曾表示:迁移学习将是继监督学习之后机器学习商业成功的下一个驱动力。 在2016年的NIPS大会上,吴恩达对未来人工智能的技术发展做出了判断:毫无疑问,监督学习是目前最成熟、商业化最成功的,其次是未来五年监督学习的人工智能最有可能商业化的技术将是迁移学习。 DeepMindCEODemisHassabis也表示,迁移学习也是最有前途的技术之一,有朝一日可能会引发通用人工智能(AGI)的诞生。在目前深度学习的发展大潮中,迁移学习确实如此。 这两位AI学者的“预言”已经过去了将近5年。那么,迁移学习应用的现状如何? 在计算机视觉领域,迁移学习在很多情况下都得到了成功的应用,甚至在某些任务中,机器能够以超越人类的准确度完成某项任务。 在NLP领域,迁移学习也是一系列研究突破的关键组成部分,尤其是在跨领域情感分析方面,展现出其潜力。 同时,迁移学习的问题也暴露出来了。研究人员发现,在某些情况下,源域和目标域之间的视觉形式仍然存在显着差异。研究人员很难理解成功迁移的原因,以及网络的哪些部分对此负责。在这篇论文中,研究团队专注于视觉领域的迁移学习。 本文涉及的两个数据集是: CheXpert数据集,是吴恩达斯坦福团队2019年在AAAI发布的大规模X光数据集。该数据集考虑了胸部不同疾病的X射线数据。RadiologyMedicalImaging,其中包含65,240名患者的224,316张带注释的胸部X光片以及放射科医生为每张胸部X光片撰写的病理报告; DomainNet数据集,发表于ICCV2019,本文作者收集并标注了迄今为止最大的UDA数据集,致力于探索不同领域的迁移学习。领域差异显着,类别众多,包括6个领域,近60万张图像分布在345个类别中,从真实图像到草图、剪贴画和绘画样本,解决了多源UDA研究中的空白数据可用性。 44个网络的迁移学习 他们分析了四种不同情况下的网络: 1。预训练网络(P,预训练模型); 2。随机初始化网络(RI,随机初始化); 3。在源域上预训练后在目标域上微调的网络(P-T,从预训练权重开始在目标域上训练/微调的模型); 4.随机初始化从随机初始化在目标域上训练的模型(RI-T,从随机初始化在目标域上训练的模型)。 首先,团队通过打乱数据来研究特征重用。下游任务的图像被分成相同大小的块并随机排序,数据中的块混洗破坏了图像的视觉特征。该分析证明了特征复用的重要性,并证明了不受像素改组干扰的低级统计数据也在成功传输中发挥作用。 然后,需要比较训练模型的详细行为。为此,他们研究了从预训练和从头开始训练的模型之间的异同。实验表明,使用预训练权重训练的模型的两个实例在特征空间中比使用随机初始化训练的模型更相似。 然后调查了使用预训练权重和随机初始化权重训练的模型的损失曲线,并观察到从预训练权重训练的两个模型实例之间没有性能下降,这表明预训练权重能够将优化引导至损失函数的盆地。 接下来,我们详细分析方法论,讨论“什么被转移?”基于文章中的实验和结果。 迁移了什么? 人类视觉系统的构成具有层次性特征。视觉皮层中的神经元对边缘等低级特征做出反应,而上层神经元对复杂的语义输入做出反应。人们普遍认为,迁移学习的优势来自于重用预训练的特征层。如果下游任务太小或不够多样化以学习良好的特征表示,这将变得特别有用。 因此,大家认为迁移学习有用的直觉思维很容易理解,就是迁移学习通过特征复用为样本较少的数据提供了更好的特征先验。 然而,这种直觉无法解释为什么在迁移学习的许多成功应用中目标域和源域在视觉上非常不同。 图1.图片来源:arXiv 为了更清楚地描述特征重用的作用,作者使用了图1中包含自然图像(ImageNet)的源域(预训练)和一些目标域与与自然图像的视觉相似性低(下游任务)。 图2如您所见,真实域具有最大的性能增益,因为该域包含与ImageNet共享相似视觉特征的自然图像。这支持了团队成员的假设,即特征重用在迁移学习中起着重要作用。另一方面,当数据差异特别大时(CheXpert和quickdraw),仍然可以观察到迁移学习带来的明显性能提升。 在除最终性能之外的所有情况下,P-T的优化收敛速度比RI-T快得多。这也意味着预训练权重在迁移学习中的优势并不直接来自于特征重用。 为了进一步验证这个假设,团队修改了下游任务以进一步增加与正常视野的距离,特别是将下游任务的图像分成大小相等的块并随机排序。 shuffling扰乱了那些图像中的高级视觉特征,模型只能捕捉到浅层特征,而不能很好地提取抽象特征。 其中块大小为224*224的极端情况意味着没有洗牌;在另一个极端,图像中的所有像素都将被打乱,这样在预训练中学到的任何视觉特征就完全无用了。 在本文中,团队成员创建了一个特例,其中每个通道的像素可以独立移动并移动到其他通道中。 图3.图片来源:arXiv 图3显示了不同块大小对最终性能和优化速度的影响。我们可以观察到以下几点: 随着打乱程度的增加,RI-T和P-T的最终性能会下降,任务变得更加困难;小而小,说明特征复用非常有效; quickdraw上的相反情况是由于其数据集与预训练数据集差异较大,但即便如此,quickdraw上的预训练仍然有效,说明存在特征复用以外的因素; P-T的优化速度相对稳定,而RI-T的优化速度随着块大小的减小而急剧下降。这说明特征复用并不是影响P-T训练速度的主要因素。 从以上实验得出的结论是,特征重用在迁移学习中起着非常重要的作用,尤其是当下游任务与预训练域共享相似的视觉特征时。但是还有其他因素,例如低级统计,可以导致迁移学习的显着优势,特别是在优化速度方面。 错误和特征相似度 这部分主要通过探索不同模型的常见错误和不常见错误来揭示预训练的作用。 为了了解不同模型之间的区别,作者首先比较了两个P-T,一个P-T加一个RI-T和两个RI-T的两种错误率,发现P-T和两个RI-T之间存在差异RI-T模型很多不常见的错误,两个P-T的不常见错误就少很多。CheXpert和DomainNet目标域都是这种情况。 在DomainNet上可视化每个模型的两类错误,并观察到P-T不正确而RI-T正确的数据样本主要包括模棱两可的例子;而P-T正确而RI-T错误的数据样本数据样本也包括许多简单样本。 这符合P-T在简单样本上成功率高的假设,但在更模糊、更难判断的样本上难度更大(此时RI-T往往更好),说明P-T具有很强的先验知识,因此很难适应目标领域。 为了加强对上述思路的验证,团队成员研究了两个网络在特征空间的相似性。 居中核对齐(CKA,CenteredKernelAlignment)这个度量发现P-T的两个实例在不同层之间非常相似,P-T和P之间也是如此。但是在P-T和RI-T实例之间或者两个RI-T实例之间,相似度非常低。 表2.图片来源:arXiv 也就是说基于预训练的模型之间的特征相似度很高,而RI-T和其他模型的相似度很低,即使是两个具有相同初始化的RI-T。这显然表明相同的特征经常在预训练模型之间被复用,这也强调了特征复用的作用。表2给出了不同模型参数的距离,也能反映上述结论。 泛化性能 一个常用的衡量泛化性能的方法是研究损失函数在最终解附近的盆地程度。 作者用Θ和Θ?表示两个不同checkpoints的所有权重,通过对两个权重进行线性插值来评估一系列模型{Θ?=(1-λ)Θ+λΘ?:λ?[0,1]}表现。 由于神经网络的非线性和组合结构,两个性能良好的模型的权重的线性组合不一定定义性能良好的模型,因此通常预期沿着线性插值路径性能下降。 然而,当两个解属于损失函数的同一个盆地时,线性插值仍然在盆地中,因此没有性能损失。此外,对来自同一盆地的两个随机解进行插值通常可以产生更接近盆地中心的解,这可能比端点具有更好的泛化性能。 团队专注于凸包和线性插值,以避免琐碎的连接结果。需要强调的是,盆地上的点的大多数凸组合也需要在盆地上,并且这种额外的约束使得多个盆地可以通过低损耗(非线性)路径连接或不连接。 这个概念的具体形式化和设置凸集为盆的三个要求在论文中都有详细给出,这里不再赘述。 插值结果如图4,左边是DomainNetreal,右边是quickdraw。图片来源:arXiv 一方面,在P-T解决方案的两次随机运行之间没有观察到性能下降,这表明预训练的权重将优化引导到损失函数的盆地。另一方面,在两次RI-T运行的解决方案之间可以清楚地观察到障碍。可以看出预训练模型之间的损失函数非常平滑,这一点与RI-T不同。 ModuleImportance 如果我们将训练好的模型某一层的参数替换为其初始参数,然后观察替换前后的正确率,就可以判断这一层在整个网络中的重要性在某种程度上。那么,模块重要性就是这样一个类似的指标。 图5.图片来源:arXiv 图5体现了不同模块不同层次的重要性。在监督学习案例中也有类似的模式。唯一的区别可能是“FC”层对于P-T模型的重要性是可以预测的。 接下来,作者使用扩展定义以及原始定义来研究不同模块的重要性。很容易注意到,优化和直接路径都提供了对模块重要性的有趣见解。或许权重的最佳值是比最终值更好的分析起点选择。 而图6显示了“Conv1”模块的分析,如图5所示,它是一个关键模块。 图6.图片来源:arXiv 图7.图片来源:arXiv 通过在预训练优化路径上的不同检查点初始化预训练权重来比较迁移学习的好处。图7显示了从不同的预训练检查点进行微调时的最终性能和优化速度。 总体而言,预训练的好处随着检查点指数的增加而增加,得出以下结论: 在预训练中,有很大的性能提升。然而,从检查点29、30、31(以及类似的59、60、61)初始化并没有显示出明显不同的效果。另一方面,特别是对于真实和剪贴画的最终性能,从预训练性能稳定的检查点(例如检查点29和59)开始时可以观察到显着的改进。这表明预训练性能并不总是一个忠实的指标预训练权重对迁移学习的有效性。 quickdraw在预训练期间看到最终性能的提升要小得多,并在检查点10处快速稳定,而real和clipart在检查点60之前继续看到性能的显着提高。另一方面,所有三个任务都有明显的优势随着检查点索引的增加,优化速度提高。 优化速度在检查点10开始趋于稳定,而对于真实和剪贴画,最终结果不断提高。训练前的早期检查点在收敛模型的盆地之外,并且在训练期间的某个时刻进入盆地。这也解释了一些检查点后性能停滞的原因。 因此,我们可以提前一步选择检查点,而不会失去微调模型的准确性。这种现象的起点取决于预训练模型何时进入其最终盆地。 总而言之,这项研究阐明了迁移学习中正在迁移的内容以及网络的哪些部分在起作用。 为了成功迁移,特征重用和数据的底层统计都非常重要。通过混洗输入块研究特征重用的效果表明,当从预训练权重初始化进行训练时,网络停留在解决方案的同一盆地中,特征相似并且模型在参数空间中接近距离。 作者进一步证实,较低层负责更通用的功能,较高层模块对参数扰动更敏感。通过发现可用于改进集成方法的损失函数盆地,对低级数据统计的观察提高了训练速度,这可能会导致更好的网络初始化方法。使用这些发现来改进迁移学习将很有价值。
