APP下载

面向无人机小样本目标识别的元学习方法研究

2019-05-22

无人系统技术 2019年6期
关键词:正确率学习者样本

(国防科技大学智能科学学院,长沙410073)

1 引 言

近年来,深度学习理论不断发展并且在人工智能的多个领域取得了极大的进步,在图像识别、目标分割、医疗影像、游戏博弈、无人驾驶等多个领域得到了广泛的应用[1],比如火车站自动检票、无人超市、人脸识别打卡、医疗辅助诊断等。然而深度学习的模型的训练需要依赖大量的样本来克服过拟合等问题。但是现实中有一些识别任务并没有大量的样本进行训练,比如逃犯抓捕过程中的人脸识别、军事目标的识别、比较罕见的疑难杂症的处理等。本文研究无人机对地面目标的小样本识别问题,其难点在于无人机对目标的观察视角变化较多,且无人机实飞图像数据较难获取。

受人类从少量样本抽象一般概念能力的启发,利用较少量样本实现目标识别的问题被称为“小样本学习”问题[2]。这种问题通常每一类目标只包含一个或几个样本,根据这些样本就能够识别出一类目标。以车辆目标为例,我们可以通过拍摄的一张车辆图片识别出一大类车辆的照片,如图1所示。

图1 小样本识别问题示意图Fig.1 Few shot learning

无人机对地目标的感知与理解一直以来都是无人机系统典型任务之一,得到了广泛的关注。本文主要面向无人机的自动感知问题,即利用机器视觉算法在数据层面对目标特征的捕捉能力进行感知,从而实现对地目标的检测和识别。经典的模式识别方法主要分为几个环节:特征描述、特征提取、特征分类、边缘检测、轮廓提取、轮廓匹配、图像分割等,在每一个环节都有很多成熟的方法。当前比较常见的处理策略是将这些成熟的算法相互结合,比如当前一种比较先进的行人检测方法就是HOG特征与SVM方法的结合[3]。

深度学习理论的提出为目标检测和识别提供了新的思路,当前较为先进的几种基于卷积神经网络和深度学习的算法比如RCNN[4]、Faster RCNN[5]、YOLO[6]、SSD[7]等算法在检测的准确率和速度上都取得了传统目标识别方法难以实现的进步,并且可以在一定程度上与人类相媲美。然而深度学习算法的一个特点是需要大量的数据,但是对于无人机应用的某些领域,比如一些罕见目标的识别、罪犯的追捕等,大量的数据是很难获取的,这使得基于传统的深度学习的目标识别方法的效果不尽理想。因此,本文主要针对无人机在小样本条件下的识别问题进行研究。

2006年李飞飞提出了小样本学习的概念[2],引起了大家对于小样本学习领域的关注。之后越来越多的科研工作者加入了这一领域,为小样本识别问题提出了很多思路和实现方法。基于度量学习的思想,孪生网络(Siamese Neural Networks)[8]和匹配网络(Matching Networks)[9]先后被提出,该类方法通过学习图像空间到特征空间的映射,从而度量训练样本与测试样本之间的相似度,实现小样本物体的识别。同时,为了使模型在较少的迭代次数中得到比较好的训练效果,从而“学会学习”,人们提出了元学习[10]的思想,这一思想在小样本学习领域的经典应用为Model-Agnostic Meta-Learning(MAML)模型[11]。MAML通过前期对模型“元学习者”的训练使得模型保持一个比较好的初始参数,之后通过极少量的样本,能够很快地迭代到合适的参数范围。

迁移学习放宽了训练数据必须与测试数据独立分布的假设,从一定程度上解决了部分领域样本不足、标注困难等问题,这启发我们利用迁移学习来解决小样本识别的问题。根据这一思想,Liu 等将迁移学习的思想与元学习理论相结合提出了Meta Transfer Learning(MTL)模型[12],该模型首先训练出分类器模型,之后通过迁移学习的方式将学习到的信息应用到小样本识别模型中,在训练的速度和精确度方面都有了很大的提高。

