APP下载

一种基于群等变卷积的度量元学习算法

2022-02-24吴鹏翔李凡长

计算机工程 2022年2期
关键词:度量卷积距离

吴鹏翔,李凡长

(苏州大学计算机科学与技术学院,江苏苏州 215006)

0 概述

随着计算设备并行计算性能的大幅提升,以及近年来深度神经网络在各个领域不断取得重大突破,由深度神经网络模型衍生而来的多个机器学习新领域逐渐成型,如强化学习、深度监督学习等[1-2]。在大量训练数据的加持下,深度神经网络技术已经在机器翻译、机器人控制、大数据分析、智能推送、模式识别等方面得到了广泛应用[3-4]。深度学习在完成这些任务时需要在大量数据上进行训练才能拟合出一个好的结果,一旦需要被识别物体类别不在训练集中,便无法进行正确识别。但是在实际的许多任务中,要求在少量数据上进行快速学习和适应[5]。

元学习的提出为上述问题提供了一个解决方案,其目的是解决传统神经网络模型泛化能力不足、对新种类任务适应性较差的问题。快速学习的能力是人类区别于人工智能的一个关键特征[6],人类能够有效地利用以前的知识和经验来快速学习新的技能。元学习的训练和测试可类比为人类在掌握一些基本技能后快速学习并适应新的任务[7]。例如:人类可以根据一张从未见过的动物的照片辨认出该动物,而不是需要大量该动物的照片才能辨认。人类在幼儿阶段掌握的对世界的大量基础知识和对行为模式的认知基础便对应元学习中的“元”概念[8-9]。元学习的最终目标是实现拥有类似人类学习能力的强人工智能,这在当前阶段体现为对新数据集的快速适应以得到较高的准确度,因此,目前元学习目标主要表现为提高泛化性能、获取好的初始参数,以及通过少量计算和新训练数据即可在模型上实现和海量训练数据一样的识别准确度[10]。受当前计算资源与算法能力限制,元学习往往以小样本学习以及对新任务的快速适应作为切入点,因此,当前研究也多以在小样本数据集上的识别准确率作为实验衡量标准[11]。

基于度量的元学习方法是一种可行的元学习方法。KOCH等于2015年提出了一种用于解决单样本学习图像分类问题的方法:孪生网络(Siamese network)[12],通过训练集学习一个卷积孪生网络,利用该网络计算待测试图像与所有单标注样本的相似度,相似度最高的单标注样本所对应的类别即是待测试图像的类别。VINYALS 于2016 年提出了匹配网络模型[13],其主要创新体现在建模过程和训练过程。对于建模过程的创新,该文通过设计基于记忆和注意力机制的匹配网络,使得模型能够对参与训练的样本进行快速学习。对于训练过程的创新,该文基于传统机器学习的一个重要原则,即训练和测试应在同样条件下进行,提出在训练时每次仅使用每一类任务的少量样本参与网络的训练,与测试过程保持一致。SNELL 于2017 年提出了原型网络[14],该网络模型基于一个基本假设,即在数据集中,对于每种不同的类型都存在一个原型点。数据集中距离该原型点越近的样本,其标签与该原型点对应的标签相同的概率就越大。文献[15]提出了由嵌入模块和关系模块组成的关系网络,其中嵌入模块用于提取输入图像的特征,关系模块用于得到输入特征的相似度。

传统基于度量的元学习算法采用卷积神经网络(Convolutional Neural Network,CNN)提取特征,但是元学习问题中的某些样本图片特征不仅具有平移对称性[16],而且还具有旋转对称性和镜像对称性[17],但是CNN 只具有平移不变性,不存在对后两者的不变性,这就使得传统的元学习算法不能利用具有对称性的特征。常用的解决方法是数据增强[18],即对样本进行随机变换。此类方法虽然在一定程度上增强了泛化性,但是并不能保留局部对称性[19],更不能保证在每一层卷积上的等变性。群等变卷积神经网络(Group equivariant CNN,G-CNN)则能较好地解决这一问题[20],其不仅具有平移不变性,而且还具有旋转和镜像不变性。

