一种基于随机卷积神经网络的高分辨率图像场景分类方法与流程

文档序号:12471282阅读:314来源:国知局
一种基于随机卷积神经网络的高分辨率图像场景分类方法与流程

本发明属于遥感图像处理领域,具体涉及一种基于随机卷积神经网络的高分辨率图像场景分类方法。



背景技术:

高分辨率遥感图像(一般指大于1米空间分辨率的遥感图像)由于其具有很高的空间分辨率,丰富的空间信息可以为地物识别提供精细的信息,已被广泛应用于各个领域。然而,由于图像空间分辨率比较高,进行识别的场景通常包含多种不同类别的地物混合得到的像元,这些地物往往有着不同的结构信息,但是由于光谱分辨率较低,往往难以区分。随着高分辨率成像技术的成熟和成本的降低,高分辨率图像被越来越多的使用,但是高分辨率图像的场景识别仍然存在一些限制条件。

1)高分辨率的存在使得场景往往有多种复杂地物组成,造成异物同谱现象,使精确解译成为一个难点,因为无法确定这个像元到底属于哪种物质。

2)进行场景识别,需要利用获取的图像的空间,结构,纹理和语义信息,从语义的层面上解译图像。但是如何学习图像的层次化特征表达是个难点。

3)利用单个网络模型往往容易陷入局部最小值,不能得到最优结果。这些方法不能得到网络的最优结果。

因此,需要一种能利用数据本身高层次特征,又有优异的语义信息表达的方法来进行场景的层次化特征学习与识别。



技术实现要素:

本发明主要是提供了一种基于梯度提升的随机卷积神经网络模型解决现有方法所存在的问题,提供了一种既能层次化提取高层次特征,又能自适应聚合多个网络模型的方法。

为了达到上述目的,本发明提供的技术方案是一种基于随机卷积神经网络的高分辨率图像场景分类方法,包括以下步骤:

步骤a,数据去均值,获得待分类图像集和训练图像集;

步骤b,模型共享的参数库随机初始化;步骤c,计算步骤a中所得待分类图像集和训练图像集的负梯度方向,实现方式如下,

设图像集x是输入数据,y是对应x的类别标签,N是数据个数,i是数据编号,首先令初始化输出函数f0(x)=0,k=1,...,K,t=1,其中f0(x)是非线性函数f(x)的初始函数,k是类别个数,共K个类别,t为迭代次数,计算优化函数Ψ(y,f(x))如下,

