APP下载

融入选择性卷积核的胶囊网络图像分类方法

2022-02-25陈泽轩于莲芝

软件导刊 2022年1期
关键词:路由选择性卷积

陈泽轩,于莲芝

(上海理工大学光电信息与计算机工程学院,上海 200093)

0 引言

图像分类是计算机视觉领域的一个重要研究方向[1],旨在从图像或图像序列中提取出目标的判别性特征,以精确判别目标所属类别。随着图像分类技术的快速发展,在许多应用领域取得了较为显著的成绩,并逐步推动人类进入智能时代。目前,图像分类技术在医疗图像处理[2]、智能交通[3]、人脸识别[4]等领域已得到大规模应用。早期使用机器学习算法进行图像分类的流程为:首先提取特征,然后筛选特征,最后将特征向量输入合适的分类器完成分类任务。但传统图像分类模型结构较浅,不能提取较复杂的图像特征,泛化性差,导致图像识别精度不高,只能处理一些简单任务。

卷积神经网络(Convolutional Neural Network,CNN)最早形态是Lecun 等[5]提出的LeNet-5,该网络处理数字识别任务具有良好效果,但处理其它实际任务时效果不如Boosting 等传统算法。2012 年,Krizhevsky 等[6]提出AlexNet网络结构,并以15.4%创纪录的低失误率夺得2012 年ILSVRC 年度冠军,表明使用深度学习方法处理图像分类任务出现了较大突破。随后图像分类领域涌现出许多性能优越 的 深 度 学 习 模 型,如ZFNet[7]、VGGNet[8]、GoogleNet[9]、ResNet[10]、DenseNet[11]、SENet[12]等。尽管卷积神经网络经过长时间发展,产生了大量优秀模型,但因其本身结构存在一些缺陷,需要研究一种新模型来处理图像分类任务。

胶囊网络(Capsule Network,CapsNet)是在2017 年由Sabour 等[13]首次提出的,胶囊网络首次提出使用矢量神经元代替传统神经网络中的标量神经元,去掉了池化层,创新性地提出动态路由(Dynamic Routing,DR)算法计算初始胶囊层与高级胶囊层之间的连接权重,并采用新的挤压函数取代Relu 函数,从而学习到图像特征之间的空间关系。之后出现了大量关于胶囊网络的研究,如MS-CapsNet[14]、Dcaps[15]、VideoCapsuleNet[16]等。

静态卷积每层使用同一个卷积核,无法提取更丰富的特征信息。2020 年,Chen 等[17]提出动态卷积网络,动态地聚合多个并行卷积核提取的特征,增强了网络表达能力;华为提出DyNet[18],核心思想与谷歌提出的CondConv[19]类似;旷视提出DRConv[20],在动态卷积上引入空间分组;Tian 等[21]提出用于实例分割的条件卷积网络。2021 年,Li等[22]通过矩阵分解回顾动态卷积。

本文提出一种基于胶囊网络并融入选择性卷积核网络的图像分类模型。胶囊网络对空间信息比较敏感,可学习到不同特征间的位置关系,克服了卷积神经网络识别图像时整体平移的缺点。传统卷积每一层使用单一卷积核,选择性卷积核区别于传统卷积的静态结构,其使用两个分支结构,动态聚合两个并行卷积核提取的特征,比静态卷积具有更强的表示能力。在经典胶囊网络的Conv1 基础上增加具有两个分支的选择性卷积核网络,可融合不同卷积核提取到的信息,丰富的图像分类特征有效提高了图像识别准确率。

1 胶囊网络

2011 年,Hinton 等[23]首次提出胶囊的概念,胶囊由多个向量化神经元构成,可有效保存图像中的特征角度及姿态等更为丰富的信息。胶囊网络区别于传统卷积神经网络,胶囊网络的输入与输出神经元都由标量提升为矢量,池化操作由协议路由取代,并提出新的Squash 函数代替原来的ReLU 函数。

1.1 总体结构

胶囊网络总体架构如图1 所示。网络共有3 层,两个卷积层和一个全连接层,是一个比较浅的神经网络。由于常规的卷积操作可得到精确的低级图像特征,第一层采用传统卷积操作,使用256 个9×9 的卷积核对图像像素作一次局部特征检测。为最大限度地保留图像特征信息,卷积之后没有使用池化层。第二层是含有胶囊的卷积层,将Conv1 得到的低级特征送入可进行路由运算的Primary Capsule 层,经过再次卷积提取特征后,将特征向量展开成一维,对应特征向量组合得到向量胶囊。数字胶囊层是全连接层,根据向量胶囊的模长大小判断并输出图片类别。