为有效利用样本图片的局部旋转对称性和镜像对称性,提高特征提取能力,本文提出一种基于G-CNN 的度量元学习算法。通过由群等变卷积构成的4 层映射网络学习一个合适的度量空间,根据查询集中样本离原型点的距离完成分类。

1 元任务

元学习的目标是跨任务的泛化。考虑一个任务分布P(T),即该模型所适配的数据的全体,目的是使这个模型可以适应这个任务分布P(T)。与传统机器学习不同,元学习不是根据每个样本来优化,而是根据元任务来优化。每个元任务包含一个支持集和一个对应的查询集。在n-wayk-shot 元学习问题中,对于每个元任务定义支持集S和查询集Q,支持集和查询集中包含n个类别的样本,支持集中每类样本只存在k个,查询集中每类样本个数不定,支持集S定义如式(1)所示:

其中:xi表示样本的D维向量表示;yi表示样本对应的标签;n表示样本类别总数。查询集Q取自数据集中和支持集S同类别但不同的样本,不带标签。图1给出了5-way 1-shot 元学习问题中训练时所使用的的支持集和查询集示例。

图1 5-way 1-shot 元学习问题中元训练使用的支持集和查询集示例Fig.1 Example of support set and query set using in meta-training for 5-way 1-shot meta-learning problems

在训练阶段,从P(T)的训练数据集上采样训练元任务,通过元任务对损失函数进行最小化,从而优化模型参数。在训练结束后,从同取自P(T)未参与训练的测试数据集(测试集中的样本和训练集中的样本类别不同)中采样测试元任务,对训练好的模型进行测试。

2 映射网络

尽管现阶段的神经网络研究缺少理论支撑,但是大量经验证据表明,卷积权值共享和网络深度对于神经网络的效果起到了重要作用[21-22]。卷积权值共享的有效性依赖于其在多数感知任务中都具有平移不变性,即预测标签的函数和数据分布对于平移变换都近似于不变。由于平移不变性,共享权重的卷积核可以从图像的局部区域提取特征,并且参数量远少于全连接网络[23],同时能够学到更多有效的变换信息[24-25]。卷积层可以有效地应用于深度网络中,因为这种网络中的所有层都具有平移不变性:将图片平移后再送入若干卷积层得到的结果,与将原图直接送入相同卷积层再对特征图进行平移所得到的结果相同[26]。因此,为提高特征提取能力,本文使用G-CNN 来构建映射网络,使映射网络对具有旋转对称的特征和镜像对称的特征也能保持不变性。映射网络使用4 层G-CNN 构建,每层由卷积核、batch-norm、relu 激活函数和最大池化层组成。

2.1 群等变卷积

对于输入的2 维图片,卷积是不断平移卷积核和特征图做点积运算的过程,以群G上的函数代替平移就得到了群卷积,如式(2)所示:

其中:Z2是2 维图片上的整数平移群;群运算是加法(n,m)+(p,q)=(n+p,m+q);f是输入的特征图;φ是卷积核。f和φ都是Z2上的函数,只适用于群卷积的第1 层,但由于卷积输出的结果是离散群G上的函数,因此第1 层后的卷积如式(3)所示:

其中:输入的特征图f是群G上的函数。

令h=uh,等变性证明如式(4)所示:

2.2 非线性单元

映射网络中的非线性单元包括激活函数,可以将非线性单元看作一个映射:v:R →R,非线性单元作用于特征图f可以视为一系列操作算子的组合,如式(5)所示:

因此,使用非线性单元处理特征图后依然能保持等变性。

2.3 池化层

池化可以分解为不带步长的池化和下采样[27]两部分。对于不带步长的池化,定义池化操作为P,作用于特征图f的最大池化如式(6)所示(平均池化同理):

