一种基于特征重标定生成对抗网络的图像分类方法与流程

文档序号:15934010发布日期:2018-11-14 02:05阅读:215来源:国知局

本发明涉及一种图像分类方法,尤其适用于一种基于特征重标定生成对抗网络的图像分类方法。

背景技术

在一个特定网络训练过程中,随着迭代次数的增多,网络模型在训练集往往拟合地很好,训练误差较小,但测试集的拟合程度不佳,导致测试误差较大。目前的研究表明,多个神经网络模型的集成通常比单个神经网络在验证阶段的性能要好。本质上可以理解为不同的模型对同一个任务所提取的特征往往是有差异的,这种差异正好弥补了模型之间泛化能力不足的问题,从而在最终的任务表现上比单个模型要好得多。

判别模型的集成融合往往是结合了在不同随机初始化方法训练出的模型,从而提高网络的泛化能力。srivastav等提出的dropout策略来训练单个神经网络,按一定的概率来对某一层节点的输出连接参数进行随机采样,将这个子网络作为当前更新的目标网络,可以有效增加模型的泛化能力。wa等提出的dropconnect策略是指随机更新某一层节点的输入连接参数,来提高模型的泛化能力。huang等提出随机深度(stochasticdepth)训练策略以及sing等提出将dropout和随机深度进行集成的方法,解决了特征层或所有层中节点的共适应问题。若不同随机状态的网络当作一个子网络,则对整个网络而言,上述的训练策略可以当作是所有子网络的集成。

最早在生成对抗网络用到集成思想的是wang等在2016年提出的级联生成对抗网络(cascadeofgans),当第一个gan的表现因训练不再提升时,则将它的输出经过逻辑门结构来选择满足条件的部分训练样本,然后将选择的训练样本送入到第二个gan中训练直到满足最终的约束条件位置为止,这种结构能有效地解决gan难以捕获整个训练样本的分布问题即生成样本的多样性不足。

卷积神经网络在很多领域上都取得了巨大的突破。而卷积核作为卷积神经网络的核心,通常被看作是在局部感受野上,将空间信息和特征维度上的信息进行聚合的信息聚合体。卷积神经网络由一系列卷积层、非线性层和下采样层构成,这样它们能够从全局感受野上去捕获图像的特征来进行图像的描述。

最近很多工作是从空间维度层面来提升网络的性能,如szegedy最早提出的inception框架结构,将1*1,3*3,5*5的卷积和3*3的池化组合在一起嵌入了多尺度信息,聚合多种不同感受野上的特征来获得性能增益。jaderberg等将attention机制引入到空间维度上,允许在网络中对数据进行空间操作,使神经网络能够主动地在空间上进行特征映射。bell等提出了inside-outside网络,是一种利用感兴趣区域内外的信息的对象检测器,利用空间递归神经网络集成学习兴趣区域之外的上下文信息,在内部使用skip-pooling来提取多个级别和抽象级别的信息。

除了在空间维度上来提升网络的性能之外,在特征通道方面也能够提升网络的性能,hu等提出了压缩激活模块。该模块共分为压缩(squeeze)和激活(excitation)两个操作,可以显式地构建特征通道之间的相互依赖关系,提取出有用的特征,抑制那些任务无关的特征。



技术实现要素:

发明目的:根据上述技术的不足之处,提供一种结构简单,使网络结构对经过随机处理的同一输入样本对应得到的输出尽可能相同,可以学习到任务相关的特征,增加网络的泛化能力的基于特征重标定生成对抗网络的图像分类方法。

为实现上述技术目的,本发明的基于特征重标定生成对抗网络的图像分类方法,其步骤为:

1.一种基于特征重标定生成对抗网络的图像分类方法,其特征在于步骤为:

s1构造生成对抗网络模型,将待分类的图像数据输入对抗网络模型进行网络训练;

s2构造卷积网络构成的生成器和鉴别器;

s3初始化随机噪声,将随机噪声输入生成器中;

s4在生成器中利用卷积网络对随机噪声进行多层反卷积运算最终得到生成样本;

s5将生成样本和和真实样本输入鉴别器;