Fig.1 Overall structure of capsule network图1 胶囊网络总体结构

1.2 标量神经元提升为向量神经元

卷积神经网络将神经元输入的标量乘以各自权重,加权求和后输入非线性函数进行激活,得到输出标量。胶囊网络在加权求和时比卷积神经网络多一个步骤,需要将输入向量先乘以一个姿态矩阵,生成新的输入向量后再乘以权重矩阵进行加权求和。胶囊网络工作原理如图2 所示。

Fig.2 Working principle of capsule network图2 胶囊网络工作原理

1.3 动态路由算法

动态路由是PrimaryCap 与DigitCaps 两者间的一种信息传递机制。其两者间的连接并不是传统神经网络之间简单的标量连接,而是向量与向量之间的连接。低层胶囊与高层胶囊之间的连接权重会在网络训练过程中不断随着学习而改变,并使用动态路由算法学习该权重。动态路由算法如下:

由权重矩阵Wij乘以输入ui得到预测向量,对于每个低级别的,cij表示对应的底层预测向量输出到高层向量的权重大小,cij是由bij使用softmax 函数得到的,cij为非负数,且∑jcij=1;之后使用sj=∑icij计算所有预测向量的加权和,再使用新提出的squash 函数得到输出向量vj。在迭代过程中,权重bij初始赋值为零,采用公式bij=bij+更新权重bij。

2 选择性卷积核胶囊网络

本文提出选择性卷积核胶囊网络图像分类方法,在经典胶囊网络的第一层卷积层中加入选择性卷积核网络,利用网络的动态选择机制自适应地提取输入信息多个尺度的感受野,将不同分支的特征图根据权重进行融合。选择性卷积核网络结构如图3 所示。

网络通过分离、融合、选择3 个步骤实现动态选择卷积核。在标准的卷积神经网络中,每一层人工神经元的感受野被设计为相同大小。本网络的不同之处在于提出一种动态选择机制,使用两个分支动态提取输入图像特征。对于输入的特征图X∈RH′×W′×C′,并行进行两次变换,如式(1)、式(2)所示。

式中,两个F函数依次由高效卷积、批处理规范化与Relu 函数组成。使用核尺寸大小分别为3 和5 的卷积核提取特征信息,使用门控制来自两个分支的信息流,两个分支携带不同尺寸的特征信息进入下一层神经元。首先将两个分支信息通过element-wise summation 进行融合,u = u͂+ û,然后通过简单地使用全局平均池化嵌入全局信息生成信道统计信息,如式(3)所示。

其中,Fgp为全局平均池化函数,Sc为信道统计信息。此外,为精确地引导自适应选择,创建一个紧凑特征zϵ Rd×1,并通过全连接(fc)层进行实现,如公式(4)所示。

其中,б为ReLU 激活函数,B代表批处理,W ϵ Rd×c。在压缩特征描述符z的指导下,使用跨通道的软注意机制自适应地选择不同空间的尺度信息,并在通道级数字上应用softmax 操作,如式(5)所示。

式中,a、b分别是u͂和û的软注意力矢量,最后特征由每个卷积核提取的特征乘以各自的注意力权重,再相加求和得到,如公式(6)所示。

式中,Vc为加权融合两个分支后的最终特征。

将选择性卷积核提取到的特征送入初始胶囊层中,由动态路由算法学习权重参数,数字胶囊层输出图片类别。胶囊网络中的Conv1 层原本使用256 个9×9 卷积核提取特征,本文在该卷积操作后融入具有两个分支的选择性卷积核网络,分别使用3×3 和5×5 的卷积核并行提取图像特征,得到初级胶囊(primary capsule)的输入。初级胶囊是多维实体的最低级别,具有32 个8 通道的特征图,每个卷积层具有8 个步幅为2、尺寸为9 的卷积核。PrimaryCapsules 的输出是32×6×6 的胶囊(每个输出是一个8 维矢量),将得到的胶囊展成一维,与对应特征的胶囊进行组合得到向量神经元。其中,6×6 网格中每个胶囊彼此共享权重,权重通过路由算法进行学习更新。最后一层(DigitCaps)中的每个类由一个16 维的向量胶囊表示,每个胶囊都接收来自上层级中所有胶囊的输出作为输入,依据胶囊向量的模长预测并输出图像类别。采用Marginloss 作为损失函数,如公式(7)所示。