其中:gU是G的子群U上的一个g变换。在G-CNN中,下采样表示在G的子群H上下采样。例如:对输入2 维图片做步长为2 的最大池化,等价于先进行不带步长的池化,再在Z2的子群H={(2i,2j)|(i,j)∈Z2}上进行下采样。

2.4 网络实现

对于具有90°旋转对称特征的图片,群G使用p4 群;对于具有90°旋转对称和镜像对称的特征,群G使用p4m 群[28]。p4 群的群元定义如式(7)所示:

其中:0≤r<4,r=0 表示无旋 转,r=1 表示旋转90°;(u,v)∈Z2,表示在二维平面上的水平和垂直移动。群运算为矩阵乘法。对于输入的特征图上的某点(x,y),p4 群作用于点(x,y)的运算如式(8)所示:

其中:m=0 或1,1 表示镜像翻转,其余定义与p4 群相同,群运算为矩阵乘法。作用于输入特征图上某点(x,y)的运算如式(10)所示:

当群G使用p4群时,第1层的G-CNN 是Z2-p4 卷积层,操作如图2 所示,依次将卷积核旋转90°,得到4 组卷积核,分别与输入图片做卷积,得到4 组映射特征。第一层后面的G-CNN 是p4-p4 卷积,操作如图3所示,对于前层输入的4 组映射特征,卷积核依次旋转90°得到4 组卷积核,然后每组卷积核依次和输入的4 组特征做卷积,将得到的结果求和得到输出特征。使用p4m 群构建映射网络时,卷积核需要额外进行镜像翻转,因此,卷积核的数目是8 组,得到的输出特征也是8 组,操作与使用p4 群类似。

图2 Z2-p4 卷积层示意图Fig.2 Schematic diagram of Z2-p4 convolution layer

图3 p4-p4 卷积层示意图Fig.3 Schematic diagram of p4-p4 convolution layer

3 特征度量

本文算法基于以下基本假设:存在一个空间,在这个空间中,属于相同类别的样本距离近,不同类别的样本距离远,这样就可以通过简单度量函数进行分类。本文算法是通过学习一个映射网络将样本映射到合适的度量空间,然后通过简单度量方法完成分类。在n-wayk-shot 元学习问题中,对于每个元任务,支持集中每类有k个样本,支持集经过映射网络映射到度量空间后,每一类就有k个表示,取每类k个表示的均值作为该类在度量空间中的代表。每个类在度量空间的代表称为该类的原型点cj,计算公式如式(11)所示:

其中:k表示支持集中每类样本的个数;fθ表示映射网络;(xi,yj)表示输入的样本和对应的标签。查询集经过同样的映射网络映射到度量空间中,利用距离计算函数d来计算查询集中待分类样本到每类原型点的距离,再利用softmax 函数计算属于每个类的概率,如式(12)所示:

最后,使用交叉熵作为损失函数,如式(13)所示:

通过Adam 优化器来最小化损失函数,从而优化映射网络的参数,不断从训练集中抽取样本组成元任务来训练模型,直到得到一个能很好地将训练样本映射到合适度量空间的模型。

本文提出的基于群等变卷积的度量元学习算法(Metric Meta-learning algorithm Based on Group Equivariant Convolution,MMBOGEC)如算法1 所示。

算法1MMBOGEC

输入训练集D={(x1,y1),(x2,y2),…,(xN,yN)}

输出模型在测试集上的分类准确率

1)在训练集中随机选取n个类,对于选取的每个类,取k个样本组成支持集,取Nq个样本组成查询集。

2)通过映射网络得到支持集样本在度量空间中的表示,取每个类所有样本在度量空间中特征表示的均值作为该类的原型点。

3)利用同样的映射网络得到查询集样本在度量空间中的表示,利用距离计算公式计算查询集样本在度量空间中的表示到每个类原型点的距离,利用softmax 函数计算属于每个类的概率,将概率最大的类别作为预测类别。