<mrow> <msub> <mi>p</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </msub> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>/</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mi>exp</mi> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </msub> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mi>&Psi;</mi> <mrow> <mo>(</mo> <mi>y</mi> <mo>,</mo> <mi>f</mi> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <msub> <mi>y</mi> <mi>k</mi> </msub> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mi> </mi> <msub> <mi>p</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中f(k)(x)表示输出函数的第k个类别的输出值,pk(x)表示样本x属于第k个类别的概率,yk表示样本x是否为第k个类别,如果是则为1,不是则为0;

然后利用优化函数计算负梯度方向如下,

<mrow> <mo>-</mo> <msub> <mi>g</mi> <mi>t</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <msub> <mrow> <mo>&lsqb;</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>&Psi;</mi> <mrow> <mo>(</mo> <mi>y</mi> <mo>,</mo> <mi>f</mi> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&rsqb;</mo> </mrow> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mi>y</mi> <mo>-</mo> <mi>p</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

其中,表示第t-1个f(x)的估计函数,p(x)表示样本x的各类别输出概率;第一次执行步骤c时,f(x)=f0(x);后续执行步骤c时,f(x)为上一次迭代得到的估计函数;

步骤d,训练基础卷积神经网络模型,实现方式如下,

首先从步骤b所得共享的参数库中随机选取一组卷积神经网络的参数组合θt,构成一个基础卷积神经网络模型h(x,θt),

<mrow> <mi>h</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mo>|</mo> <mo>|</mo> <mi>h</mi> <mo>(</mo> <mrow> <mi>x</mi> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>t</mi> </msub> </mrow> <mo>)</mo> <mo>-</mo> <msub> <mi>g</mi> <mi>t</mi> </msub> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>+</mo> <mi>&lambda;</mi> <munderover> <mo>&Sigma;</mo> <mrow> <mi>l</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>L</mi> </munderover> <mi>s</mi> <mi>u</mi> <mi>m</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <msup> <mi>&theta;</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

其中θ(l)是第l个特征提取阶段的网络参数,设共L个特征提取阶段,l=1,2,…L,θ表示所有阶段的网络参数,θt是第t个非线性函数f(x)的网络参数θ,sum(.)指求和;

然后基于步骤a所得的训练图像集,利用传统的反向误差传播算法和步骤c得到的负梯度方向,来最小化基础卷积神经网络模型h(x,θt)的误差,并对h(x,θt)进行训练,得到最优的参数组合θt,更新卷积神经网络参数并存入对应阶段参数库;

步骤e,训练基础卷积神经网络模型的权重,实现方式如下,

利用步骤d得到的基础卷积神经网络模型h(x,θt)和函数估计计算模型权重如下,

<mrow> <msub> <mi>&rho;</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>=</mo> <munder> <mrow> <mi>arg</mi> <mi>min</mi> </mrow> <mi>&rho;</mi> </munder> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mi>&Psi;</mi> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>&rho;</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <msub> <mi>h</mi> <mi>k</mi> </msub> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>&theta;</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

其中,ρt,k是第t个非线性函数f(x)的第k类别权重,表示第t-1个f(x)的估计函数,表示第k类别的hk(xi,θ)表示第i个数据xi第k类别的优化函数;

权重更新为其中表示权值梯度,表示第t次迭代第k类别的权值梯度,c代表某个样本的标签,指示函数1(c=k)表示如果c等于k则取值为1,否则为0,k=1,2,…K;hc(x)表示第c类别的基础卷积神经网络模型h(x,θt)输出值,hk(x)表示第k类别的基础卷积神经网络模型h(x,θt)输出值;

步骤f,更新函数预测,得到加和模型,公式如下,

<mrow> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mi>t</mi> </msub> <mo>&LeftArrow;</mo> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>&lambda;&rho;</mi> <mi>t</mi> </msub> <mi>h</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

其中,ρt是基础卷积神经网络的最佳梯度下降乘子,h(x,θt)为基础卷积神经网络模型,λ为缩放因子,且λ=1/(M+1);

步骤g,判断迭代是否达到最大训练次数,若达到最大训练次数则转步骤h;否则令t=t+1,转步骤c,重新计算负梯度,并继续从共享的参数库中随机选取另一组参数组合,构成一个基础卷积神经网络模型,进行训练;

步骤h,利用步骤f中所得的加和模型对步骤a所得的待分类图像集进行识别。

而且,步骤b所述模型共享的参数库随机初始化通过高斯分布随机生成实现。

与现有技术相比,本发明的有益效果是:

本发明使用深度卷积网络对特征进行层次化学习,利用梯度提升方法进行模型的聚合学习,用来克服单个模型容易陷入局部最优解问题,同时提高网络泛化能力。在模型训练过程中,加入了随机参数共享机制,提高模型的训练效率,可以在合理的时间代价下实现对特征的层次化学习,学习到的特征在场景识别中更具有鲁棒性。

附图说明

图1为本发明实施例中卷积神经网络方法示意图。

图2为本发明实施例中卷积神经网络的单个学习阶段示意图。

图3为本发明实施例中梯度提升的随机卷积神经网络模型原理图。

具体实施方式

以下结合附图和具体实施例来对本发明做进一步的说明。

本发明利用深度学习方法对场景分类问题进行层次化特征学习,结合聚合模型进一步提高模型泛化能力,利用梯度提升法进行模型聚合,特征学习结果具有鲁棒性。

引入深度卷积网络,利用深度卷积神经网络进行场景图像的层次化特征学习。深度卷积网络是一种模拟人脑层次化特征识别的方法。图像特征往往是由低层次到高层次逐层学习得到,因此可以保证学习到最优的特征表达。这样学习特征的原因在于,对于人脑视觉,场景识别往往是层次化进行的,由低级特征逐层组合成为高层次特征。由图像分析来看,可以知道图像是逐渐由边缘、纹理组合成复杂结构,进而组合成目标,最后形成识别的场景,利用深度学习方法,即能以较高的概率学习到全局最优的特征表达。

引入梯度提升方法对多个网络进行聚合学习:为了避免单个卷积神经网络模型精度不够高,引入了基于梯度提升的模型聚合方法。利用误差函数的最优梯度函数,训练多个卷积神经网络模型,自适应训练模型权重进行模型聚合,达到最优识别结果。单个神经网络由于数据量的限制,容易陷入局部最优解,不能达到最优结果。利用梯度提升方法,学习多个网络的聚合模型,自适应的训练模型间的权重,这样可以使学习到的模型具有最好的场景可分性。同时利用梯度提升,对学习到的特征进行优化,使得特征更加鲁棒。

进一步地,本发明巧妙结合卷积神经网络结构和梯度提升方法,提出了基于随机卷积网络模型的训练方法,引入随机共享机制对卷积模型训练过程进行更新。对多个深度卷积网络进行训练,往往需要大量的时间,短时间内难以完成。利用不同网络的结构相似性,同时为了减少多个复杂网络的训练时间,随机共享机制利用卷积模型特有的结构特性,建立多个模型共享的参数库,每一次训练随机选取一组参数组合进行更新,减少参数的总数量,加快训练时间。随机共享机制也在训练过程中加入随机性,提高了不同模型的差异性。这样通过建立一个共享的参数空间,每次训练迭代随机选取参数库中的结构单元进行训练,保证模型的差异性的同时,减少模型训练时间。

图1为本发明实施例中卷积神经网络方法示意图,依次包括输入、卷积、规则化和池化、卷积、规则化和池化、全连接、分类,深度卷积神经网络包含多个特征学习阶段,每一阶段都包含着3个神经层:卷积层,池化层和非线性激活层,3个网络层共同构成单个学习阶段。具体每一阶段如图2,输入图像进行卷积操作(如n×n),卷积层是指利用卷积核(如w×w),逐像素对图像进行卷积操作。非线性激活层是指利用非线性函数对卷积后的图像进行非线性处理(如f(x)=max(0,x),x指输入的卷积后的图像,max(0,x)指求0和x中较大的值)。池化是一种特征统计方式,将特征图按照网格平均划分,然后求取每一个网格的均值或者最大值。如图2所示,n是输入特征图像的大小(如n×n),p是网格的大小(如p×p),s是网格的间隔,每个网格求取其中的最大值,得到池化后的特征图,得到d个波段分别处理的结果。如图1所示,经过2次学习阶段,把学习到的特征与一个全连接网络层相连,得到向量化的特征。最后,利用这个特征与分类层相连,达到最后的分类效果。最后一个分类层是一个全连接网络,每一个输出节点代表一个待识别的类别。其中卷积神经网络利用随机梯度下降法进行求解。

图3为基于梯度提升的随机卷积神经网络模型。首先学习基础卷积神经网络模型,假设该模型有3个特征学习阶段,3个阶段的权值可以分别从第一阶段参数库Wsfilter,1、第二阶段参数库Wsfilter,2、第三阶段参数库Wsfilter,3中随机共享选取,利用现有模型误差,进一步学习该网络模型权重,利用先前网络的误差,继续学习新一个神经网络模型进行加和,得到更有效的特征。最后利用全部训练得到的模型进行识别。具体流程如下:

对于数据x是输入数据,y是对应x的类别标签,N是数据个数,i是数据编号,K是类别个数,θ(l)是第l个特征提取阶段的网络参数,设共L个特征提取阶段,l=1,2,…L,θ表示所有阶段的网络参数。最佳梯度下降乘子ρt中,ρt,k是第t个非线性函数f(x)的第k类别权重,θt是第t个f(x)的网络参数θ。第t个非线性函数f(x)即第t次迭代时求取的f(x),表示第t个f(x)的估计函数,表示第t-1个f(x)的估计函数,即表示第k类别的f0(x)是非线性函数f(x)的初始函数,设为0。sum(.)指求和。Ψ(y,f(x))为优化函数。hk(xi,θ)表示第i个数据xi第k类别的优化函数。

以上是本发明涉及的基于梯度提升的卷积神经网络模型的实现原理。通过深度卷积神经网络、梯度提升聚合模型、随机参数共享的引入,可以在较合理的时间代价下,训练出层次化识别模型。

实施例提供的具体流程包括以下步骤:

步骤a.数据去均值。输入数据为固定大小的图像(如256*256*3,波段数为3),求取用于训练的遥感图像集中所包含所有图像的均值图像,得到均值图像(如256*256*3)后,将待分类的遥感图像集中所有图像减去均值图像,得到待分类图像集;将用于训练的遥感图像集中所有图像减去均值图像,得到训练图像集。

步骤b.模型共享参数库随机初始化。随机初始化共享的参数库,可以利用高斯分布进行随机生成,实施例中分别初始化了第一阶段参数库Wsfilter,1、第二阶段参数库Wsfilter,2、第三阶段参数库Wsfilter,3。步骤c.计算步骤a中所得待分类图像集和训练图像集的负梯度方向。实现方式如下:

设图像集x是输入数据,y是对应x的类别标签(使用0-1编码表示,例如010000,表示第二类),N是数据个数,i是数据编号。首先令初始化输出函数f0(x)=0,k=1,...,K,t=1,其中f0(x)是非线性函数f(x)的初始函数,k是类别个数,共K个类别,t为迭代次数(t=1到M),通过公式(1)计算得到优化函数Ψ(y,f(x));

<mrow> <msub> <mi>p</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>exp</mi> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </msub> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>/</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mi>exp</mi> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mrow> <mo>(</mo> <mi>k</mi> <mo>)</mo> </mrow> </msub> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>1</mn> <mo>)</mo> </mrow> </mrow>

<mrow> <mi>&Psi;</mi> <mrow> <mo>(</mo> <mi>y</mi> <mo>,</mo> <mi>f</mi> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <msub> <mi>y</mi> <mi>k</mi> </msub> <mi>l</mi> <mi>o</mi> <mi>g</mi> <mi> </mi> <msub> <mi>p</mi> <mi>k</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>2</mn> <mo>)</mo> </mrow> </mrow>

其中f(k)(x)表示输出函数的第k个类别的输出值,pk(x)表示样本x属于第k个类别的概率,yk表示样本x是否为第k个类别,如果是则为1,不是则为0;

然后利用优化函数计算负梯度方向,

<mrow> <mo>-</mo> <msub> <mi>g</mi> <mi>t</mi> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <mo>-</mo> <msub> <mrow> <mo>&lsqb;</mo> <mfrac> <mrow> <mo>&part;</mo> <mi>&Psi;</mi> <mrow> <mo>(</mo> <mi>y</mi> <mo>,</mo> <mi>f</mi> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>)</mo> </mrow> </mrow> <mrow> <mo>&part;</mo> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>&rsqb;</mo> </mrow> <mrow> <mi>f</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> </mrow> </msub> <mo>=</mo> <mi>y</mi> <mo>-</mo> <mi>p</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>3</mn> <mo>)</mo> </mrow> </mrow>

其中,表示第t-1个f(x)的估计函数,p(x)表示样本x的各类别输出概率;具体实施过程中,第一次执行步骤c时,f(x)=f0(x);后续执行步骤c时,f(x)为上一次迭代得到的估计函数。

步骤d.训练基础卷积神经网络模型。实现方式如下:首先从步骤b所得共享的参数库中随机选取一组卷积神经网络的参数组合θt,构成一个基础卷积神经网络模型h(x,θt),

<mrow> <mi>h</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <mrow> <mo>(</mo> <mfrac> <mn>1</mn> <mn>2</mn> </mfrac> <mo>|</mo> <mo>|</mo> <mi>h</mi> <mo>(</mo> <mrow> <mi>x</mi> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>t</mi> </msub> </mrow> <mo>)</mo> <mo>-</mo> <msub> <mi>g</mi> <mi>t</mi> </msub> <mo>(</mo> <mi>x</mi> <mo>)</mo> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>+</mo> <mi>&lambda;</mi> <munderover> <mo>&Sigma;</mo> <mrow> <mi>l</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>L</mi> </munderover> <mi>s</mi> <mi>u</mi> <mi>m</mi> <mrow> <mo>(</mo> <mo>|</mo> <mo>|</mo> <msup> <mi>&theta;</mi> <mrow> <mo>(</mo> <mi>l</mi> <mo>)</mo> </mrow> </msup> <mo>|</mo> <msup> <mo>|</mo> <mn>2</mn> </msup> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>4</mn> <mo>)</mo> </mrow> </mrow>

其中θ(l)是第l个特征提取阶段的网络参数,设共L个特征提取阶段,l=1,2,…L,θ表示所有阶段的网络参数,θt是第t个非线性函数f(x)的网络参数θ,sum(.)指求和。

然后基于步骤a所得的训练图像集,利用传统的反向误差传播算法[1]和步骤c得到的负梯度方向,来最小化基础卷积神经网络模型h(x,θt)的误差,并对h(x,θt)进行训练,得到最优的参数组合θt,更新卷积神经网络参数并存入对应阶段参数库。

步骤e.训练基础卷积神经网络模型的权重。实现方式如下:

利用步骤d得到的基础卷积神经网络模型h(x,θt)和函数估计(第一次迭代时,采用初始化f0(x)=0;后续执行步骤e时,为上一次迭代得到的估计函数)计算模型权重,

<mrow> <msub> <mi>&rho;</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>=</mo> <munder> <mrow> <mi>arg</mi> <mi>min</mi> </mrow> <mi>&rho;</mi> </munder> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>K</mi> </munderover> <mi>&Psi;</mi> <mrow> <mo>(</mo> <msub> <mi>y</mi> <mi>k</mi> </msub> <mo>,</mo> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>,</mo> <mi>k</mi> </mrow> </msub> <mo>+</mo> <msub> <mi>&rho;</mi> <mrow> <mi>t</mi> <mo>,</mo> <mi>k</mi> </mrow> </msub> <msub> <mi>h</mi> <mi>k</mi> </msub> <mo>(</mo> <mrow> <msub> <mi>x</mi> <mi>i</mi> </msub> <mo>,</mo> <mi>&theta;</mi> </mrow> <mo>)</mo> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>5</mn> <mo>)</mo> </mrow> </mrow>

其中,ρt,k是第t个非线性函数f(x)的第k类别权重,表示第t-1个f(x)的估计函数,即表示第k类别的hk(xi,θ)表示第i个数据xi第k类别的优化函数。根据公式(2)计算,公式(5)求取ρt,k使得最小。

根据公式(5),权重更新为其中表示权值梯度,表示第t次迭代第k类别的权值梯度,c代表某个样本的标签,指示函数1(c=k)表示如果c等于k(k=1,2,…K)则取值为1,否则为0,hc(x)表示第c类别的基础卷积神经网络模型h(x,θt)输出值,hk(x)表示第k类别的基础卷积神经网络模型h(x,θt)输出值。

反向误差传播算法和梯度提升方法为现有技术,本发明不予赘述,具体实施时可参见文献:[1]D.E.Rumelhart,G.E.Hinton,and R.J.Williams,“Learning representations by back-propagating errors,”Nature,vol.323,pp.533–536,1986.

步骤f.更新函数预测,加和新模型。

<mrow> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mi>t</mi> </msub> <mo>&LeftArrow;</mo> <msub> <mover> <mi>f</mi> <mo>^</mo> </mover> <mrow> <mi>t</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>+</mo> <msub> <mi>&lambda;&rho;</mi> <mi>t</mi> </msub> <mi>h</mi> <mrow> <mo>(</mo> <mi>x</mi> <mo>,</mo> <msub> <mi>&theta;</mi> <mi>t</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mrow> <mo>(</mo> <mn>6</mn> <mo>)</mo> </mrow> </mrow>

其中,ρt是基础卷积神经网络的最佳梯度下降乘子,包含ρt,k,k=1,2,…K;h(x,θt)为基础卷积神经网络模型,λ为缩放因子,且λ=1/(M+1);

步骤g.判断迭代是否达到最大训练次数(具体实施时本领域技术人员可自行预设取值,例如10次),若达到最大训练次数则转步骤h;否则令t=t+1,转步骤c,重新执行步骤c~g,包括重新计算负梯度,并继续从共享的参数库中随机选取另一组参数组合,构成一个基础卷积神经网络模型,进行训练。

步骤h.利用训练所得的加和模型对步骤a所得的待分类图像集进行识别。

具体实施时,在深度卷积网络训练阶段的最大迭代次数设置方面,由于初始值是随机设置的,所以建议本领域技术人员根据经验预先设置较多的迭代次数来寻找到特征算子的最优解,例如100次。

具体实施时,本发明所提供方法可基于软件技术实现自动运行流程。

需要强调的是,本发明所述的实施例是说明性的,而不是限定性的。因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

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