MTL 模型在miniImagenet 数据集上取得了较好的表现,但是要将该方法应用于无人机领域仍旧存在着一些问题。考虑到无人机所能搭载的计算资源有限,而MTL模型的计算量很大,参数极多,本文对MTL 模型进行简化,降低参数的数量,提高了运行效率,使得该模型可以应用于无人机领域。

本文改进了一种基于元学习和迁移学习的思想的无人机目标识别方法,通过对学习者和元学习者的训练使得模型在未知任务中仅利用较少量的样本便能够实现地面目标的识别。引入迁移学习的思想对模型进行预训练,提高了模型的训练效率。并且对模型的结构进行简化,减少了模型的训练参数和计算量,使其可以应用于无人机领域。

利用当前较为常用的小样本识别数据集Omniglot对本文的方法与当前较为先进的小样本识别方法进行比较,利用无人机实际飞行过程中采集到的图像对本文的模型进行评估,分析本文方法的优缺点。本文的模型只需要利用miniImageNet数据集进行训练,之后可直接应用于无人机实拍数据的识别任务中,具有良好的迁移性能。

2 基于元学习和迁移学习的小样本识别方法

人类之所以能够快速学习的关键是人类具备学会学习的能力,能够充分的利用以往的知识经验来指导新任务的学习。因此,本文采用基于元学习与迁移学习的小样本学习方法,大大提高了小样本目标识别的效率和正确率。本文模型的核心思想就是让人工智能自己学会思考,学会推理,从而具有学习的能力。通过在已知任务环境中对模型进行训练,使模型获得在不可见任务中的识别能力,同时借鉴迁移学习的思想,对模型进行预训练,提高模型的训练效率。整个模型主要分为预学习、元学习、测试几个部分,如图2所示。

图2 基于元学习和迁移学习的样本识别方法Fig.2 Few shot learning method based on transfer learning and meta learning

2.1 预训练

大多数模型在开始训练时的参数都是随机初始化产生的,这使得模型需要同时训练大量的参数从而得到较好的结果。但是小样本识别模型中的很大一部分参数都属于特征提取部分,所以我们借鉴迁移学习的思想,加入预训练过程,通过预训练一个分类器模型得到模型特征提取部分的权重参数并将其固定,之后将这些参数应用到后续的元学习模型中,这样在训练时可以针对小样本识别方面进行参数学习,而不需要考虑特征提取部分的学习。

我们设计了一个由卷积层、池化层和全连接层的分类器模型,首先对模型参数进行初始化,特征提取部分的参数定义为Θ,表示卷积层的参数;分类器部分的参数定义为θ,表示全连接层的参数。之后利用训练集D内的所有数据对分类器模型进行训练,利用梯度下降法对参数进行优化,如式(1)所示:

其中α代表学习率,L代表误差,如式(2)所示:

经过优化,模型在这一部分学习到了特征提取参数Θ,这一参数将会被保存且固定,用于下一部分的元学习过程。而用于分类的参数θ则将会被舍弃。

2.2 元学习

利用上一阶段保存的特征提取层参数,设计一系列的小样本训练任务,对模型进行训练。在整个模型学习过程中,模型在元训练集中学习不同的任务,在该过程中存在两种优化[8]:学习新任务的学习者和训练学习者的元学习者。在每个训练回合中,会有一系列任务,学习者针对每一个任务进行迭代,元学习者利用这些任务中学习者的迭代梯度更新自己的梯度。通过优化,我们得到一组能够快速适应新任务的参数,在面对新任务时,这些参数只需要利用少量的样本进行较少次数的梯度迭代,就能具有良好的表现。同时考虑到目标存在着位置和尺度的变化,引入形状变化参数ΦS1和ΦS2,将其加入到神经网络中,对卷积层的权重和偏置进行调整,调整过程如式(3)所示:

首先,我们随机采样一系列小样本学习任务,并对形状变化参数ΦS1和ΦS2进行初始化,同时重新初始化全连接层的参数θ,因为此部分的训练任务为小样本学习任务,所对应的类别数也与预训练部分不同。

