一种多层宽度神经网络及其训练方法和应用
文献发布时间:2023-06-19 11:26:00
技术领域
本发明涉及人工智能和机器学习技术领域,具体涉及一种多层宽度神经网络及其训练方法和应用;可用高光谱遥感影像分类任务,也可应用于普通图像分类问题。
背景技术
高光谱图像(Hyperspectral Image,HSI)包含数百个连续光谱带,这使它们具有丰富的信息可对不同的地面物体进行分类。这些图像与分类方法一起可以用于以下应用:包括农业监测、土地覆盖的变化检测、城市制图、森林保护和物体检测。HSI分类的一个困难是由于成像过程中不同的照明、大气环境等而导致具有不同光谱特征的均质地面物体。另一个困难是,尽管大量的光谱带提供了大量的数据,但是训练数据通常非常有限,并且由于混合像素,图像场景变得复杂。在过去的几十年中,研究人员使用了不同的机器学习方法,包括k个最近邻(KNN)、支持向量机(SVM)、多层感知器(MLP)和径向基函数网络(RBF)等,这些方法主要在光谱域内。
许多基于CNN的深度学习高光谱图像分类方法可在空间和频谱域中学习特征。与仅使用从空间域或空间域和频谱域两者中手动提取的特征的前述方法相比,这是一个很大的优势。尽管深度学习方法在各个领域都有了很大的改进,但是由于参数众多,它们通常需要很长的训练时间。另一个问题是,随着深度的增加,CNN会实现更高的性能。然而,高光谱图像的训练样本通常数量有限。因此,很难使用包含许多层和大量卷积内核的CNN用于HSI分类以提取空间特征。
然而,宽度学习具有自身的诸多优点,这里的宽度是指完全连接卷积层中隐藏的神经元或通道的数量。宽度的全连接神经网络等效于高斯过程,具备很好的泛化能力。
发明内容
针对现有技术存在的问题,本发明的目的在于提供一种多层宽度神经网络(Multi-layer Wide Neural Network,MWNN)及其训练方法和应用,该神经网络的每一层基于具有滑动窗口的变换核,可以向宽度方向扩展以充分了解空间和频谱特征,同时引入了排序和下采样以减少该层的变换核层的输出数量;每一层称为宽度滑动窗口和下采样(Wide Sliding Window and Subsampling,WSWS)层。将多个WSWS层级联能够学习更大视野的更高级别的空间和光谱特征。最后,将具有线性权重的完全连接层与WSWS层组合以预测像素类别。
为了达到上述目的,本发明采用以下技术方案予以实现。
(一)一种多层宽度神经网络,包括多个依次级联的宽度滑动窗口和下采样层及全连接层,每个宽度滑动窗口和下采样层包含多个变换核层;每个变换核层通过宽度滑动窗口模块和下采样模块构造;对于输入数据p
其中,
进一步地,所述多层宽度神经网络中的宽度滑动窗口和下采样层的个数由待学习数据集的数据量和分类精度要求来确定。
进一步地,每个高斯核内的高斯内核的数量不同。
(二)一种多层宽度神经网络的训练方法,包括以下步骤:
步骤1,获取原始HSI数据,对原始HSI数据进行预处理和零填充,得到待训练数据X
步骤2,将训练矢量X
步骤3,使用具有线性权重的全连接层将最后一个宽度滑动窗口和下采样层输出结果进行组合,使用最小二乘法计算全连接层的线性权重,得到训练后的多层宽度神经网络,采用测试矢量对训练后的多层宽度神经网络进行测试,完成多层宽度神经网络的训练过程。
进一步地,所述预处理为:对原始HSI数据进行冗余信息去除和归一化处理;即通过主成分分析减少波段数量至B
其中,X(k)表示减少后的第k个波段的数据,X
进一步地,所述零填充为:对归一化后的整个图像X
其中,每个训练样本的大小为S
进一步地,每个宽度滑动窗口和下采样层的内部训练过程为:
2.1,选取滑动窗口的大小为m,滑动步长为l,采用滑动窗口对该层输入的训练数据从上到下依次滑动取样;
对于第n次滑动,截取的输入向量p
其中,g
2.2,对于输入p
G
对其输出依次进行排序和下采样,得到该宽度滑动窗口和下采样层的最终输出
其中,所述排序是每个高斯核的所有像素求和后,再从最大值排序到最小值;
更进一步地,每个宽度滑动窗口和下采样层的内部训练的变换核参数通过无监督学习或者从训练样本中随机选择获得。
更进一步地,在滑动过程中,高斯核在宽度方向上扩展,即宽度滑动窗口和下采样层内的高斯内核的数量不同。
进一步地,所述使用最小二乘法计算全连接层的线性权重,具体公式为:
其中,D∈R
所述多层宽度神经网络的最终输出为:
其中,上标H表示矩阵的转置,上标-1表示矩阵求逆操作。
(三)基于所述多层宽度神经网络的高光谱图像分类方法,包括以下步骤:
步骤1,对所述多层宽度神经网络进行训练,得到训练后的多层宽度神经网络;
步骤2,对待分类高光谱图像进行预处理和零填充,生成对应的输入矢量;将该输入矢量输入训练后的多层宽度神经网络,输出待分类高光谱图像每个像素块的分类结果。
与现有技术相比,本发明的有益效果为:
(1)本发明的每一层基于具有滑动窗口的变换核,可以向宽度方向扩展以充分了解空间和频谱特征,并且引入了排序和下采样操作以减少该层的变换内核层的输出数量。
(2)本发明可以根据分类任务的复杂性来逐步添加更多的WSWS层,网络结构灵活,通过多个WSWS层级联以学习更大视野的更高级别的空间和光谱特征。
(3)本发明通过多层变换核有效地提取更高级别的空间和光谱特征,并且可以使用无监督学习得到这些变换核的参数,或者通过从训练样本中随机选择来直接获得这些参数,训练过程快速简单;
(4)本发明根据训练数据的大小调整WSWS层的宽度和视场大小,可以根据实际待训练数据对网络中每个WSWS层的滑动窗口大小和步长进行调整。
(5)本发明训练过程没有迭代过程,能够大大提高训练速度;需要连接更多WSWS层时,只需训练最后的全连接层即可。
附图说明
下面结合附图和具体实施例对本发明做进一步详细说明。
图1是本发明的多层宽度神经网络的结构图;
图2是本发明实施例的宽度滑动窗口模块和下采样模块;
图3是本发明实施例采用不同方法在KSC数据集上的分类结果;其中,(a)为原始图像的第20波段;(b)为标签数据;(c)对应MLP;(d)对应RBF;(e)对应SAE;(f)对应CNN;(g)对应RBF集成器;(h)对应CNN集成器。
具体实施方式
下面将结合实施例对本发明的实施方案进行详细描述,但是本领域的技术人员将会理解,下列实施例仅用于说明本发明,而不应视为限制本发明的范围。
实施例1
参考图1,本发明提供的一种多层宽度神经网络,包括多个依次级联的宽度滑动窗口和下采样层及全连接层,每个宽度滑动窗口和下采样层包含多个变换核层;每个变换核层通过宽度滑动窗口模块和下采样模块构造;对于输入数据p
其中,
本发明中,多层宽度神经网络中的宽度滑动窗口和下采样层的个数由待学习数据集的数据量和分类精度要求来确定。本实施例采用4个宽度滑动窗口和下采样层级联结构。每个高斯核内的高斯内核的数量可以相同,也可以不同。本实施例采用相同数量高斯内核。
实施例2
使用典型的高光谱遥感数据集KSC(Kennedy Space Center)来测试多层宽度神经网络的性能。KSC数据集从224个波段中除去吸水率和低SNR波段后,它具有176个波段。每个波段图像的大小为512×614,共有13个分类类别。主成分分析(PCA)将冗余频谱带的数量减少到15;KSC使用的图像块大小为11×11,图像块的中心像素被作为一个独立的样本训练测试。用于训练的样本比例为0.2,其余样本用于测试。本发明采用总体精度(OA)、平均精度(AA)和Kappa系数来评估网络性能。
一种多层宽度神经网络的训练方法,包括以下步骤:
步骤1,获取原始HSI数据,对原始HSI数据进行预处理和零填充,得到待训练数据X
原始HSI数据表示为X∈R
本实施例有C=13类对象,生成的3维图像块大小为S
步骤2,将训练矢量X
参考图2,本实施例的HSI分类,一维滑动窗口的大小选择为m=77,实例数表示为N
第n次滑动中的高斯核的输出表示为:
其中,g
在滑动过程中,高斯核在宽度方向上扩展,其中宽度表示的是WSWS层中隐藏单元的数量。
最后,对于输入p
G
将其沿宽方向扩展以获得足够数量的特征后,输出进行排序和下采样以减少输出数量。排序是每个高斯核的所有实例都经过求和,然后从最大值排序到最小值,表示为:
根据排序索引对GWS中每组高斯内核的输出进行排序,由
G′
然后,通过给定的下采样间隔N
下采样后的最终输出用以下符号表示:
其中,
为了学习更高级别的空间和光谱特征,多层宽度神经网络进一步扩展了更多的WSWS层。本实施例扩展了4个,第二层的输入为第一层的输出,表示为:
其中,
设第二层滑动窗口的大小为m
第二层最终的采样输出可记为:
因此,第三和第四个WSWS层的输出由下式给出为:
步骤3,使用具有线性权重的全连接层将最后一个宽度滑动窗口和下采样层输出结果进行组合,使用最小二乘法计算全连接层的线性权重,得到训练后的多层宽度神经网络,采用测试矢量对训练后的多层宽度神经网络进行测试,完成多层宽度神经网络的训练过程。
第四个WSWS层的输出使用具有线性权重的全连接层的组合:
W=[W
使用最小二乘法(LS)计算权重:
其中,D∈R
本实施例中,多层宽度神经网络包括4个WSWS层。每一个WSWS层的滑动窗口大小、变换核个数和下采样层的数量分别为77、10和5,0.9(第二个WSWS层的输入向量的长度的0.9倍)、10、5,0.9(第三个WSWS层的输入向量的长度的0.9倍)、0.9(第三个WSWS层的输入向量的长度的0.9倍)8、4,0.9(第四个WSWS层的输入向量的长度的0.9倍)、6、3。每一层滑动的窗口的步长l
实施例3
由于本发明的网络输入为矢量,因此,所述多层宽度神经网络可以用于高光谱图像或普通图像的分类,其分类方法包括以下步骤:
步骤1,对所述多层宽度神经网络进行训练,得到训练后的多层宽度神经网络;具体如实施例2的过程。
步骤2,对待分类高光谱图像进行预处理和零填充,生成对应的输入矢量;将该输入矢量输入训练后的多层宽度神经网络,输出待分类高光谱图像每个像素块的分类结果。
具体的预处理和零填充过程与训练过程相同,只需将输入矢量输入训练后的多层宽度神经网络,输出待分类高光谱图像每个像素块的分类结果。
本发明的输入矢量的生成过程也可以是现有的其他方式。
分别采用本发明上述MWNN网络与现有的模型进行分类性能比较,现有模型包括:MLP有1000个隐藏单;RBF有1000个高斯核,从训练样本中随机选择高斯核的均值;SAE(多层稀疏自编码器)分别具有300个用于编码器的隐藏单元和50个用于解码器的隐藏单元;CNN包括6个卷积内核,一个大小为2的池化层,12个卷积内核和一个大小为2的池化层;CNN集成器(CNN ensemble,CNNE)包含5个CNN,其结构与比较的单个CNN相同;RBF集成器(RBFensemble,RBFE)包括5个RBF网络,其架构与比较的单个RBF网络相同。分类结果如图3和表1所示。
表1不同方法在KSC数据集上的分类结果
从表1中可以看出,WSWS在测试集(相当于待分类数据)上具有最佳的OA,AA和Kappa系数,其分类精度最高。从图3可以看出,本发明方法的分辨效果最好。
本发明多层宽度神经网络的每一层由滑动窗口的变换核进行非线性变换,向宽方向扩展以充分学习空间和频谱特征,并且引入了排序和下采样操作以减少该层的变换内核层的输出数量,每一层称为宽度滑动窗口和下采样层,即WSWS层,将多个WSWS层级联可以更大视野的更高级别的空间和光谱特征。该网络只需学习全连接层的权值,从而可以轻松的进行训练。
虽然,本说明书中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
- 一种多层宽度神经网络及其训练方法和应用
- 一种高效宽度图卷积神经网络模型及其训练方法