一种高效的自监督元迁移小样本学习算法

2021-02-21 02:56史家辉郝小慧李雁妮
西安电子科技大学学报 2021年6期
关键词:残差卷积样本

史家辉,郝小慧,李雁妮

(西安电子科技大学 智能媒体与数据工程研究所,陕西 西安 710071)

近年来深度神经网络已经在监督识别任务上取得了令人振奋的突破,例如视觉[1]、语音[2]、自然语言处理[3]等各个不同的应用领域。然而,深度学习是一种数据饥渴的技术,它取得的出色性能依赖于大量带类标签的训练样本。但现实的很多应用领域没有足够的有类标签的训练[4],或者获得类标签样本的成本非常高。例如医疗[5]、安全[6]等领域。因此,当前深度学习有一个瓶颈问题即小样本问题[7-8]。人类有一种很强的能力,即从少量的可用样本中可以识别新类。受此启发,从少量样本中学习到一个健壮的模型,这样的一个任务称为小样本学习[9]。

随着深度学习技术的发展,小样本学习领域涌现出一些优秀的算法。目前小样本学习方法主要有基于数据增强、基于元学习、基于迁移学习以及混合的方法。深度学习小样本问题的本质是训练过程中的监督样本过少而很难拟合模型中大量的参数,导致其精度很低。然而,现有的普通数据增强方法只能缓解而不能解决小样本问题,利用生成网络进行数据增强,由于先验知识的不完美,生成的数据与真实数据之间的差异会导致概念偏移。因此如何利用模型从数据本身中充分挖掘其信息是解决小样本问题的关键。相比较而言,混合方法最为有效。基于元学习的方法[10-14]利用以往的经验知识来指导新任务的学习,具体来说就是在元学习阶段将数据集分解为不同的元任务,去学习类别变化情况下模型的泛化能力,在元测试阶段,面对新任务(新的类别),不需要变动已有的模型就可以完成分类。基于迁移学习的算法[15-20]利用从源域任务中提取的有用知识来解决目标任务;一种典型的方式就是微调,得到一个已经训练好的基础网络后,使用小样本数据集进行迭代次数很少的训练就可以用于测试。混合型算法[21-23]能够结合不同技术的优点而显著提升算法的性能。基于元学习和迁移学习的混合算法最具代表性。综上所述,现有小样本算法主要存在以下缺陷:(1)算法模型提取的特征有限,缺乏对不同尺寸特征的挖掘,及对重要特性的关注度;(2)模型的泛化能力弱。在迁移学习预训练阶段得到基础网络的过程中,如果使用的数据集和新类的数据集的分布差异大,则对新类的分类效果就会很差。

为克服已有算法的上述缺陷,笔者提出了一种高效的自监督元迁移小样本学习算法:(1)提出了一种新的残差注意力膨胀网络,通过膨胀分支使模型增大了感受野,可以提取不同尺寸的图像特征,并且残差注意力增强了对重要特征的关注度;(2)提出了基于自监督的预训练策略,在迁移学习通过预训练方式获取基础网络的过程中,使用自监督方式,通过对图像数据进行旋转,建立了关于图像结构信息的标签,对图像本身的结构信息进行了充分挖掘,增加了训练任务中的监督信息,增强了模型的泛化能力;(3)一种高效的自监督元迁移小样本学习算法(Efficient Self-Supervised Meta Transfer algorithm for few shot Learning,ESS-MTL),在基准小样本数据集上,以当前最具代表性的若干优良的小样本算法作为算法性能比较的基准算法。大量的实验结果表明:所提算法正确高效,性能优于所有的基准算法。

1 相关工作

目前,大多数小样本算法主要集中在元学习以及迁移学习的混合型小样本学习算法方面。FINN等提出的与模型无关的元学习[12]算法(MAML)是最为经典的元学习算法,其他元学习算法和混合型算法都是建立在此算法的基础上的。在预训练阶段对模型在大量不同任务上训练模型参数,使得学习到的模型参数只要经过少量次数的梯度更新就能实现在新任务上的快速学习。但MAML算法需要大量的不同任务,代价高,而且过拟合问题严重。ANTONIOU[13]等提出的MAML++算法是对MAML算法的改进,改善了MAML的泛化误差,稳定和加快了MAML算法的训练过程。但该算法依然未能解决MAML算法的上述问题。为了克服元学习算法的过拟合问题,ORESHKIN[14]等提出一种基于度量的元学习算法TADAM,TADAM算法通过辅助任务协同训练以根据特定任务调整特征提取器,使得度量空间与任务相关,在这种情况下的特征提取器具有良好的泛化能力。

