一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于神经网络架构搜索的高光谱分类方法

2022-08-14 00:29:32 来源:中国专利 TAG:


1.本发明基于神经网络架构搜索的高光谱分类方法,属于遥感图像分类、智能解译技术领域。


背景技术:

2.高光谱图像是通过高光谱成像仪获取的图像,光谱信息和空间维度信息十分丰富,因此被广泛应用于精准农业、海洋水文监测、大气环境监测等领域。高光谱图像分类是指为场景中的每个像素分配一个类别的任务。由于高光谱图像涉及的领域广泛且深远,因此高光谱图像分类是遥感领域的重点研究方向。
3.近年来,深度学习的崛起推动高光谱图像分类得到进一步发展。传统的cnn架构需要依靠手工进行设计以及参数的调整,同时会耗费大量的时间和精力。在这种情况下,自动生成神经网络架构的方法,即神经网络架构搜索(neuralarchitecture search,nas),引起了人们的大量关注。nas通过松弛搜索空间,使其变得连续可微,然后通过梯度下降法学习每个操作的权重,优化结构的性能,使结构搜索更加高效。


技术实现要素:

4.针对上述问题,本发明提供了基于神经架构搜索的高光谱图像分类方法,输入待分类的高光谱图像后利用采用滑动窗口的策略对hsi图像进行裁剪并划分训练样本、验证样本和测试样本,利用6种预设操作构建nas的空间,将训练样本输入该空间,利用梯度算法的搜索策略搜索出候选网络结构,搜索过程中利用β-衰减对体系结构参数进行正则化。利用clr进行结构梯度权重更新,将搜索到的预设操作组成基础单元,并连接构成最优神经网络架构;最后利用最优神经网络架构对hsi进行分类获得分类结果。
5.本发明的目的是这样实现的:
6.步骤a、输入待分类的高光谱图像;
7.步骤b、利用采用滑动窗口的策略对hsi图像进行裁剪并划分训练样本、验证样本和测试样本;
8.步骤c、利用6种预设操作构建nas的空间,将训练样本输入该空间;
9.步骤d、利用梯度算法的搜索策略搜索出候选网络结构,搜索过程中利用β-衰减对体系结构参数进行正则化;
10.步骤e、利用clr进行结构梯度权重更新;
11.步骤f、将搜索到的预设操作组成基础单元,并连接构成最优神经网络架构;
12.步骤g、利用最优神经网络架构对hsi进行分类获得分类结果;
13.基于神经架构搜索的高光谱图像分类方法,包括以下步骤:
14.根据权利要求1所述的基于神经架构搜索的高光谱图像分类方法,其特征在于,步骤b具体为,通过采用滑动窗口的策略对样本进行的裁剪,窗口大小为32
×
32,重叠率设为50%。从样本中随机选择300个样本作为训练数据集,200个样本作为验证数据集,剩余样本
作为测试集;
15.根据权利要求1所述的基于神经架构搜索的高光谱图像分类方法,其特征在于,步骤c具体为:
16.步骤c1、设是有向边上的一组候选操作集,由架构参数α
(m,n)
参数化获得预设操作,每条边上的预设操作一共包括6种。分别是空操作(none)、跳接操作(skip-connect,skip)、最大池化操作(max pooling)、可分离卷积操作(separate conv)、空洞卷积操作(dilated-conv)、平均池化操作(avg pooling),其中各项操作的卷积核为3
×
3、5
×
5以及7
×
7,将以上操作定义为搜索空间内的候选操作集
17.步骤c2、将训练样本输入该空间;
18.根据权利要求1所述的基于神经架构搜索的高光谱图像分类方法,其特征在于,步骤d具体为:
19.步骤d1、利用softmax函数,将离散搜索空间变为连续空间;
20.为了使搜索空间连续,α
o(m,n)
将候选操作集中离散化的操作转化为所有可能操作的softmax算法的集合;
[0021][0022]
其中:表示的是所有可能操作的集合,操作集中所有系数的和为1。α
o(m,n)
表示的是节点m和n之间的架构参数(m=0,1,

,n-1;n=0,1,

,n-1),每个单元中最多设置n个节点。
[0023]
步骤d2、经过softmax操作之后获得架构参数的集合β
k(m,n)
,对参数β
k(m,n)
进行衰减正则化;
[0024][0025]
其中:β
k(m,n)
为节点m和节点n之间的架构参数的结合,k为可选操作所代表的个数。
[0026]
步骤d3、nas利用softmax激活的体系结构参数集β来表示每个操作符的可能性,对β进行衰减正则化可以限制其值过大,能够提高架构搜索过程中的鲁棒性和体系结构泛化性。
[0027]
根据权利要求1所述的基于神经架构搜索的高光谱图像分类方法,其特征在于,步骤e具体为:
[0028]
步骤e1、经过softmax操作之后,对所有混合操作中的架构参数α={α
(m,n)
}络权重w进行联合学习,根据节点计算,使用交叉熵公式计算训练过程中的损失值,分别获取和
[0029]
步骤e2、根据和对网络参数与结构参数进行双向优化,获得网络权重参数w,在训练数据集中对w进行训练获得网络参数的最优值,一轮训练过程之后,各个节点之间的结构权重平均分配;
[0030]
步骤e3、根据损失值对网络参数和结构参数进行双层优化,利用clr对原体系结构权重的初始学习率进行更新,建立置信梯度,按照本步骤实现循环权重更新;
[0031][0032]
其中:t表示目前训练的当前epoch次数,δ表示置信因子,本发明取δ=2,
[0033]
lr
α
是nas架构的学习率,默认设置为lr
α
=0.0003。
[0034]
根据权利要求1所述的基于神经架构搜索的高光谱图像分类方法,其特征在于,步骤f具体为,
[0035]
步骤f1、进行权重更新之后,取每个单元的节点之前2个最大权重的预设操作,将操作和节点之间进行连接,构建用于下采样的缩减单元和正常采样的正常单元;
[0036]
步骤f2、正常单元中所有预设操作的步长均为1,因此其输出的特征图的大小保持不变。缩减单元所有预设操作的步长均为2,并且被插入在网络深度的1/3和2/3处。将缩减单元和正常单元进行连接获得最优神经网络架构;
[0037]
根据权利要求1所述的基于神经架构搜索的高光谱图像分类方法,其特征在于,步骤g具体为,利用最优神经网络架构对hsi进行分类获得分类结果。
[0038]
有益效果:
[0039]
传统的cnn架构需要手工进行设计及调整参数,会耗费大量的时间和精力。本发明是基于神经网络搜索的高光谱图像分类方法,在包含6种预设操作构建的搜索空间中进行最优架构的搜索,利用β-衰减正则化对搜索结构的泛化能力进行提高,利用置信学习率提高了模型的运算速度,同时减轻了过拟合现象,有效的提高了高光谱图像的分类精度,为后续的神经架构搜索算法在高光谱图像分类研究及相关应用提供了良好思路。
附图说明
[0040]
图1是本发明基于神经架构搜索的高光谱图像分类方法的流程图。
[0041]
图2是本发明基于神经架构搜索的高光谱图像分类方法的搜索过程图。
[0042]
图3是本发明方法中β-衰减正则化原理示意图。
[0043]
图4是本发明方法中clr原理示意图。
[0044]
图5是本发明方法中indian pines数据集搜索到的正常单元的结构示意图。
[0045]
图6是本发明方法中indian pines数据集搜索到的缩减单元的结构示意图。
[0046]
图7是本发明方法中pavia university数据集搜索到的正常单元的结构示意图。
[0047]
图8是本发明方法中pavia university数据集搜索到的缩减单元的结构示意图。
[0048]
图9是本发明方法中的indian pines数据集中的分类结果图。
[0049]
图10是本发明方法中的pavia university数据集中的分类结果图。
具体实施方式
[0050]
下面结合附图对本发明具体实施方式作进一步详细描述。
[0051]
本具体实施方式下的基于神经架构搜索的高光谱图像分类方法,流程图如图1所示,网络原理示意图如图2所示,包括以下步骤:
[0052]
步骤a、输入待分类的高光谱图像;
[0053]
在本具体实施方式中,采用indian pines和pavia university两个公开的数据集。
[0054]
(1)indian pines数据集:由aviris传感器在美国印第安纳州西北部的indian pines农业试验场上空获得。原始数据共224个波段,去除4个零波段和20个水体吸收波段(104-108,150-163,220),余下200个波段供实验研究,范围为0.4到2.5μm,空间大小为145
×
145像素。
[0055]
(2)pavia university数据集:由rosis-03传感器在意大利的帕维亚大学(university of pavia)上空获得。数据集的大小为610
×
340像素,空间分辨率为1.3m,原始数据具有115个波段,光谱覆盖范围为0.43到0.86μm,去除其中12个噪声波段,余下103个波段供实验研究。城市类别为9类。
[0056]
步骤b、利用采用滑动窗口的策略对hsi图像进行裁剪并划分训练样本、验证样本和测试样本;
[0057]
通过采用滑动窗口的策略对样本进行的裁剪,窗口大小为32
×
32,重叠率设为50%。从样本中随机选择300个样本作为训练数据集,200个样本作为验证数据集。训练数据集用于训练模型中每个神经元的权重和偏差,而架构变量则是基于验证数据集进行实际优化。获得最优架构之后,所有剩余的标记样本作为测试数据集,以评估最优网络架构的性能并且获得最终的分类结果。
[0058]
步骤c、利用6种预设操作构建nas的空间并将训练样本输入该空间
[0059]
步骤c1、设是有向边上的一组候选操作集,由架构参数α
(m,n)
参数化获得预设操作,每条边上的预设操作一共包括6种。分别是空操作(none)、跳接操作(skip-connect,skip)、最大池化操作(max pooling)、可分离卷积操作(separate conv)、空洞卷积操作(dilated-conv)、平均池化操作(avg pooling),其中各项操作的卷积核为3
×
3、5
×
5以及7
×
7,将以上操作定义为搜索空间内的候选操作集
[0060]
步骤c2、将训练样本输入搜索空间;
[0061]
步骤d、利用梯度算法的搜索策略搜索出候选网络结构,搜索过程中利用β-衰减对体系结构参数进行正则化;
[0062]
步骤d1、利用softmax函数,将离散搜索空间变为连续空间;
[0063]
为了使搜索空间连续,α
o(m,n)
将候选操作集中离散化的操作转化为所有可能操作的softmax算法的集合;
[0064][0065]
其中:表示的是所有可能操作的集合,操作集中所有系数的和为1。α
o(m,n)
表示的是节点m和n之间的架构参数(m=0,1,

,n-1、n=0,1,

,n-1),每个单元中最多设置n
[0066]
个节点。
[0067]
步骤d2、经过softmax操作之后获得架构参数的集合β
k(m,n)
,对参数β
k(m,n)
进行衰减正则化;
[0068][0069]
其中:β
k(m,n)
为节点m和节点n之间的架构参数的结合,k为可选操作所代表的个数。
[0070]
当节点x
(m)
与x
(n)
之间的最终操作都是从中选择的,因此为每个候选操作定义了
一个操作系数该系数是由架构参数参数化为内所有可能的操作的softmax运算的混合。因此从节点x
(m)
到x
(n)
的信息流是所有候选操作的加权和。
[0071][0072][0073]
其中:操作集中所有系数的和为1。此外,两个节点之间所有混合操作的权值是由维度为的向量α
o(m,n)
参数化得到的。
[0074]
整个网络是由重复的单元堆叠而成的。每个单元都是由几条有向边和n个节点组成的有向无环图(dag),在n个节点中包含了两个输入节点,一个输出节点,剩余的n-3个是中间节点。将每个节点定义为x
(m)
(m=0,1,

,n-1),它代表一个特征图。当前单元的输入节点的信息是从其前面的两个单元的输出节点获得的,输出节点是该单元中所有中间节点的深度级联。单元中的有向边代表了从中间节点x
(m)
到x
(n)
的信息流,它由候选操作组成。在每条有向边上都有预设操作o
(m,n)
与其相关联,该候选操作将信息从节点x
(m)
传输到节点x
(n)
,根据同一单元中在它之前的所有节点计算获得节点x
(n)
的输出。
[0075][0076]
其中:设是有向边上的一组候选操作集。在nas中,每条有向边的预设操作是由架构参数α
(m,n)
参数化获得的。
[0077]
经过softmax操作之后进行β-衰减正则化,为了便于分析,从正则化的默认设置开始,考虑结构参数α的单步更新,如下式所示。
[0078][0079]
其中:η
α
和分别是结构参数的学习率和相应的损失。
[0080]
步骤d3、nas的搜索使用softmax激活的体系结构参数集β来表示每个操作符的可能性,对β的显示正则化可以限制其值过大,能够提高架构搜索过程中的鲁棒性和体系结构泛化性。
[0081]
为了简单起见,使用θ函数(α为自变量)来表示β-衰减正则化的整体影响,为了实现类似于通过α进行权重衰减的上述β正则化,可以得到如下统一公式:
[0082][0083][0084]
其中:f为映射函数,f决定了α对β的影响。因此需要具备更加合适的映射函数f将上式代入结构参数α的单步更新公式中,可以得到以及然后将前者除以后者。
[0085][0086]
如上所示,映射函数决定了决定了α对β的影响,为了避免无效的正则化以及避免较大变化幅度,使α的梯度等于f映射函数值。
[0087][0088]
梯度值获取之后,β正则化损失值为如下:
[0089][0090]
将α的梯度公式代入和相除公式可得到β-衰减正则化的影响:
[0091][0092]
其中,可以看到θ随着α的增加而减少,α越大θ越小,α越小θ越大,β的值被约束为更接近其平均值,从而实现类似于权重衰减的效果,因此被成为β-衰减正则化。
[0093]
步骤e、利用clr进行结构梯度权重更新;
[0094]
步骤e1、经过softmax操作之后结构得到了松弛,神经架构搜索对所有混合操作中的架构参数α={α
(m,n)
}络权重w进行联合学习,使用交叉熵公式计算训练过程中的损失值,分别获取和
[0095]
通过前面定义的搜索空间,目的是为了通过梯度下降算法优化α={α
(m,n)
}矩阵,将神经网络原有的权重称为w。使用交叉熵公式计算训练过程中的损失值,分别获取和为了实现端到端的优化,架构搜索的过程希望两个矩阵能够使得结果更好,因此开展双层优化。
[0096]
步骤e2、根据和对网络参数与结构参数进行双向优化,获得网络权重参数w,在训练数据集中对w进行训练获得网络参数的最优值,一轮训练过程之后,各个节点之间的结构权重平均分配。
[0097]
在搜索过程中双层优化是有严格层次的,为了使两者能够同时达到优化的策略,流程是在训练集上固定α={α
(m,n)
}矩阵的值,再利用梯度下降w的值,在验证集上固定w的值,再利用梯度下降α={α
(m,n)
}的值,循环往复获得更加理想的值,搜索的目的是寻找最佳的架构α
*
,来最小化验证损失具体实现公式如下:
[0098][0099][0100]
其中:网络权重w是通过最小化训练损失得到的。nas用双层优化解决了这个问题,α是高级变量,w是低级变量
[0101]
步骤e3、根据损失值对网络参数和结构参数进行双层优化,利用clr进行结构权重更新,利用clr对原体系结构权重的初始学习率进行更新,建立置信梯度,计算和网络权重相关的梯度,最后实现权重更新
[0102]
为了缓解连续松弛策略之后导致的梯度更新速度容易受到影响以及防止出现梯
度爆炸的问题,引入clr,对于架构搜索过程中的置信学习率应该随着体系结构权重的更新训练时间而增加,缓解模型的过拟合现象,具体定义如下:
[0103][0104]
其中:t表示目前训练的当前epoch次数,δ表示置信因子,本发明取δ=2,
[0105]
lr
α
是nas架构的学习率,默认设置为lr
α
=0.0003。
[0106]
验证样本输入到模型之后,获得利用计算与架构权重相关的梯度,如下:
[0107][0108]
网络权重w是通过最小化训练损失得到的。α是操作权重,神经网络原有的权重称为w。
[0109]
建立置信梯度:
[0110][0111]
在获得置信梯度grad
α
和操作权重α之后,这样搜索网络就成了一个双层优化问题。搜索阶段的整体训练环节如下所示:
[0112][0113][0114]
为训练环节交叉熵损失函数,α
*
(w)为网络权重为w时的固定架构权重α。
[0115]
搜索阶段的验证环节为:
[0116][0117][0118]
其中:为验证环节交叉熵损失函数,w
*
(α)为架构权重为α时的固定网络权重w。
[0119]
通过双层优化之后,训练环节和验证环节交替实现权重更新。
[0120]
步骤f、将搜索到的预设操作组成基础单元,并连接构成最优神经网络架构;
[0121]
步骤f1、权重更新后获得α={α
(m,n)
}矩阵,使得权重最大的边被保存下来,所以这个结构收敛之后需要生成最终单元。对于每一个节点来说,最多保留两个权重最大的边。对于两节点的边,只保留权重最大的一条边。计算并且取每个单元的节点之前2个最大权重的操作,将操作和节点之间进行连接,构建用于下采样的缩减单元和正常采样的正常单元;
[0122]
步骤f2、正常单元中所有预设操作的步长均为1,因此其输出的特征图的大小保持不变。缩减单元所有预设操作的步长均为2,并且被插入在网络深度的1/3和2/3处。将缩减单元和正常单元进行连接获得最优神经网络架构
[0123]
步骤g、利用最优神经网络架构对hsi进行分类获得分类结果。
[0124]
为了主观评价分类效果,图5和图6分别显示了indian pines数据集和pavia university数据集的真值图以及各方法分类结果的伪彩色图。各分类方法的顺序与表1中分类方法的顺序相同。
[0125]
表1和表2分别展示了本发明所提出的方法和其它对比方法在两种数据集上的详
细分类结果。很明显,本发明方法比所有对比方法的分类性能更好,它在两种数据集上的所有分类指标都达到了最高,其中oa分别达到了96.60%和97.61%。
[0126]
可以看出,相比于经典方法支持向量机(emp-svm)和几种先进的方法,包括光谱-空间残差网络(ssrn)、残差神经网络(resnet)和cutout改进的nas(cnas)方法,本发明更贴近真实地物分布,错误分类的面积大大减少,进一步证明了所提方法在高光谱数据分类中的有效性。
[0127]
表1 indian pines数据集不同分类方法的分类精度比较(%)
[0128][0129]
表2 pavia university数据集不同分类方法的分类精度比较(%)
[0130]
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献