
2.5 神经网络模式识别
把神经网络应用于模式识别是AI的一项重要研究内容,也是AI发展的新方向。到目前为止,已经发展了多种用于模式识别的神经网络,这方面的工作还在不断取得进展。与传统的分类问题一样,两者都是假设将n维样品分类为m类模式中的某一类。通过比较经典(或传统)的模式识别过程和神经网络计算过程,就会发现它们之间有许多类似之处,都是对训练样品集根据某种原则进行参数估计或训练,最后选出匹配度最大的类别,如图2.11所示。

图2.11 传统分类器和神经网络分类器比较
在传统分类器中,待识别样品的输入用符号表示为n个输入元素的值,顺序译码为内部运算形式,计算匹配度;然后匹配度送入分类器的第二级,按最大匹配度分类并输出分类结果。
在神经网络分类器中,首先将用n个分量表示的样品输入第一级网络中,计算匹配度;然后平行地通过m条输出线送到第二级进行分类并输出。第二级的输出反馈到第一级,利用分类结果和输出按照某种学习算法修改权重。当后续训练集的样品与前面学习过的样品相似时,最终输出正确的分类结果。
图2.12给出了常用于模式识别的神经网络的树形图。CG网是CarpenterGrossberg网络的简称(关于CG网以及其他网络和相关算法请参阅有关书籍),这里仅介绍BP算法和Hopfield网络的应用例子。BP算法采用梯度搜索技术,使得等于均方误差的代价函数最小化。网络开始训练时,选取较小的随机数作为初始权值,然后不断输入所有训练数据,并把输出值和期望输出值加以比较,直到误差下降到预先设计的阈值为止。
采用BP算法进行遥感图像模式分类,具体过程可分为准备、学习和分类等三个阶段。
(1)准备阶段的任务主要是确定训练样本(模式)、网络的结构及初始权值、控制 参数等。
①确定训练样本(模式)。训练样本通常是待分类遥感图像上各个类别典型区域的灰度值或其他统计特征值,其对应的属性为已知。
②确定网络结构。应用于遥感图像分类时,输入层节点数目通常选择为待分类图像的维数(波段数)或特征向量数,输出层节点数目则与待分的类别数目相同,隐含层数目及节点数目则通常依据经验选取。
③确定网络初始权值、控制参数。网络的初始权值矩阵(包括节点阀值)通常由计算机随机函数产生,控制参数则包括最大循环次数、分类要求精度、学习因子等,往往依据经验选取。

图2.12 神经网络分类器的分类树
(2)学习阶段的任务是在以上阶段基础上,利用训练样本(模式),按学习规则,对网络进行训练。训练过程如下:
①输入样本(模式),计算隐含层、输出层的输出值以及输出误差。
②更新网络权值阀值,按新的权计算各层输出值和总误差。若满足误差要求,停止训练,转入图像分类,否则返回,直到输出满足误差要求;若循环已超过最大循环次数,表明学习没有达到预期设想,停止训练,可重新设置网络结构及控制参数等,再返回进行训练。
(3)分类阶段的任务就是利用学习结果对整幅遥感图像进行分类,根据在学习阶段中所积累的网络各层权系数矩阵,依次对图像的各个像元进行计算,根据输出结果与每类期望值的对比,将图像的各个像元归为误差最小的一类。
由于BP网络存在收敛速度缓慢、易陷入局部极小、网络结构难以确定等缺陷,在实际分类过程中,往往需要多次重复以上基本过程或其中部分过程,才能得到满意的模式分类结果。
Hopfield网络常用于二值输入模式,例如用黑白二值表示像元图形,那么数字或字母的识别可以采用Hopfield网络来完成。在识别数字时,可以根据具体要求选取标准样本;理论上可以有10个标准样本0,1,2,…,9。每个数字的样本由若干个黑白像元构成,例如120个黑白像元。首先用10个标准样本依次训练Hopfield网络,使其稳定;然后输入待识别的数字,网络可以判定其所属类型。