logo资料库

小样本学习研究综述(发表自软件学报).pdf

第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
资料共16页,剩余部分请下载后查看
1软件学报 ISSN 1000-9825, CODEN RUXUEW Journal of Software, [doi: 10.13328/j.cnki.jos.006138] ©中国科学院软件研究所版权所有. 小样本学习研究综述 赵凯琳 1,2, 靳小龙 1,2 , 王元卓 1,2 E-mail: jos@iscas.ac.cn http://www.jos.org.cn Tel: +86-10-62562563 中国科学院计算技术研究所)北京 100190) 小样本学习旨在通过少量样本学习到解决问题的模型.近年来在大数据训练模型的趋势下 1(网络数据科学与技术重点实验室(中国科学院计算技术研究所 2(中国科学院大学计算机与控制学院 北京 100049) 100049) 通讯作者: 赵凯琳, E-mail: zhaokailin17z@ict.ac.cn zhaokailin17z@ict.ac.cn 摘 要: 小样本学习旨在通过少量样本学习到解决问题的模型 近年来在大数据训练模型的趋势下,机器学习和深度学习在许多 但是在现实世界中的很多应用场景中,样本量很少或者标注样本很少,而对大量无标签样本进行标注工作将会 领域中取得了成功.但是在现实世界中的很多应用场景中 而对大量无标签样本进行标注工作将会 如何用少量样本进行学习就成为了目前人们需要关注的问题.本文系统梳理了当前小样本学习的相关工作 耗费很大的人力.所以,如何用少量样本进行学习就成为了目前人们需要关注的问题 本文系统梳理了当前小样本学习的相关工作, 基于数据增强和基于迁移学习三大类小样本学习模型与算法的研究进展;本文将基于数据增强的方法 具体介绍了基于模型微调、基于数据增强和基于迁移学习三大类小样本学习模型与算法的研究进展 基于数据增强和基于迁移学习三大类小样本学习模型与算法的研究进展 将基于迁移学习的方法细分为基于度量学习、基于元学习和基于图 在这些数据集上的实验结果,随后对小样本 本文还总结了目前常用的小样本数据集,以及代表性的小样本学习模型在这些数据集上的实验结果 基于数据合成和基于特征增强三类,将基于迁移学习的方法细分为基于度量学习 细分为基于无标签数据、基于数据合成和基于特征增强三类 神经网络三类.本文还总结了目前常用的小样本数据集 学习的现状和挑战进行了概述,最后展望了小样本学习的未来发展方向 最后展望了小样本学习的未来发展方向. 迁移学习;度量学习;元学习; 关键词: 小样本学习;模型微调;数据增强;迁移学习 中图法分类号: TP39 中文引用格式: 赵凯琳,靳小龙,王元卓.小样本学习研究综述 英文引用格式: Zhao KL, Jin XL, Wang YZ. Survey on 1000-9825/6138.htm 小样本学习研究综述. 软件学报. http://www.jos.org.cn/1000-9825/6138.htm .htm . Survey on few-shot learning. Ruan Jian Xue Bao/Journal of Software, Journal of Software, (in Chinese). http://www.jos.org.cn/ Survey on Few-Shot Learning ZHAN Kai-Lin1,2, JIN Xiao-Long1,2 , WANG Yuan 1(CAS Key Laboratory of Network Data Science & Technology, Institute of Computing (CAS Key Laboratory of Network Data Science & Technology, Institute of Computing Technology Chinese Academy of Sciences), Beijing 100190) Technology Chinese Academy of Sciences), Beijing 100190) 2 (School of Computer and Control Engineering, University of Chinese Academy of Sciences, Beijing 100049) (School of Computer and Control Engineering, University of Chinese Academy of Sciences, Beijing 100049) Abstract: Few-shot learning is defined as learning models to solve problems from small machine learning and deep learning have achieved success in many fields. However, in many application scenarios in the real w machine learning and deep learning have achieved success in many fields. However, in many application scenarios in the real w machine learning and deep learning have achieved success in many fields. However, in many application scenarios in the real world, there is not a large amount of shot learning is defined as learning models to solve problems from small samples. In recent years, under the trend of training model with big data, samples. In recent years, under the trend of training model with big data, Yuan-Zhuo1,2 a for model training, and labeling a large number of unlabeled samples will cost a lot of manpower. Therefore, how to use a s data or labeled data for model training, and labeling a large number of unlabeled samples will cost a lot of manpower. Therefore, how to use a s a for model training, and labeling a large number of unlabeled samples will cost a lot of manpower. Therefore, how to use a small number of samples for learning has become a problem that people need to pay attention to at present. This paper systematically samples for learning has become a problem that people need to pay attention to at present. This paper systematically combs the current approaches of few combs the current approaches of few-shot learning. It introduces each kind of corresponding model from the three categories: fine-tune based, data augmentation based, and transfer learning based. Then the learning. It introduces each kind of corresponding model from the three categories: fine tune based, data augmentation based, and transfer learning based. Then the data augmentation based approaches are subdivided into unlabeled data based, data generation based and feature augmentation based approaches. The transfer into unlabeled data based, data generation based and feature augmentation based approaches. The transfer into unlabeled data based, data generation based and feature augmentation based approaches. The transfer learning based approaches are subdivided into metric learning based, meta learning based approaches are subdivided into metric learning based, meta-learning based and graph neural network based methods. In the following, the learning based and graph neural network based methods. In the following, the paper shot datasets and the results in the experiments of the aforementioned models. Then the paper summarizes the current situatio summarizes the few-shot datasets and the results in the experiments of the aforementioned models. Then the paper summarizes the current situatio shot datasets and the results in the experiments of the aforementioned models. Then the paper summarizes the current situation and challenges in few-shot learning. Finally, the future technological development of few shot learning. Finally, the future technological development of few-shot learning is prospected. Key words: few-shot learning; fine-tune; data augmentation; transfer learning; metric learning; meta tune; data augmentation; transfer learning; metric learning; meta-learning 收稿时间: 2019-10-9; 修改时间: 2020-01-01 1; 采用时间: 2020-02-17; jos 在线出版时间: 2020-09-10
1 引言 随着大数据时代的到来,深度学习模型已经在图像分类、文本分类等任务中取得了先进成果.但深度学习模型的成功很大程度 上依赖于大量训练数据,而在现实世界的真实场景中某些类别只有少量数据或少量标注数据,而对无标签数据进行标注将会消耗 大量的时间和人力.与此相反,人类只需要通过少量数据就能做到快速学习.例如一个五六岁的小孩子从未见过企鹅,但如果给他看 过一张企鹅的图像,当他进入动物园看到真正的企鹅时,就会马上认出这是自己曾经在图像上见过的“企鹅”,这就是机器学习和人 类学习之间存在的差距.受到人类学习观点的启发[1],小样本学习[2] [3](few-shot learning)的概念被提出,使得机器学习更加靠近人类 思维. 早在 20 世纪八九十年代,就有一些研究人员注意到了单样本学习(one-shot learning)的问题,直到 2003 年 Li 等[4]才正式提出了 单样本学习的概念.他们认为当新的类别只有一个或几个带标签的样本时,已经学习到的旧类别可以帮助预测新类别[5].小样本学 习也叫作少样本学习(low-shot learning)[7],其目标是从少量样本中学习到解决问题的方法.与小样本学习相关的概念还有零样本学 习(zero-shot learning)等.零样本学习是指在没有训练数据的情况下,利用类别的属性等信息训练模型,从而识别新类别. 小样本学习的概念最早从计算机视觉(Computer Vision)[8]领域兴起,近几年受到广泛关注,在图像分类任务中已有很多性能优 异的算法模型[34][37][45].但是在自然语言处理领域(Natural Language Processing)[9]的发展较为缓慢,原因在于图像和语言特性不同.图 像相比文本更为客观,所以当样本数量较少时,图像的特征提取比文本更加容易[87].不过近年来小样本学习在自然语言处理领域也 有了一些研究和发展[10][46][48].根据所采用方法的不同,本文将小样本学习分为基于模型微调、基于数据增强和基于迁移学习三种. 基于模型微调的方法首先在含有大量数据的源数据集上训练一个分类模型,然后在含有少量数据的目标数据集上对模型进行微 调.但这种做法可能导致模型过拟合,因为少量数据并不能很好地反映大量数据的真实分布情况.为解决上述过拟合的问题,基于数 据增强和基于迁移学习的小样本学习方法被提出.基于数据增强的方法是利用辅助数据集或者辅助信息增强目标数据集中样本的 特征或扩充对目标数据集,使模型能更好地提取特征.本文根据学习方法不同,将基于数据增强的小样本学习方法进一步细分为基 于无标签数据、基于数据合成和基于特征增强三类方法.基于迁移学习的方法是目前比较前沿的方法,是指将已经学会的知识迁移 到一个新的领域中.本文根据学习框架将基于迁移学习的方法细分为基于度量学习、基于元学习和基于图神经网络(Graph Neural Networks) 的 方 法.在 度 量学 习的 框 架 下目 前 已有 许 多性 能较 好 的 小样 本 学习 模 型, 例如比 较 著 名的 原 型网 络(Prototypical Networks)[34]和匹配网络(Matching Networks)[31]等.基于元学习的方法不仅在目标任务上训练模型,而是从许多不同的任务中学习 元知识,当一个新的任务到来时,利用元知识调整模型参数,使模型能够快速收敛.近年来随着图神经网络的兴起,研究者将图神经网 络也应用到小样本学习中,取得了先进的结果. 除了图像分类和文本分类这两个主要任务,许多其他任务也面临着小样本问题.在计算机视觉应用中,利用小样本学习进行人 脸识别[8][60][82]、食品识别[61]、表情识别[66]、手写字体识别[70][79]以及其他的图像识别[65].在自然语言处理应用中,使用小样本方法 实现对话系统[67]、口语理解[62],或者完成 NLP 的基本任务,例如 word embedding[63].在多媒体领域应用中,可以使用小样本方法实现 影像提取[73]和声纹识别[80]等.在生物与医学领域,可以应用于疾病诊断[71][72]、临床实验[84]、护士能力评价[75]、农作物病害识别[69][81]、 水量分析[76]等.在经济领域,可应用于产品销量预测[77]等.在工业与军事领域,可应用于齿轮泵寿命预测[78]、军事目标识别[74]和目标 威胁评估[83]等. 本文首先从基于模型微调、基于数据增强和基于迁移学习三种方法介绍小样本学习的研究进展,总结小样本学习的几个著名 数据集以及已有模型在这些数据集上的实验结果;接下来,本文对小样本学习的研究现状和主要挑战进行总结;最后展望了未来的 发展趋势. 2 基于模型微调的小样本学习 基于模型微调的方法是小样本学习较为传统的方法,该方法通常在大规模数据上预训练模型,在目标小样本数据集上对神经 网络模型的全连接层或者顶端几层进行参数微调,得到微调后的模型.若目标数据集和源数据集分布较类似,可采用模型微调的方 法. 为了使微调后的小样本分类模型取得较好的效果,使用何种微调方法需要被考虑.Howard 等[10]在 2018 年提出了一个通用微 调语言模型(Universal Language Model Fine-tuning, ULMFit),与其它模型不同的是,此方法使用了语言模型而非深度神经网络.该模 型分为三个阶段:1)语言模型预训练;2)语言模型微调;3)分类器微调.该模型的创新点在于改变学习速率来微调语言模型,主要体现 在两个方面:1)传统方法认为模型每一层学习速率相同,而 ULMFit 中语言模型的每一层学习速率均不相同.模型底层表示普遍特 征,这些特征不需要很大调整,所以学习速率较慢,而高层特征更具有独特性,更能体现出任务和数据的独有特征,于是高层特征需要 用更大的学习速率学习.总体看来,模型底层到最高层学习速率不断加快;2)对于模型中的同一层,当迭代次数变化时,自身学习率也 会相应地产生变化.作者提出了斜三角学习率的概念,当迭代次数从 0 开始增加时,学习速率逐渐变大;当迭代次数增长到某个固定
值时,此时已经学习到了足够知识,固定值之后的学习率又开始逐步下降.论文从纵向和横向两个维度学习速率的变化对语言模型 进行微调,让模型更快地在小样本数据集上收敛,同时让模型学习到的知识更符合目标任务.另外,Nakamura 等人[112]提出了一种微 调方法,主要包含以下几个机制:1)在小样本类别上再训练的过程使用更低的学习率;2)在微调阶段使用自适应的梯度优化器;3)当 源数据集和目标数据集之间存在较大差异性时,可以通过调整整个网络来实现. 基于模型微调的方法较简单,但是在真实场景中目标数据集和源数据集往往并不类似,采用模型微调的方法会导致模型在目 标数据集上过拟合.为解决模型在目标数据集上过拟合的问题,两种解决思路被提出:基于数据增强和基于迁移学习的方法.这两种 方法将在接下来的两个章节中依次介绍. 3 基于数据增强的小样本学习 小样本学习的根本问题在于样本量过少,从而导致样本多样性变低.在数据量有限的情况下,可以通过数据增强(Data Augmentation)[90]来提高样本多样性.数据增强指借助辅助数据或辅助信息,对原有的小样本数据集进行数据扩充或特征增强.数据 扩充是向原有数据集添加新的数据,可以是无标签数据或者合成的带标签数据;特征增强是在原样本的特征空间中添加便于分类 的特征,增加特征多样性.基于上述概念,本文将基于数据增强的方法分为基于无标签数据、基于数据合成和基于特征增强的方法三 种.接下来就这三种方法分别介绍小样本学习的进展. 3.1 基于无标签数据的方法 基于无标签数据的方法是指利用无标签数据对小样本数据集进行扩充,常见的方法有半监督学习[12] [13]和直推式学习[15]等.半 监督学习是机器学习领域研究的重点问题[11],将半监督方法应用到小样本学习现在已经有了许多尝试.2016 年,Wang 等人[106]在半 监督学习的思想下,同时受到 CNN 可迁移性的启发,提出利用一个附加的无监督元训练阶段,让多个顶层单元接触真实世界中大量 的无标注数据.通过鼓励这些单元学习无标注数据中低密度分离器的 diverse sets,捕获一个更通用的、更丰富的对视觉世界的描述, 将这些单元从与特定的类别集的联系中解耦出来(也就是不仅仅能表示特定的数据集).作者提出了一个无监督的 margin 最大化函 数来联合估计高密度区域的影响并推测低密度分离器.低密度分离器(LDS)模块可以插入任何标准的 CNN 架构的顶层.除此之 外,Boney 等人[14]在 2018 年提出使用 MAML[45]模型来进行半监督学习,利用无标签数据调整嵌入函数的参数,用带标签数据调整分 类器的参数.MAML 算法本文将在 4.2 节详细介绍.Ren 等人[35]2018 年在原型网络[34]的基础上进行改进,加入了无标注数据,取得了 更高的准确率.此模型本文将在 4.1 节进行详细介绍. 直推式学习可看作半监督学习的子问题.直推式学习假设未标注数据是测试数据,目的是在这些未标记数据上取得最佳泛化 能力.Liu 等人[16]使用了直推式学习的方法,在 2019 年提出了转导传播网络(Transductive Propagation Network)来解决小样本问题. 转导传播网络分为四个阶段:特征嵌入、图构建、标签传播和损失计算.该模型在特征嵌入阶段将所有的标注数据和无标注数据通 过嵌入函数 f 映射到向量空间中;在图构建阶段,使用构建函数 g 将嵌入向量构建为无向图中的节点,连边权重由两个节点计算高斯 相似度得到;随后根据公式∗=(I− αS)Y 来进行标签传播(其中∗是标签预测结果,S 是归一化之后的连边权重,Y 是初始标签的 矩阵),让标签从标注数据传播到无标注数据;最后通过交叉熵函数计算损失,用反向传播更新嵌入函数和构建函数的参数.另外,Hou 等人[113]也提出了一个交叉注意力网络(Cross Attention Network),基于直推式学习的思想,利用注意力机制为每对类特征和查询生 成交叉注意映射对特征进行采样,突出目标对象区域,使提取的特征更具鉴别性.其次,提出了一种转换推理算法,为了缓解数据量过 少的问题,迭代地利用未标记的查询集以增加支持集,从而使类别特性更具代表性. 3.2 基于数据合成的方法 基于数据合成的方法是指为小样本类别合成新的带标签数据来扩充训练数据,常用的算法有生成对抗网络(Generative Adversarial Nets)[89]等.Mehrotra 等人[17]将 GAN 应用到小样本学习中,提出了生成对抗残差成对网络(Generative Adversarial Residual Pairwise Network)来解决单样本学习问题.算法使用基于 GAN 的生成器网络对不可见的数据分布提供有效的正则表示,用 残差成对网络作为判别器来度量成对样本的相似性.根据图 3 的流程图所示,输入样本为,为了防止生成器简单复制原样本,首先 对进行破坏得到损坏样本,将输入到生成器 G 中得到生成样本 x,x 的另一个来源是真实的数据集;其次空间变换后输入到 判别器 D 中,同时输入的还有样本 x;随后判别器会给出三种判别结果:1)x 是真实样本,并且 x 与不同;2)x 是真实样本,并且 x 与相 方梯度量级损失(SGM)(,)= ||∑ (,)∈ (,(),)||()|| 似;3)x 是假样本. 除了基于 GAN 的数据合成方法,Hariharan 等人[92]提出了一个新的方法,该方法分为两个阶段:表示学习阶段和小样本学习阶 段,表示学习阶段是指在含有大量数据的源数据集上学习一个通用的表示模型,在此阶段中,作者提出了一个新的损失函数——平 来提升表示学习的效果;小样本学习阶段是指在少量数据的 新类别中微调模型,在此阶段中,本文提出了生成新数据的方法来为小样本类别进行数据增强.作者认为属于同一类别的两个样本
之间存在着一个转换,那么给定新类别的一个样本 那么给定新类别的一个样本 x,通过这个转换可以生成器 G 可以生成属于该类别的新样本 可以生成属于该类别的新样本. Figure.1 An indicative figure of Generative Adversarial Residual Pairwise Network[17] Figure.1 An indicative figure of Generative Adversarial Residual Pairwise Network Figure.1 An indicative figure of Generative Adversarial Residual Pairwise Network 图 1 生成对抗残差成对网络示意图[17] Wang 等人[105]将元学习与数据生成相结合 端到端方法共同训练生成模型和分类算法.通过让现有图像的一些属性和特征发生变化 相结合,提出了通过数据生成模型生成虚拟数据来扩充样本的多样性 生成模型生成虚拟数据来扩充样本的多样性,并结合当前比较先进 的一些属性和特征发生变化,如拍照姿态改变、光照 从而生成具有不同变化的新样本图像,实现数据的扩充.此外,本模型可以套用任何元学习模 本模型可以套用任何元学习模 的元学习方法,通过端到端方法共同训练生成模型和分类算法 改变、位置迁移等,迁移到新的样本上,从而生成具有不同变化的新样本图像 型,具有灵活性. 但是现有的数据生成方法具有以下缺点:1、没有捕捉到复杂的数据分布;2、不能泛化到小样本的类别 但是现有的数据生成方法具有以下缺点 将变分编码器(VAE)和 GAN 进行结合,充分利用了两者的优势 这个网络再完成小样本学习图像分类的同时,能够将生成样本的特征空间通过自然语言的形式表现出来 可解释性.Xian 等人[94]为解决上述问题,将变分编码器 f-VAEGAN-D2,这个网络再完成小样本学习图像分类的 释性.Chen 等人[104]对此继续研究,提出可以 集的集合中每一类随机选择几个样本,形成集合 像分类,找到概率最高的 N 个图像.将对应的图像加权得到扩充的图像 本计算分类损失,用来优化权重生成子网络. 不能泛化到小样本的类别;3、生成的特征不具有 充分利用了两者的优势集成了一个新的网络 将生成样本的特征空间通过自然语言的形式表现出来,具有可解 形成扩充的支持集集合.首先从元训练 形成最近邻分类器,对集合 G 中的所有图 最后用扩充的支持集与查询样 提出可以利用元学习对训练集的图像对支持集进行插值,形成扩充的 形成集合 G.其次针对某个任务提取支持集的特征,形成最近邻分类器 将对应的图像加权得到扩充的图像,图像标签与原图像保持一致,最后用 3.3 基于特征增强的方法 以上两种方法都是利用辅助数据来增强样本空间,除此之外还可通过增强样本特征空间来提高样本多样性 以上两种方法都是利用辅助数据来增强样本空间 除此之外还可通过增强样本特征空间来提高样本多样性,因为小样本学习 Guided Augmentation)模型学习合成数据 将基于合成数据的网络应用到真实图像中具有迁移学习的问题,但之前的方法都 ,Liu 等人[93]提出了特征迁移网 用于描述物体姿态变化引起的运动轨迹变化.与其他特征提取不同的是,该方法对物品的外观和姿态分别有一个预测 该方法对物品的外观和姿态分别有一个预测 和姿态 P(x)参数,然后解码器需要 的一个关键是如何得到一个泛化性好的特征提取器.Dixit 等人[18]提出了 AGA(Attributed-Guided Augmentation 的一个关键是如何得到一个泛化性好的特征提取器 的映射,使样本的属性处于期望的值或强度. 不适用于具有姿态物体的迁移,AGA 是一个解决方法 络(FATTEN),用于描述物体姿态变化引起的运动轨迹变化 器.网络包括一个编码器和一个解码器,编码器将 这些参数产生相应的特征向量 x. .然而,将基于合成数据的网络应用到真实图像中具有迁移学习的问题 编码器将 CNN 对目标图像的特征 x 映射为一对外观 A (x)和姿态 是一个解决方法,但是他的轨迹是离散的,不能连续,所以基于此, 此外,Schwartz 等人[19]提出了 Delta 编码器 无法显著改善分类边界[1].为解决这个问题,Chen 等人[20] 提出了一个双向网络 编码器,通过看到少量样本来为不可见的类别合成新样本,将合成样本用于训练分类器 将合成样本用于训练分类器.该模 以便有效地合成新类样本.但此方法 型既能提取同类训练样本之间可转移的类内变形,也能将这些增量应用到新类别的小样本中,以便有效地合成新类样本 型既能提取同类训练样本之间可转移的类内变形 提出了一个双向网络 TriNet,他们认为图像的每个类 的特征增强过于简单,无法显著改善分类边界 所以通过标签语义空间和图像特征空间的相互映射可以对图像的特征进行增强.如图 4 所示, 别在语义空间中具有更丰富的特征,所以通过标签语义空间和图像特征空间的相互映射可以对图像的特征进行增强 所以通过标签语义空间和图像特征空间的相互映射可以对图像的特征进行增强 该模型用一个四层卷积神经网络 ResNet-18 的编码器将视觉特征映射到语义空间,在语义空间 的解码器将增强后的语义特征映射回图像的特征空间.例如,shark 这个类别在语义空间中与已知 中进行数据增强,之后通过 TriNet 的解码器将增强后的语义特征映射回图像的特征空间 这个类别在语义空间中与已知 的一些类别 fish、whale_shark 和 halobios 距离较近 可借用这些邻近类别的特征来调整网络中用于 特征提取的参数,帮助模型更好地提取图像特征 帮助模型更好地提取图像特征. 距离较近,即代表它们的语义相似,TriNet 可借用这些邻近类别的特征来调整网 18 提取图像的视觉特征,再通过 TriNet 的编码器将视觉特征映射到语义空间 但是在上面的方法中,分类网络通常提取的特征只关注最具有判别性的区域 分类网络通常提取的特征只关注最具有判别性的区域,而忽略了其他判别性较弱的区域 泛化.为了解决这个问题,Shen 等人[103]提出可以 均池化,分类得到交叉熵损失 l.用 l 对 M 求梯度 对抗特征,得到分类损失;将初始特征再经过多个卷积 将初始特征再经过多个卷积,得到一维特征对其分类,得到分类损失.这两个分类器共享参数 而忽略了其他判别性较弱的区域,不利于网络的 输入的图像经提取特征后进行平 将提取的特征与更新后的 M 相乘,得到 两个分类器共享参数,从而使得 求梯度,得到使 l 最大的更新方向从而更新 M,其次将提取的特征与更新后的 提出可以把固定的注意力机制换成不确定的注意力机制 M.输入的图像经 高层特征对底层特征具有一定的指导作用,从而 从而优化网络.
通过梳理基于数据增强的小样本学习模型的研究进展,可以思考未来的两个改进方向:1)更好地利用无标注数据.由于真实世 界中存在着大量的无标注数据,不利用这些数据会损失很多信息,更好更合理地使用无标注数据是一个非常重要的改进方向;2)更 好地利用辅助特征.小样本学习中由于样本量过少导致特征多样性降低,为提高特征多样性可利用辅助数据集或者辅助属性进行 特征增强,从而帮助模型更好地提取特征来提升分类的准确率. 4 基于迁移学习的小样本学习 迁移学习是指利用旧知识来学习新知识,主要目标是将已经学会的知识很快地迁移到一个新的领域中[21].举例说明,一个程序 员在掌握了 C 语言的前提下,能够更快地理解和学习 Python 语言.迁移学习主要解决的一个问题是小样本问题.基于模型微调的方 法在源数据集和目标数据集分布大致相同时有效,分布不相似时会导致过拟合问题,迁移学习则解决了这个问题.迁移学习只需要 源领域和目标领域存在一定关联,使得在源领域和数据中学习到的知识和特征能够帮助在目标领域训练分类模型,从而实现知识 在不同领域之间的迁移.一般来说,源领域和目标领域之间的关联性越强,那么迁移学习的效果就会越好[22].近年来,迁移学习这个新 兴的学习框架受到了越来越多研究人员的关注,很多性能优异的小样本算法模型被提出.在迁移学习中,数据集被划分为三部分:训 练集(training set)、支持集(support set)和查询集(query set).其中训练集是指源数据集,一般包含大量的标注数据;支持集是指目标领 域中的训练样本,包含少量标注数据;查询集是目标领域中的测试样本. 随着深度学习的发展,深度神经网络常被用来学习样本的嵌入函数,例如卷积神经网络(Convolutional Neural Network)[28],循环 神经网络(Recurrent Neural Network)[29]和长短期记忆网络(Long Short-Term Memory)等.在图像分类任务中,常使用卷积神经网络作 为嵌入网络,比较常用的变型包括 VGG、Inception、Resnet 等.Wang 等人 [23]基于迁移学习的思想,在 2016 年提出了回归网络 (Regression Network)来解决小样本问题,他们认为一个由少量样本训练的模型和一个由大量样本训练的模型之间存在一个通用的 忽略类别的转换 T,这个转换 T 由回归网络学习得到.通过 T 的转换,可以把由小样本训练得到的效果不佳的模型,映射为由大量样 本训练得到的效果较好的模型.两个模型的转换实质上是模型参数的映射,即将一个模型的权重映射到另一个模型. 近年来随着迁移学习的兴起,与之相关的模型也不断涌现.但是在以前的迁移学习算法中,源网络中的某一层迁移到目标网络 中的某一层是人工给定的,并且是将所有的特征映射都迁移,没有考虑迁移到哪里和迁移多少的问题.Jang 等人[114]专注于迁移学习 中迁移什么(what)和迁移到哪里(where)的问题,提出利用元学习来学习迁移特征映射的权重和迁移层的权重来解决这个问题,同时 提出了一步学习的策略,只用一步来适应目标数据集.该方法同时在小样本数据集上进行了实验,但是效果提升没有大规模数据集 多.根据迁移学习的方法不同,本文将其分为基于度量学习、基于元学习和基于图神经网络的方法三类.接下来就这三类方法中典型 的算法模型及研究进展进行介绍. 4.1 基于度量学习的方法 在数学概念中,度量指衡量两个元素之间距离的函数,也叫做距离函数[24].度量学习也称为相似度学习,是指通过给定的距离函 数计算两个样本之间的距离,从而度量它们的相似度[25].在深度学习中,我们通常采用欧氏距离、马氏距离和余弦相似度等[26][27]作 为距离函数.将度量学习的框架应用到小样本学习上,顾名思义,就是通过计算待分类样本和已知分类样本之间的距离,找到邻近类 别来确定待分类样本的分类结果.基于度量学习的方法的通用流程如图 2 所示,该框架具有两个模块:嵌入模块和度量模块,将样本 通过嵌入模块嵌入向量空间,再根据度量模块给出相似度得分.基于度量学习的方法通常采用 episodic training,是指将数据集分为 多个任务进行训练,每个任务从训练集中随机采样 C-way K-shot 的样本,即选出 C 个类别,每个类别含有 K 个样本,通过多次采样构 建多个任务.当进行训练时,将多个任务依次输入到模型中,这就是 episodic training.在测试时,一般从剩余的样本中选取一个 batch 来进行测试. Koch 等人[30]在 2015 年最先提出使用孪生神经网络(Siamese Neural Networks)进行单样本图像识别.孪生神经网络是一种相似 性度量模型,当类别数多但每个类别的样本数量少的情况下可用于类别的识别.孪生神经网络从数据中学习度量,进而利用学习到 的度量比较和匹配未知类别的样本,两个孪生神经网络共享一套参数和权重,其主要思想是通过嵌入函数将输入映射到目标空间, 使用简单的距离函数进行相似度计算.孪生神经网络在训练阶段最小化一对相同类别样本的损失,最大化一对不同类别样本的损 失.该模型使用两个 CNN 提取输入图像的特征,将图像映射成向量.输入是一对样本而不是单个样本,同一类样本标签为 1,不同类为 0,然后通过交叉熵函数计算损失.对于单样本学习,训练集中每个类别只有一个样本,所以测试集中的每张图像和训练集中的每个 样本都组成一个样本对,依次输入到孪生神经网络中,得到每对样本的距离,选取距离最小的训练样本的标签作为测试样本的类别, 从而完成分类.
Figure.2 The generalized flow chart of the metric The generalized flow chart of the metric-based models[31] 图 2 基于度量学习的方法通用流程图[31] Vinyals 等人[31]继续就单样本学习问题进行深入探讨 继续就单样本学习问题进行深入探讨,在 2016 年提出了匹配网络(Matching Networks 小样本数据和不带标签的样本映射到对应的标签上.针对单样本学习问题,该模型使用 LSTM 将样本映射到低维向量空间中 小样本数据和不带标签的样本映射到对应的标签上 本与每个带标签样本计算相似度,使用核密度估计函数 本本身出发来研究数据的分布特征,是在概率论中用来估计未知的密度函数 一是在模型层面提出了匹配网络的概念.匹配网络使用公式 Matching Networks),该网络可以将带标签的 将样本映射到低维向量空间中,新样 使用核密度估计函数(Kernel Density Estimation)输出预测标签.核密度估计函数专注于从数据样 核密度估计函数专注于从数据样 是在概率论中用来估计未知的密度函数,属于非参数检验方法.该模型在两个方面进行了创新 该模型在两个方面进行了创新, 计算目标样本与已知标签样本之间的相似度,其中 计算目标样本与已知标签样本之间的相似度 匹配网络使用公式 = ∑ (,) 是待分类样本的预测标签.在此式中,a 可以看作注意力机制, 支持集 S={(,)} ,是待分类样本,是待分类样本的预测标签 ,看作约束于的记忆单元,即 匹配网络在计算中引入了外部记忆和注意力机制.二是训练过程中保持训练集和测试集的匹配.这与机器学习中独立同分布的概 匹配网络在计算中引入了外部记忆和注意力机制 这与机器学习中独立同分布的概 念相似,在保证训练集和测试集独立同分布的条件下 在保证训练集和测试集独立同分布的条件下,训练模型在测试集上也能取得较好的效果. Jiang 等人[32]基于匹配网络的思想,将嵌入函数改进为 将嵌入函数改进为 4 层的卷积神经网络,分别采用双向 LSTM 算法深入提取训练样本和测试样本中更加关键和有用的特征并进行编码, 最后在平方欧氏距离上利用 算法深入提取训练样本和测试样本中更加关键和有用的特征并进行编 试样本分类.实验证明,改进的匹配网络在类别数更多而样本数较少的复杂场景下具有更好的分类效果 改进的匹配网络在类别数更多而样本数较少的复杂场景下具有更好的分类效果. 改进的匹配网络在类别数更多而样本数较少的复杂场景下具有更好的分类效果 LSTM 和基于注意力机制的 LSTM 最后在平方欧氏距离上利用 softmax 非线性分类器对测 在基于度量学习的单样本图像分类方面,上述方法都是从图像本身特征出发,没有考虑到分类标签这一信息 在基于度量学习的单样本图像分类方面 需要将图像的分类标签纳入考虑,并提出了多注意力网络模型 签嵌入到向量空间,通过构建标签语义特征和图像特征之间的注意力机制 分(单注意力)或哪几个部分(多注意力),利用注意力机制更新该图像的向量 没有考虑到分类标签这一信息.Wang 等人[33]认为 该模型使用 GloVe Embedding 将图像的标 通过构建标签语义特征和图像特征之间的注意力机制,得到一张图像属于该标签的特征主要集中于哪一个部 得到一张图像属于该标签的特征主要集中于哪一个部 利用注意力机制更新该图像的向量,最后通过距离函数计算相似度得到分类结果 最后通过距离函数计算相似度得到分类结果. 并提出了多注意力网络模型(Multi-attention Network).该模型使用 尽管上述模型已经取得了较好的成果, ,但它们针对的都是单样本学习问题.为了进一步深入解决小样本问题 2017 年提出了原型网络(Prototypical Networks 型网络使用深度神经网络将图像映射成向量,对于同属一个类别的样本,求得这一类样本向量的平均值作为该类别的原型 型网络使用深度神经网络将图像映射成向量 断训练模型和最小化损失函数,使得同一类别内的样本距离更为靠近 Prototypical Networks),作者认为每个类别在向量空间中都存在一个原型(Prototype 同一类别内的样本距离更为靠近,不同类别的样本更为远离,从而更新嵌 从而更新嵌 为了进一步深入解决小样本问题,Snell 等人[34]在 Prototype),也称作类别中心点.原 求得这一类样本向量的平均值作为该类别的原型.通过不 Figure.3 A case study of Prototypical Networks[34] Figure. 图 3 原型网络样例示意图[34] 入函数的参数.原型网络的思路如图 6 所示,输入样本 更近,也就代表 x 与原型 2 所代表的类别更为相似 原型网络的思想和实现方法都十分简单明晰,但效果与之前的工作相比得到了一定的提升.但是仅仅使用标注数据得到的结 原型网络的思想和实现方法都十分简单明晰 但是仅仅使用标注数据得到的结 输入样本 x,比较 x 的向量和每个类别原型的欧式距离,根据计算发现 所代表的类别更为相似,于是将 x 分到类别 2. 根据计算发现 x 与原型 2 的距离
果不一定是准确的,因为样本量太少会导致分类边界偏差.针对这个不足之处,Ren 等人[35]于 2018 年在原型网络的基础上进行扩展, 使用了半监督学习的思想,在训练集中加入了不带标签的数据,来改善分类边界.实验证明无标签数据的加入提高了分类效果,原因 在于原型网络只使用带标签数据进行原型的计算,但是带标签数据数量较少导致了类别中心的计算不准确.而改进的网络加入了 无标签数据之后,对类别的原型进行了修正,使得待分类样本能够得到正确的分类.论文中对这种使用半监督方法的原型网络提出 了三种变型.第一种,所有的无标签数据都属于带标签的数据所属的类别.在这种假设下,将无标签数据和带标签数据一起计算新的 原型.第二种,无标签数据要么属于带标签数据所属的类别,要么属于一个另外的类——干扰类(distractor class).干扰类开始以原点 (0,0)作为原型,模型学习的是干扰类的半径.第三种,无标签数据要么属于已知的类别,要么被掩盖(masked).这种变型的提出是因为 第二种假设的不合理性,第二种假设下把所有没有标签的数据分到同一个类显然是不符合实际场景的,所以作者又提出了一个新 的算法:masked K -means 算法.在这种假设下,论文用一个多层感知机(MLP, multi-layer perception)来学习每个类的半径和斜率,用 这两个参数和距离得到一个没有标签的数据属于每个类别的概率.作者认为,如果一个样本离原型越远,那么它就越容易被掩盖.但 是上面的网络在计算时均没有考虑样本的权重,只是做了一个简单的平均数计算,在很多情况下用来计算原型的样本的重要程度 是不同的,尤其当样本是噪声数据的时候体现的更为明显.受到这个问题的驱动,Gao 等人[110]提出了基于人工注意力的原型网络.相 比于传统的原型网络,该模型多了两个部件:样本级别的注意力机制和特征级别的注意力机制,来分别捕捉对分类更重要的样本和 特征.作者分别用含有 0%、10%、30%和 50%的噪声数据集进行了效果评测,均比 baseline 取得了更好的效果,并且噪声越多提升效 果越好,说明该模型具有很好的鲁棒性.Sun 等人[111]也为了解决这个问题,提出了层次注意力原型网络(HAPN),比起传统的原型网 络添加了特征级别、词语级别和样本级别的三种注意力机制,词语级别的注意力机制是文本分类中常用的方法,在这里不多加赘述. 基于人工注意力的原型网络和层次注意力原型网络均添加了样本级别和特征级别的注意力机制,表明不同的样本和特征对于分类 任务的重要性确实不同,只做简单的平均计算是远远不够的,需要对样本的特征进行加权处理. 上述模型都是基于距离函数来计算相似度,这样虽然简单易操作,但有时候距离函数却并不适用于一些特定的任务.针对这个 问题,一些研究人员提出可以使用深度神经网络来进行度量[1].Sung 等[36]在2018 年提出了一个新的模型——关系网络(RN, Relation Network),该模型分为两个模块:嵌入模块和关系模块.其中嵌入模块 f 是一个 4 层的卷积神经网络,用来学习样本到低维向量空间的 嵌入.关系模块 g 是一个相似度比较模块,使用 ReLU 来进行相似度计算,用来输出两个样本的相似度得分.关 系网络在三种问题上作了讨论:1)单样本学习.每种类别有一个支持样本 x,嵌入向量为 f(x),针对查询样本 y 获得嵌入向量 f(y),C(f(x),f(y))表示两个向量的连接,将这个连接后的向量放到关系模块 g 中,得到相似度打分,完成分类;2)小样本学习.对于每一类 的支持样本,将它们的嵌入向量相加作为整个类别的特征映射.剩下的过程和单样本学习相同;3)零样本学习.对于没有标注样本的 问题,利用每个类别的语义特征嵌入向量 v,使用新的嵌入函数f,得到这个类别的特征映射f(v),剩下过程与上面相同. 在关系网络的基础上,Zhang 等人[37]提出了深度比较网络(DCN, Deep Comparison Network), 将嵌入学习分解为一系列模块,并 将每个模块与一个关系模块配对.关系模块利用相应嵌入模块的表示计算一个非线性度量对匹配进行打分.为了保证所有嵌入模 块的特征都被使用,关系模块被深度监控.最后,通过学习噪声调节器进一步提高泛化性.Hilliard 等人[38]也使用了一种新的体系结 构,抛弃了传统的度量学习方法,通过训练一个网络来执行类别之间的比较,而不是依赖于静态度量比较.该网络可以决定一个类的 哪些方面对于分类比较重要,从而更好地区分类别边界. 之前的方法注意力集中在一阶统计量的概念表示上,Li 等人[95]提出了一个协方差度量网络(CovaMNet),在基于小样本分类任 务的分布一致性上利用了协方差表示和协方差矩阵,其中协方差表示用来捕获二阶统计信息,协方差矩阵用来衡量 query 样本与新 类别之间的分布一致性.但是由于现有的方法忽略了局部特征的信息,为了捕捉局部特征,Li 等人[96]又提出了深度最近邻神经网络 (DN4),与其他方法最大不同是在最后一层用图像到类别的局部描述符来代替图像级别的特征测量,查询样本在进行特征映射时为 每个空间特征计算一个相似性.针对一个查询样本特征映射的每个空间特征,找到支持特征映射中最相近的 K 个特征来计算相似 性,最后将所有位置相似性加和得到此查询样本的相似性. 但是上面的方法是针对每个任务提取不同的特征,仍旧忽略了支持集中所有图像之间的语义关系.受到这个想法的驱动,Li 等 人[107]提出可以利用模型整合支持集中所有图像的信息,从而找到最具有判别性的特征.首先根据支持集得到一个 channel attention, 随后对所有的图像应用 channel attention,对于支持集中的图像提取特征,经过一个卷积层求得原型,将所有类连接得到一个特征,再 经过卷积得到一个 channel attention.其次将支持集特征和查询样本特征经过一个卷积层,与上述得到的 attention 相乘,得到更具有 判别性的特征,最后对于更新后的特征做度量学习. 由上面的模型可以看出,基于度量学习的方法经历了从解决单样本问题到解决小样本问题再到同时解决小样本问题和零样本 问题的变革,模型逐渐趋近于成熟.同时,也经历了从基于传统距离函数的方法到基于深度网络的方法的改进.继续采用基于传统距 离函数的方法很难在小样本分类准确率方面得到较大的提升,所以加强对基于神经网络进行度量方法的研究将是今后重点关注的 方向.
4.2 基于元学习的方法 元学习(Meta-Learning)也叫做学会学习 也叫做学会学习(Learning to Learn)[39],是机器学习领域一个前沿的研究框架 元学习的目的是让模型获得一种学习能力,这种学习能力可以让模型自动学习到一些元知识 的问题.元学习的目的是让模型获得一种学习能力 外可以学习到的知识,比如模型的超参数、神经网络的初始参数 大量的先验任务中学习到元知识,利用以往的先验知识来指导 分为元训练集和元测试集,二者均包含了原始模型所需要的训练集和测试集 元学习模型的数据集包括元训练集元测试集,其中元训练集和元测试集均包含训练集和测试集. 元学习模型的数据集包括元训练集元测试集 是机器学习领域一个前沿的研究框架,针对于解决模型如何学习 这种学习能力可以让模型自动学习到一些元知识.元知识指在模型训练过程之 在小样本学习中,元学习具体指从 中更快地学习.元学习中的数据集通常 分类模型的数据集包括训练集和测试集; 二者均包含了原始模型所需要的训练集和测试集.如图 4 所示,分类模型的数据集包括训练集 神经网络的初始参数、神经网络的结构和优化器等[40].在小样本学习中 利用以往的先验知识来指导模型在新任务(即小样本任务)中更快地 早在 2001 年 Hochreiter 等人[41]就证明了记忆神经网络可适用于元学习 就证明了记忆神经网络可适用于元学习,在此工作的基础上,Santoro Augmented Neural Networks,MANN)来解决单样本学习问题.作者使用了神经图灵机 于记忆增强的神经网络(Memory-Augmented Neural Networks Turing Machine,NTM)[43]作为 MANN 的基本模型 既可以通过缓慢权重更新来实现长期存储,又能够通过记忆库实现短期存储 机学习到一种策略,这个策略可以指导 NTM MANN 是元学习方法在单样本学习问题上较早且较成功的一次尝试 野.在 2017 年 Munkhdalai 等人[44]继续采用了元学习的框架来解决单样本分类的问题 Networks).元网络主要分为两个部分:base-learner 是元学习方法在单样本学习问题上较早且较成功的一次尝试,此后应用元学习框架解决小样本问题逐渐进入人们的视 框架解决小样本问题逐渐进入人们的视 并提出了一个新的模型——元网络(Meta learner 和 meta-learner,还有一个额外的记忆块,这个记忆块可以帮助模型快速学习 这个记忆块可以帮助模型快速学习. 继续采用了元学习的框架来解决单样本分类的问题,并提出了一个新的模型 NTM 将样本类型放入到记忆库中,同时指导它今后如何通过这些类型进行预测或者分类 同时指导它今后如何通过这些类型进行预测或者分类. Santoro 等人[42]在 2016 年提出了基 作者使用了神经图灵机(Neural 可以直接通过梯度下降进行训练.神经图灵机 这与元学习的思想完全一致.作者致力于让神经图灵 的基本模型,因为 NTM 作为一种可微的 MANN,可以直接通过梯度下降进行训练 又能够通过记忆库实现短期存储,这与元学习的思想完全一致 Figure.4 Example of meta-learning setup[47] 图 4 元学习数据集实例图[47] Base-learner 在任务空间中学习,meta-learner 时,base-learner 对当前任务进行分析,并将元信息反馈给 快速参数化.具体地,元网络分为一个缓慢权重化的过程和一个快速权重化的过程 慢,而当对一个新任务快速适应时则需要快速权重化 而当对一个新任务快速适应时则需要快速权重化. 在抽象的元空间中持续学习并且从不同的任务中获取元知识.当新任务到来 根据元信息对自身和 base-learner 元网络分为一个缓慢权重化的过程和一个快速权重化的过程,在学习不同任务之间的泛化信息时权重更新缓 不同任务之间的泛化信息时权重更新缓 并将元信息反馈给 meta-learner;meta-learner 收到元信息之后,根据元信息对自身和 learner 在抽象的元空间中持续学习并且从不同的任务中获取元知识 年提出了未知模型的元学习方法(Model-Agnostic Meta-Learning,MAML) 虽然上面两个工作已经将元学习的框架带进了小样本学习中,但是它们解决的都是单样本问题 虽然上面两个工作已经将元学习的框架带进了小样本学习中 本分类问题上,Finn 等[45]在 2017 年提出了未知模型的元学习方法 数据中进行少步数的训练就可以得到较好的分类效果.MAML 首先使用 RNN 从所有任务的分布中来学习知识 数据中进行少步数的训练就可以得到较好的分类效果 一任务.MAML 致力于找到神经网络中对每个任务较为敏感的参数 数为 θ,针对不同的任务分别计算损失,根据每个任务的损失更新对应的模型参数 面对新任务时,能够使用梯度下降的方法在很少的步数内得到收敛 等人[99]提出了算法未知任务元学习法(TAML 合,作者在输出预测时加入了一个正则化项.正则化要么会使预测具有更高的熵 模型在不同任务之间的差异更小(即在不同任务上表现相同 但是它们解决的都是单样本问题,为了使模型更加适用到小样 MAML),使用这个模型从很少的 从所有任务的分布中来学习知识,而不是仅仅学习单 通过微调这些参数让模型的损失函数快速收敛.模型的初始参 的目标是求得初始化参数 θ,使得模型在 并且提高元学习器的泛化性,Jamal TAML,Task-Agnostic Meta-Learning).在这项工作中,为了避免元学习模型对训练任务过拟 为了避免元学习模型对训练任务过拟 即预测的概率不会看起来像一个独热矢量),要么使 即在不同任务上表现相同).显然,对于小样本学习来说,有一个强大的正则化机制是十分重要的 有一个强大的正则化机制是十分重要的. 致力于找到神经网络中对每个任务较为敏感的参数,通过微调这些参数让模型的损失函数快速收敛 根据每个任务的损失更新对应的模型参数.MAML 的目标是求得初始化参数 能够使用梯度下降的方法在很少的步数内得到收敛.为了避免元学习器的偏移,并且提高元学习器的泛化性 正则化要么会使预测具有更高的熵(即预测的概率不会看起来像一个独热矢量
分享到:
收藏