对于每一个任务Ti,我们从训练数据集和测试数据集分别采样任务Ttrain和Ttest,利用Ttrain任务中的样本进行学习,并对参数θ′按照式(4)进行多次迭代。

其中θ′只是一个阶段性参数,它由上一个训练阶段的θ来初始化,当一个任务完成之后,θ、ΦS1和ΦS2将会依据最后一次得到的θ′参数进行更新,如式(5)、(6)所示

之后在Ttest任务中对模型进行测试,检验该回合训练的效果。经过多个任务的更新后,得到比较好的小样本识别模型的初始化参数。

2.3 测试

模型的测试部分在验证集上采样一系列的小样本识别任务作为验证任务Tval,将元训练部分得到的参数作为模型的初始化参数,利用少量的样本作为训练样本对参数进行微调,只需要较少的迭代次数即可在测试样本中达到较好的识别效果。

3 实验结果及对比分析

模型的测试部分在验证集上采样一系列的小样本识别任务作为验证任务Tval,将元训练部分得到的参数作为模型的初始化参数,利用少量的样本对参数进行微调,只需要较少的迭代次数即可达到较好的识别效果。

为了验证算法的有效性,我们首先将算法在公共数据集(Omniglot 数据集)上进行实验,并与经典的小样本识别算法进行比较,分析本文方法的优缺点。

同时为了更好地验证本文算法在无人机实际应用中的识别效果,我们利用无人机实际飞行过程中拍摄的照片作为样本,对本文模型进行测试和对比分析,从而为未来的实际飞行应用奠定基础。

3.1 公共数据集上的算法测试

为了更好地对本文算法与其他算法进行性能对比,我们选择小样本学习领域比较经典的Omniglot数据集进行实验。

Omniglot 数据集[13]是一个由1623 个手写字母组成的数据集,这些手写字母来自于50 个字母表,每一个字母表包含的字母数不等。每一个字母只包含20个样本,由20个不同的人手写完成,是当前小样本识别领域比较具有代表性的数据集之一。本文选择160类作为元训练集,选择60类作为元测试集,选择80类作为验证集。

为了提高算法测试结果的准确性,我们采取多次实验取平均值的方法进行验证。测试过程中在验证集随机产生20000 个分类任务,模型在每个任务中进行50 次迭代,我们以5 ways 1 shot 任务(5 类任务,每类包含1 个样本)和5 ways 5 shot 任务(5 类任务,每类包含5 个样本)为例,选择20000 次任务的平均正确率绘制迭代过程的平均正确率变化如图3和图4所示。

图3 单样本3分类正确率变化图Fig.3 Accuracy for 5 ways 1 shot

图4 单样本3分类正确率变化图Fig.4 Accuracy for 5 ways 5 shot

由图3 和图4 可以看出,本文模型只需要较小的数据量,经过数次迭代即可达到较高的正确率,逐渐接近于人类水平。

同时为了比较本文算法的性能,我们利用比较经典的孪生网络模型[8]进行对比实验,并选取最近邻方法的结果作为参考,测试结果如表1所示。

表1 Omniglot数据集测试结果Table1 Result in Omniglot

由表1 可以看出,我们的模型在面对未知任务时,只需要利用较少量的样本经过较少次数的迭代,即可达到较高的识别正确率,与经典的孪生网络模型相比较也有较大的优势,尤其是当分类数目比较多时,本文算法的优势更为明显,这是因为孪生网络模型是以度量学习为主要依据的算法,而当分类数目较多时,很难学习出适应所有类别的度量映射,类别之间的分类也更加困难。本文算法能够学习一个具有较强泛化能力的模型,在样本数目变大时仍能具有良好的表现。

另外,为了对预训练步骤的效果进行评估,我们对MAML模型和本文改进后的模型在元学习过程中正确率的变化过程进行对比,以Omniglot 数据集为例,在5 ways 5 shot条件下绘制正确率变化图像如图5 和图6 所示,其中MAML 模型训练次数为60000次,本文模型训练15000次,为了保持坐标轴的一致性,只绘制MAML模型的前15000次迭代进行比较