一些基于迁移学习的算法使用预训练权重进行初始化的思想,并针对特定任务进行微调[17-20]。MTL[21]是一个将元学习和迁移学习结合来完成图片分类任务的算法。该算法一共分为两个阶段:预训练阶段和元学习阶段。首先在预训练阶段在大量带标签的数据集上训练好一个基础网络,然后使用迁移学习微调的方法迁移该基础网络,之后在小样本数据集上进行元学习。由于基础网络的参数量很大,直接进行微调可能会增加过拟合风险,因而该算法在微调阶段设计了一种方法减少了要微调的参数量。首先在大规模数据上预训练获得良好的初始权重,然后将其“冻结”(如图1浅色部分所示),针对小样本学习场景利用元学习的两个轻量级神经元操作缩放与移位(Scaling and Shifting,SS),给每个“冻结”的卷积核添加两个缩放与移位参数φS1和φS2(如图1深色部分),去适应新的小样本学习任务。

图1 缩放和移位示意图

针对小样本学习场景,模型不再需要更新所有参数(如图1浅色部分),而只需要更新添加的两个缩放与移位参数φS1和φS2。SS操作如式(1)所示,其中,FSS(·)是SS操作的函数表示,X是输入,⊗表示逐元素相乘,φS1和φS2分别表示缩放和移位参数。MTL算法虽然减少了需要更新的参数量,降低了过拟合风险,但精度不够高。

FSS(X;W,b;φS{1,2})=(W⊗φS1)X+(b+φS2) 。

(1)

TransMatch[22]是YU等于2020年提出的一种新的混合型小样本学习算法。该算法将迁移学习与半监督学习相结合,以充分利用来自有标签的基类数据和无标签的新颖类数据的辅助信息。但是TransMatch采取微调的策略进行权重的迁移,微调策略所需要调试的参数量过大,容易产生过拟合。受MAML算法的启发,LIAN等[23]提出了T-NAS算法,针对小样本学习场景,T-NAS创新性地将元学习的思想与神经体系结构搜索相结合,提出了一种新颖的可迁移神经体系结构搜索方法,但是相对于目前最新的小样本学习算法,T-NAS算法的精度不够高。PATACCHIOLA等[27]提出了一种基于深度内核学习的高度灵活的贝叶斯模型,并得出元学习可以用简单的分层贝叶斯模型代替,而不会损失准确性的结论。WANG等[25]对元学习的基本机制以及使用元学习训练的模型与经典训练的模型之间的差异进行了深入的研究并开发了一种正则化程序,可提高针对小样本分类的标准训练例程的性能。但精度不够高。

尽管当前一些最新小样本算法已取得了SATA(State-of-the-Art)性能结果,但其过拟合能力与算法精度仍有待于进一步提升。现有小样本算法大部分都是基于算法层面提高算法在小样本情境下的分类精度,而笔者提出的ESS-MTL算法是基于数据特征层面的,即基于从有限的少量样本中挖掘更多重要特征的思想。

2 ESS-MTL算法

首先概述所提出的ESS-MTL算法的网络模型;其次详细论述笔者所提出的一种新的特征器网络,即残差注意力膨胀网络;最后介绍所提出的基于自监督的预训练算法。

2.1 ESS-MTL深度网络模型

ESS-MTL算法的网络模型如图2所示,它由特征提取器和分类器两个模块构成,各模块的功能如下:

(1)特征提取器:设计了一种残差注意力膨胀网络作为特征提取器,如图2中下方虚线框所示。膨胀分支的设计使得网络能够提取不同尺寸的特征,残差注意力能够增强模型对于重要特征的关注度。其中D2-Conv3×3表示添加了膨胀卷积的膨胀分支。

(2)分类器:采用一个全连接层FC-classification与Softmax层作为类别分类器,全连接层对特征提取器的输出进行处理,并采用Softmax对输出进行归一化处理,从而获得输入数据属于每个类别的概率。为了缓解小样本学习算法中过拟合的问题,采用添加L2正则化项的交叉熵损失函数作为ESS-MTL网络模型的目标函数。

