首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于FPGA的RBF神经网络的硬件实现

基于FPGA的RBF神经网络的硬件实现

摘要:介绍了RBF神经网络,并采用CORDIC算法实现了其隐层非线性高斯函数的映射。同时,为缩减ROM表的存储空间并提高查表效率,本设计还采用了基于STAM算法的非线性存储。最后,以Altera公司开发的EDA工具QuarlusⅡ作为编译、仿真平台,采用Cyclone系列中的EP1C6Q 240C8器件,实现了RBF神经网络在FPGA上的实现,并以XOR问题为算例进行硬件仿真,得出仿真结果与理论值一致。
关键词:RBF神经网络;FPCA;CORDIC;STAM

    人工神经网络广泛应用于图像处理、模式识别和自动控制等领域。但是,传统的基于软件实现的神经网络,存在并行程度低、速度慢,计算速度无法满足实时性的需求,造成了理论研究与实际应用脱节。因此,神经网络的硬件实现是神经网络研究的基本问题之一。神经网络的硬件实现的最大特点就是体现了系统的并行性,处理速度快,易于满足实时性要求。另外,算法的复杂程度以及在实际工程中应用的可行性仍需要通过硬件的实现效果来检验。因此,神经网络的硬件实现意义重大。

1 RBF神经网络的简介
   
径向基函数(Radial Basis Function,RBF)网络是由Moody J和Darken C于20世纪80年代末提出的一种神经网络结构,是一种有监督的神经网络。它是借鉴生物机制中的局部凋节及交叉接受区域知识的基础上提出的一种采用局部接受域来执行函数映射的人工神经网络。RBF网络最基本的构成包括3层,其结构如图1所示,其中每一层都有着完全不同的作用。


    输入层由一些源点(感知单元)组成,他们将网络与外界环境连接起来;第二层是网络中仅有的一个隐层,它的作用是进行从输入空间到隐层空间的非线性变换。隐层节点中的作用函数(基函数)对输入信号将在局部产生响应,也就是说,当输入信号靠近基函数的中央范围时,隐层节点将产生较大的输出,由此看出这种网络具有局部逼近能力。输出层是线性的,它为作用于输入层的激活模式(信号)提供响应。
    径向基函数有多种形式,如:二次型、逆二次型或Gauss型等。若采用高斯函数作为径向基函数,则神经元的输出为:
   
    上式中,m是隐含层结点数;‖·‖是欧几里德范数;Ci和σi分别为与每个隐含层节点相关的参数向量的中心和宽度;ωi是第i个基函数与输出结点的连接权值。

2 RBF网络的FPGA实现
2.1 RBF单元中心Ci和半径σi的确定
   
对各RBF的中心及半径的确定通常有以下两种方式:
    1)根据经验选中心。只要训练样本的分布能代表所给问题,可根据经验选定均匀分布的m个中心,其间距离为d,则高斯函数的方差(即半径σi)为,其中m为中心数。
    2)用聚类方法,把样本聚成几类,以类中心为各RBF函数的中心。
    首先,中心Ci确定。采用k-均值聚类分析技术确定Ci。找出有代表性的数据点(不一定位于原始数据点)作为RBF单元中心,从而极大地减少隐RBF单元数目,降低网络复杂化程度。利用k-均值算法获得各个聚类中心后,即可将之赋给各RBF单元作为RBF的中心。
    然后,半径σi的确定。半径σi决定了RBF单元接受域的大小,对网络的精度有极大的影响。半径选择的原则是使得所有RBF单元的接受域之和覆盖整个训练样本空间。
    通常应用k-均值聚类法后,对每个聚类中心Ci可以令相应的半径σi等于与其属于该类的训练样本之间的平均距离,即
   
2.2 调节权矩阵W
   
这里权W是指输出层和隐层之间的权值,可以采用线性最小二乘法和梯度法来调节权矩阵W。
   
    由于输出为线性单元,因而可以确保梯度算法收敛于全局最优解。所以,在本设计中采用梯度法来修改权值W。
继承事业,薪火相传
返回列表