4)使用交叉熵作为损失函数更新损失J。

5)使用Adam 优化器最小化损失J来更新网络参数。

6)重复步骤1~步骤5,直到损失J不再下降。

7)在测试集中生成若干个元任务,每个元任务随机选取n个类,对于选取的每个类,取k个样本组成支持集,取Nq个样本组成查询集,将这些元任务输入训练好的模型,得到分类准确率,最后将分类准确率的平均值作为输出结果。

4 实验结果与分析

本文在常用的小样本数据集miniImageNet 和Omniglot 上进行实验。

4.1 miniImageNet 数据集

miniImageNet 数据集包含60 000 张彩色图片,分为100 个类,每个类600 张。首先将所有图片处理成84 像素×84 像素大小,将其中的64 类作为训练集,16 类作为验证集,剩下的20 类作为测试集。本文使用64 类来训练模型,验证集仅仅用来判断模型泛化性的好坏,不参与模型的参数优化。

输入的样本图片经过映射网络得到其在度量空间中的特征表示,映射网络包含4 层由G-CNN 构成的卷积,每一层使用64个3×3卷积核,包含batch-norm、relu 激活函数以及3×3 的最大池化层。最后将得到的特征表示展开成一维向量,利用距离计算函数计算其到各个原型点的距离,将距离最近的类别作为预测标签。以交叉熵作为损失函数,不添加正则项损失,学习率设置为10-3,使用Adam 优化器对网络参数进行优化。

针对miniImageNet 数据集常用的有两种训练方法,分别是5-way 1-shot 和5-way 5-shot。5-way 1-shot训练方法先任意地从训练集中选5 个类别,每个类别包含1 个样本,总计5 个样本作为支持集,再从前面5 类中每类选取若干个不同的样本(本文实验中设置为15 个)作为查询集,使模型根据支持集来分类查询集。5-way 5-shot 训练方法将支持集每类选取样本数改为5,其余和前面一致。当验证集上的验证损失不再下降时,停止训练模型,在测试集上验证模型的效果,测试方法和训练方法保持一致,测试使用随机产生的600 个元任务,以平均准确率作为评估指标。

4.1.1 不同距离计算公式对实验结果的影响

不同距离的度量公式会对算法的实验结果产生影响,本文使用常用的4 种距离计算公式进行测试,分别是欧式距离、余弦距离、切比雪夫距离和曼哈顿距离,测试结果对比如表1 所示。可以看出,在miniImageNet 数据集5-way 1-shot 和5-way 5-shot 方法中,欧氏距离作为距离计算公式最有效,其次是曼哈顿距离,切比雪夫距离最差。

表1 使用不同距离计算公式的实验结果对比Table 1 Comparison of experimental results using different distance calculation formulas %

4.1.2 消融实验

为验证本文算法的有效性,分别使用p4 群、p4m群和普通CNN 构建映射网络行实验,对比实验结果如表2 所示。可以看出:不使用群等变卷积的方法,实验结果最差;使用p4 群的方法,实验结果优于使用普通CNN 的方法,表明在本实验中,具有旋转不变性的方法比不具有旋转不变性的方法更有效;使用p4m 群的方法,实验效果最好,表明利用旋转不变性和镜像对称不变性能有效提高元学习的自适应性。

表2 消融实验结果对比Table 2 Comparison of ablation experimental results %

4.1.3 G-CNN 层数对实验结果的影响

为进一步验证群等变卷积的有效性,在部分卷积层上使用群等变卷积进行实验,实验结果如表3所示,其中第1 列表示使用群等变卷积的卷积层,如1 表示仅在第1 层使用,其余层使用普通CNN。可以看出,在5-way 1-shot 和5-way 5-shot 的实验中,仅仅在单层中使用群等变卷积,不论是在哪一层使用,实验结果都相差不大,表明仅在某一层具有等变性不能很好地提升元学习的自适应性。随着使用群等变卷积层数的增加,实验效果随之提升,完整的4 层群等变卷积网络效果最好,表明整个网络都具有等变性才能更好地适用于元学习问题。