值得注意的是:图2中分类器中上方虚线框所示为笔者提出基于自监督的预训练算法中使用的自监督分类器来使得模型对数据本身的结构信息充分挖掘,提高模型的泛化能力。

图2 ESS-MTL算法模型结构示意图

2.2 残差注意力膨胀网络

传统卷积网络使用固定尺寸的卷积核,只能挖掘固定尺寸的特征,而且对图像中的所有特征做同样的处理,缺乏对重要特征的关注,因此提取的特征有限。针对上述缺陷,提出了残差注意力膨胀网络。首先,基于传统的卷积网络,添加了采用扩大卷积核采样间隔的卷积过程,此处将这一过程称为膨胀卷积,它不仅扩大了网络的感受野,而且可以提取不同尺寸的特征。其次,将添加了膨胀卷积的卷积网络称为膨胀卷积网络,将所提出的一种适合图片的注意力机制称为残差注意力,基于膨胀卷积网络添加残差注意力,网络增强了对重要特征的关注度。最后,将最终的改进网络称为残差注意力膨胀网络。

2.2.1 膨胀卷积网络

使用目前比较流行的ResNet 12[26]网络作为特征提取器。ResNet 12是基于卷积的一种深度网络模型,但它只能获得固定尺寸的特征,感受野受限。对其添加膨胀卷积分支,不仅可以扩大网络的感受野而且可以提取不同尺寸的特征。此处将该网络称为膨胀卷积网络。

通常增大卷积网络模型感受视野的方法有两种:一是增大卷积核尺寸,二是增大卷积核相邻两步间隔dp。其中,dp也称为膨胀系数。固定的卷积核尺寸只能获取固定尺寸的特征,过大的卷积核尺寸无法捕获局部细腻特征,因此通过增大卷积间隔来扩大视野。传统卷积与膨胀系数为2的膨胀卷积对比如图3所示,左图为传统卷积,右图为膨胀卷积且dp为2。

图3 传统卷积与膨胀卷积网络示意图

基于Resnet12模型结构,在特征提取器的每一个残差块(Block)添加了膨胀卷积分支。该特征提取器网络中共包括4个残差块(Block),其中Conv3×3代表每个残差块中卷积核尺寸为3×3,用C表示。每个残差块中卷积核个数分别为:64,128,256和512。4个残差块的结构相同,只是卷积核个数不同。为了便于描述,用Num表示各个残差块中的卷积核个数。改进前的ResNet 12网络模型中每个残差块的结构如图4(a)所示。笔者提出的膨胀残差注意力网络的残差块如图4(b)所示,在原来网络模型的基础上,添加一个膨胀卷积分支,A2-Conv3×3表示膨胀系数为2的卷积操作,用CA2表示,Max_Pool表示最大池化操作,用P表示。

(a)改进前的残差块示意图

图中,每个Block的输出Xi分别如下所示:

Xi=C(Xi-1)+Xi-1,

(2)

Xi=P(max(Xi-left,Xi-right)) ,

(3)

其中,Xi-1表示上一个Block的输出,Xi-left表示改进后的Block左分支的输出,Xi-right表示右分支的输出,max(·)表示矩阵元素级别取最大操作,P表示最大池化函数。分别计算Xi-left和Xi-right:

Xi-left=C(Xi-1)+Xi-1,Xi-right=CA2(Xi-1)+Xi-1,

(4)

其中,膨胀卷积分支能捕获更大尺寸特征,且每个分支独立更新自己的缩放与移位参数,进一步增强了模型的适应性。

2.2.2 残差注意力机制

笔者提出了一种适合视觉任务的注意力机制,称为残差注意力。基于上一节提出的膨胀卷积网络添加残差注意力,增强了模型对重要特征的关注度,提高了模型提取数据特征的能力。在每个Block中添加了残差注意力机制,如图5所示。

图5 残差注意力机制示意图

笔者所提出的残差注意力机制所得注意力向量的计算方式如下所示,

Mi(Xi-1)=D(Xi-1)+D(Xi-1)⊗U(D(D(Xi-1))) ,

(5)

其中,Mi(Xi-1)表示当前Block的注意力向量,D(·)表示下采样操作,采用最大池化方法,U(·)表示上采样操作,上采样则采用双线性插值法。因此,添加注意力机制的每个Block最终的输出如下所示,

