CN116246110A - 基于改进胶囊网络的图像分类方法 - Google Patents
基于改进胶囊网络的图像分类方法 Download PDFInfo
- Publication number
- CN116246110A CN116246110A CN202310148845.4A CN202310148845A CN116246110A CN 116246110 A CN116246110 A CN 116246110A CN 202310148845 A CN202310148845 A CN 202310148845A CN 116246110 A CN116246110 A CN 116246110A
- Authority
- CN
- China
- Prior art keywords
- capsule
- layer
- network
- vector
- capsules
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于改进胶囊网络的图像分类方法,属于图像处理领域。该方法包括以下步骤:S1:建立胶囊网络;S2:建立STM‑CapsNet模型;S3:建立基于自注意力机制的S‑Attention。本发明同时关注网络的特征提取部分和动态路由机制,前者通过添加注意力机制模块以获得高质量的特征信息,使网络能够有效地选择最重要,活跃度最高的低层胶囊来进行加权预测高层胶囊,从而更好地发挥胶囊的作用;后者则受CNN中共享权值机制的启发,通过共享转换矩阵大幅降低网络参数,以达到降低训练复杂度的目的;最后在胶囊网络损失函数的基础上加入网络各层的L2正则化损失项,以减轻模型的过拟合现象,提高模型的泛化能力。
Description
技术领域
本发明属于图像处理领域,涉及基于改进胶囊网络的图像分类方法。
背景技术
卷积神经网络(CNN)目前已经在图像分类、目标检测、自然语言处理等领域取得了令人振奋的成功,然而随着研究的深入,CNN的缺陷也逐渐显现,即CNN通过不断改进虽然能更加有效地提取图像的特征图谱,却无法学习不同特征之间的相对位置关系。这就导致CNN无法充分利用图像中的信息,因此CNN模型往往需要海量的数据进行训练且需要通过数据增广等技术来扩充数据集以提高模型的泛化能力,这种固有缺陷是由于CNN采用了降采样的池化操作。为了克服CNN的缺陷,2017年Sabour联合Hinton等人提出了新的神经网络架构即胶囊网络(Capsule Network,CapsNet)。该模型使用向量神经元代替传统的标量神经元作为模型基本的计算单元,其输入输出均为向量,具体的实体由向量的方向表征,向量的模长则表示属于某类实体的置信度,向量的每个维度表征了实体的具体属性,这是较卷积神经网络中用标量在不同隐藏层之间传递信息最大的不同;其次创新性地提出一种名为动态路由的算法代替卷积神经网络中的池化操作。根据MNIST重构实验,证明CapsNet可以有效地识别手写数字图像中特定实体的各种属性,例如数字的旋转方向、笔画的粗细、位置等。其中,低层胶囊类似在卷积神经网络中的前序隐藏层,用于刻画局部特征;而高层胶囊则类似卷积神经网络中后序的隐藏层,用于汇聚低层胶囊中的特征信息以表达整体抽象特征;动态路由算法是对卷积神经网络中池化操作的替代,可以通过聚合低层胶囊信息去更新高层胶囊。通过实验证明和CNN相比,胶囊网络可以在训练次数和训练数据较少的条件下获取很高的性能,并拥有更高的解释性和泛化能力。
尽管CapsNet在MNIST等小规模数据集上的表现优异,然而在稍微复杂一点的图像数据集上其性能便急剧下降,例如在CIFAR-100数据集上CNN的分类准确率达75.72%,CapsNet仅仅达到了18%的低准确率。其次在CapsNet中,预测向量是通过上一层的输出向量乘以经训练学习得到的转换矩阵得到的,当高级胶囊层中的胶囊过多时,需要训练大量的转换矩阵,这就导致CapsNet的训练复杂性很高。2020年Wenkai Huang等人提出了DA-CapsNet,在原始CapsNet的特征提取层中加入双重注意力机制模块并在FashionMNIST数据集上进行了实验,一定程度上减少了复杂图像中无用的细节特征,提高了其在复杂图像分类上的准确率,然而网络参数却大幅提升;将胶囊网络和残差网络的优点结合在一起提出了R-CapsNet,用残差网络中的跳跃连接代替传统胶囊网络中的卷积层,加深了胶囊网络的架构,其在复杂图像分类上的性能有所改善,但代价依然是较高的训练复杂度。基于复数相比实数具有更强的特征表征能力,提出复值密集型网络CV-CapsNet和复值多样性网络CV-CapsNet++,具体是在传统胶囊网络的特征提取层中加入一种称为受限稠密复值子网络来获取多尺度的复值特征,这些复值特征被编码到多维复值初级胶囊中,其性能优于同类型的实值胶囊网络。利用可微分二进制路由增强的注意力模块,提出一种直通式注意力路由,减少了动态路由迭代的高计算复杂度;对动态路由算法进行优化,提出一种一致性的动态路由机制,使得CapsNet的训练速度加快了3倍;为了减少CapsNet的参数,提出用矩阵或张量来代替向量表示实体;Shiri等人提出了Quick-CapsNet作为CapsNet的快速变体,该模型改变了特征提取层的结构,用全连接层代替了第二个卷积层,使得训练和推理的速度大大加快,其默认解码器也被替换为一个基于去卷积的更强大的解码器,大大减少了主胶囊层的胶囊数量;
前述工作都仅针对胶囊网络的特征提取层进行改进,忽略了难以忍受的训练复杂度。
发明内容
有鉴于此,本发明的目的在于提供一种基于改进胶囊网络的图像分类方法。
为达到上述目的,本发明提供如下技术方案:
基于改进胶囊网络的图像分类方法,该方法包括以下步骤:
S1:建立胶囊网络;
S2:建立STM-CapsNet模型;
S3:建立基于自注意力机制的S-Attention。
可选的,所述S1中,胶囊网络由卷积层、主胶囊层、数字胶囊层和解码器组成,采用动态路由算法来更新参数;主胶囊层和数字胶囊层之间通过动态路由算法出传递信息;在卷积层之后,主胶囊层将经过卷积操作提取到的初始特征图转换为向量胶囊作为数字胶囊层的输入;动态路由算法代替池化操作将主胶囊层的低级胶囊信息路由到数字胶囊层,在经过三次的路由计算后输出最终用于分类的向量胶囊;Wij为动态路由算法中的转换矩阵;
胶囊网络中的输出向量的每个维度保留实体的具体属性,用来重构出原始图像;胶囊网络的解码器输入为数字胶囊层输出的10个16维向量,重构出与原始输入图像大小一致的图像,其重构损失越小越好,作为总体损失函数的一部分;
低层胶囊代表了对象的基本实体,使用所述动态路由算法将信息传递到下一层的高层胶囊中;上一层的胶囊通过学习的转换矩阵对下一层胶囊的实例化参数进行预测,使用一个被称为“squashing”的非线性函数将向量的长度压缩至0到1之间,来保证不同胶囊层之间激活功能的完成;
其中vj为胶囊的输出向量,sj为上一层所有胶囊输出到当前层的向量加权和,即胶囊j的输入向量;挤压函数的后一部分保证向量的原始方向不会发生改变,前一部分则将向量的长度压缩到0到1之间;sj的计算过程由预测和线性组合获得,表示为:
uj|i=wijui (2)
其中,uj|i是ui的线性组合,表示前一层的第i个胶囊的输出向量和对应的转换矩阵相乘得出的预测向量;耦合系数cij是动态路由算法一个重要参数,高层胶囊j通过cij与低层胶囊i传递信息,表示了低层胶囊对于高层胶囊投票抉择的一致性;cij是非负值的标量,对于每一个低级胶囊i,与它所连接的所有高级胶囊j,其耦合系数之和为1,即bij是胶囊i连接至胶囊j的先验概率,初始值为0,通过事先确定的路由次数迭代计算cij,使得低层胶囊和高层胶囊之间的连接是动态的,使得低层胶囊更倾向于将信息传递给与其耦合系数更大的高层胶囊中;
间隔损失函数,如公式(4)所示:
Lk=Tkmax(0,m+-||vk||)2+λ(1-Tk)max(0,||vk||-m-)2 (4)
其中,Lk为经过计算得到的间隔损失;Tk为第k分类的存在值,若存在则取1,否则取0;m+、m-和λ分别取0.9、0.1、0.5;||vk||表示的是向量的模长,实际就是数字k存在的概率,m+和m-都是阈值,代表胶囊之间连接的强度,大于0.9则表示完全连接,小于0.1认为不存在连接;设置一个重构图像的任务并计算重构损失,即用一个解码器进行还原,重构损失是由重构图片和输入图片之间的欧氏距离。
可选的,所述S2中,在局部范围拥有更大梯度的挤压函数e-squash来改善网络中梯度消失的问题,如式(5)所示:
首先,初级胶囊层对这些特征图的信息进行向量化,即采用64组不同的卷积核,每组卷积核包含两个不同的9×9大小的卷积核对特征图以步长为1进行卷积,采用ReLU激活函数,得到低层特征,即1×2大小的低层胶囊;初级胶囊通过与转换矩阵Wij相乘来预测高级特征ui|j,即ui|j=Ui·Wi|j;得到32组1×4的胶囊,每组16个,最后通过三次路由算法得到最终的高级胶囊层进行预测,包含10个1×8的胶囊,每个胶囊代表一种分类。
可选的,所述S3中,在胶囊网络中,前一层的第i个胶囊的输出向量ui通过和转换矩阵Wij相乘得到其预测向量,如公式(2)所示;设胶囊网络中的第l-1层的低级胶囊个数和第l层的高级胶囊个数分别为m和n,使得m个低级胶囊共享1个转换矩阵,其数量仅有原始胶囊网络的则公式(2)变为下式:
uj|i=Wjui;i=1,2,...,m;j=1,2,...,n (6)。
本发明的有益效果在于:本发明同时关注网络的特征提取部分和动态路由机制,提出S-CapsNet(Shared Transformation Matrix Capsule Network)。前者通过添加注意力机制模块以获得高质量的特征信息,使网络能够有效地选择最重要,活跃度最高的低层胶囊来进行加权预测高层胶囊,从而更好地发挥胶囊的作用;后者则受CNN中共享权值机制的启发,通过共享转换矩阵大幅降低网络参数,以达到降低训练复杂度的目的;最后在胶囊网络损失函数的基础上加入网络各层的L2正则化损失项,以减轻模型的过拟合现象,提高模型的泛化能力。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为胶囊网络编码器结构图;
图2为胶囊网络解码器结构图;
图3为向量化的神经胶囊;(a)为图像;(b)为胶囊激活;
图4为胶囊(向量神经元)工作示意图;
图5为STM-CapsNet结构;
图6为S-Attention结构图;
图7为CapsNet和S-CapsNet前向传播对比图;(a)为CapsNet的前向传播图;(b)为S-CapsNet的前向传播;
图8为挤压函数对比图;
图9为路由次数对CapsNet的性能影响;
图10为N值对模型性能的影响。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
1、相关模型及关键原理
1.1胶囊网络架构
胶囊网络主要由卷积层、主胶囊层、数字胶囊层和解码器组成,采用动态路由算法来更新参数,其模型如图1所示。
对比卷积神经网络,胶囊网络是一种架构相对简单的网络模型,只有一层特征提取层卷积层、主胶囊层和数字胶囊层三层结构,主胶囊层和数字胶囊层之间通过动态路由算法出传递信息。以MNIST为例,其输入为28×28的手写数字图像,输出为10个16×1维的向量,向量的方向代表10个数字,模长代表属于某个数字的置信度,16个维度代表了数字的具体属性,例如笔画的粗细程度等。在卷积层之后,主胶囊层将经过卷积操作提取到的初始特征图转换为向量胶囊作为数字胶囊层的输入。动态路由算法代替池化操作将主胶囊层的低级胶囊信息路由到数字胶囊层,在经过三次的路由计算后输出最终用于分类的向量胶囊。图1中的Wij为动态路由算法中的转换矩阵。
胶囊网络的解码器结构如图2所示,胶囊网络中的输出向量的每个维度保留了实体的具体属性,因此可以用来重构出原始图像。解码器输入为数字胶囊层输出的10个16维向量,重构出与原始输入图像大小一致的图像,其重构损失越小越好,作为总体损失函数的一部分。
1.2动态路由算法
胶囊网络的动态路由机制使得分类器不再仅仅依靠抽象出来的特征来判断对象的类别,在此基础上又考虑了不同特征之间的相对位置关系,这使得胶囊网络对于图像中的对象有着更加深刻的理解。图3为向量化的神经胶囊图;3(a)表示特征提取层抽象出的三角形和矩形实体;图3(b)表征了实体存在的网络。图3(b)里面共有12个向量,即12个胶囊。实线箭头代表了三角形胶囊存在的概率,虚线箭头代表了矩形胶囊存在的概率。只有两个箭头的长度比较大,且两个向量的方向特定时,才表示着大概率在特定的位置上找到了特定的对象。若实体的位置发生变换,即图像产生了翻转、旋转或者缩放时,胶囊输出的向量模长大小不会发生变化,只改变其方向,从而实现同变性。
胶囊作为CapsNet的基本运算单元,其工作原理如图4所示。
低层胶囊代表了对象的基本实体,使用动态路由算法将信息传递到下一层的高层胶囊中。上一层的胶囊通过可学习的转换矩阵对下一层胶囊的实例化参数进行预测,使用一个被称为“squashing”的非线性函数将向量的长度压缩至0到1之间,来保证不同胶囊层之间激活功能的完成。
其中vj为胶囊的输出向量,sj为上一层所有胶囊输出到当前层的向量加权和,即胶囊j的输入向量。挤压函数的后一部分保证向量的原始方向不会发生改变,前一部分则将向量的长度压缩到0到1之间。sj的计算过程由预测和线性组合获得,可以表示为:
uj|i=wijui (2)
其中,uj|i是ui的线性组合,表示前一层的第i个胶囊的输出向量和对应的转换矩阵相乘得出的预测向量。耦合系数cij是动态路由算法一个重要参数,高层胶囊j通过cij与低层胶囊i传递信息,表示了低层胶囊对于高层胶囊投票抉择的一致性。cij是非负值的标量,此外,对于每一个低级胶囊i,与它所连接的所有高级胶囊j,其耦合系数之和为1,即bij是胶囊i连接至胶囊j的先验概率,初始值为0,通过事先确定的路由次数迭代计算cij,使得低层胶囊和高层胶囊之间的连接是动态的,这一机制指出了哪些低层胶囊在反向传播过程中更应该被更新,同时也指出了图像中的哪些实体应该被关注,使得低层胶囊更倾向于将信息传递给与其耦合系数更大的高层胶囊中,动态路由算法描述如下:
1.3胶囊网络的损失函数
原本MNIST任务的最简单损失为单个标签的损失,Hinton等人更进一步提出了重叠数字识别任务,目标可能包含多标签也可能包含一个标签,因此传统的交叉熵损失函数不再适用,Hinton提出了一种新的损失函数:间隔损失函数,如公式(4)所示:
Lk=Tkmax(0,m+-||vk||)2+λ(1-Tk)max(0,||vk||-m-)2 (4)
其中,Lk为经过计算得到的间隔损失;Tk为第k分类的存在值,若存在则取1,否则取0;m+、m-和λ分别取0.9、0.1、0.5。||vk||表示的是向量的模长,实际就是数字k存在的概率,m+和m-都是阈值,代表胶囊之间连接的强度,大于0.9则表示完全连接,小于0.1认为不存在连接。为了证明胶囊网络能够保留特征的空间信息,设置了一个重构图像的任务并计算重构损失,即用一个解码器进行还原,重构损失是由重构图片和输入图片之间的欧氏距离。
2、本文模型
本文所提出的STM-CapsNet模型如图5所示,针对传统胶囊网络的不足,进行了如下改进:
1)在传统胶囊网络的特征提取层引入注意力机制模块S-Attention,目的是使胶囊聚焦在图像中更重要的实体信息。
2)优化动态路由算法,利用共享转换矩阵获得胶囊的预测向量,大幅减少训练参数。
3)提出一种在局部范围拥有更大梯度的挤压函数e-squash来改善网络中梯度消失的问题,如式(5)所示:
架构CapsNet在包含复杂对象的数据集上的性能较低,因此本文提出一种新型的胶囊网络结构STM-CapsNet,如图5所示。较原CapsNet模型,本文模型在卷积层之间和初级胶囊层之间增加了一层基于注意力机制的特征提取模块S-Attention,目的是对卷积层提取的特征信息进行筛选处理,去除噪声。其次对原始CapsNet使用的路由算法进行优化,不再对每个低层胶囊学习转换矩阵,而是多个低层胶囊共享一个转换矩阵对高级特征进行打分预测,选择性地激活高层胶囊。以MNIST数据集为例,本文模型的前向运行过程如下:图片大小为28×28,经过第一层的卷积层和第二层的S-Attention模块的线性和非线性变换后组合成128张14×14的特征图。首先,初级胶囊层对这些特征图的信息进行向量化,即采用64组不同的卷积核,每组卷积核包含两个不同的9×9大小的卷积核对特征图以步长为1进行卷积,采用ReLU激活函数,得到低层特征,即1×2大小的低层胶囊。初级胶囊通过与转换矩阵Wij相乘来预测高级特征ui|j,即ui|j=Ui·Wi|j。得到32组1×4的胶囊,每组16个,最后通过三次路由算法得到最终的高级胶囊层进行预测,包含10个1×8的胶囊,每个胶囊代表一种分类。
2.1基于自注意力机制的S-Attention
传统的胶囊网络只有一层卷积层进行特征提取,然后提取得到的特征将会在主胶囊层处理成低级胶囊,这些低级胶囊中保存了低级特征的属性信息;低级胶囊继续通过动态路由算法映射到高级胶囊,高级胶囊中则存储了抽象出来的高级特征的属性信息,并用来进行类别预测。对于简单的图像数据集,例如手写识别数字数据集MNIST,其背景中没有影响最终分类结果的噪声信息,因此可以只需要一层卷积层即可提取出与分类任务最相关的特征信息,这样构建出的高级胶囊依然是高质量的且活跃的。对于复杂图像数据集来说,其背景中总是存在于分类任务无关的噪声信息,当这些噪声信息被构建为低级胶囊后,就会扰乱高级胶囊的质量,从而最终使得模型在复杂图像数据集上的性能低下。因此有必要在卷积层之后对初始特征进行再次筛选,确保只有重要的、活跃的特征参与到胶囊的构建中去。研究表明,自注意力是一种可行的图像识别模型构建方法,并已经广泛应用于自然语言处理、计算机视觉等各项任务中。自注意力机制可代替循环和卷积模型,作为模型架构的基础,Zhao等人证明了自注意力网络的特征提取能力更强,性能优于卷积网络。
S-Attention自注意力模块结构如图6所示,其原理是将输入分别通过全局池化层和1×1的卷积层,其输出的注意力图矩阵与原始特征图进行乘积运算,最后的注意力模块将逐渐学习如何将注意力特征图加在原始的特征图上,从而最终得到增加了注意力部分的特征图。
在胶囊网络中,前一层的第i个胶囊的输出向量ui通过和转换矩阵Wij相乘得到其预测向量,如公式(2)所示。例如在人脸识别任务中,若第i个胶囊所包含的实体信息为眼睛,则uj|i代表从此眼睛胶囊预测出的人脸胶囊,包含了从眼睛胶囊到人脸胶囊的映射关系;同理,若第i+1个胶囊所包含的实体信息为眉毛,则uj|i+1代表从此眉毛胶囊预测出的人脸胶囊。而眉毛和眼睛相对于人脸的位置来说接近,因此通过学习得到的两个转换矩阵会非常相似。由于低级胶囊代表了当前视角下局部的实体,则可以将多个低级胶囊通过共享同一个转换矩阵将其映射到高级胶囊,从而大幅减少需要训练的转换矩阵数量,达到提高网络训练的速度,同时也有利于模型泛化能力的提高。
设胶囊网络中的第l-1层的低级胶囊个数和第l层的高级胶囊个数分别为m和n,对于传统胶囊网络来说需要训练m*n个转换矩阵,而在本文的模型中,极限情况下可以使得m个低级胶囊共享1个转换矩阵,其数量仅有原始胶囊网络的则公式(2)变为下式:/>
uj|i=Wjui;i=1,2,...,m;j=1,2,...,n (6)
图7给出CapsNet和S-CapsNet的前向传播对比图,可以更清楚的看到共享转换矩阵的优势所在。(a)为CapsNet的前向传播图;与原始胶囊网络中的动态路由算法相比,本文所提出的路由算法最大的改动就是不再需要为每个低层胶囊学习映射到高层胶囊的转换矩阵,而是通过相近的低层胶囊共享转换矩阵达到减少参数、提高泛化能力的目的,具体的细节说明如下:
激活函数的非线性映射对于深度学习相当重要,本文提出一种称为e-squash的非线性激活函数以改善CapsNet的性能。相较于CapsNet的squash函数,此函数中用于缩放输入矢量的部分改进为图8给出不同激活函数的映射性能,可以看出e-squash函数比squash函数在局部范围有更大的梯度,可以有效缓解网络训练过程中梯度消失等问题,此外,e-squash的函数曲线更加平滑,这有助于反向传播过程中的梯度更新。因此,e-squash函数在更深层的胶囊网络架构中将会获得更好的分类性能。
3.实验与分析
3.1实验平台与实验数据集
本文实验使用Windows10操作系统,具体处理器为i5-1135G7,NVIDIA3080显卡,16GBDDR4L内存,CUDA9.0,cuDNN7,使用Pytorch搭建网络模型,Python3.7作为编程语言,在集成开发环境PyCharm上进行模型的训练和测试。
本文实验使用相较于MNIST更复杂的数据集CIFAR10、SVHN、FashionMNIST来定性和定量评估所提网络的性能。
CIFAR10是由32×32像素的RGB图像组成,具有10种类别的物体,每个类有6000张图像,总共分为5000张训练图像和1000张测试图像。数据集分为5个训练批次个1个测试批次,每个批次1000张图像。
SVHN数据集来源于谷歌街景门牌号码,每张图片种包含一组0-9的阿拉伯数字,训练集包含73257个数字,测试集包含26032个数字,另有531131个附加数字。
FashionMNIST数据集是由德国Zalando公司提供的图像数据集,包含60000个样本的训练集和10000个样本的测试集,每个样本都是28×28的灰度图像,与10个类别的标签相关联。
3.2实验结果与分析
为了评估所提模型性的有效性,在三个数据集上分别进行了一系列的对比实验,对比条件包括:是否加入S-Attention自注意力模块、共享转换矩阵的数量n、挤压函数squash、损失函数中是否加入L2正则化。图像分类性能以总体准确率作为定量评估分类结果的精度指标,以参数量的多少作为计算负载指标。以DACapsNet、CV-CapsNet、DenseCapsNet等胶囊网络变体作为对比模型。
3.2.1动态路由算法中路由次数r的实验结果
本节实验的主要目的是验证动态路由算法中的路由次数对模型的性能影响。在胶囊网络中,路由算法通过更新步骤的迭代计算耦合系数cij确定低级胶囊和高级胶囊之间的连接强度,路由次数r的大小决定了不同胶囊层之间的层次关系,网络在开始训练时往往需要确定合适的r值,本实验在统一其他参数的条件下,改变路由次数r来验证其对模型识别的准确率。令r=1、2、3、4……来验证变化的趋势,实验结果如表1所示。
表1不同路由次数下的准确率
为了更直观的看出r值对模型性能的影响,画出r值与准确率的折线图。
通过在实验数据集上改变路由次数r的值,从表1和图9可以看出,在r=1的时候,3个数据集的准确率都表现不佳,即在路由次数较少的情况下,低层胶囊的预测信息无法精确的路由到高层胶囊。r=2时准确率有着明显提高;r=3时,CapsNet的性能是最优的;继续增加r时,准确率出现下降的趋势。因此,确定出最佳的迭代次数为3,在之后的实验中,将不同模型的r值定为常量3,不再做自适应的改变。
3.2.2挤压函数e-squash以及L2正则化项的消融实验结果
为了验证本文所提出的e-squash挤压函数的有效性以及正则化项的必要性,在不同的模型上进行了消融实验,训练集以及测试集的最高准确率结果如表2所示。e-squash列的对勾项代表将基线模型的挤压函数squash替换为e-squash,列的对勾项表示在基线模型的损失函数上加入L2正则化项。
表2 e-squash以及正则化项的消融实验结果
CV-CapsNet和DACapseNet分别在三个数据集上的消融实验结果如上表所示。CV-CapsNet在挤压函数与损失函数不做调整的情况下,在三个实验测试集上的准确率分别为83.41%、90.25%、87.46%,当采用本文所提的挤压函数e-squash以及加上正则化项之后的测试集准确率分别为85.48%、90.83%、91.81%,提高了2.07%、0.58%、4.35%;DACapsNet则分别提高了2.79%、0.08%、0.14%。可以看出调整之后的模型相比于基线模型均有不同的提升,其中CV-CapsNet在FashionMNIST数据集上的提升最为明显。可以得出结论:e-squash相较于原始挤压函数对于模型的性能贡献更大,但提升有限;在胶囊网络模型的损失函数中加上正则化项提高模型的泛化能力也是有必要的,这是由于向量神经元中的每一个维度都代表了所学到的实体的某一个属性,相比于标量神经元包含的信息更加丰富,但也意味着其更易过拟合。
3.2.3不同模型的对比实验
如2.2节所述,假设胶囊网络中的第l-1层的低级胶囊个数和第l层的高级胶囊个数分别为m和n,传统的胶囊网络模型需要学习m×n个转换矩阵,计算开销巨大。而本文所提模型则可以同过共享转换矩阵来减少模型的参数量,同时又可以减轻胶囊网络过拟合现象。当共享的数量N值不同时,模型的性能也会不同,为了确定最佳的N值,本节绘出N值与CIFAR10测试集准确率以及参数量之间的关系曲线图。
实验结果显示,当低级胶囊全部通过一个矩阵映射到高级胶囊时(N值为1),此时的准确率很低。不断提高N值,准确率也有着不同的提升,尤其是N值从1到5,模型性能提升较大;在提升到5之后,模型性能的提升便不再明显,反之参数量却大幅提升。因此可以确定最佳的N值为5,此时准确率达到了84.1%,相比于最高的86.0%仅下降了1.9%,但是参数量却仅为后者的一半,达到了一个较好的模型准确率与模型复杂度之间的一个平衡。
在确定动态路由算法迭代次数r为3、挤压函数为本文所提出的e-squash、损失函数加上L2正则化项以及共享转换矩阵数量N值为5的条件下,在三个实验数据集上测试了本文所提出的S-CapsNet,并将其性能与现有的其它胶囊网络进行了对比。
平均参数量的说明:模型在不同的数据集上的参数量各不相同,为了方便表达,这里取三个数据集上参数量的平均值作为计算负载的指标。
表3不同胶囊网络的实验结果比较
S-CapsNet在三个数据集的测试准确率均达到了90%以上,尤其是在SVHN数据集上达到了94.96%的测试准确率,已经达到较高水平,相比于其它注重参数减少的模型如DensCapsNet等在准确率方面具有更大的优势。可以得出结论本文所提模型在准确率以及计算负载之间达到了一个较好的平衡,可以动态调整共享转换矩阵的数目N来实现不同的具体要求。说明在胶囊网络中引入注意力机制与优化动态路由算法可以切实提升其应对复杂场景的能力。
4.结语
本文在CapsNet的基础上,引入注意力机制和通过共享转换矩阵优化动态路由算法,前者使得模型的特征提取能力增强,每一个低级胶囊中能够携带更多与分类任务相关的特征信息,后者则减少了模型的复杂度,提高了模型的泛化能力。为了检验S-CapsNet的性能,在三个复杂数据集上进行了测试,实验结果表明本文的模型在一定程度上提高了网络的性能,超过大部分现有的相关算法。
目前的一个问题是由于低级胶囊和高级胶囊之间的耦合系数是通过动态路由算法迭代一定的次数计算得到的,并非作为固定参数保存在网络中,这意味着当网络训练完成后并用于实际的预测情况时,需要耗费较长的时间用于实时计算cij,这对于实时性要求较高的场景不友好。此外,对于本文所提出的e-squash函数也并未表现出足够的优势。因此,今后将会尝试对目前的网络进一步改进,例如加深网络结构会不会更能体现e-squash的优势;对于目前需要迭代计算的动态路由算法,提出非迭代的算法来进行替换以提高实时性,都有进一步研究的期待。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (4)
1.基于改进胶囊网络的图像分类方法,其特征在于:该方法包括以下步骤:
S1:建立胶囊网络;
S2:建立STM-CapsNet模型;
S3:建立基于自注意力机制的S-Attention。
2.根据权利要求1所述的基于改进胶囊网络的图像分类方法,其特征在于:所述S1中,胶囊网络由卷积层、主胶囊层、数字胶囊层和解码器组成,采用动态路由算法来更新参数;主胶囊层和数字胶囊层之间通过动态路由算法出传递信息;在卷积层之后,主胶囊层将经过卷积操作提取到的初始特征图转换为向量胶囊作为数字胶囊层的输入;动态路由算法代替池化操作将主胶囊层的低级胶囊信息路由到数字胶囊层,在经过三次的路由计算后输出最终用于分类的向量胶囊;Wij为动态路由算法中的转换矩阵;
胶囊网络中的输出向量的每个维度保留实体的具体属性,用来重构出原始图像;胶囊网络的解码器输入为数字胶囊层输出的10个16维向量,重构出与原始输入图像大小一致的图像,其重构损失越小越好,作为总体损失函数的一部分;
低层胶囊代表了对象的基本实体,使用所述动态路由算法将信息传递到下一层的高层胶囊中;上一层的胶囊通过学习的转换矩阵对下一层胶囊的实例化参数进行预测,使用一个被称为“squashing”的非线性函数将向量的长度压缩至0到1之间,来保证不同胶囊层之间激活功能的完成;
其中vj为胶囊的输出向量,sj为上一层所有胶囊输出到当前层的向量加权和,即胶囊j的输入向量;挤压函数的后一部分保证向量的原始方向不会发生改变,前一部分则将向量的长度压缩到0到1之间;sj的计算过程由预测和线性组合获得,表示为:
uj|i=wijui (2)
其中,uj|i是ui的线性组合,表示前一层的第i个胶囊的输出向量和对应的转换矩阵相乘得出的预测向量;耦合系数cij是动态路由算法一个重要参数,高层胶囊j通过cij与低层胶囊i传递信息,表示了低层胶囊对于高层胶囊投票抉择的一致性;cij是非负值的标量,对于每一个低级胶囊i,与它所连接的所有高级胶囊j,其耦合系数之和为1,即bij是胶囊i连接至胶囊j的先验概率,初始值为0,通过事先确定的路由次数迭代计算cij,使得低层胶囊和高层胶囊之间的连接是动态的,使得低层胶囊更倾向于将信息传递给与其耦合系数更大的高层胶囊中;
间隔损失函数,如公式(4)所示:
Lk=Tk max(0,m+-||vk||)2+λ(1-Tk)max(0,||vk||-m-)2 (4)
其中,Lk为经过计算得到的间隔损失;Tk为第k分类的存在值,若存在则取1,否则取0;m+、m-和λ分别取0.9、0.1、0.5;||vk||表示的是向量的模长,实际就是数字k存在的概率,m+和m-都是阈值,代表胶囊之间连接的强度,大于0.9则表示完全连接,小于0.1认为不存在连接;设置一个重构图像的任务并计算重构损失,即用一个解码器进行还原,重构损失是由重构图片和输入图片之间的欧氏距离。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310148845.4A CN116246110A (zh) | 2023-02-22 | 2023-02-22 | 基于改进胶囊网络的图像分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310148845.4A CN116246110A (zh) | 2023-02-22 | 2023-02-22 | 基于改进胶囊网络的图像分类方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116246110A true CN116246110A (zh) | 2023-06-09 |
Family
ID=86623720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310148845.4A Pending CN116246110A (zh) | 2023-02-22 | 2023-02-22 | 基于改进胶囊网络的图像分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116246110A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116977336A (zh) * | 2023-09-22 | 2023-10-31 | 苏州思谋智能科技有限公司 | 摄像头缺陷检测方法、装置、计算机设备及存储介质 |
-
2023
- 2023-02-22 CN CN202310148845.4A patent/CN116246110A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116977336A (zh) * | 2023-09-22 | 2023-10-31 | 苏州思谋智能科技有限公司 | 摄像头缺陷检测方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109949255B (zh) | 图像重建方法及设备 | |
CN109685819B (zh) | 一种基于特征增强的三维医学图像分割方法 | |
CN112052886B (zh) | 基于卷积神经网络的人体动作姿态智能估计方法及装置 | |
Fu et al. | Deep multiscale detail networks for multiband spectral image sharpening | |
CN111767979B (zh) | 神经网络的训练方法、图像处理方法、图像处理装置 | |
CN108510012B (zh) | 一种基于多尺度特征图的目标快速检测方法 | |
CN111950649B (zh) | 基于注意力机制与胶囊网络的低照度图像分类方法 | |
CN112507898B (zh) | 一种基于轻量3d残差网络和tcn的多模态动态手势识别方法 | |
Hu et al. | SAC-Net: Spatial attenuation context for salient object detection | |
CN112308200B (zh) | 神经网络的搜索方法及装置 | |
CN112613581B (zh) | 一种图像识别方法、系统、计算机设备和存储介质 | |
WO2021022521A1 (zh) | 数据处理的方法、训练神经网络模型的方法及设备 | |
CN111291809B (zh) | 一种处理装置、方法及存储介质 | |
CN112288011B (zh) | 一种基于自注意力深度神经网络的图像匹配方法 | |
CN111507993A (zh) | 一种基于生成对抗网络的图像分割方法、装置及存储介质 | |
CN113326930B (zh) | 数据处理方法、神经网络的训练方法及相关装置、设备 | |
CN113705769A (zh) | 一种神经网络训练方法以及装置 | |
CN112464865A (zh) | 一种基于像素和几何混合特征的人脸表情识别方法 | |
CN111914997B (zh) | 训练神经网络的方法、图像处理方法及装置 | |
CN114255361A (zh) | 神经网络模型的训练方法、图像处理方法及装置 | |
CN112561028A (zh) | 训练神经网络模型的方法、数据处理的方法及装置 | |
CN109961397B (zh) | 图像重建方法及设备 | |
CN113298235A (zh) | 一种多分支深度自注意力变换网络的神经网络架构及实现方法 | |
CN115375711A (zh) | 基于多尺度融合的全局上下文关注网络的图像分割方法 | |
CN113011253A (zh) | 基于ResNeXt网络的人脸表情识别方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |