日志
摘要:本文提出一种基于张量积运算和BP算法的计算神经网络模型。通过将输入向量分为若干等份的子向量,并运用张量积运算解决多线性空间的相互区分问题,消除了输入-隐含层的复杂网状连接结构,突出隐含神经元物理意义,从而实现了对传统三层BP神经网络结构的设计改进。试验对比结果显示,经过改进的模型较标准BP收敛更快并且稳定。
关键词:张量积,计算神经网络
1
背景1986年,以Rumelhart和McCelland为首的科学家小组提出误差后向传播计算神经网络(Back Propagation Neural Network,以下简称BP模型)[1],以感知机[2]为出发点的计算神经网络在其后数年间得以迅速的发展。1998年Robert Hecht-Nielson证明了任何在闭区间内的连续函数,都可以用一个隐层的BP网络来对其逼近[3]表达,因而一个三层的BP网络可以对输入向量进行从n维到m维输出向量的映射。由于标准三层结构的BP模型在许多应用中存在收敛速度缓慢、隐含层节点数目设置需要经验判断等方面的缺陷,因此,提高BP模型网络收敛速度、合理设置隐含层节点数量、解释隐含层节点的物理意义,成为长期以来改进BP模型的焦点。函数型连接、高阶连接、张量积连接神经网络[4]的提出,极大的提高了BP模型网络的收敛速度,但又受到维数灾难[4]的困扰。
本文以张量积模型为基础,对BP网络结构进行改进,以期待得到稳定快速的收敛速度、不受维数灾难的困扰、物理意义较为明显的模型,并给出简练的实现算法。
假设有输入样本集合trainI={I},向量I是BP模型进行映射的自变量,具有numInputs个分量,每个分量的取值范围均为[-1, 1];映射输出结果的教师信号是期望输出样本集合trainO={O},具有numOutputs个分量,每一个分量的取值范围均为[-1,1]。
图1给出了输入层向量I,隐含层向量H,输出层向量P的拓扑分层结构图。其中输入层到隐含层的WIH矩阵表示I与H每个分量的连接权值;隐含层到输出层的WHO矩阵表示H与P每个分量的连接权值。
BP模型有两个核心计算方法,它们分别是正向传播和误差反向传播,简称为反向传播。
2.1 正向传播算法
正向传播的目的为:根据当前的输入样本I、输入层连接权值WIH、输出层连接权值WHO按照图1所示的传播方向和式(1)、(2)给出的计算表达式得到一个预测值向量P。
2.2 反向传播算法
反向传播的目的为:根据正向传播得到的预测值P,教师信号O、输出层连接权值WHO、输入层连接权值WIH和输入向量I按照图2所示的计算方向和式(3)、(4)、(5)给出的计算表达式,修改WHO、WIH,并期望在下一次正向传播输出时得到P向量与教师信号O向量的误差减少,直至得到一个稳定的、较好的输出结果。3 张量积BP算法
在标准的BP计算神经网络中,由于同一层邻接神经元之间的联系是权值线性作用的,很难通过学习算法对权系数的调整,完成对(如XOR问题)多线性空间的区分。为此,引入张量积的概念对原输入向量进
在输入层中引入具有二阶特性的作用项,具有以下功效:
1.
突出了同层神经元之间的联合激励作用;
2.
由于同一层邻接神经元之间的联系已经通过张量积运算完成,原有隐含层的黑箱功能,被一组分段线性函数取代(见图3);
3.
隐含神经元已经部分失去原有“隐含”的意义,仅对输出层有一定意义。
3.2 正向传播算法
正向传播的目的为:根据当前带张量积的输入样本I、输入层连接权值WIH、输出层连接权值WHO按照图3所示的传播方向和(7)、(2)给出的计算表达式得到一个预测值向量P。
隐含层到输出层的计算公式与(2)相同。
通过对比图1,图3正向传播过程图解发现,除了图1的网状结构变为对各个子向的分段线性连接(输入端多了一个表示子向量的维)之外,所有的计算公式均未发生变化。
3.3 反向传播算法
反向传播的目的为:根据正向传播得到的预测值P,教师信号O、输出层连接权值WHO、输入层连接权值WIH和带张量积的输入向量I按照图4所示的计算方向和(3)、(4)、(8)给出的计算表达式,修改WHO、WIH,并期望在下一次正向传播输出时得到P向量与教师信号O向量的误差减少,直至得到一个稳定的、较好的输出结果。
通过对比图2,图4反向传播过程图解发现,除了图4的网状结构变为对各个子向量的分段线性连接,所有的计算公式均未发生变化。
4 实验对比分析
用奇偶问题来测试一个计算神经网络的收敛速度,是通常使用的方法。为使奇偶问题变得更困难一些,使用3对奇偶(6元)输入、3个期望输出,用于测试张量积BP模型收敛情况。
由于有6元输入,每一元可能的取值是{-1,1},故可能的样本量为=64个。输出的教师信号按配对的奇偶规则(两数符号相异则为1,否则为-1),可逻辑推出64个3输出结果作为迭代教师信号。
图5
3对奇偶问题张量积BP模型
如果采用标准的BP模型,输入层权值矩阵的维度是:7 x
3=16;对于带张量积输入的BP模型,输入层权值矩阵的维度是:3
x 3 x 3 = 9, 比标准的BP模型的系数少7个,由于采用分段函授描述中间层作用,每一子向量的作用大小,也容易发现。
将输入样本带入如图5所示的张量积BP模型,得到如图6左所示的误差收敛图;同样将此64个样本带入标准的BP模型,得到如图6右所示的误差收敛图。
左图为张量积BP模型收敛图,右图为标准BP模型收敛图
两图相比较不难发现,张量积BP模型经过5次迭代,就已经完全达到精度。而标准的BP模型,经过大约30次迭代后,陷入震荡,难于收敛到理想效果。
5 张量积BP模型的应用
将张量积BP模型应用于全国12省市短期气象预报业务实践,已经有15年的历史。其基本思路是:将每天由气象高空报文诊断计算产生的(850hPa到500hPa的高度、温度、涡度、水汽通量…)物理量场,进行切氏多项式[6]特征提取,以所在(吉林、辽宁、甘肃、陕西、云南、四川…)省的各县(降水、温度、寒潮…)预报对象为多输出教师信号。带入张量积BP模型(见图7),得到预报工具。该套工具不仅完成每日逐气象站的天气预报,而且实现预报工具的逐步更新。
1993年,该套模型在仅有1M内存的Windows环境下,使用Turbo Pascal For
Window实现。由于恰当地对输入场分段,并巧妙的使用一点张量扩充,不仅没有发生由于张量积可能带来的维数灾难,而且避免了由于标准BP模型带来的输入层权值矩阵巨大(1993的情景)的压力,更进一步,由于每个子向量与物理量场一一对应,对学习结果,容易发现对学习影响不大、甚至产生负面的物理量场。
该套模型于1996年获得云南省科技进步3等奖。至今,仍在重庆、湖北等省市气象业务中发挥作用。
6 小结
张量积、函数、高阶BP神经网络模型已不是什么新鲜话题,但是,由此所引发的维数灾难问题,使得对这类模型的作用褒贬不一。将输入向量按照一定规则分为若干子向量,子向量的个数刚好就是隐含节点的个数,并对对各个子向量进行张量积,是本模型的基本思路。至少带来如下好处:
1.
收敛速度得到明显改善,印证了关联激励的作用;
2.
隐含层的设定与输入层子向量个数相等,使隐含节点的设定不再具有随意性;
3.
便于分析各个子向量的作用,去掉不良子向量;
4.
基本避免了维数灾难问题。
当然,如果所遇到的问题,不便于划分为若干子向量,本模型的应用就会受到限制。
参考文献
[1] Rumelhart,D.E.,G.E.Hinton, and R.J.Williams,1986. Learning internal
representation by error propagation.In D.E. Rumelhart and
J.L.McClelland(Eds.),Explorations in The Microstructures of Connition, Vol 1.
Foundations,pp.318-362,MIT Press,Cambridge,MA.
[2]
http://en.wikipedia.org/wiki/Perceptron
[3] Robert Hecht-Nielson. Theory of the
backpropagation neural network. In: IJCNN, I: pp. 583-604, 1989
[4] Yoh-Han
Pao(1989). Adaptive Pattern Recognition and Neural Networks.[5] 王萼芳 高等代数教程 清华大学出版社。Pp.267-315
[6] 周家斌《车贝雪夫多项式及其在气象中的应用》气象出版社 1990年
评论这张
No comments:
Post a Comment