Xi=Xi+Xi⊗Mi(Xi-1) 。

(6)

最大池化即只取对应位置的最大值,并且不经过反向传播的修改,池化层对特征进行压缩时只是过滤掉无关的信息,而留下来的信息则具有尺度不变性的特征,充分表达了图像内容的特征,这一过程加强了重要的特征。另外,对获得的重要特征进行双线性插值能使得原来不重要特征产生退化,这一过程减弱了不重要的特征。通过两次上采样与下采样的操作,模型更加突出了重要的特征而抑制了不重要的特征。将最终的改进网络称为残差注意力卷积网络。它不仅提高了模型的感受野,可以提取不同尺寸的特征,而且增强了模型对重要特征的关注度,提高了模型对数据特征的提取能力。

2.3 基于自监督的预训练算法

在迁移学习预训练阶段得到基础网络的过程中,如果使用的训练数据集和新类的数据集的分布差异大,对新类的分类效果就会很差,即模型的泛化能力弱。针对该问题,笔者提出了基于自监督的预训练算法,在预训练阶段,使用自监督的方式通过对图像数据进行旋转,建立了关于图像结构信息的标签,对图像本身的结构信息进行了充分挖掘,增加了训练任务中的监督信息,增强了模型的泛化能力。

ESS-MTL算法的整个过程分为两个阶段:预训练阶段和元学习阶段。自监督主要是利用辅助任务从大规模的无监督数据中挖掘自身的监督信息,通过这种构造的监督信息对网络进行训练,从而可以学习到丰富的、通用的对下游任务有价值的表征。笔者提出的基于自监督辅助任务的预训练算法如图6所示。

图6 基于自监督(虚框标注)的预训练示意图

如图6所示,笔者提出了一种基于旋转的自监督预训练算法。对于每一个批次的图片分别进行0°、90°、180°、270°旋转,并将旋转角度作为监督信息建立图像旋转角度标签,从而获得更多的监督信息。由此,本文构建了一个旋转角度分类器,旋转角度分类损失与标准类别分类损失作为最终的损失函数对模型进行预训练。

在本阶段,首先随机初始化特征提取器Θ,传统类别分类器θ以及自监督辅助任务的旋转角度分类器θss,然后通过梯度下降法对其进行优化:

[Θ,θ,θss]=[Θ,θ,θss]-α∇LD([Θ,θ,θss]) ,

(7)

其中,LD代表损失函数,此处采用添加交叉熵损失函数,α代表学习率。采取了添加自监督辅助任务的预训练方式,因此LD包含传统的分类损失与旋转角度分类损失,具体计算方式如下所示:

LD=λLClassification+(1-λ)LSelf-supervised,

(8)

其中,λ代表类别分类损失与旋转分类损失之间的平衡参数,在本文的实验中选取为0.7。λ的选取范围为0.6到0.9。若小于0.6,分类效果下降,此时特征提取器注重学习图片本身信息,不是分类信息。在预训练阶段主要学习特征提取器Θ。分类器θ以及θss将被丢弃,因为随后的小样本学习任务包含不同的分类目标,例如5-way-1-shot的分类是5个类别而不是预训练阶段的64类,且在元学习阶段没有添加关于旋转的自监督分类目标。

3 实验结果

在两个标准数据集上对ESS-MTL算法进行实验,并与其他最新最好的小样本学习算法进行比较。对算法的实验数据集,实验参数设置及衡量指标,对比实验和消融实验及其结果分析进行了介绍。

3.1 实验数据集

针对两个小样本标准数据集miniImageNet和Fewshot-CIFAR100(FC100)进行实验。miniImageNet数据集由Vinyals等人于2016年提出,用于小样本学习算法的评估,miniImageNet节选了ImageNet数据集中100个类别,每个类别包含600个84×84彩色图像样本。这100个类别中有64个类别用于元训练,16个类别用于元验证,20个类别用于元测试的采样任务。

Fewshot-CIFAR100(FC100)数据集是基于流行的对象分类数据集CIFAR100构建的。它提供了更具挑战性的方案,它具有较低的图像分辨率和更具挑战性的元训练/测试划分。它包含100个对象类,每个类有600个32×32彩色图像样本。这100个类别属于20个超类。元训练数据来自属于12个超类的60个类,元验证和元测试集分别包含20个类,分别属于4个超类。这些划分是基于超类的,从而最大程度地减少了训练和验证以及测试任务之间的信息重叠。

