人工神经网络|如何通过人工神经网络实现图像识别?

【人工神经网络|如何通过人工神经网络实现图像识别?】人工神经网络|如何通过人工神经网络实现图像识别?

文章图片

人工神经网络|如何通过人工神经网络实现图像识别?

文章图片


人工神经网络(Artificial Neural Networks)(简称ANN)系统从20 世纪40 年代末诞生至今仅短短半个多世纪 , 但由于他具有信息的分布存储、并行处理以及自学习能力等优点 , 已经在信息处理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用 。 尤其是基于误差反向传播(Error Back Propagation)算法的多层前馈网络(Multiple-Layer Feedforward Network)(简称BP 网络) , 可以以任意精度逼近任意的连续函数 , 所以广泛应用于非线性建模、函数逼近、模式分类等方面 。
目标识别是模式识别领域的一项传统的课题 , 这是因为目标识别不是一个孤立的问题 , 而是模式识别领域中大多数课题都会遇到的基本问题 , 并且在不同的课题中 , 由于具体的条件不同 , 解决的方法也不尽相同 , 因而目标识别的研究仍具有理论和实践意义 。 这里讨论的是将要识别的目标物体用成像头(红外或可见光等)摄入后形成的图像信号序列送入计算机 , 用神经网络识别图像的问题 。
一、BP 神经网络
BP 网络是采用Widrow-Hoff 学习算法和非线性可微转移函数的多层网络 。 一个典型的BP 网络采用的是梯度下降算法 , 也就是Widrow-Hoff 算法所规定的 。 backpropagation 就是指的为非线性多层网络计算梯度的方法 。 一个典型的BP 网络结构如图所示 。

我们将它用向量图表示如下图所示 。

其中:对于第k 个模式对 , 输出层单元的j 的加权输入为

该单元的实际输出为
而隐含层单元i 的加权输入为
该单元的实际输出为
函数f 为可微分递减函数

其算法描述如下:
(1)初始化网络及学习参数 , 如设置网络初始权矩阵、学习因子等 。
(2)提供训练模式 , 训练网络 , 直到满足学习要求 。
(3)前向传播过程:对给定训练模式输入 , 计算网络的输出模式 , 并与期望模式比较 , 若有误差 , 则执行(4);否则 , 返回(2) 。
(4)后向传播过程:a. 计算同一层单元的误差;b. 修正权值和阈值;c. 返回(2)
二、 BP 网络隐层个数的选择
对于含有一个隐层的三层BP 网络可以实现输入到输出的任何非线性映射 。 增加网络隐层数可以降低误差 , 提高精度 , 但同时也使网络复杂化 , 增加网络的训练时间 。 误差精度的提高也可以通过增加隐层结点数来实现 。 一般情况下 , 应优先考虑增加隐含层的结点数 。
三、隐含层神经元个数的选择
当用神经网络实现网络映射时 , 隐含层神经元个数直接影响着神经网络的学习能力和归纳能力 。 隐含层神经元数目较少时 , 网络每次学习的时间较短 , 但有可能因为学习不足导致网络无法记住全部学习内容;隐含层神经元数目较大时 , 学习能力增强 , 网络每次学习的时间较长 , 网络的存储容量随之变大 , 导致网络对未知输入的归纳能力下降 , 因为对隐含层神经元个数的选择尚无理论上的指导 , 一般凭经验确定 。