图5 MAML训练过程正确率变化Fig.5 Training accuracy for MAML

图6 本文模型训练过程正确率变化Fig.6 Training accuracy for our model

由图5和图6对比可以看出,MAML模型的初始正确率在0.5左右,而本文模型的初始正确率在0.8左右,所以与MAML 模型相比,加入预训练环节的模型具有较高的初始正确率,这是由于预训练的过程学习到的特征提取参数能够帮助模型更快的适应于新的任务,说明预训练环节具有一定的效果,能够加快训练速度,节省训练时间。

3.2 无人机采集的图片数据集上的算法测试

为了验证本文算法的有效性,我们选取无人机实际拍摄的图像进行识别。由于真实场景中适用于分类的目标较少,所以我们制作了“飞机”、“舰艇”、“装甲车”三类模型,其中装甲车包括棕色和绿色。并且利用无人机在不同的高度和角度进行拍摄,拍摄的数据如图7所示。

图7 无人机采集的模型图片Fig.7 Pictures taken by drones

为了更好地验证本文模型的泛化能力,我们利用miniImageNet 数据集进行预训练和元学习,只在测试环节使用我们采集的真实样本,实验分为3 ways 1 shot和3 ways 5 shot两种,即每次测试任务每一类样本都只有1张或者5张无人机真实采集的图像作为已知样本,其余的训练过程的样本均来自于公开的miniImageNet 数据集。测试共进行20000次,每次迭代50 次,同时我们仍旧选择最近邻方法作为参考,最终的正确率如表2所示。

表2 无人机采集的样本中的分类正确率Table.2 Accuracy using pictures taken by drones

同时绘制测试过程中的正确率曲线变化如图8和图9所示。

图8 单样本3分类正确率变化图Fig.8 Accuracy for 3 ways 1 shot

图9 5样本3分类正确率变化图Fig.9 Accuracy for 3 ways 5 shot

由表2 和图8、图9 可以看出,本文的模型具有良好的迁移学习能力和泛化能力,在训练过程可以借助公开数据集进行训练,只需要在测试过程中每类给与一个或几个样本,即可得到较好的分类效果。

4 结 论

本文针对无人机的小样本识别问题提出了一种基于元学习和迁移学习的解决方案。该方法先通过训练一个分类器模型得到一个特征提取器,之后又利用元学习的思想在一系列任务中训练“学习者”和“元学习者”,从而得到一组泛化性能比较好的模型参数,在面对未知问题时,这些参数能够利用少量样本训练出识别模型。

之后在小样本识别领域较为常用的公开数据集上进行测试,并与当前较为典型的小样本识别算法进行比较,从而验证本文算法的效果。为了验证本文算法在无人机实际飞行过程中的效果,我们利用无人机实际飞行过程中采集到的飞机、舰艇、装甲车图片作为测试集,对本文算法进行测试和分析,为该算法在无人机上的实际应用奠定基础。

总体来说,本文算法在实验中取得了较好的效果。在公开数据集中,我们的算法只需要几个样本,经过较少次数的迭代即可达到较高的识别正确率。而在真实的应用场景中,我们使用miniImageNet数据集训练得到的模型可以直接用于无人机采集的实际数据识别任务,说明本文的模型具有一定的泛化能力。未来我们将对算法进行进一步的改进,利用贝叶斯理论对模型的梯度迭代过程进行修正,同时也将对模型的特征提取网络进行进一步的分析和优化。

猜你喜欢

正确率学习者样本
个性化护理干预对提高住院患者留取痰标本正确率的影响
用样本估计总体复习点拨
你是哪种类型的学习者
十二星座是什么类型的学习者
青年干部要当好新思想的学习者、宣讲者、践行者
规划·样本
基于两种LSTM结构的文本情感分析
随机微分方程的样本Lyapunov二次型估计
生意
生意