周庆芳
摘 要:人工神经网络的组成包含了多个简单处理单元,通过某种方式将这些处理单元连接在一起,构成一个有关人工神经网络的计算系统。这个系统能动态响应外部输入信息,并进行信息的处理。
关键词:BP神经网络;VHDL;模拟与仿真
一、人工神经理论基础
神经网络又被称为链接模型,其本身是模仿动物的神经网络,并根据其行为特征分布式进行算法数学模型处理。在计算机上,人们可以利用并行或者串行的模式模拟仿真,实现人们自身的神经网络模型算法。在特定应用情况下,进行神经网络研究的目标则是高性能专用的神经网络硬件。
神经元是人工神经网络的基本单元,具有一定的信息处理方面的能力。对于输入的内容,神经元可以简单进行处理,能根据学习规则做好加权求和,并根据权值来获取神经元的状态输出,以便对刺激进行处理。还可建立基于VHDL语言的神经网络元件库,它包括基本单元、控制单元两个部分。
二、 BP神经网络结构模型
BP神经网络由输入层、隐含层和输出层组成,相邻层之间的各个神经元实现全连接,每层各个神经元之间没有连接。
BP算法正向传播过程:输入信号从输入层输入,经过隐含层传向输出层。如果输出层的实际输出与期望输出一致,那么学习算法结束。基本控制单元用于建立隐含层和输出层的神经元,主要解决信号运算后权值存储问题,它主要包括加权乘法、神经元输入信号的累加、非线性激励函数的实现、权值存储等基本模块。
图1中xi代表第i个输入,wij代表输入i和神经元j之间的权值(weight),yj是第j个输出。如图1所示可以得到:
y1=f(x1.w11+x2.w21+x3.w31 ) 2-1
y2=f(x1.w11+x2.w22+x3.w32) 2-2
y3=f(x1.w11+x2.w23+x3.w33) 2-3
其中f( )是激化函数(如线性阈值的sigmoid函数等)。
三、神经网络模型与仿真
clk产生脉冲信号,输入端x1,x2,x3 分别置为011,100,101,权值初值设为0000,通过9个脉冲周期一次递增到1000,将权值与输入值进行运算,得出结果。在权值固定时,输出取决于输入,不同的输入得到不同的输出结果。而在权值变化时,输出就由输入和权值决定。
为了仿真的结果更直观,代码采用的每个神经元的3个输入信号以及权值的位宽都为4,且带有符号。权值共设了9个,采用9个时钟周期将权值移入值。模拟与仿真的结果如图2所示。
结果分析:模拟结果与结果一致,此仿真成功。
四、结语
基于VHDL编程实现简单神经网络的软件模拟与仿真,从算法的提出到模型的建立,完整地体现神经网络的可用性与优越性。文中所提的神经网络模型是对单个神经网络的模拟与仿真,以及基于二维数组的多个输入输出的大规模神经网络的模拟。由于VHDL语言编程的灵活性,可以将编程下载到芯片用硬件实现对神经网络的模拟,以提高系统运算的速度和可靠性。
参考文献:
[1]张青贵.人工神经网络导论[M].北京:中国水利水电出版社,2004.
[2]周志华,曹存根.神经网络及其应用[M].北京:清华大学出版社,2009.