一种以现场可编程门阵列的逻辑片为基本单元模拟生物神经元网络的方法

文档序号:9417903阅读:405来源:国知局
一种以现场可编程门阵列的逻辑片为基本单元模拟生物神经元网络的方法
【技术领域】
[0001]本发明属于神经网络计算技术领域,特别涉及一种以现场可编程门阵列的逻辑片为基本单元模拟生物神经元网络的方法。
【背景技术】
[0002]现场可编程门阵列(以下简称FPGA)内部大部分都包括两种可配置逻辑模单元,一种是具有存储和逻辑运算功能的逻辑片(SLICEM),另一种是只含有逻辑运算功能的逻辑片(SLICEL)。在所有逻辑片(以下简称slice)中包含查找表(LOOK UP TABLE以下简称LUT)、进位链、触发器单元三个部分。在本发明中利用上述三个部分进行模拟,所以无论是哪种逻辑片(SLICEM和SLICEL)都可以用来配置生物神经元。
[0003]传统的基于冯诺依曼的计算机架构,具有强大的计算能力。但是在智能处理和模糊识别方面,其性能有限。当前神经网络包含人工神经网络(Artificial Neural Network,以下简称ANN)和生物神经网络(Spiking Neuron Networks,以下简称SNN)。目前ANN发展比较成熟,主要缺点是无法模拟生物神经元网络的变异和突变。但对于SNN来说,其基本单元为生物神经元,连接方式易于改变,可很好的模拟生物神经网络的变异和突变,使得模型更加与生物神经元网络相近;目前研究表明生物的神经元大约有20多种,每种神经细胞受刺激后发射脉冲方式有所不同,现阶段常采用的模拟神经元模型主要有以下几种:收集并且发射(integrate-and-fire)模型、爱之科维奇的脉冲发射模型(Spiking Modelby Izhikevich)、霍奇金-赫胥黎神经元模型(Hodgkin - Huxley)、威尔逊多项式神经元(Wilson Polynomial Neurons)等模型。
[0004]生物神经元主要通过发射脉冲和它们之间复杂的连接方式实现对信息的处理。所以如果想要需要模仿生物神经元发射脉冲过程,则设计的模拟网络必须具有以下条件:能够模拟发射脉冲信号的神经元细胞;同时该神经元模型必须足够小,从而便于实现大规模的集成以模拟生物神经元间的复杂连接方式。

【发明内容】

