«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (3): 77-82  DOI: 10.19678/j.issn.1000-3428.0056634
0

引用本文  

叶萌, 杨娟, 汪荣贵, 等. 基于特征聚合网络的小样本学习方法[J]. 计算机工程, 2021, 47(3), 77-82. DOI: 10.19678/j.issn.1000-3428.0056634.
YE Meng, YANG Juan, WANG Ronggui, et al. Small Sample Learning Method Based on Feature Aggregation Network[J]. Computer Engineering, 2021, 47(3), 77-82. DOI: 10.19678/j.issn.1000-3428.0056634.

基金项目

国家自然科学基金"基于视听信息融合的情感机器人情感识别与情感建模研究"(61672202)

作者简介

叶萌(1996-), 男, 硕士研究生, 主研方向为模式识别;
杨娟, 博士;
汪荣贵, 教授;
薛丽霞, 副教授;
李懂, 硕士研究生

文章历史

收稿日期:2019-11-18
修回日期:2020-02-08
基于特征聚合网络的小样本学习方法
叶萌 , 杨娟 , 汪荣贵 , 薛丽霞 , 李懂     
合肥工业大学 计算机与信息学院, 合肥 230601
摘要:针对深度学习中使用少量样本完成模型训练的小样本学习问题,构建一种双路的特征聚合网络,并提出一种新的综合损失函数对网络模型的参数更新过程加以控制。通过综合损失函数,特征聚合网络可将样本映射到更具代表性的特征空间中,从而获得更优的特征分布。实验结果表明,与MN、PN等方法相比,该特征聚合网络能有效降低特征空间的复杂性,提升整体模型的分类效果。
关键词深度学习    小样本学习    特征提取    度量学习    特征聚合    
Small Sample Learning Method Based on Feature Aggregation Network
YE Meng , YANG Juan , WANG Ronggui , XUE Lixia , LI Dong     
School of Computer and Information, Hefei University of Technology, Hefei 230601, China
Abstract: To use a small number of samples to complete the model training in deep learning, this paper proposes a two-way feature aggregation network and gives a new comprehensive loss function to control the parameter update process of the model.By integrating the loss function, the feature aggregation network can map the sample to a more representative feature space, thereby obtaining a better feature distribution.Experimental results show that compared with MN, PN and other methods, this feature aggregation network can effectively reduce the complexity of the feature space and improve the classification effect of the overall model.
Key words: deep learning    small sample learning    feature extraction    measure learning    feature aggregation    
0 概述

自深度学习[1]技术被提出以来,增加神经网络模型深度[2-3]从而使得模型具有更强的学习能力成为人工智能领域的热点研究[4-6],但在构建大容量模型时需要使用海量的训练样本,因此在样本获取、标注等工作上耗费大量的人工成本。小样本学习[7]研究的主要目的在于赋予深度学习模型从少量新事物中快速学习抽象概念的能力,并在遇见同类事物时能够快速对比重要信息从而做出正确判断。具体而言,小样本学习任务的目标是在少量待测试类别样本参与模型训练的情况下构建性能优异的分类器。针对小样本学习问题,基于距离度量的小样本学习方法易于实现,并且效果显著,目前已成为小样本学习领域的一个重要研究方向。此外,基于迁移学习的小样本学习方法、基于数据增强的小样本学习方法和基于元学习的小样本学习方法也是小样本学习领域的常用方法。

基于迁移学习的小样本学习方法利用训练样本对模型进行预训练,并运用有限的测试集样本对模型参数进行调整从而完成从源域到目标域的迁移。文献[8]利用内积度量的边际Fisher准则对源域进行特征映射,并对源域中的样本点进行筛选,在核化空间上学习目标域与源域特征的非线性映射,最终在目标域中构建小样本分类器,该方法取得了一定的实际应用效果。此类学习方法与快速学习的流程一致,都是在经验信息的基础上通过学习获得对指定类别的泛化判别能力,但实际实验结果证明,深度学习模型在迁移过程中极易遗忘过往的经验信息,在进行参数迁移时往往会出现严重的过拟合现象,因此直接使用迁移学习方法难以有效解决小样本学习问题。基于数据增强的小样本学习方法则从样本量角度出发,生成虚拟样本或借取真实样本对训练样本集进行扩充。文献[9]从未标注的样本集中借取样本从而实现数据增强。文献[10]通过带有注意力机制的生成对抗网络(GAN)生成一些虚拟样本实现了数据增强。虽然这些方法对模型的最终性能有着积极影响,但仍然存在不可忽视的缺陷,虚拟样本或借取的真实样本分布与训练样本集的分布总存在一定差异,难以保证数据增强的有效性。相较于迁移学习方法和数据增强方法,元学习方法试图根据现有数据学习更高级的问题解决策略。文献[11]提出直接使用梯度优化算法训练小样本学习模型往往难以获得最优的模型参数,但长短时记忆(LSTM)网络[12]的计算形式与梯度优化算法的计算形式类似,因此可将LSTM模型作为元学习器,并代替优化算法参与模型训练过程。文献[13]认为构建一个具有较强泛化能力的模型,本质上是在寻找一个可以应用于许多任务的特征空间,基于这一思想所提出的模型无关元学习方法,可以通过少量样本完成对其参数的有效更新,从而保证该方法的强大泛化性能。上述方法均说明了元学习方法的有效性,但同时也说明此类方法的模型结构或计算方法往往较为复杂。

