论文部分内容阅读
随着人工智能的高速发展,被称为第三代人工神经网络(ANN)的Spiking神经网络(SNN)逐渐成为研究学者的关注热点。SNN利用脉冲发放时间传递信息的机制使得其与前两代 ANN大有不同,研究 SNN的内部机制并对其应用进行实现对推动人工智能的发展是很有意义的。 Spiking神经元良好的动态特性及其输入输出的脉冲转换特性使得其在信号特征分析领域有着很大的优势。而在神经网络的实现方式上,采用硬件实现的方法解决了软件模拟时出现的无法实时运算的问题。鉴于FPGA具有并行计算特性且嵌入了丰富的乘加单元,本文以FPGA为开发平台,研究SNN在图像特征分析与语音信号分析领域的硬件实现方法。 本文首先研究了SNN在图像特征分析与分割中的FPGA实现技术。本设计选取基于电导率的 IF模型,采用TTFS的线性编码方法将图像像素灰度值转为脉冲发放时间。然后将感受野产生的脉冲送入中间层神经元,根据该层神经元发放脉冲的时间与分割阈值完成图像特征分析与分割。在FPGA设计中通过乘加单元完成神经元的数学计算模型,并通过查找表方法近似实现部分激励函数及核函数。为了能够快速的在FPGA上实现该算法,本文采用System Generator与ISE联合设计。对比FPGA运行结果与 MATLAB仿真数据,误差约在10-3数量级,满足了神经网络对精度的要求,同时运行时间大大缩减。 其次本文研究了SNN在语音信号分析及识别中的FPGA实现方法。本设计主要包含语音预处理、特征提取及模式匹配3部分,并给出了FPGA总体设计框图。主要有以下设计内容:设计出数字高通滤波器及汉明窗分帧来对语音信号进行预处理;设计有效语音起止端点检测及SNN处理产生脉冲序列的特征提取模块;设计脉冲序列相似性计算的匹配模块。最后在FPGA上成功实现了该设计并能够正确识别出特定人发出的声音。 在这两个Spiking神经网络应用中,通过System Generator完成了FPGA设计的部分算法程序,并在ISE中设计了其余模块及各个模块接口的时序控制,达到了神经网络对精度及实时处理的要求。