表3 在不同卷积层使用G-CNN 的实验结果对比Table 3 Comparison of experimental results using G-CNN in different convolutional layers %

4.1.4 与4 层元学习算法的实验结果对比

将本文算法与传统4 层元学习算法进行对比,实验结果如表4 所示(加粗数据表示最优数据)。可以看出,无论是5-way 1-shot 还是5-way 5-shot,本文算法性能都优于传统4 层元学习算法。

表4 不同算法在miniImageNet数据集上的实验结果对比Table 4 Comparison of experimental results of different algorithms on miniImageNet dataset %

4.2 Omniglot 数据集

Omniglot数据集包含50种不同语言,共计1 623种手写字符,每种字符包含20个样本,每个样本由不同人书写。本文将样本图片大小统一为28 像素×28 像素,使用其中的1 028 类作为训练集,423 类作为测试集,剩下的作为验证集。

输入的样本图片经过映射网络得到其在度量空间中的特征表示,映射网络包含4 层由G-CNN 构成的卷积层,每层使用64 个3×3 卷积核、batch-norm、relu 激活函数以及3×3 的最大池化层。在度量空间中使用欧氏距离计算查询集到原型点的距离,将距离最短的原型点对应的标签作为预测标签,以交叉熵作为损失函数,不添加正则项损失,学习率设置为10-3,使用Adam 优化器对网络参数进行优化。

Omniglot 数据集常用的有4 种训练方法,分别是5-way 1-shot、5-way 5-shot、20-way 1-shot 和20-way 5-shot,测试时同样使用对应的方法。测试使用随机产生的1 000 个元任务,以平均准确率作为最后的结果。

本文算法与传统4 层元学习算法在Omniglot 数据集上实验结果对比如表5 所示(加粗数据表示最优数据),可以看出,在5-way 1-shot、5-way 5-shot 实验中,本文算法性能都优于其他算法。

表5 不同算法在Omniglot 数据集上的实验结果对比Table 5 Comparison of experimental results of different algorithms on Omniglot dataset %

4.3 模型复杂度分析

本文算法针对n-wayk-shot 元学习问题,对于每个元任务,需要n类支持集样本,每类样本包含k个实例,对q个支持集样本进行分类,因此每个元任务的平均复杂度为O(n×k×q)。

MMBOGEC 算法与传统4 层元学习算法的参数量对比如表6 所示(加粗数据表示最优数据)。可以看出,MMBOGEC 算法参数量只比原型网络算法多,而少于其他4 种算法。

表6 不同算法的参数量对比Table 6 Comparison of the number of parameters of different algorithms

5 结束语

针对传统机器学习的自适应性问题,本文提出一种基于群等变卷积的度量元学习算法,使用群等变卷积神经网络构建映射网络,充分利用样本图片的局部旋转对称性和镜像对称性,将样本图片映射到合适的度量空间,根据所提取特征到每个类原型点的距离远近来实现分类。在Omniglot 数据集和miniImageNet数据集上的实验结果表明,该算法对于元学习问题的学习性能优于传统4 层元学习算法。下一步将对本文算法进行改进,探索更有效的特征映射网络和特征距离比较方法。

猜你喜欢

度量卷积距离
鲍文慧《度量空间之一》
基于3D-Winograd的快速卷积算法设计及FPGA实现
卷积神经网络的分析与设计
代数群上由模糊(拟)伪度量诱导的拓扑
从滤波器理解卷积
突出知识本质 关注知识结构提升思维能力
算距离
度 量
基于傅里叶域卷积表示的目标跟踪算法
每次失败都会距离成功更近一步