基于神经网络ZISC的模式识别系统
(3)用数模混合技术实现硬件神经网络
出于上述种种考虑,许多研究人员提出并采用了各种数模混合神经芯片,具有数字及模拟工艺各息的优点而避免各自的缺点,运算速率高,芯片面积小,抗噪声能力强且易于设计。典型的数模混合信号处理部分则全是模拟的。这种结构很容易与其它的数字系统接口以完成模块化设计。近年来在各种数模混合神经芯片设计中,利用脉冲技术的数模混合神经芯片和利用光互连技术的光电混合神经网络芯片得到了广泛的关系,它们代表神经网络未来发展的方向。
尽管数模混合神经芯片有种种优点,但它也存在着一些不足。比如,对于大多数数模混合神经芯片来说,训练学习算法的实现往往需要一个附加的协处理器,这无疑会增加整个神经网络系统的成本和复杂性[5],[6]。
2 RBF网络原理和它的硬件实现
RBF网络是一种有导师的三层前馈网络。它最重要的特点是中间隐层神经元的基函数只对输入剩激起局部反应,即只有当输入落在输入空间的 一个局部区域时,基函数才产生一个重要的非零响应;而在其它情况下基函数输出很小(可近似为零)。网络结构如图1所示。
javascript:window.open(this.src);" style="cursor:pointer;"/>
图1(a)描述了隐层神经元的作用,其中X=(x1,x2,…,Xn)是输入层的输入矢量;C=(w1,w2,…,Wn)是该隐层神经元的中心矢量(每个隐层神经元的中心徉量存储在其与输入各种神经元之间的连接权中),σ代表宽度(半径);而 表示n维空间中矢量之间的距离(这里的距离不一定是数学意义上的欧几里得距离,在不同的情况下可以有种种含义);f是隐层神经元的基函数,目前用得比较多的是高斯分布函数。
RBF网络每个输出层结点的输出为其与各隐层神经元输出y的加权求和。按高斯分布函数的定义,隐层神经元的输出y与输入矢量x的函数关系应服从正态分布,即当X与中心矢量C的距离很矢时,y接近最大值;反之y值减小。如X与C的距离超过宽度σ(即远离中心)时,输出y可近似为零,相当于对输出层没有贡献。这就实现了局部感知。
不难看出,RBF网络用作矢量分类器时,输入层神经元个数由矢量空间的维数决定,隐层神经元个数由模拟类别数决定,每个隐层神经元的中心矢量(与输入层各神经元之间的连接权)都代表一种模式类别。输入矢量与哪个隐层神经元的中心矢量距离近,哪个隐层神经元的基函数输出就大,相应的模式类别对输出层的贡献就大;与哪个隐层神经元的中心矢量距离远,哪个隐层神经元的基函数输出就小,甚至不激活,输出0,相应的模式类别当然就不会影响RBF网络的输出,矢量和模式类别的分类由此完成。
相对于网络结构的简单,RBF网络权值的训练方法要复杂一些。通常分为下面的两个步骤。
①隐层和输入层之间的权值采用无教师聚类方法训练,最常用的是KNN法(K-Nearest-Neighbor)。它的基本思想是先设定训练样本的一个子集;再用模式分类算法LBG由这个子集形成N种类的模式,即把子集中的样本归类;然后,按顺序处理子集外的训练样本:对任一样本X,找出K个与X距离最近的矢量(随便找,只要近就行),计算这K个矢量分别属于N个模式种类的数目,哪个模式种类包含的最近矢量最多,X就属于哪个模式种类。
将输入的训练样本聚类后,每个模式种类中所有样本矢量的平均值就代表该隐层神经元和输入层之间的权值(中心矢量);而所有样本矢量与中心矢量的平方差的平均值就代表宽度σ。这样就做出了各个隐层神经元的全部参数。因为这种方法只要求输入训练样本就可以进行分类,无须知道训练样本的理想输出,因此被称为无教师方法。
②输出层和隐层之间的权值采用有教师聚类方法训练。简便实用的一种办法是:在确定隐层和输入层之间的权值之后,把训练样本矢量和其理想输出代入RBF网络,从而推出各个输出层神经元和隐层之间的权值。
javascript:window.open(this.src);" style="cursor:pointer;"/>
可以看出,需要分类的模式类别数的增加总可以通过不断增加三层RBF网络隐层神经元数来实现,含义十分直观。由于其学习过程为两步,且每一步的学习算法都十分有效,所以它的学习速度很快。RBF网络主要适用于解决已知的大规模分类问题,比如图像目标跟踪、面部和双眼的生物图像识别等。
对RBF网络的硬件实现技术,目前存在着不同的观点。但就有大规模分类和实时要求的模式识别问题而言,数字电路技术是最合适的选择,原因有以下几点:
①RBF网络用于手写字符识别、生物图像识别、自然语言理解这样的领域时,需要分类的模式类别数往往成千上万,所以要求隐层神经元数极大,单片神经芯片很难完成。使用数字神经芯片,网络的扩展十分容易,一般不需要外围逻辑器件而只要电阻就可以完成;而用数字神经芯片由于精度高,理论上可以无限并行扩展,且性能不下降。
②一个实用的模式识别系统,分类的模式往往会随着样本与环境的变化而变化,这就需要不断调整权值。数字神经芯片的权值存在数字存储器中,存储和恢复都很方便。这样用于模式识别系统的RBF网络的权值易变性得到了保证。
③模式识别系统对特征矢量提取对象的预处理是比较困难的工作。预处理效果不好时,RBF网络的输入往往含有噪声。数字神经芯片在抗干扰性方面与其它V LSI技术相比,显然具有无可比拟的优势。
④模式识别的要求包括模糊匹配和精确匹配两种。当用RBF网络实现精确匹配时,模拟技术完成不了这个要求,此时,数字神经芯片是避免错误输出的唯 一选择。
3 ZISC技术及其在模式识别中的应用
虽然人们已经在神经网络的硬件实现上做了大量的工作,并实现了许多不同的网络结构和算法;但是RBF网络的硬件实现工作却了了无几。这说明幅度当前的IC技术实现RBF网络的功能对设计水平的要求是比较高的,因此,本文介绍的这种商业芯片ZISC就成为了模式识别系统的一种有价值的神经网络硬件平台。javascript:window.open(this.src);" style="cursor:pointer;"/>
无指令计算机ZISC是世界著名的IBM实验室的一项创新性科研成果[7],它采用数字电路技术实现了RBF神经网络及KNN学习算法的集成电路芯片。作为ZISC芯片的合作发明人与授权生产商,美国Silicon Rcognition公司专业从事ZISC技术推广,其生产的ZISC036是一颗含有36个隐层神经元,专门用于各种模式识别矢量分类的集成电路。以下列出了它的一些主要特点与功能:
*使用RBF网络模型,无须编程而只须给它训练样本,即能实现学习和自适应识别;
*全并行运算,模式分类速度与隐层神经元存储的矢量数量完全无关;
*无须外围逻辑电路即可实现多片ZISC036级连,模式分类数量及神经网络规模没有限制;
*输入和存储的矢量分量数目从1~64个可调(每个分量8位);
*超快速度,64个分量的特征矢量的识别在4.8ms内完成(主频时钟20MHz);
*用寄存器存储神经网络全局信息与神经元信息和权值;
*CMOS和TTL兼容的I/O,TQFP144封装,5V标准电源供电。
不难看出,应用这种神经网络芯片不需要操作系统和编程语言,主要的工作就是训练它和让它学习。因此,用它开发面向消费类的模式识别产品是一种简单且实用可行的方法,可以大大地缩短研发周期。
本文给出了用六片ZISC036级连,通过印制电路板实现的通用模式识别系统。图2为这个系统的总体框图。
系统通过PCI总线接受待识别的模式原始数据。数字存储在2个8MB高速DRAM区中。神经网络控制器选用Xilinx Virtex FPGA,它的主要功能是完成对原始数据的特征矢量提取并输入到ZISC036芯片阵列中。可以使用标准的FPGA开发工具生成不同的RBF文件,从而实现不同的特征矢量提取电路。ZISC036芯片阵列按照三描述的方法一个个顺序接受矢理输入,然后进行并行的学习和分类,识别结果作为输出返回。只要修改FPGA中的特征矢量提取电路和界面程序,就可以实现图像、话音等各种不同的模式识别程序,只要修改FPGA中的特征矢量提取电路和界面程序,就可以实现图像、话音等各种不同的模式识别功能。这个通用模式识别系统的性能以传统CPU或DSP的指标来衡量,相当于13.2GPS(每秒执行132亿条指令)。
用上述系统可以完成如图像目标跟踪、图像识别、数据挖掘等许多实时性要求很高的模式识别和分类功能。以下用一个自适应图像目标跟踪的实验作为例子,视频图片演示结果如图3所示。
图3的视频图片从一段AVI文件中捕获。首先从初始的视频帧中选定汽车的图像,提取其纹理特征作为训练样本输入到ZISC神经网络。然后,ZISC神经网络在后面接下来的视频帧中搜索类似的图像纹理模式并圈定跟踪目标的坐标。如果发现所跟踪目标的模式发生变化,ZISC神约网络能够自动学习新的特征并建立一个新的模式存入神经网络。通过不断地比较已存入神经网络的模式和所跟踪目标之间的区别,系统就能够识别目标,从而在拥挤的背景和变化的环境下始终锁定目标。实验用视频图片为320×240像素,跟踪目标扫描范围为20×20像素。
结语
RBF神经网络的硬件实现是实现高速大规模模式分类的关键,而使用现有的比较成熟的商业芯片又无疑能简化模式识别系统的开发工作。IBM的ZISC采用数字电路技术实现了RBF神经网络芯片,用它作为核心,既能够大幅度提高识别性能,又能够缩短开发周期,是设计高性能模式识别。