基于距离度量的小样本学习方法多在特征空间中分析样本之间的分布规律,根据同类样本所对应的特征向量分布相近、不同类别样本的特征向量分布较远这一简单假设完成对样本类别的判定。此类方法简单易行,且所使用的分类模型为无参数模型,因此距离度量方法能够快速应用于新的样本类别判断过程。目前,基于距离度量的小样本学习研究成果显著,文献[14]提出一种具有两路对称结构的网络模型,该网络共享上下两路权值,分别完成对带标注样本和无标签样本从样本空间到同一嵌入空间的映射,在求得特征向量后便可通过距离度量方式确定未标注样本,最后使用正则化的交叉熵损失函数完成对模型参数的训练。文献[15]提出的匹配网络模型在求解特征空间过程中加入了注意力机制,并给出episode训练策略来统一模型训练过程和测试过程,即在训练和测试过程中模型都根据带有标签的样本对未标注样本类别进行预测,相似的训练和测试流程使得该方法具备一定的泛化能力。文献[16]则认为特征空间中的每一类样本都应存在一个原型表示,而在合适的特征空间中同类样本应分布于该类别的原型附近,基于这一思想所构建的原型网络直接使用带标签样本特征向量的均值向量作为真实原型的近似,并通过比较待测试样本特征向量与各近似原型之间的距离完成分类。

由于基于距离度量的小样本学习方法均在特征空间中对样本特征分布关系进行分析,因此特征空间的质量与模型最终效果关联密切。为减小样本特征之间的类内距离,降低对样本类别预测的难度,本文构建一种具有双路结构的特征聚合网络,并提出一种综合损失函数。结合综合损失函数,具有双路网络结构的特征聚合网络可将样本映射到同类样本特征更为聚集的特征空间中,以提升样本类别的分类效果。

1 问题描述与训练方法

目前小样本学习任务一般特指小样本分类任务,此类任务要求使用类别集合为$ {C}_{\mathrm{b}\mathrm{a}\mathrm{s}\mathrm{e}} $的基础数据集$ {S}_{\mathrm{b}\mathrm{a}\mathrm{s}\mathrm{e}} $和少量新数据集$ {S}_{\mathrm{n}\mathrm{o}\mathrm{v}\mathrm{e}\mathrm{l}} $中的样本构建模型$ {f}_{\widehat{\theta }} $,从而使得模型$ {f}_{\widehat{\theta }} $能够准确预测类别集合为$ {C}_{\mathrm{n}\mathrm{o}\mathrm{v}\mathrm{e}\mathrm{l}} $的新数据集$ {S}_{\mathrm{n}\mathrm{o}\mathrm{v}\mathrm{e}\mathrm{l}} $中的样本类别,其中$ {C}_{\mathrm{b}\mathrm{a}\mathrm{s}\mathrm{e}}\bigcap {C}_{\mathrm{n}\mathrm{o}\mathrm{v}\mathrm{e}\mathrm{l}}=\mathrm{\varnothing } $。若在模型新数据集$ {S}_{\mathrm{n}\mathrm{o}\mathrm{v}\mathrm{e}\mathrm{l}} $中每个类别有$ n $个样本参与模型构建过程以解决$ k $分类问题,则这一小样本学习任务称为$ k-\mathrm{w}\mathrm{a}\mathrm{y}\;n-\mathrm{s}\mathrm{h}\mathrm{o}\mathrm{t} $学习任务。