s6在鉴别器中利用卷积网络对输入样本进行卷积与池化操作从而得到特征图,在卷积网络中间层引入压缩激活senet模块对特征图进行校准,得到校准后的特征图,引入nin网络使用全局平均池化,最终输出图像数据分类。

详细步骤为:

a.设x={x1,x2,…xm}表示m个真实样本的集合,

将待分类的维度为100的随机噪声z输入生成器,

z∈r100,将随机噪声z映射到维度为1024×16的高维空间,重新调整映射的高维空间的通道数为1024,大小为4×4的特征图;

b.重复上述反卷积运算步骤,每一次反卷积运算都将上一次反卷积运算得到的特征图大小变为原来的两倍,直到得到的生成样本与输入图像尺寸相同后停止卷积运算;

c.将生成样本和真实样本输入鉴别器,通过鉴别器进行生成对抗网络的半监督学习,其中真实样本包括无标签样本和有限的带标签样本,带标签样本仅参与鉴别器的监督交叉熵损失,无标签样本和生成样本参与无监督对抗损失和无监督均方差损失;

首先对生成样本和真实样本进过若干个的卷积与池化操作之后,得到一系列特征图集合u,其中u∈rc×h×w,随后利用压缩激活senet模块对特征图u进行校准,得到校准后的特征图u′,其中u′∈rc×h×w;式中,c表示通道数,h代表宽,w代表高;

d.引入nin网络增加网络的非线性拟合能力,进行一个1×1的卷积;

e.使用全局平均池化层处理nin网络卷积后的结果,分别输出交叉熵损失、均方差损失和对抗损失,加权求和后获得总损失,与此同时获得测试输入图像的标签以及精率,最终对图像进行分类。

设x={x1,x2,…xm}表示m个真实样本的集合,为维度为100的随机噪声向量,为生成样本,则鉴别器的输出代表其输入样本属于真实样本的概率为则常规对抗网络总的目标函数表示为:

式中:e(*)表示的是期望,g表示生成器,d表示鉴别器,y表示样本的标签,

通过鉴别器进行生成对抗网络的半监督学习,需要考虑到输入样本属于真实样本的概率,还要考虑带标签的输入样本对标签类别的概率值;

设给定标签类别共有k类,样本x经过特征提取得到一个k维的特征向量logits={l1,l2,…lk},则该样本对第j类的概率表示为:

在监督学习中,目标函数就是最小化样本标签与模型预测的概率值的交叉熵,为了获得交叉网络的监督交叉熵损失,将输入到鉴别器的生成样本所属的类别定义为第k+1类,则来自生成样本的概率表示为pmodel(y=k+1|x),即对应于1-d(x),假设鉴别的训练样本一半来自真实样本,另一半来自生成样本,则半监督生成对抗网络鉴别器d的损失函数可表示为:

带标签的训练贡献于监督交叉熵损失:

无标签训练样本贡献于无监督对抗损失:令d(x)=1-pmodel(y=k+1|x),则

其中,式中:exp表示的是指数函数,z(*)表示鉴别器输出特征向量的每一维度的指数加权和;

生成对抗网络针对半监督分类任务,为鉴别器引入模型在不同状态下的无监督特征均方差损失,对真实样本两个分支的同一输入而得到的不同输出进行惩罚,该正则项能够学习任务相关的特征,提高半监督分类的精度;假设表示第二分支无标签的训练样本,表示鉴别器同一训练阶段下的不同状态,通过随机预处理函数f(*)得到输入对应的输出可表示为:

同理第一分支下的输入对应的输出为:

z(i)=dθ(f(x(i)))

则无监督特征均方差正则项如下:

其中,w(t)表示的是在训练过程中正则项对鉴别器贡献是动态的,训练初期,由于网络参数较差,该正则项的贡献为0,随着训练的进行,贡献程度逐步上升,最后获得一个趋于稳定值。

假设senet模块不是每一张特征图对提升分类任务的作用都相同,因此需要学习输入的每一张特征图对分类任务的权重;

给定一个输入x,式中,c’代表是转换之后的特征图的通道数,h’代表特征图的宽,w’代表特征图的高,通过卷积映射变换ftr(*,θ),得到c个特征图的集合u,u=[u1,u2,…,uc],其中下面通过压缩操作、激活映射操作和重标定操作来重标定经过映射得到的特征u:

(1)压缩fsq(*)操作:为了探索特征通道相互之间的依赖性,首先考虑学习特征图中每一个通道的信息,由于卷积运算是在一个局部感受野进行操作,因此卷积变换之后得到的节点都无法获取该局部感受野以外的信息;

压缩操作将全局空间信息压缩到一个通道描述符中,通过全局平均池化来生成描述特征通道信息的统计量t,统计量的第c个元素计算方式如下:

其中,代表着整个图像的信息;

(2)激活fex(*)操作:激活操作类似于循环神经网络中门的机制,由两个全连接层组成,将特征维度降低到输入的1/16,然后经过激活函数relu激活后,通过全连接层升到原来的维度,最后通过激励函数sigmoid的门获得0~1之间归一化的权重,表达式如下:

s=fex(t,w)=σ(g(t,w))=σ(w2δ(w1t))

式中,δ为relu激活函数,σ为sigmoid函数,参数w用来显式地建模特征通道间的相关性;

(3)重标定fscale(*)操作:将激活操作得到的权重当作是特征选择之后的特征通道的重要性指标,然后与之前的通道逐个加权相乘,完成在通道维度上的对原始特征的重标定,对第c个特征通道的加权公式如下:

其中,s=[s1,s2,…,sc]。

有益效果:

本发明基于传统鉴别器的损失策略和结构难以提取到抽象以及任务相关的鲁棒性特征,鉴别器引入了无监督正则项,使网络结构对经过随机处理的同一输入样本对应得到的输出尽可能相同,可以学习到任务相关的特征,使分类任务性能有所提升,即增加网络的泛化能力;与此同时,传统的鉴别器的结构是卷积加池化模块组成的,在鉴别器的中间层引入senet模块,自动学习每一个特征通道的重要程度,提取任务相关有用的特征抑制任务无关的特征,从而提高半监督学习表现,有效提高图像的分类性能。

附图说明:

图1为本发明的步骤流程图;

图2是本发明的senet模块结构图。

具体实施方式:

下面结合附图对本发明的具体实施例做进一步说明:

如图1所示,本发明的基于特征重标定生成对抗网络的图像分类方法,其步骤为:

s1构造生成对抗网络模型,将待分类的图像数据输入对抗网络模型进行网络训练;

s2构造卷积网络构成的生成器和鉴别器;

s3初始化随机噪声,将随机噪声输入生成器中;

s4在生成器中利用卷积网络对随机噪声进行多层反卷积运算最终得到生成样本;

s5将生成样本和和真实样本输入鉴别器;

s6在鉴别器中利用卷积网络对输入样本进行卷积与池化操作从而得到特征图,在卷积网络中间层引入压缩激活senet模块对特征图进行校准,得到校准后的特征图,引入nin网络使用全局平均池化,最终输出图像数据分类。

详细步骤为:

a.设x={x1,x2,…xm}表示m个真实样本的集合,

将待分类的维度为100的随机噪声z输入生成器,

z∈r100,将随机噪声z映射到维度为1024×16的高维空间,重新调整映射的高维空间的通道数为1024,大小为4×4的特征图;

b.重复上述反卷积运算步骤,每一次反卷积运算都将上一次反卷积运算得到的特征图大小变为原来的两倍,直到得到的生成样本与输入图像尺寸相同后停止卷积运算;

c.将生成样本和真实样本输入鉴别器,通过鉴别器进行生成对抗网络的半监督学习,其中真实样本包括无标签样本和有限的带标签样本,带标签样本仅参与鉴别器的监督交叉熵损失,无标签样本和生成样本参与无监督对抗损失和无监督均方差损失;

首先对生成样本和真实样本进过若干个的卷积与池化操作之后,得到一系列特征图集合u,其中u∈rc×h×w,随后利用压缩激活senet模块对特征图u进行校准,得到校准后的特征图u′,其中u′∈rc×h×w;式中,c表示通道数,h代表宽,w代表高;

d.引入nin网络增加网络的非线性拟合能力,进行一个1×1的卷积;

