论文部分内容阅读
[摘 要]随着神经网络理论的深入研究,人工神经网络在遥感图像分析与处理的各个方面都有广泛的适用性,并且已经取得了较好的效果,是遥感信息提取的一种有效途径。本文介绍了BP神经网络在遥感影像分类中的应用,通过自适应和在网络权值调整过程中加入特征因子算法,并结合Matlab软件,改进了BP神经网络的优化算法,使网络对误差变化敏感且收敛速度快,减少了人为因素的干预,改善了学习速率和网络的适应能力,而且精度可靠。
[关键词] BP神经网络 图像分类 Matlab 自适应特征因子 收敛速度 精度
中图分类号:P23 文献标识码:A 文章编号:1009-914X(2014)07-0321-03
1.引言
卫星遥感对地观测技术是人类获取资源环境动态信息的重要手段,无论是专业信息提取、动态变化预测、还是专题地图制作和遥感数据库的建立等都离不开分类。在数学方法的引入和模型研究的进展为影像的分类注入了新的活力,不同的数学方法和参数特征因子被引用到模型的研究上来,为模型研究的发展提供了广阔的天地。而基于改进的BP神经网络,更是融合了自适应特征因子和非线性函数逼近的网络模型,不仅学习速度快,而且有高度复杂的映射能力。
2.人工神经网络的分类方法
人工神经网络(Artificial Neural Network, ANN )是基于生物神经系统的分布存储、并行处理及自适应学习这些现象构造出具有一些低级智慧的人工神经系统【1】。其概念是在20世纪40年代中期由McCulloch和Pitts提出的,70年代得到应用,80年代以来,随着计算机技术的发展而得到了快速的发展,属于非线性学科,具有强抗干扰性、高容错性、并行分布式处理、自组织学习和分类精度高等特点。
近年来,神经网络被广泛应用于遥感图像分类中,不同学者分别提出或应用了Hopfield神经网络、BP网络、自组织映射网络、小波神经网络、细胞神经网络、模糊神经网络等对遥感图像进行分类【2】。这些神经神经网络在遥感图像自动分类上都有一定的应用,并取得较好的效果。本文基于此,对传统的BP算法进行了改进,提出了在Matlab软件提供的神经网络工具箱中,对BP神经网络的权值,学习率进行分析。重点是运用数学中自适应特征因子,加快了迭代过程中的收敛速度,而且使精度更高。
3.BP神经网络
BP神经网络是一种通用性较强的前馈网络,它主要采用模式正向传递、误差信号反向传播的BP算法,实现输入到输出的映射,并且是非线性的,具有结构简单、可操作性强等优点,目前已被广泛应用【3】。
3.1 BP算法原理
学习过程由信号的正向传播与反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望输出不符合时,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此信号作为修正各单元权值的依据。
3.2 BP学习率的优化算法分析
为了加快神经网络的学习速度,对学习率的改进是BP算法优化的重要部分。因为BP算法是不断通过调整网络权值进行训练学习的,修正的大小受到学习率的控制,因此学习率的改进对整个网络的优化是很重要的。为了加快学习速度,研究者提出了很多的優化学习率算法,刘幺和等提出的具体优化公式为[4]: η=Ae-λn. (1)
此算法优于学习率固定的传统BP算法,减少了网络学习过程中的学习次数,但同样存在着其它问题,首先,模型中A的取值范围并不适用于所有神经网络,由于它的取值决定了网络学习率的初始值,通过A确定的网络初始学习率可能使网络不收敛。其次,当网络误差下降速度快时,该算法反倒使网络收敛速度比较慢,这说明此时网络不适应这种情况。
在上述模型中,陈思依据可变学习率的变化,提出了另一改进模型,此方法的思想是,如果网络权值在实际情况中更新之后使误差值减小,此时就没有必要再减少学习率,如果保持原学习率不变,不仅增加了训练速度,而且修改权值的幅度会大些,训练效果会更好一些。改进后的模型为[5]:
此算法优点是如果误差下降速度明显增快,则说明此时的学习率比较合适训练,不需调整。
面对现代科技的飞速发展,国内外竞相发展以高空间、高光谱和高动态为标志的新型卫星遥感对地观测技术,提供了海量的信息源,加大了人们对空间的认知,对信息世界的分类利用,但是人们的优化算法远远跟不上丰富的信息源。对此,针对上面学习率算法,虽然有很大的改进,但处理速度还远远不够,还需要优化。
3.3 网络隐层的节点数确定
BP人工神经网络拓扑结构中,输入节点与输出节点是由问题的本身决定的,关键在于隐层的层数与隐节点的数目,在Robert Hecht Nielson等人研究指出,只有一个隐层的神经网络,只要隐节点足够多,就可以以任意精度逼近一个非线性函数【6】。
因此隐节点的确定关系到整个网络的处理,下面是关于隐节点数确定的的方法:
其中Hpi隐节点i在学习第p个样本时输出,Hpj是隐节点j在学习第p个样本时的输出,N为学习样本总数,而Hpi与Hpj的线性相关程度愈大,互相回归的离散度越小,反之,则相反。
当同层隐节点i和j的相关程度大,说明节点i和j功能重复,需要合并;当样本散发度Si过小,说明隐节点i的输出值变化很少,对网络的训练没起到什么作用,可以删除。因此根据这样规则可以进行节点动态的合并与删除。
4.特征因子算法加入
神经网络在遥感图像分类中的优势越来越明显,很多人对其进行了研究与应用。对此,本文对前人的算法进行了优化,主要是进行网络权值修正速度的加速,在算法优化中,引入了数学中的特征因子加速收敛方法,其保证精度下,使网络的迭代收敛速度大大加快。 具体算法思想过程如下:在BP神经网络学习阶段,当遥感图像的特征样本数据由输入层到隐含层,然后再传输到输出层,最后得到的输出数据与目标数据会产生误差,然后在返回到隐含层来调整网络权值,直至误差达到所要求的精度范围为止。在迭代过程中,为了使误差迅速减小到精度范围内,特征因子算法被引入到网络权值调整上:
在第一次迭代 :
其中x0为输入向量,y1为第一次输出向量,T为目标向量,第一次迭代生成的T※1为目标向量T的近似值,T※k+1为迭代N次(1,2,3,…)目标向量T的近似值。在运用特征因子迭代收敛加速方法中,比以往的算法得到优化,加速了网络权值调整的收敛速度,且使结果的精度得到保证。
5.实验过程与精度评定
本次实验是在Matlab环境下开发的神经网络工具箱中来进行展开的,神经网络工具箱是MATLAB环境下开发出来的许多工具箱之一。它以人工神经网络理论为基础,利用MATLAB编程语言构造出许多典型神经网络的框架和相关的函数【7】。此工具箱可以用来对BP神经网络训练函数的创建,下面是具体的实验过程:
(1)选取QuickBird卫星影像,在影像上选取各类别的特征样本,要求样本数量得足够多。然后进行特征选取,一般是选取象元的多光谱特征的特征向量,以此确定特征矩阵p。为了方便在训练阶段的学习,需把向量值归一化,在根据特征向量,确定输入层节点数为5。
(2)进行BP神经网络的构建,其中隐层网的节点数是根据前面提到的方法,节点数经过合并与删除之后最终确定为25;根据待分类影像的类别分别是公路用地、内陆滩涂、旱地、水工建筑用地、裸地、坑塘水面、林地、水库水面、采矿用地、城市、村庄、水浇地、设施农用地、建制镇、果园、灌木林地、风景名胜及特殊用地、其他林地、其他草地,输出层节点数确定19;目标向量可用以下形式表示:
(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示公路用地
(0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示内陆滩涂
(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示旱地
(0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示水工建筑用地
(0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示裸地
(0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示坑塘水面
(0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0) 表示林地
(0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0) 表示水庫水面
以此类推直到最后类别的表示……
(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1) 表示其他草地
调用Matlab神经网络工具箱中的函数,另外为了加入特征因子算法,需要创建网络的权值学习函数learnc,p1是输入训练样本,p2是输入未知样本向量。部分代码如下:
net=newff(minmax(p),[25,19],{‘tansig’,‘logsig’},‘traingdx’,‘learnc’);
net.trainParam.show=300;
net.traimParam.epochs=1600;
net.train.goal=0.01;
net=init(net);
net=train(net,p1,T);
Ye=sim(net,p2);
(3)在步奏(2)的基础上,进行训练学习。创建的网络权值函数加入特征因子后,在学习阶段收敛速度明显增快 。使调整后的网络权值尽快达到了用户设定精度范围。
(4)学习阶段完成后,开始进行分类阶段。把未分类的QuickBird卫星影像的特征向量值输入到神经网络中,进行分类,根据输出向量y与目标向量T进行对比,然后把象元分类到自己所属的类别区。直到影像被分类完为止。
(5)分类结果图如下:
(6) 下面是对分类结果进行精度评定,采用误差矩阵法来评定精度。总体精度可达到93.89%,其他各个类别的用户精度和生产者精度都很高,最低的不低于82.43%,满足用户的需求,达到使用的目的。
6.结束语
BP神经网络的非线性映射,自适应功能等优势已在遥感图像分类中得到广泛的应用,本文基于前人的优化算法,提出了在网络权值调整过程中的特征因子迭代加速算法,使学习阶段的权值调整速度明显加快。但在分类精度上改变较小,在提高精度上,是以后继续研究改进的方向。
参考文献
[1] 叶世伟 史忠植(译) 神经网络原理 北京:机械工业出版社,2004
[2] Dony R D,et al. Neural network approaches to image compression[J].Proc IEEE,1995,83:288-303.
[3] 史忠植.智能科学[M].北京:清华大学出版社,2006.
[4] 刘幺和,陈睿,彭伟,等.一种BP神经网络学习率的优化设计[J].湖北工业大学学报,2007,22(3):1-3.
[5] 陈思 一种BP神经网络学习率的改进方法[J].长春师范学院学报(自然科学版),2010.8.25-27
[6] 李晓峰,徐玖平,王荫清等。BP人工神经网络自适应学习算法的建立及其应用[J].系统工程理论与实践,2004.5 . 3-4
[7] 楼顺天,等.《基于Matlab的系统分析与设计---神经网络》. 西安:西安电子科技大学出版社,2000.8.23-40
作者简介
武创举,男,1986年生,昆明理工大学国土资源与工程学院测绘系硕士研究生,专业是摄影测量与遥感,研究方向是遥感图像处理。
[关键词] BP神经网络 图像分类 Matlab 自适应特征因子 收敛速度 精度
中图分类号:P23 文献标识码:A 文章编号:1009-914X(2014)07-0321-03
1.引言
卫星遥感对地观测技术是人类获取资源环境动态信息的重要手段,无论是专业信息提取、动态变化预测、还是专题地图制作和遥感数据库的建立等都离不开分类。在数学方法的引入和模型研究的进展为影像的分类注入了新的活力,不同的数学方法和参数特征因子被引用到模型的研究上来,为模型研究的发展提供了广阔的天地。而基于改进的BP神经网络,更是融合了自适应特征因子和非线性函数逼近的网络模型,不仅学习速度快,而且有高度复杂的映射能力。
2.人工神经网络的分类方法
人工神经网络(Artificial Neural Network, ANN )是基于生物神经系统的分布存储、并行处理及自适应学习这些现象构造出具有一些低级智慧的人工神经系统【1】。其概念是在20世纪40年代中期由McCulloch和Pitts提出的,70年代得到应用,80年代以来,随着计算机技术的发展而得到了快速的发展,属于非线性学科,具有强抗干扰性、高容错性、并行分布式处理、自组织学习和分类精度高等特点。
近年来,神经网络被广泛应用于遥感图像分类中,不同学者分别提出或应用了Hopfield神经网络、BP网络、自组织映射网络、小波神经网络、细胞神经网络、模糊神经网络等对遥感图像进行分类【2】。这些神经神经网络在遥感图像自动分类上都有一定的应用,并取得较好的效果。本文基于此,对传统的BP算法进行了改进,提出了在Matlab软件提供的神经网络工具箱中,对BP神经网络的权值,学习率进行分析。重点是运用数学中自适应特征因子,加快了迭代过程中的收敛速度,而且使精度更高。
3.BP神经网络
BP神经网络是一种通用性较强的前馈网络,它主要采用模式正向传递、误差信号反向传播的BP算法,实现输入到输出的映射,并且是非线性的,具有结构简单、可操作性强等优点,目前已被广泛应用【3】。
3.1 BP算法原理
学习过程由信号的正向传播与反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望输出不符合时,则转入误差的反向传播阶段。误差反传是将输出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此信号作为修正各单元权值的依据。
3.2 BP学习率的优化算法分析
为了加快神经网络的学习速度,对学习率的改进是BP算法优化的重要部分。因为BP算法是不断通过调整网络权值进行训练学习的,修正的大小受到学习率的控制,因此学习率的改进对整个网络的优化是很重要的。为了加快学习速度,研究者提出了很多的優化学习率算法,刘幺和等提出的具体优化公式为[4]: η=Ae-λn. (1)
此算法优于学习率固定的传统BP算法,减少了网络学习过程中的学习次数,但同样存在着其它问题,首先,模型中A的取值范围并不适用于所有神经网络,由于它的取值决定了网络学习率的初始值,通过A确定的网络初始学习率可能使网络不收敛。其次,当网络误差下降速度快时,该算法反倒使网络收敛速度比较慢,这说明此时网络不适应这种情况。
在上述模型中,陈思依据可变学习率的变化,提出了另一改进模型,此方法的思想是,如果网络权值在实际情况中更新之后使误差值减小,此时就没有必要再减少学习率,如果保持原学习率不变,不仅增加了训练速度,而且修改权值的幅度会大些,训练效果会更好一些。改进后的模型为[5]:
此算法优点是如果误差下降速度明显增快,则说明此时的学习率比较合适训练,不需调整。
面对现代科技的飞速发展,国内外竞相发展以高空间、高光谱和高动态为标志的新型卫星遥感对地观测技术,提供了海量的信息源,加大了人们对空间的认知,对信息世界的分类利用,但是人们的优化算法远远跟不上丰富的信息源。对此,针对上面学习率算法,虽然有很大的改进,但处理速度还远远不够,还需要优化。
3.3 网络隐层的节点数确定
BP人工神经网络拓扑结构中,输入节点与输出节点是由问题的本身决定的,关键在于隐层的层数与隐节点的数目,在Robert Hecht Nielson等人研究指出,只有一个隐层的神经网络,只要隐节点足够多,就可以以任意精度逼近一个非线性函数【6】。
因此隐节点的确定关系到整个网络的处理,下面是关于隐节点数确定的的方法:
其中Hpi隐节点i在学习第p个样本时输出,Hpj是隐节点j在学习第p个样本时的输出,N为学习样本总数,而Hpi与Hpj的线性相关程度愈大,互相回归的离散度越小,反之,则相反。
当同层隐节点i和j的相关程度大,说明节点i和j功能重复,需要合并;当样本散发度Si过小,说明隐节点i的输出值变化很少,对网络的训练没起到什么作用,可以删除。因此根据这样规则可以进行节点动态的合并与删除。
4.特征因子算法加入
神经网络在遥感图像分类中的优势越来越明显,很多人对其进行了研究与应用。对此,本文对前人的算法进行了优化,主要是进行网络权值修正速度的加速,在算法优化中,引入了数学中的特征因子加速收敛方法,其保证精度下,使网络的迭代收敛速度大大加快。 具体算法思想过程如下:在BP神经网络学习阶段,当遥感图像的特征样本数据由输入层到隐含层,然后再传输到输出层,最后得到的输出数据与目标数据会产生误差,然后在返回到隐含层来调整网络权值,直至误差达到所要求的精度范围为止。在迭代过程中,为了使误差迅速减小到精度范围内,特征因子算法被引入到网络权值调整上:
在第一次迭代 :
其中x0为输入向量,y1为第一次输出向量,T为目标向量,第一次迭代生成的T※1为目标向量T的近似值,T※k+1为迭代N次(1,2,3,…)目标向量T的近似值。在运用特征因子迭代收敛加速方法中,比以往的算法得到优化,加速了网络权值调整的收敛速度,且使结果的精度得到保证。
5.实验过程与精度评定
本次实验是在Matlab环境下开发的神经网络工具箱中来进行展开的,神经网络工具箱是MATLAB环境下开发出来的许多工具箱之一。它以人工神经网络理论为基础,利用MATLAB编程语言构造出许多典型神经网络的框架和相关的函数【7】。此工具箱可以用来对BP神经网络训练函数的创建,下面是具体的实验过程:
(1)选取QuickBird卫星影像,在影像上选取各类别的特征样本,要求样本数量得足够多。然后进行特征选取,一般是选取象元的多光谱特征的特征向量,以此确定特征矩阵p。为了方便在训练阶段的学习,需把向量值归一化,在根据特征向量,确定输入层节点数为5。
(2)进行BP神经网络的构建,其中隐层网的节点数是根据前面提到的方法,节点数经过合并与删除之后最终确定为25;根据待分类影像的类别分别是公路用地、内陆滩涂、旱地、水工建筑用地、裸地、坑塘水面、林地、水库水面、采矿用地、城市、村庄、水浇地、设施农用地、建制镇、果园、灌木林地、风景名胜及特殊用地、其他林地、其他草地,输出层节点数确定19;目标向量可用以下形式表示:
(1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示公路用地
(0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示内陆滩涂
(0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示旱地
(0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示水工建筑用地
(0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示裸地
(0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0) 表示坑塘水面
(0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0) 表示林地
(0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0) 表示水庫水面
以此类推直到最后类别的表示……
(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1) 表示其他草地
调用Matlab神经网络工具箱中的函数,另外为了加入特征因子算法,需要创建网络的权值学习函数learnc,p1是输入训练样本,p2是输入未知样本向量。部分代码如下:
net=newff(minmax(p),[25,19],{‘tansig’,‘logsig’},‘traingdx’,‘learnc’);
net.trainParam.show=300;
net.traimParam.epochs=1600;
net.train.goal=0.01;
net=init(net);
net=train(net,p1,T);
Ye=sim(net,p2);
(3)在步奏(2)的基础上,进行训练学习。创建的网络权值函数加入特征因子后,在学习阶段收敛速度明显增快 。使调整后的网络权值尽快达到了用户设定精度范围。
(4)学习阶段完成后,开始进行分类阶段。把未分类的QuickBird卫星影像的特征向量值输入到神经网络中,进行分类,根据输出向量y与目标向量T进行对比,然后把象元分类到自己所属的类别区。直到影像被分类完为止。
(5)分类结果图如下:
(6) 下面是对分类结果进行精度评定,采用误差矩阵法来评定精度。总体精度可达到93.89%,其他各个类别的用户精度和生产者精度都很高,最低的不低于82.43%,满足用户的需求,达到使用的目的。
6.结束语
BP神经网络的非线性映射,自适应功能等优势已在遥感图像分类中得到广泛的应用,本文基于前人的优化算法,提出了在网络权值调整过程中的特征因子迭代加速算法,使学习阶段的权值调整速度明显加快。但在分类精度上改变较小,在提高精度上,是以后继续研究改进的方向。
参考文献
[1] 叶世伟 史忠植(译) 神经网络原理 北京:机械工业出版社,2004
[2] Dony R D,et al. Neural network approaches to image compression[J].Proc IEEE,1995,83:288-303.
[3] 史忠植.智能科学[M].北京:清华大学出版社,2006.
[4] 刘幺和,陈睿,彭伟,等.一种BP神经网络学习率的优化设计[J].湖北工业大学学报,2007,22(3):1-3.
[5] 陈思 一种BP神经网络学习率的改进方法[J].长春师范学院学报(自然科学版),2010.8.25-27
[6] 李晓峰,徐玖平,王荫清等。BP人工神经网络自适应学习算法的建立及其应用[J].系统工程理论与实践,2004.5 . 3-4
[7] 楼顺天,等.《基于Matlab的系统分析与设计---神经网络》. 西安:西安电子科技大学出版社,2000.8.23-40
作者简介
武创举,男,1986年生,昆明理工大学国土资源与工程学院测绘系硕士研究生,专业是摄影测量与遥感,研究方向是遥感图像处理。