3.2 实验参数设置及衡量指标

笔者提出的ESS-MTL算法所使用的超参数如下:预训练阶段迭代次数为20 000次,预训练阶段学习率为0.001,元训练阶段次数为20 000次,元学习率为0.001,基础学习率为0.001。

基于miniImageNet数据集进行了两种分类实验的设置:即5-way-1-shot和5-way-5-shot;基于FC100数据集进行了3种分类实验设置:即5-way-1-shot、5-way-5-shot和5-way-10-shot。N-way-K-shot表示每一个测试批次都有N个未出现在训练集中的类别,每个类别有K个样本。遵循规范,笔者用准确率FAcc作为实验性能评价指标,

(9)

其中,Ncorrect表示预测正确的样本数量,Ntotal表示总的样本数量。

3.3 算法性能比较及分析

对笔者提出的ESS-MTL算法与目前最好的小样本学习算法在标准测试数据集miniImageNet和FC100上进行了算法性能比较实验。实验结果如表1所示。

表1 ESS-MTL算法与对比算法在miniImageNet和FC100上的精度对比表

笔者提出的ESS-MTL算法在两个实验数据集上不同实验设置下均优于目前最新的小样本学习算法,充分验证了笔者提出算法的有效性。本文提出的ESS-MTL算法相较于前人的算法精度明显提升,特别是在miniImageNet数据集上。这是因为miniImageNet数据集中的图像尺寸相对于FC100数据集比较大,通过膨胀卷积分支增大了模型的感受野。所以对于固定尺寸的卷积核,尺寸较大的图像能挖掘其更多大尺寸的特征,针对于算法精度的提升更为显著。

3.4 消融实验及分析

为了进一步验证笔者所提出上述模型或方法的有效性,分别基于2分类自监督辅助任务与4分类自监督辅助任务,以及未添加自监督辅助任务的算法进行了消融实验。实验结果如表2所示。

表2 自监督辅助任务实验精度对比表

表2中,2-SS-Pretrain(2-Self Supervised-Pretrain)表示添加2分类自监督辅助任务的MTL算法,分别对输入图像进行0°、180°旋转;4-SS-Pretrain(4-Self Supervised-Pretrain)表示添加4分类自监督辅助任务的MTL算法,分别对输入图像进行0°、90°、180°和270°旋转。Meta-Tr代表在元训练阶段的分类精度,Meta-Te表示在元测试阶段的分类精度。上述实验结果表明:(1)相比于传统的预训练方法,添加自监督辅助任务的预训练不仅在预训练的过程中取得较好的精度,在元迁移学习阶段也能取得具有竞争力的结果,充分说明添加自监督辅助任务的有效性;(2)由于构造了更多的监督信息,相对于2分类自监督,4分类自监督辅助任务对于算法性能提高取得的效果更为显著;(3)预训练阶段自监督辅助任务的添加对于算法的精度有了进一步的提升,并且是在保持原始需要优化的参数量的情况下。

4 结束语

针对现有小样本学习算法存在的缺陷,首先,对视觉任务中常使用的传统卷积网络(Resnet12)提取特征有限的问题提出残差注意力膨胀卷积网络作为特征提取器,能够提取不同尺寸的特征而且增强了对重要特征的关注度;其次,针对模型的泛化能力弱在迁移学习通过预训练的方式获取基础网络的过程中提出了基于自监督的预训练算法,对数据本身的信息进行挖掘,提高算法的泛化能力;最后,将本文提出的算法与目前最新的小样本学习算法在基准数据集miniImageNet以及FC100上进行对比实验,通过实验证明了笔者所提出策略的有效性以及本文算法相对于目前比较优秀的算法的优越性。

然而小样本学习的算法的精度相对于传统算法的精度仍不够高,因此,进一步提高小样本学习算法的精度是今后的目标。

猜你喜欢
残差卷积样本
基于全卷积神经网络的猪背膘厚快速准确测定
基于残差-注意力和LSTM的心律失常心拍分类方法研究
融合上下文的残差门卷积实体抽取
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
基于残差学习的自适应无人机目标跟踪算法
基于深度卷积的残差三生网络研究与应用
规划·样本
人大专题询问之“方城样本”