e.使用全局平均池化层处理nin网络卷积后的结果,分别输出交叉熵损失、均方差损失和对抗损失,加权求和后获得总损失,用于参数更新,与此同时通过测试分支输出对测试样本的标签,从而计算精度,获得测试输入图像的标签以及精率,最终对图像进行分类。

设x={x1,x2,…xm}表示m个真实样本的集合,为维度为100的随机噪声向量,为生成样本,则鉴别器的输出代表其输入样本属于真实样本的概率为则常规对抗网络总的目标函数表示为:

式中:e(*)表示的是期望,g表示生成器,d表示鉴别器,y表示样本的标签,

通过鉴别器进行生成对抗网络的半监督学习,需要考虑到输入样本属于真实样本的概率,还要考虑带标签的输入样本对标签类别的概率值;

设给定标签类别共有k类,样本x经过特征提取得到一个k维的特征向量logits={l1,l2,…lk},则该样本对第j类的概率表示为:

在监督学习中,目标函数就是最小化样本标签与模型预测的概率值的交叉熵,为了获得交叉网络的监督交叉熵损失,将输入到鉴别器的生成样本所属的类别定义为第k+1类,则来自生成样本的概率表示为pmodel(y=k+1|x),即对应于1-d(x),假设鉴别的训练样本一半来自真实样本,另一半来自生成样本,则半监督生成对抗网络鉴别器d的损失函数可表示为:

带标签的训练贡献于监督交叉熵损失:

无标签训练样本贡献于无监督对抗损失:令d(x)=1-pmodel(y=k+1|x),则

其中,式中:exp表示的是指数函数,z(*)表示鉴别器输出特征向量的每一维度的指数加权和;

生成对抗网络针对半监督分类任务,为鉴别器引入模型在不同状态下的无监督特征均方差损失,对真实样本两个分支的同一输入而得到的不同输出进行惩罚,该正则项能够学习任务相关的特征,提高半监督分类的精度;假设表示第二分支无标签的训练样本,表示鉴别器同一训练阶段下的不同状态,通过随机预处理函数f(*)得到输入对应的输出可表示为:

同理第一分支下的输入对应的输出为:

z(i)=dθ(f(x(i)))

则无监督特征均方差正则项如下:

其中,w(t)表示的是在训练过程中正则项对鉴别器贡献是动态的,训练初期,由于网络参数较差,该正则项的贡献为0,随着训练的进行,贡献程度逐步上升,最后获得一个趋于稳定值。

如图2所示,设senet模块不是每一张特征图对提升分类任务的作用都相同,因此需要学习输入的每一张特征图对分类任务的权重;

给定一个输入x,式中,c’代表是转换之后的特征图的通道数,h’代表特征图的宽,w’代表特征图的高,通过卷积映射变换ftr(*,θ),得到c个特征图的集合u,u=[u1,u2,…,uc],其中下面通过压缩操作、激活映射操作和重标定操作来重标定经过映射得到的特征u:

(1)压缩fsq(*)操作:为了探索特征通道相互之间的依赖性,首先考虑学习特征图中每一个通道的信息,由于卷积运算是在一个局部感受野进行操作,因此卷积变换之后得到的节点都无法获取该局部感受野以外的信息;

压缩操作将全局空间信息压缩到一个通道描述符中,通过全局平均池化来生成描述特征通道信息的统计量t,统计量的第c个元素计算方式如下:

其中,代表着整个图像的信息;

(2)激活fex(*)操作:激活操作类似于循环神经网络中门的机制,由两个全连接层组成,将特征维度降低到输入的1/16,然后经过激活函数relu激活后,通过全连接层升到原来的维度,最后通过激励函数sigmoid的门获得0~1之间归一化的权重,表达式如下:

s=fex(t,w)=σ(g(t,w))=σ(w2δ(w1t))

式中,δ为relu激活函数,σ为sigmoid函数,参数w用来显式地建模特征通道间的相关性;

(3)重标定fscale(*)操作:将激活操作得到的权重当作是特征选择之后的特征通道的重要性指标,然后与之前的通道逐个加权相乘,完成在通道维度上的对原始特征的重标定,对第c个特征通道的加权公式如下:

其中,s=[s1,s2,…,sc]。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1