本文方法采用episode训练策略[15]构建模型从而解决上述小样本分类问题。对于$ k-\mathrm{w}\mathrm{a}\mathrm{y}\;n-\mathrm{s}\mathrm{h}\mathrm{o}\mathrm{t} $学习任务,在每一轮训练过程中首先从$ {C}_{\mathrm{b}\mathrm{a}\mathrm{s}\mathrm{e}} $中随机选定$ t $个类别,再从每个选中类别中分别随机选择$ n $个样本对组成支持集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}}=\left\{\left({X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i}, {y}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i}\right)\right. $ $ \left.\left\{i=|\mathrm{1, 2}, \cdots , t\times n\right\}\right\} $,并从每个选中类别中分别随机选择$ m $个样本对组成查询集$ {S}_{\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}}=\left\{\left({X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i}, {y}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i}\right)\right. $ $ \left.\left\{i=|\mathrm{1, 2}, \cdots , t\times m\right\}\right\} $。在支持集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} $的样本输入模型中,经过前向计算可得出模型对样本类别的预测值,对比样本的真实标签与样本类别的预测值即可确定损失函数的具体取值。为使得损失函数取得最小值,本文选择Adam优化算法[17]对模型进行优化。具体来说,每次通过前向计算确定损失函数的具体取值后,可结合Adam优化算法完成一次模型参数更新,重复这一过程直至满足特定条件即可求得最终模型$ {f}_{\widehat{\theta }} $。在测试阶段首先使用与训练阶段相同的方式抽取支持集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{e}\mathrm{s}\mathrm{t}}=\left\{({X}_{\mathrm{T}\mathrm{e}\mathrm{s}\mathrm{t}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i}, {y}_{\mathrm{T}\mathrm{e}\mathrm{s}\mathrm{t}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i}\right.\left)\right|i=\left.\mathrm{1, 2}, \cdots , k\times \underset{}{n}\right\} $和查询集$ {S}_{\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{\mathrm{t}\mathrm{e}\mathrm{s}\mathrm{t}}=\left\{{X}_{\mathrm{T}\mathrm{e}\mathrm{s}\mathrm{t}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i}|i=\right.\mathrm{1, 2}, \cdots , k\times \left.\underset{}{m}\right\} $,然后通过最终模型$ {f}_{\widehat{\theta }} $对支持集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{e}\mathrm{s}\mathrm{t}} $中的样本进行计算确定类别表示,并根据该组类表示对查询集$ {S}_{\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{\mathrm{t}\mathrm{e}\mathrm{s}\mathrm{t}} $中的样本类别进行判别。在确定了支持集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} $和查询集$ {S}_{\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} $后,首先将支持集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} $中的样本输入特征聚合网络从而获得样本对应的特征向量,然后计算各类样本的均值向量并将其作为各个类别的类表示向量。在确定类表示后,将查询集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} $中的样本输入特征聚合网络获得对应的特征向量,并逐一比较各查询集样本特征向量与各类表示向量之间的欧式距离从而对样本进行分类。最后通过对比分类结果与样本真实标签之间的差异,确定损失函数取值并利用反向传播算法完成参数更新。

2 特征聚合网络

基于距离度量的小样本学习方法[15-16]采用四层卷积块结构网络进行特征提取,但由于此类特征提取器结构较为简单,在面对miniImageNet、Cifar-100等复杂数据集时,该模型往往难以寻找到合适的非线性映射方式,因此采用此类特征提取器的方法在实际应用中难以取得理想效果。从度量学习角度出发,在一个好的特征空间中同类样本之间的距离应该较小,而不同类别样本之间距离应该较大,基于这一简单原理,本文尝试构建特征聚合网络用于特征提取。特征聚合网络由上下两个网络通路组成,其中一路用于学习样本的特征表示,另一路则用于拟合样本与当前类表示之间的偏差,该网络最终输出的特征向量为样本的特征向量与偏差向量之差。

考虑到小样本学习问题中数据分布的复杂性,为更好地通过学习获得较好的特征分布,特征聚合网络中的特征提取通路应当具有强大的非线性映射能力。实验结果证明,层数越深、参数越多的网络模型通常具有更强的非线性映射能力[1],文献[5]提出的深度残差网络在实际任务中表现出了其强大的拟合能力,因此,本文沿用了resnet18的主体结构作为特征聚合网络中的特征提取通路,但依次将每两个残差块中的卷积核数目调整为16、32、64、256并使用核大小的4×4步长为1的平均池化方式代替全连接层之前的全局平均池化方式,从而保留更多的信息以供后续计算,全连接层节点数目设置为1 600,即特征提取通路的最终输出为1 600维的特征向量。相比于特征提取通路而言,偏差拟合通路的任务难度较为简单,因此此处采用四层卷积块结构网络作为偏差拟合通路。具体来说,对于单个卷积块,其中第一层为卷积层,卷积核大小为3×3,卷积步长为1,进行一圈0填充(padding=1);卷积层输出的特征图经过ReLU激活后再进行步长为2的最大值池化,得到该卷积块的最终输出。本文的偏差拟合通路由4个卷积块堆叠而成,4个卷积块中的卷积核数目分别设置为16、16、16、64。此处将最终所得到的64×5×5大小的特征图直接展开以获得1 600维的偏差拟合向量。使用特征聚合网络作为特征提取器时的整体模型结构如图 1所示。特征聚合网络由两路结构组成,图 1中的上半部分网络结构为特征提取通路,用于学习样本分布,下半部分网络结构为偏差拟合通路,用于学习样本特征到更优特征空间的偏差分布。结合上下两个通路所学得的信息可将样本的特征向量向当前类表示向量进行偏移,从而得到类内距离更小、类间距离更大的样本特征分布,最后逐一对比查询样本与类表示之间的欧式距离完成分类。

Download:
图 1 本文整体模型结构 Fig. 1 Whole model structure of this paper

在模型训练过程中,假设选定的支持集为$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}}=\left\{\left({X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i}, {y}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i}\right)|i=\mathrm{1, 2}, \cdots , t\times n\right\} $,查询集为$ {S}_{\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}}=\left\{\left({X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i}, {y}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i}\right)|i=\mathrm{1, 2}, \cdots , t\times m\right\} $,则特征聚合网络首先根据支持集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} $确定类表示,再通过查询集$ {S}_{\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} $确定损失函数取值并结合反向传播算法和优化算法实现参数更新。

在利用支持集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} $确定类表示时,首先使用特征提取通路$ {F}_{\mathrm{f}\mathrm{e}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{r}\mathrm{e}} $对支持集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} $中任意图像样本$ {X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i} $进行特征提取,完成从样本空间到特征空间的映射从而获得其特征向量$ \mathit{\boldsymbol{f}}_{i}^{F\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}={F}_{\mathrm{f}\mathrm{e}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{r}\mathrm{e}}\left({X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i}\right) $,然后根据支持集特征向量估计类原型,此处以原型网络取各类支持集样本的均值向量作为各类原型的计算方式为例,则类别标签为$ {y}_{k} $的类别原型估计为:

$ \mathit{\boldsymbol{\hat \mu }}_k^F = \frac{1}{n}\sum\limits_{_{\begin{array}{*{20}{c}} {\left( {f_i^{F\_{\rm{support}}}, y_{{\rm{Train}}\_{\rm{support}}}^i} \right) \in }\\ {S_{{\rm{Train}}\_{\rm{support}}\_F}^k} \end{array}}} {\mathit{\boldsymbol{f}}_i^{F\_{\rm{support}}}} $ (1)

其中,$ {S}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}\_F}^{k}=\left\{\left(\mathit{\boldsymbol{f}}_i^{F\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}, {y}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i}\right)|{y}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i}={y}_{k}\right\} $,通过上述步骤可确定全部参与训练的$ t $个类别所对应的原型估计$ {\mathit{\boldsymbol{\hat \mu }}}_{1}^{F}, {\mathit{\boldsymbol{\hat \mu }}}_{2}^{F}, \cdots , {\mathit{\boldsymbol{\hat \mu }}}_{t}^{F} $,该组原型估计将在后续过程中用于确定偏差向量。

为使得同类样本的特征向量分布更加紧凑,需将特征向量向对应类别的原型估计进行定向偏移,此处使用偏差拟合通路$ {F}_{\mathrm{b}\mathrm{i}\mathrm{a}\mathrm{s}} $估计支持集$ {S}_{\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}} $中任意图像样本与其对应的类别原型$ \mathit{\boldsymbol{\widehat \mu }}_{k} $之间的偏差,对于图像样本$ {X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i} $,其偏差向量估计为:

$ \mathit{\boldsymbol{\widehat b}}_{i}^{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}={F}_{\mathrm{b}\mathrm{i}\mathrm{a}\mathrm{s}}\left({X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i}\right) $ (2)

为将特征向量向原型估计$ \mathit{\boldsymbol{\widehat \mu }}_{k} $进行偏移,此处设置特征聚合网络$ {F}_{\mathrm{F}\mathrm{A}\mathrm{N}} $对样本的输出为特征提取通路$ {F}_{\mathrm{f}\mathrm{e}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{r}\mathrm{e}} $与偏差拟合通路$ {F}_{\mathrm{b}\mathrm{i}\mathrm{a}\mathrm{s}} $的输出之差,因此特征聚合网络$ {F}_{\mathrm{F}\mathrm{A}\mathrm{N}} $对样本$ {X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{s}\mathrm{u}\mathrm{p}\mathrm{p}\mathrm{o}\mathrm{r}\mathrm{t}}^{i} $的最终输出为:

$ \mathit{\boldsymbol{f}}_i^{{\rm{FA}}{{\rm{N}}_{{\rm{support}}}}} = {F_{{\rm{FAN}}}}\left( {X_{{\rm{Trai}}{{\rm{n}}_{{\rm{support}}}}}^i} \right) = \mathit{\boldsymbol{f}}_i^{{\rm{F}}\_{\rm{support}}} - \mathit{\boldsymbol{\widehat b}}_i^{{\rm{Train}}\_{\rm{support}}}$ (3)

通过特征聚合网络对支持集中所有样本进行特征提取后,可取各类样本特征向量的均值作为新的原型估计,类别标签为$ {y}_{k} $的类别原型估计为:

$ \mathit{\boldsymbol{\widehat \mu }}_k^{{\rm{FAN}}} = \frac{1}{n}\sum\limits_{_{\begin{array}{*{20}{c}} {\left( {\mathit{\boldsymbol{f}}_i^{{\rm{FAN}}\_{\rm{support}}}, y_{{\rm{Train}}\_{\rm{support}}}^i} \right) \in }\\ {S_{{\rm{Train}}\_{\rm{support}}\_{\rm{FAN}}}^k} \end{array}}} {\mathit{\boldsymbol{f}}_i^{{\rm{FAN}}\_{\rm{support}}}} $ (4)

其中,$S_{{\rm{Train}}\_{\rm{support}}\_F}^k = \left\{ {\left( {\mathit{\boldsymbol{f}}_i^{{\rm{FAN}}\_{\rm{support}}}, y_{{\rm{Train}}\_{\rm{support}}}^i} \right)|y_{{\rm{Train}}\_{\rm{support}}}^i = {y_k}} \right\}$,通过上述步骤可确定全部参与训练的$ t $个类别所对应的经过定向偏移后的原型估计$\mathit{\boldsymbol{\widehat \mu }}_1^{{\rm{FAN}}}, \mathit{\boldsymbol{\widehat \mu }}_2^{{\rm{FAN}}}, \cdots , \mathit{\boldsymbol{\widehat \mu }}_t^{{\rm{FAN}}}$,该组原型估计值将用于距离度量分类过程。

根据支持集确定原型估计后,便可使用度量学习方式对查询集$ {S}_{\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}}=\left\{({X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i}, {y}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i})|i=\right.\mathrm{1, 2}, \cdots , t\times \left.\underset{}{m}\right\} $中的图像样本类别进行预测,并根据最终预测结果确定用于模型优化的目标函数。具体来说,对于查询集中任意图像样本$ {X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i} $,首先使用特征聚合网络$ {F}_{\mathrm{F}\mathrm{A}\mathrm{N}} $提取其特征向量:

$\begin{array}{*{20}{l}} {\mathit{\boldsymbol{f}}_i^{{\rm{FA}}{{\rm{N}}_{{\rm{query}}}}} = {F_{{\rm{FAN}}}}\left( {X_{{\rm{Trai}}{{\rm{n}}_{{\rm{query}}}}}^i} \right) = }\\ {{F_{{\rm{feature}}}}\left( {X_{{\rm{Trai}}{{\rm{n}}_{{\rm{query}}}}}^i} \right) - {F_{{\rm{bias}}}}\left( {X_{{\rm{Train}}\_{\rm{query}}}^i} \right)} \end{array}$ (5)

然后可逐一计算该特征向量与经过定向偏移后的原型估计$\mathit{\boldsymbol{\widehat \mu }}_1^{{\rm{FAN}}}, \mathit{\boldsymbol{\widehat \mu }}_2^{{\rm{FAN}}}, \cdots , \mathit{\boldsymbol{\widehat \mu }}_t^{{\rm{FAN}}}$之间的欧式距离,并取距离最小的原型估计所对应的类别作为对样本$ {X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i} $最终的分类结果。

3 综合损失函数

为确保特征偏移的有效性和网络最终的分类效果,本文考虑在损失函数中分别对偏差拟合通路输出以及整个模型最终的分类效果进行惩罚,并通过对查询集样本进行前向计算确定损失函数的具体取值,从而对网络参数进行更新。为保证特征偏移的有效性,本文使用均方误差损失限制偏差拟合通路$ {F}_{\mathrm{b}\mathrm{i}\mathrm{a}\mathrm{s}} $的输出,接近于通过特征提取通路$ {F}_{\mathrm{f}\mathrm{e}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{r}\mathrm{e}} $所提取的特征向量与对应类别原型之间的偏差,为保证整个模型的分类效果,本文使用交叉熵损失函数限制模型的最终分类结果与样本真实标签相同,为减轻网络的过拟合现象,本文在损失函数中添加了$ \mathrm{L}2 $正则化项。对于查询集$ {S}_{\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{\mathrm{t}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}}=\left\{\right({X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i}, {y}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i}\left)\right|i=\mathrm{1, 2}, \cdots , t\times m\} $,损失函数的具体形式为:

$ \begin{array}{l} J\left( \mathit{\boldsymbol{\theta }} \right) = - \frac{1}{{t \times m}}\sum\limits_{i = 1}^{t \times m} {\sum\limits_{k = 1}^t I } \left( {y_{{\rm{Train}}\_{\rm{query}}}^i, {y_k}} \right) \times {\rm{lb}}\frac{{{{\rm{e}}^{ - d\left( {\mathit{\boldsymbol{f}}_i^{{\rm{FA}}{{\rm{N}}_{{\rm{query}}}}}, \mathit{\boldsymbol{\widehat \mu }}_k^{{\rm{FAN}}}} \right)}}}}{{\sum\limits_{j = 1}^t {{{\rm{e}}^{ - d\left( {\mathit{\boldsymbol{f}}_i^{{\rm{FA}}{{\rm{N}}_{{\rm{query}}}}}, \mathit{\boldsymbol{\widehat \mu }}_j^{{\rm{FAN}}}} \right)}}} }} + \\ \frac{1}{{t \times m}}\sum\limits_{k = 1}^t {\sum\limits_{_{\begin{array}{*{20}{c}} {\left( {\mathit{\boldsymbol{f}}_i^{{F_{{\rm{query}}}}}, y_{{\rm{Train}}\_{\rm{query}}}^i} \right) \in }\\ {S_{{\rm{Train}}\_{\rm{query}}\_F}^k} \end{array}}} {{{\left[ {\mathit{\boldsymbol{\widehat b}}_i^{{\rm{Train}}\_{\rm{query}}} - \left( {\mathit{\boldsymbol{f}}_i^{{F_{{\rm{query}}}}} - \mathit{\boldsymbol{\widehat \mu }}_k^F} \right)} \right]}^2} + \frac{\alpha }{2}\left\| \mathit{\boldsymbol{\theta }} \right\|_2^2} } \end{array} $ (6)

其中$\mathit{\boldsymbol{\theta }}$为特征聚合网络的参数向量,$ I(A, B) $$ A=B $时取$ 1 $,否则取值为$ 0 $$ d\left( {\mathit{\boldsymbol{a}}, \mathit{\boldsymbol{b}}} \right) $为向量$ \mathit{\boldsymbol{a}}$$ \mathit{\boldsymbol{b}} $之间的欧式距离,$ {S}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}\_F}^{k}=\left\{\left({\mathit{\boldsymbol{f}}}_{i}^{F\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}, {y}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i}\right)|{y}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i}={y}_{k}\right\} $$ \alpha $为正则化系数,其余表示规则与上文相同。通过优化上述目标函数并利用反向传播算法便可完成参数更新。

若仅使用均方误差项对偏差拟合通路的参数更新过程进行限制,由于目标函数要求偏差拟合通路$ {F}_{\mathrm{b}\mathrm{i}\mathrm{a}\mathrm{s}} $对样本$ {X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i} $的输出$ \mathit{\boldsymbol{\widehat b}}_{i}^{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}} $、特征提取通路$ {F}_{\mathrm{f}\mathrm{e}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{r}\mathrm{e}} $以及对样本$ {X}_{\mathrm{T}\mathrm{r}\mathrm{a}\mathrm{i}\mathrm{n}\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}}^{i} $的输出$ \mathit{\boldsymbol{f}}_{i}^{F\_\mathrm{q}\mathrm{u}\mathrm{e}\mathrm{r}\mathrm{y}} $,与该样本所属类别的原型估计$ \mathit{\boldsymbol{\widehat \mu }}_{k}^{F} $相近,因此在模型收敛时,对于任意样本$ X $有:

$ {F_{{\rm{bias}}}}\left( X \right) \approx {F_{{\rm{feature}}}}\left( X \right) - {\mathit{\boldsymbol{\widehat \mu }}^F} $ (7)

其中,$ {\mathit{\boldsymbol{\widehat \mu }}^F} $为通过特征提取通路$ {F}_{\mathrm{f}\mathrm{e}\mathrm{a}\mathrm{t}\mathrm{u}\mathrm{r}\mathrm{e}} $计算得到的$ X $所属类别的原型估计,而依据网络结构定义有特征聚合网络$ {F}_{\mathrm{F}\mathrm{A}\mathrm{N}} $对样本$ X $的输出为:

$ {\mathit{\boldsymbol{F}}_{{\rm{FAN}}}}\left( X \right) = {F_{{\rm{feature}}}}\left( X \right) - {F_{{\rm{bias}}}}\left( X \right) $ (8)

结合式(7)、式(8)有:

$ {\mathit{\boldsymbol{F}}_{{\rm{FAN}}}}\left( X \right) \approx {\mathit{\boldsymbol{\widehat \mu }}^F} $ (9)

在模型收敛的情况下,对于任意给定的样本X,通过特征聚合网络所提取到的特征向量${\mathit{\boldsymbol{F}}_{{\rm{FAN}}}}\left( X \right) $均分布于样本X所属类别的类原型估计${\mathit{\boldsymbol{\widehat \mu }}^F}$附近。但由于此处采用综合损失函数对整体模型参数更新过程加以限制,此时偏差拟合通路的参数更新过程同时受交叉熵损失项和均方误差损失项影响,这意味着偏差拟合通路的输出需在完成特征偏移的同时保证整体模型的性能。

4 实验结果与分析

在本文实验中,验证模型解决小样本学习能力和特征聚合特性的实验分别在miniImageNet [15]、Cifar-100[18]、Caltech-UCSD Birds 200-2011[19]和Caltech-256[20]4个数据集上完成。本文所有实验均在搭载NVIDIA GeForce GTX TITANX 12 GB显卡、Intel i7-6700处理器并具有16 GB运行内存的PC机上完成,采用PyTorch深度学习框架Windows版本实现。所有参与训练和测试的图像样本尺度都归一化为84×84大小,部分实验中从ImageNet数据集中抽取了ImageNet的样本对模型进行预训练,预训练样本均不包含在miniImageNet数据集中。

实验 1  本文所提出的特征聚合网络可将样本映射为类内分布更紧凑的特征向量,为验证这一理论,此处使用类内样本距离均值与类原型距离均值作为指标衡量模型性能。具体来说,假设测试过程中共进行q次采样,每次测试过程有p类,每类有r个测试样本,则在每次测试过程中,每个类别的类内样本特征向量之间共有r(r - 1)/2条无向边,因此在整个测试过程中共计有q×p×r(r - 1)/2条无向边。由于每条边的长度表示两个同类样本之间的欧式距离,因此可计算得到整个测试过程中所有同一采样过程中类内样本两两之间的欧式距离平均值dins,这一平均值可作为类内距离使用;同理,也可通过计算获得所有同一采样过程中类原型两两之间的欧式距离平均值douts,并使用该值度量特征空间中的类间距离。由于在一个好的特征空间中,特征向量的分布具有类内距离小、类间距离大的特性,因此可使用Ra = dins /douts作为衡量特征提取器性能的指标,当Ra越小时特征提取器性能越好。

本文由于本文方法是受原型网络思想启发而提出,并且方法流程与原型网络方法流程最为接近,因此性能对比选择原型网络实际效果作为基准线。此处所有数据均为5次测试结果的平均值,其中每次测试进行500次采样,查询集中共5类,每类样本数量为30。经测试得到5-way 1-shot和5-way 5-shot结果分别如表 1表 2所示。

下载CSV 表 1 5-way 1-shot测试结果 Table 1 5-way 1-shot test results
下载CSV 表 2 5-way 5-shot测试结果 Table 2 5-way 5-shot test results

由上述实验结果可知,无论是在5-way 1-shot任务还是5-way 5-shot任务中,所有使用特征聚合网络的具体方法在各个数据集上的Ra取值均小于原型网络在对应数据集上的Ra取值,并且所对应的分类正确率均高于原型网络。这一结果表明,相较于原型网络,特征聚合网络在各个数据集上均将样本映射到了较优的特征空间中,特征聚合网络所提取到的特征类内更加紧凑。

实验 2  为验证本文整体方法的有效性,分别在上述4个数据集上对比了多种类型的具有代表性的相关方法,包括匹配网络MN[15]、原型网络PN[16]、关系网络RN[21]、MAML[13]和元学习LSTM[11]。本文所提出的相关方法实验结果数据,由训练过程间隙验证正确率最高的优化模型经5次测试并取其均值得到,参与对比的其他方法实验结果来自于对应文献,经实验得到表 3所示的结果。

下载CSV 表 3 5-way 1-shot与5-shot正确率对比 Table 3 Comparison of 5-way 1-shot and 5-shot accuracy  

表 3中,本文使用加粗字体展示了对比方法中的最优效果。根据表 3中的数据可知,除了在miniImageNet数据集的5-way 1-shot任务和5-way 5-shot任务中本文方法取得了次优结果之外,在其他3个数据集的所有实验任务中,本文方法均取得了参与对比方法的最优结果。相较于原型网络分类正确率这一基准线而言,本文方法在5-way 1-shot任务和5-way 5-shot任务中均取得了超过2%的性能提升。实验结果表明,本文所提出的特征聚合网络优于绝大多数小样本学习方法所使用的特征提取器。

5 结束语

本文针对传统特征提取器难以求得较优特征向量分布的问题,提出一种特征聚合网络。该特征聚合网络能够有效地将原始特征向更优的特征空间中进行偏移,最终使得同类样本之间的特征向量分布更为紧凑,从而提升特征提取的有效性。下一步将对基于半监督学习的小样本学习进行研究,设计更有效和更具通用性的数据增强方法。

参考文献
[1]
HINTON G, OSINDERO S, TEH Y. A fast learning algorithm for deep belief nets[J]. Neural Computation, 2006, 18(7): 1527-1554. DOI:10.1162/neco.2006.18.7.1527
[2]
KRIZHEVSKY A, SUTSKEVER I, HINTON G. ImageNet classification with deep convolutional neural networks[J]. Neural Information Processing Systems, 2012, 25(2): 1097-1105.
[3]
SIMONYAN K, ZISSERMAN A.Very deep convolutional networks for large-scale image recognition[EB/OL].[2019-10-10].https://arxiv.org/abs/1409.1556.
[4]
SZEGEDY C, LIU N W, JIA N Y, et al.Going deeper with convolutions[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2015: 1-9.
[5]
HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al.Deep residual learning for image recognition[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2016: 770-778.
[6]
HUANG G, LIU Z, DER M L V, et al.Densely connected convolutional networks[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2017: 2261-2269.
[7]
FEIFEI L, FERGUS R, PERONA P, et al. One-shot learning of object categories[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 28(4): 594-611.
[8]
SHU Xing, YU Huimin, ZHENG Weiwei, et al. Classifier-designing algorithm on a small dataset based on margin Fisher criterion and transfer learning[J]. Acta Automatica Sinica, 2016, 42(9): 1313-1321. (in Chinese)
舒醒, 于慧敏, 郑伟伟, 等. 基于边际Fisher准则和迁移学习的小样本集分类器设计算法[J]. 自动化学报, 2016, 42(9): 1313-1321.
[9]
FU Y, HOSPEDALES T M, XIANG T, et al. Transductive multi-view zero-shot learning[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 37(11): 2332-2345. DOI:10.1109/TPAMI.2015.2408354
[10]
REED S E, CHEN Y, PAINE T, et al.Few-shot autoregressive density estimation: towards learning to learn distributions[C]//Proceedings of IEEE International Conference on Learning Representations.Washington D.C., USA: IEEE Press, 2018: 113-126.
[11]
RAVI S, LAROCHELLE H.Optimization as a model for few-shot learning[C]//Proceedings of IEEE International Conference on Learning Representations.Washington D.C., USA: IEEE Press, 2017: 342-358.
[12]
HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780. DOI:10.1162/neco.1997.9.8.1735
[13]
FINN C, ABBEEL P, LEVINE S, et al.Model-agnostic meta-learning for fast adaptation of deep networks[C]//Proceedings of International Conference on Machine Learning.Washington D.C., USA: IEEE Press, 2017: 1126-1135.
[14]
KOCH G, ZEMEL R.Siamese neural networks for one-shot image recognition[C]//Proceedings of ACM ICML'15.New York, USA: ACM Press, 2015: 226-239.
[15]
VINYALS O, BLUNDELL C, LILLICRAP T P. Matching networks for one shot learning[J]. Neural Information Processing Systems, 2016, 16: 3637-3645.
[16]
SNELL J, SWERSKY K, ZEMEL R S, et al.Prototypical networks for few-shot learning[EB/OL].[2019-10-10].https://www.researchgate.net/publication/315096921.
[17]
KINGMA D, BA J.Adam: a method for stochastic optimization[EB/OL].[2019-10-10].https://arxiv.org/abs/1412.6980.
[18]
KRIZHEVSKY A.Learning multiple layers of features from tiny images[D].Toronto, Canada: University of Toronto, 2009.
[19]
WAH C, BRANSON S.The caltech-UCSD birds-200-2011 dataset: CNS-TR-2011-001[R].Pasadena, USA: California Institute of Technology, 2011.
[20]
GRIFFIN G, HOLUB A.Caltech-256 object category dataset: 7694[R].Pasadena, USA: California Institute of Technology, 2007.
[21]
SUNG F, YANG Y, ZHANG L, et al.Learning to compare: relation network for few-shot learning[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2018: 1199-1208.