式中,k为分类类别。当k存在时,Tk= 1;当k不存在时,Tk= 0。

3 实验结果与分析

3.1 实验数据集

为测试选择性卷积核胶囊网络处理图像分类任务的有效性,采用图像分类任务中的3 个经典数据集进行实验,分别为:CIFAR-10、Fashion-MNIST、SVHN。CIFAR-10 包含10 种类别的图片,共6 万张;Fashion-MNIST 为涵盖不同商品的图片,共7 万张;SVHN 为包含街景门牌号码的图片,共10 万张。CIFAR-10、Fashion-MNIST 的测试集与训练集已划分好,SVHN 可根据不同网络结构自行划分测试集与训练集。数据集详细情况介绍如表1 所示。

Table 1 Presentation of data sets表1 数据集详细情况介绍

3.2 实验设置

本文实验环境如下:CPU 为intel E5-2678V3,显卡为GTX1080,内存为16G,操作系统为Windows10。使用pytorch 深度学习框架,设置batch_size 为30,epochs 为50,初始学习率为0.001。在训练胶囊网络时,采用性能优越的Adam 优化器。

设置选择性卷积核胶囊网络参数如下:路径数M 为2,采用两个分支结构,卷积核尺寸分别为3×3 和5×5,决定每个路径的组数G 为8,控制融合操作比率的参数r 为2,步长默认为1。胶囊网络使用动态路由,激活函数为Squash 函数,分类层的胶囊个数依据数据集包含的图片种类数量设定。

3.3 结果分析

采用基线胶囊网络与本文模型分别在3 个数据集上进行对比实验。评价指标使用top1 正确率,测试错误率迭代图分别如图4-图6 所示。模型分类精度对比如表2 所示。

图4-图6 的测试结果迭代图可直观表现出本文模型的测试误差明显低于基线胶囊网络。表2 列出了两个网络模型在3 个公开数据集上的分类精度对比,其中基线胶囊网络是简单的具有两层卷积的网络结构,在3 个数据集上得到的分类精度分别为78.78%、92.89%、94.88%。本文模型是融入了选择性卷积核的胶囊网络模型,相比基线网络分类精度分别提升了1.73%、0.69%、0.53%,表明选择性卷积核在提取特征时具有明显优势,弥补了传统网络提取特征时采用相同大小卷积核的缺点,可提取到更加丰富的图像分类特征。

Fig.4 CIFAR-10 dataset test results图4 CIFAR-10 数据集测试结果

Fig.5 Fashion-MNIST dataset test results图5 Fashion-MNIST 数据集测试结果

Fig.6 SVHN dataset test results图6 SVHN 数据集测试结果

Table 2 Comparison of model classification precision表2 模型分类精度对比 单位:%

4 结语

本文提出应用于图像分类任务的选择性卷积核胶囊网络,并在多个图像分类数据集中对模型进行实验测试与评估。针对卷积神经网络不能灵敏识别各特征之间相对位置关系的问题,采用矢量胶囊表征实体不同特征间的空间位置关系。最大池化导致网络不能精确反映实体特征与实体间的关系,采用胶囊网络的动态路由机制学习初级胶囊层与高级胶囊层之间的权重系数,以准确表征特征与实体的层级结构。针对传统卷积神经网络中每一层人工神经元的感受野被设计为相同大小这一问题,采用选择性卷积核网络融合不同尺寸卷积核提取的特征信息。在CIFAR-10、Fashion-MNIST、SVHN 数据集上的测试结果表明,相比于基线胶囊网络,本文提出的网络模型具有更高的识别精度,分别为80.51%、93.58%、95.41%。下一步研究将注意力机制与网络相结合以提高模型识别精度,注意力机制可抑制一些无关信息,着重关注所需的重要信息,以提高模型分类准确率。

猜你喜欢

路由选择性卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
选择性听力
从滤波器理解卷积
探究路由与环路的问题
基于傅里叶域卷积表示的目标跟踪算法
选择性应用固定物治疗浮膝损伤的疗效分析
选择性执法的成因及对策
铈基催化剂用于NH3选择性催化还原NOx的研究进展
PRIME和G3-PLC路由机制对比
一种基于卷积神经网络的性别识别方法