[0005]为了克服上述现有技术的缺点,本发明的目的在于提供一种以现场可编程门阵列的逻辑片为基本单元模拟生物神经元网络的方法,利用现场可编程器件的单个逻辑片(slice)对生物的一个神经元细胞的行为进行模拟,这使得单片现场可编程器件(FPGA)可以模拟数十万个神经元活动,突破以往同条件下的单片可编程器件只能实现对数千个神经元模拟状况。由于在单片神经元的数量上有很大提高,所以可有足够的神经元细胞数量对目标客体进行在线学习和离线识别。生物神经网络之所以能够实现能够具有强大的抽象处理能力,与大脑神经元连接的复杂性是密不可分的,所以提高可模拟神经元的数量对进一步研究生物神经网络有充分的必要性。传统的基于可编程逻辑器件的神经元实现方式是通过硬件语言来通过算法配置,通常一块可编程器件板(FPGA)上只能实现数千个神经元单元,很难实现复杂连接。本发明跳过综合工具,直接利用比特文件对现场可编程器件进行配置,使得配置效率大大提高,可有效提高单片FPGA上模拟神经元的数量。
[0006]为了实现上述目的,本发明采用的技术方案是:
[0007]一种以现场可编程门阵列的逻辑片为基本单元模拟生物神经元网络的方法,包括如下步骤:
[0008]步骤1,将现场可编程器件中的逻辑片(slice)与神经元细胞结构的相应部分形成映射,即确定各个控制信号添加方式;
[0009]步骤2,采用图形处理器(GPU)仿真FPGA行为进行在线学习,或者直接利用FPGA硬件网络进行在线学习;
[0010]步骤3,将学习的所得到的控制信息写成比特文件,通过比特文件直接配置FPGA,提高对FPGA的使用效率。
[0011]所述步骤I中,将逻辑片的查找表单元等效成神经元细胞的前突触(I),将逻辑片的进位链等效为神经元细胞的胞体(2),将逻辑片中多路选择器和D触发器等效为神经元细胞的轴突,由此形成映射关系,构建得到集成并且发射(integrate-and-fire)模型。
[0012]所述每个逻辑片中有四个查找表,相应地,模型中每个神经细胞含有四个前突触(1),该四个前突触(I)各有一个权值输出信号,输出权值为O或1,进位链对四个前突触
(I)的输出信号以及用于调整进位链单元的初始状态也即胞体(2)的初始膜电位的五个外部输入信号进行求和,和值信号通过多路选择器输出到D触发器中。将所述D触发器的输出端与其自身的清零端相连以产生单脉冲,其中单脉冲的长度由串接的D触发器的数量决定,需要产生N个时钟周期脉冲,则串接N个D触发器。
[0013]所述步骤2中,采用图形处理器(GPU)仿真FPGA行为进行在线学习的过程为:
[0014]搭建一个可编程器件仿真器,在该仿真器中,利用图形处理器(GPU)仿真FPGA硬件结构,进而对其电路行为实现仿真,即在仿真搭建的FPGA硬件结构中,将FPGA抽象成一个个SLICE单元和接口,再通过程序语言来描述slice单元的功能和接口的数量,使得模拟结果与实际的硬件行为一致;
[0015]然后将输入信号加入接口,通过仿真器得到输出信号,比较结果,如果发现并非预期输出信号,则通过调整FPGA模拟器连接的过程更改电路结构,直至得到预期输出信号,然后将当前电路结构通过控制信息映射到FPGA硬件中。
[0016]所述步骤2中,直接利用FPGA硬件网络进行在线学习的过程为:
[0017]直接将输入信号加入硬件调试,然后根据得到的输出信号,比较结果,如果发现并非预期输出信号,则调整硬件结构,直至得到预期输出信号,然后将当前电路结构通过控制信息映射到FPGA硬件中。
[0018]所述学习得到的控制信息包括各个查找表的输出权值信号以及用于调整进位链单元的初始状态的五个外部输入信号,通过比特文件直接配置FPGA的方法是:将写成的相应比特文件下载进入FPGA硬件。
[0019]与现有技术相比,本发明利用单个逻辑片来实现了对一个神经元细胞的映射,将单片可编程器件上可模拟神经元细胞的数量提高了数十倍;其次通过比特文件来配置可编程器件,从底层硬件开始设计,从而增加了可编程器件的可控性。
【附图说明】
[0020]图1是本发明实施例中vertex7可编程器件的逻辑片(slice)原理图。
[0021]图2是图1中逻辑片的抽象图和神经元细胞的映射关系。
[0022]图3是利用可编程器件模拟神经元细胞阵列的示意图,每层之间的神经元细胞可以通过开关阵列进行互联。
[0023]图4是利用slice中的D触发器产生脉冲的电路图。
【具体实施方式】
[0024]下面结合附图和实施例详细说明本发明的实施方式。
[0025]本发明利用集成并且发射(integrate-and-fire)模型对神经元细胞行为进行模拟仿真。该模型的原理是:当细胞体收集的电位达到阈值时,胞体产生输出脉冲信号,所以胞体是否发射脉冲取决于胞体电位状况和来自突触的权值信号输入。具体模拟包括以下步骤:
[0026](I)如图1所示,将现场可编程器件中逻辑片(slice)的查找表(LUT)单元等效成神经元细胞的突触,由于每个逻辑片中含有四个查找表,所以在该模型中每个神经细胞含有四个前突触I ;四个前突触I的输入信号分别是46:1,86:1,06:1,06:1,可以通过调节这四个信号,控制突触输出。与此同时这四个前突触I都以各自对应的查找表中的06作为突触的权值输出信号,输出权值可为O或I。四个06作为输出信号到达进位链,将进位链等效为神经元细胞的胞体2,可以对突触输出信号进行加权,此外slice单元的外部输入信号AX, BX, CX, DX, CIN可以用来控制进位链单元的初始状态,也即胞体2的初始膜电位,这九个信号可通过进位链求和;和值信号COUT通过多路选择器输出到D触发器中,D触发器则相当于神经元细
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1