基于FPGA移动机器人脉冲神经网络走廊场景分类方法

文档序号:29620452发布日期:2022-04-13 13:09阅读:126来源:国知局
基于FPGA移动机器人脉冲神经网络走廊场景分类方法
基于fpga移动机器人脉冲神经网络走廊场景分类方法
技术领域
1.本发明涉及一种用硬件实现的基于fpga移动机器人脉冲神经 网络走廊场景分类方法,属于脉冲神经网络技术领域。


背景技术:

2.人工神经网络(artificial neural networks,anns),是智能技术的 重要方面。当前,基于神经网络的应用大多处于计算机仿真阶段,很 多应用算法没有通过硬件实现,无法在实际应用中使用以发挥神经网 络并行、高速计算的优势,因此神经网络的硬件实现是基于神经网络 相关应用实用化的关键环节。目前,神经网络的硬件实现方法逐渐成 为人们研究的热点。
3.迄今为止,有学者把人工神经网络的发展分为了三代,其中第三 代神经网络为脉冲神经网络(spiking neural networks,snns)。该网 络通过使用独立的尖脉冲(spikes)传递信息,并且可以将时空信息融 于神经网络的计算和神经元间的数据交换之中。由于脉冲神经网络使 用脉冲编码(spike encode),使得该网络能够工作在离散时间,比前 两代神经网络具有更好的生物似真性、且更易于用硬件实现。神经网 络具有并行计算的特点,同时现场可编程门阵列(field programmablegate array,fpga)具有并行处理数据的特性,因而fpga适于神经 网络的硬件实现。
4.移动机器人走廊场景识别是机器人研究领域的关键技术之一,是 机器人进行其他高级任务的前提。目前,移动机器人一般都是基于视 觉的方法对走廊场景进行识别,这种方法受光照条件的影响较大,且 传感器测量数据多,严重影响了场景的识别速度和识别准确率,降低 了移动机器人的环境感知能力。因此研究移动机器人脉冲神经网络走 廊场景分类器的硬件实现方法具有十分重要的意义。


技术实现要素:

5.本发明的目的在于针对现有技术之弊端,提供一种基于fpga移 动机器人脉冲神经网络走廊场景分类方法,以提高移动机器人的环境 感知能力。
6.为实现上述目的,本发明采用如下技术方案:
7.一种基于fpga移动机器人脉冲神经网络走廊场景分类方法,所 述方法利用安装在移动机器人上的超声传感器实时测量不同走廊场 景下移动机器人周围的环境信息,然后将超声传感器测量的信息输入 到利用fpga实现的脉冲神经网络走廊场景分类器中,由设置在脉冲 神经网络走廊场景分类器中的脉冲神经网络对超声传感器测量的信 息进行脉冲编码和场景识别,通过脉冲神经网络的脉冲输出模式来判 断移动机器人所处的走廊场景。
8.上述基于fpga移动机器人脉冲神经网络走廊场景分类方法,所 述超声传感器设置多个,它们在移动机器人本体外侧同一水平面上均 匀分布,对移动机器人所处的环境进行全方位探测。
9.上述基于fpga移动机器人脉冲神经网络走廊场景分类方法,所 述脉冲神经网络包括输入层、隐含层和输出层,各层的具体结构如下:
10.输入层:包括sn×
n个输入神经元,其中sn为每次超声传感器采 集测量信息的个数,n为超声传感器的测量组数,输入层神经元到隐 含层神经元的连接权值均为w1(i1,j1)=1,其中j1为输入层神经元序号, j1=1,...,sn×
n,i1为隐含层神经元序号,i1=1,...,sn×n×
ni,ni为待分 类走廊场景个数;
11.隐含层:包括sn×n×
ni个隐含层神经元,隐含层神经元到输出层 神经元的连接权值均为w2(i2,i1)=1,其中i2为输出层神经元序号, i2=1,...,ni;
12.输出层:包括ni个神经元,输出层采用“赢者通吃,胜者为王”的 原则,只要有一个输出神经元的激活潜能超过点火阈值发出脉冲,其 他神经元就不会再点火。
13.上述基于fpga移动机器人脉冲神经网络走廊场景分类方法,在 脉冲神经网络的输入层,由输入时延编码模块将超声传感器测量的信 息处理成脉冲时延编码,完成脉冲神经网络输入层的计算;在脉冲神 经网络的隐含层,由均值与方差运算模块计算出脉冲时延编码的均值 与方差,运算出的方差传递给浮点开方模块完成开方运算,将输入时 延编码模块、均值与方差运算模块和浮点开方模块的输出信号传输给 隐含时延编码模块,完成脉冲神经网络隐含层的计算;在脉冲神经网 络的输出层,由膜潜能计算模块将隐含时延编码模块输出的时延编码 输入脉冲iaf神经元模型进行运算,完成脉冲神经网络输出层的计算; 场景类别输出模块根据输出层神经元的脉冲输出实现走廊场景的分 类。
14.上述基于fpga移动机器人脉冲神经网络走廊场景分类方法,所 述输入时延编码模块的fpga硬件实现方法如下:
15.输入传感器信息的脉冲时延编码为:
[0016][0017]
其中,t
win
为时间窗长,x
ij
(m)为超声传感器在第i个场景的第j组 测量信息中第m个超声传感器的测量数据,max(x)为超声传感器的 最大测量范围,d
ij
(m)为输出的脉冲时延编码;
[0018]
脉冲神经网络的输入为:
[0019]dik
=[d
ik d
i(k+1)
,...,d
i(k+p-1)
]
t
[0020]
其中,i为待分类走廊场景序号,i=1,2,...,ni,k为某走廊场景 中输入数据的组数(k=1,2,...,5),p为在某走廊场景中采用连续时刻 的超声传感器信息的组数(p=3),d
ik
为第i个走廊场景中第k个时刻 的16个超声传感器测量信息的脉冲时延编码 (d
ik
=[d
ik
(1),d
ik
(2),...,d
ik
(m)]);
[0021]
输入时延编码模块的fpga硬件实现步骤如下:
[0022]
用fpga适用的硬件描述语言编程:首先把x
ij
(m)扩大2
10
倍,然 后除以max(x),再模除1024进行缩放,最后单精度浮点数1减去模 除的结果与时间窗长t
win
相乘,得到d
ij
(m);
[0023]
利用时钟信号和复位信号,周期性地输入传感器信息,完成输入 时延编码模块的硬件实现。
[0024]
上述基于fpga移动机器人脉冲神经网络走廊场景分类方法,所 述均值与方差运
算模块的fpga硬件实现方法如下:
[0025]
隐含层中神经元的输出为:
[0026][0027]
其中,为脉冲编码的均值,为脉 冲编码的方差,d
ij
为第i个走廊场景中第j组超声传感器测量信息的 脉冲时延编码,n为超声传感器测量组数,即隐含层第 (sn×n×
(i-1)+k)个神经元的输出为o2(sn×n×
(i-1)+k), [0028]
进行均值硬件实现时,采用fpga适用的硬件描述语言编程,对 读取的d
ij
进行连加运算,然后利用除法器将求和结果与n相除,得到 脉冲编码的均值μi,完成均值运算的硬件实现;
[0029]
进行方差硬件实现时,采用fpga适用的硬件描述语言编程,对 读取的d
ij
分别减去均值取平方,接着对运算出的结果相加求和再除 以n取均值,再将均值输入到浮点开方模块进行开方,得到脉冲编码 的方差σi,完成方差运算的硬件实现。
[0030]
上述基于fpga的移动机器人脉冲神经网络走廊场景分类方法, 所述浮点开方模块的fpga硬件实现采用fpga适用的硬件描述语言 编程,步骤如下:
[0031]
a.输入的运算结果,输入数据为data_in[31:0];
[0032]
b.设置开方结果输出的试错值,先将试错值data_test[15:0]的最 高位设为1,对其进行平方后与输入值进行比较,如果输入值大于试 错值的平方,最高位置为1,否则最高位置为0;
[0033]
c.按照从高位往低位的顺序,依次将试错值的每一位置1,再将 试错值平方后与输入数据比较,如果输入值大于试错值的平方,则将 该位置为1,否则置为0,以此迭代到最后一位;
[0034]
d.当所有计算结束后,试错值即为最终的开方结果。
[0035]
上述基于fpga移动机器人脉冲神经网络走廊场景分类方法,所 述隐含时延编码模块的fpga硬件实现采用fpga适用的硬件描述语 言编程,方法如下:
[0036]
的运算方法为:
[0037]
隐含层的输出由两部分组成:
[0038]
a.整数部分:利用移位运算符将整数部分左移10位,低10位固 定补0作为小数部分;
[0039]
b.小数部分:时延编码与各个均值用减法器连接后扩大2
10
倍,再 除以方差,运算结果用1024取余作为小数部分;
[0040]
最终,将其两部分直接相加即可得到隐含层神经元输出的时延编 码值。
[0041]
上述基于fpga的移动机器人脉冲神经网络走廊场景分类方法, 所述膜潜能计算模块的fpga硬件实现采用fpga适用的硬件描述语 言编程,方法如下:
[0042]
输出层神经元采用脉冲iaf神经元模型,其脉冲输出为:
[0043][0044]
其中,ui(t)=w2(i2,i1)ε(t-td(j))为膜潜能,为 核函数,t为输出层的时间窗长,为脉冲神经元的点火阈值, td(j)=o2(sn×n×
(i-1)+k)为隐含层第j个脉冲输出神经元的时延编 码,τ为膜时间常数;
[0045]
在对膜潜能计算模块进行fpga硬件实现时,设定时间轴长度为 t ms,以便产生脉冲时延编码,每个时间轴上包含m个时间窗,各 个时间窗口上的点火阈值分别设置不同的动态阈值,利用上述参数, 使用减法器和除法器分别计算每个时间窗上核函数的值,将计算结果 与对应时间窗上的阈值进行比较,根据比较的结果判断是否发放脉冲, 若某一神经元发放脉冲,则其他神经元不会再点火。
[0046]
本发明采用基于fpga的脉冲神经网络走廊场景分类器对移动 机器人所处的走廊场景进行分类,与基于视觉的方法相比,该方法不 受光照条件的影响,需要的传感器测量信息少,分类速度快、准确率 高,可提高移动机器人的环境感知能力。此外,本发明还具有分类器 结构简单,易于实施,通用性好,实用性广等优点。
附图说明
[0047]
下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0048]
图1是本发明的总体框图;
[0049]
图2是机器人超声传感器环形探测范围示意图;
[0050]
图3是七种结构化走廊场景,其中图3(a)为后通行场景;3(b)为 前通行场景;3(c)为前左右通行场景;3(d)为后左右通行场景;3(e) 为前后右通行场景;3(f)为前后左通行场景;3(g)为前后通行场景;
[0051]
图4是本发明实施例的脉冲神经网络结构;
[0052]
图5是本发明实施例的fpga设计顶层原理图;
[0053]
图6是本发明实施例的逐位循环开方算法框图;
[0054]
图7是本发明实施例的逐位循环开方算法流程图。
[0055]
文中所用符号:sn为每次超声传感器采集测量信息的个数,n为 超声传感器的测量组数,w1(i1,j1)为输入层神经元到隐含层神经元的 连接权值,j1为输入层神经元序号,i1为隐含层神经元序号,ni为待 分类走廊场景个数,w2(i2,i1)为隐含层神经元到输出层神经元的连接 权值,i2为输出层神经元序号,t
win
为时间窗长,x
ij
(m)为超声传感器 在第i个场景的第j组测量信息中第m个超声传感器的测量数据, max(x)为超声传感器的最大测量范
围,d
ij
(m)为输出的脉冲时延编码, k为某走廊场景中输入数据的组数,p为在某走廊场景中采用连续时 刻的超声传感器信息的组数,d
ik
为第i个走廊场景中第k个时刻的多 个超声传感器测量信息的脉冲时延编码,μi为脉冲编码的均值,σi为 脉冲编码的方差,d
ij
为第i个走廊场景中第j组超声传感器测量信息 的脉冲时延编码,n为超声传感器测量组数,ui(t)为膜潜能,为脉 冲神经元的点火阈值,t为输出层的时间窗长,td(j)为隐含层第j个 脉冲输出神经元的时延编码,ε(t-td(j))为核函数。
具体实施方式
[0056]
本发明提供了一种基于fpga移动机器人脉冲神经网络走廊场 景分类方法,解决了目前神经网络应用算法多处于计算机仿真、没有 实用化的问题。
[0057]
参见图1,本发明将移动机器人在不同走廊场景下采集的超声传 感器信息输入到所设计的脉冲神经网络走廊场景分类器中,利用 fpga进行脉冲编码,并对脉冲编码进行识别,通过脉冲神经网络的 脉冲输出模式判断移动机器人所处的走廊场景。本发明利用fpga实 现了脉冲积分点火(integrated-and-fire,iaf)神经元模型,在此基础上 实现了基于脉冲iaf神经元模型的移动机器人脉冲神经网络走廊场 景分类器,该分类器可对7类走廊场景进行有效分类。
[0058]
图2是机器人超声传感器环形探测范围示意图,图中xoy为机器 人坐标系,为机器人前行方向,圆环为机器人本体,1——16为机 器人本体外部设有的16个超声传感器或测距传感器,它们在360
°
范围 中均匀分布,采用这种结构可以使移动机器人无需旋转就能实现对所 处环境的全方位探测。
[0059]
参见图3,常见的七种结构化待分类走廊场景如图3(a)-图3(g) 所示,分别为后通行场景、前通行场景、前左右通行场景、后左右通 行场景、前后右通行场景、前后左通行场景和前后通行场景。图中的 圆圈表示移动机器人,圆圈内部的小矩形表示移动机器人的单目摄像 机,箭头表示机器人移动的方向,图中的直线代表障碍物,障碍物的 不同组合表示不同的走廊场景。
[0060]
参见图4,本发明由安装在移动机器人上的超声传感器在不同走 廊场景下采集场景信息,由脉冲神经网络判断移动机器人所处的走廊 场景,本发明基于脉冲iaf神经元模型,提出一种脉冲神经网络结构, 该脉冲神经网络结构如下:
[0061]
第一层为输入层,其是由sn×
n个输入神经元组成,其中sn为每 次超声传感器采集测量信息的个数,n为超声传感器的测量组数。第 一层神经元到第二层神经元的连接权值均为w1(i1,j1)=1,其中j1为输 入层神经元序号,j1=1,...,sn×
n,i1为隐含层神经元序号, i1=1,...,sn×n×
ni,ni为待分类走廊场景个数。
[0062]
第二层为隐含层,其是在输入层上乘以连接权值w1(i1,j1)组合而 成,隐含层有sn×n×
ni个神经元。第二层神经元到第三层神经元的连 接权值均为w2(i2,i1)=1,其中i2为输出层神经元序号,i2=1,...,ni。
[0063]
第三层为输出层,输出层有ni个神经元。输出层采用“赢者通吃, 胜者为王(winners-take-all,wta)”的原则,只要有一个输出神经元 的激活潜能超过点火阈值发出脉冲,其他神经元就不会再点火。
[0064]
仍参见图1,在输入层,由输入时延编码模块将超声传感器测量 的信息处理成脉
冲时延编码,完成脉冲神经网络输入层的计算;
[0065]
在隐含层,由均值与方差运算模块计算出脉冲时延编码的均值与 方差,运算出的方差传递给浮点开方模块完成开方运算,将输入时延 编码模块、均值与方差运算模块和浮点开方模块的输出信号传输给隐 含时延编码模块,完成脉冲神经网络隐含层的计算;
[0066]
在输出层,由膜潜能计算模块将隐含时延编码模块输出的时延编 码输入脉冲iaf神经元模型进行运算,完成脉冲神经网络输出层的计 算;场景类别输出模块根据输出层神经元的脉冲输出实现走廊场景的 分类。
[0067]
参见图5,将移动机器人超声传感器测量信息进行脉冲编码,后 输入到所设计的脉冲神经网络走廊场景分类器中,通过脉冲神经网络 的脉冲输出模式判断移动机器人所处的走廊场景。具体实现细节包括 如下步骤:
[0068]
步骤1:输入层的fpga硬件实现
[0069]
1.输入时延编码模块的fpga硬件实现方法
[0070]
脉冲神经网络第一层为输入层,由16个超声传感器信息融合向 量作为输入。采用连续测得的n组超声传感信息,经过脉冲时延编码 后构造融合向量,作为脉冲神经元的输入,则输入层由16
×
n个神经 元组成。
[0071]
将超声传感器信息处理成脉冲时延编码步骤如下:
[0072]
(1)输入传感器信息的脉冲时延编码为:
[0073][0074]
其中,t
win
为时间窗长,时间窗(time window)指的是神经元将外 界输入转换为脉冲序列所需的时间长度,设置为20ms,x
ij
(m)为超声 传感器在第i个场景的第j(j=1,2,...,14)组测量信息中第 m(m=1,2,l,16)个超声传感器的测量数据,max(x)为超声传感器的 最大测量范围,本实施例中max(x)为400cm,d
ij
(m)为输出的脉冲时 延编码。d
ij
(m)值越小,表明输出脉冲时刻越早,脉冲时延最短,脉 冲刺激越强。
[0075]
(2)脉冲神经网络的输入为d
ik

[0076]dik
=[d
ik d
i(k+1)
,...,d
i(k+p-1)
]
t
[0077]
(2)
[0078]
其中,i为待分类走廊场景序号,i=1,2,...,ni,ni=7,k为某走 廊场景中输入数据的组数(k=1,2,...,5),p为在某走廊场景中采用连 续时刻的超声传感器信息的组数(p=3),d
ik
为第i个走廊场景中第k 个时刻的16个超声传感器测量信息的脉冲时延编码 (d
ik
=[d
ik
(1),d
ik
(2),...,d
ik
(m)])。
[0079]
2.输入时延编码模块的fpga硬件实现
[0080]
在对脉冲神经网络进行fpga硬件实现时,采用fpga适用的硬 件描述语言编程:为减少资源消耗、提高运算速度和提升计算精度, 减法、乘法、除法和取余运算结果的精度均为32位单精度浮点数, 其中整数部分用高12位二进制数代表,小数部分用低10位二进制数 代表。时延编码的fpga硬件实现方法如下:
[0081]
(1)对超声传感器采集的信息进行预处理后写入;
[0082]
(2)将公式(1)用硬件描述语言编程:为保证后续计算的准确性, 首先把x
ij
(m)扩大2
10
倍,然后除以max(x),再模除1024进行缩放, 扩大与缩小2
10
的目的是为了解决精度不足的问题,其中的低10位二 进制数用来表示小数部分,取低10位二进制数表示小数部分可满足 使用要求,最后单精度浮点数1减去模除的结果与时间窗长t
win
相乘;
[0083]
(3)利用时钟信号和复位信号,周期性地输入传感器信息,进 而完成对脉冲时延编码的硬件实现。
[0084]
步骤2:隐含层的fpga硬件实现
[0085]
1.隐含层fpga硬件实现的总体方案
[0086]
由于第一层神经元到第二层神经元的连接权值均为w1(i1,j1)=1, 故隐含层的输入为输入层的脉冲时延编码。隐含层的输出有着向聚类 中心汇集的作用。在第i个走廊场景中分别采集n组传感器信息,计 算该组向量脉冲编码的均值μi和方差σi。
[0087][0088][0089]
其中,d
ij
为第i个走廊场景中第j组超声传感器测量信息的脉冲 时延编码,n为超声传感器测量组数(n=14)。
[0090]
因此,隐含层中神经元的输出为
[0091][0092]
即隐含层第(sn×n×
(i-1)+k)个神经元的输出为 o2(sn×n×
(i-1)+k),
[0093]
令td(j)=o2(16
×n×
(i-1)+k)
[0094]
(6)
[0095]
则td(j)(j=1,2,...,sn×n×
ni)为隐含层第j个脉冲输出神经元的 时延编码。
[0096]
2.隐含层均值与方差运算模块的fpga硬件实现
[0097]
在对脉冲神经网络的隐含层公式(3)进行均值硬件实现时,采用 fpga适用的硬件描述语言编程:对读取的2组k个时刻的数据进行 连加运算,然后利用除法器对求和结果与n相除取其平均,实现均值 运算的硬件实现。
[0098]
对公式(4)进行方差硬件实现时,先将其变换成公式(7),对读取 的2组k个时刻的数据分别减去均值取平方,接着对运算出的结果相 加求和再除以n取均值,对结果以二
进制的方式写入到文件中,作 为浮点开方模块的输入信号。
[0099][0100]
3.隐含层浮点开方模块的fpga硬件实现
[0101]
逐位循环(digit-recurrence)开方算法是一种类似于试平方根的手 算方法。逐位循环开方算法框图如图6所示,实施过程为:通过时钟 周期不断迭代,利用折半遍历比较,计算差值不断去逼近真实值,最 终判断最接近的根即为开方结果。
[0102]
浮点开方模块利用逐位循环开方算法的基本原理进行fpga硬 件实现,采用fpga适用的硬件描述语言编程:逐位循环开方算法流 程图如图7,具体步骤如下:
[0103]
第一步:输入公式(7)运算的结果,输入数据为data_in[31:0];
[0104]
第二步:设置开方结果输出的试错值,先将试错值 data_test[15:0]的最高位(第16位)设为1,对其进行平方与输入 值进行比较,如果输入值大于试错值的平方,最高位置为1,否则最 高位置为0,公式(8)对其有更形象地展现
[0105][0106]
第三步:按照从高位往低位的顺序,依次将每一位置1,再将试 错值平方后与输入数据比较,以此迭代到最后一位;
[0107]
第四步:当所有计算结束后,将试错值输出,即为最终的开方结 果。
[0108]
4.隐含时延编码模块的fpga硬件实现
[0109]
通过上面输入时延编码模块、均值与方差运算模块和浮点开方模 块分别计算出的脉冲时延编码、均值和方差的结果,采用fpga适用 的硬件描述语言编程来完成隐含时延编码模块的fpga硬件实现。由 公式(5)知,涉及到绝对值运算考虑两种情况,公式(9)有更明确的展 示。考虑到计算精度问题,隐含层的输出由两部分组成:
[0110]
(1)整数部分:通过观察运算出的时延编码的高10位均为0, 所以可利用移位运算符左移10位,也就是被移位的数据高10位0被 丢弃,而低10位固定补0作为小数部分;
[0111]
(2)小数部分:时延编码与各个均值用减法器连接后扩大2
10
倍, 再除以方差,运算结果用1024取余作为小数部分。
[0112]
[0113]
最终,将其两部分直接相加即可得到隐含层神经元输出的脉冲时 延编码值。
[0114]
步骤3:输出层的fpga硬件实现
[0115]
1.膜潜能计算模块的fpga硬件实现方法
[0116]
采用fpga适用的硬件描述语言编程:输出层神经元采用脉冲 iaf神经元模型,其膜潜能ui(t)是由隐含层神经元的激活潜能组成, 第二层神经元到第三层神经元的连接权值均为w2(i2,i1)。为了便于硬 件实现,将复杂的iaf神经元模型近似处理,逼近后的iaf神经元 模型为
[0117]
ui(t)=w2(i2,i1)ε(t-td(j))
[0118]
(10)
[0119]
式中t为输出层的时间窗长,核函数ε近似为
[0120][0121]
其中膜时间常数τ=800ms。
[0122]
输出层神经元的脉冲输出为
[0123][0124]
其中,为脉冲神经元的点火阈值,其根据在时间轴上每个时间 窗的变化而变化,设置不同的动态阈值。
[0125]
2.膜潜能计算模块的fpga硬件实现
[0126]
在对输出层的膜潜能计算模块fpga硬件实现时,采用fpga适 用的硬件描述语言编程:最为关键的是计算出膜潜能,而其中最为核 心的部分是计算核函数ε。在本发明中,设定一个足够大的时间轴长 度为t=10000ms,以便产生脉冲时延编码,每个时间轴上包含m=5 个时间窗,每一时间窗口长度均为2000ms,各个时间窗口上的点火 阈值分别设置为119.908、239.908、359.909、479.911、599.914。
[0127]
利用上述的参数,使用减法器和除法器分别计算每个时间窗上核 函数的值,其结果与对应时间窗上的阈值进行比较,来判断是否发放 脉冲。如先有一神经元发放脉冲,因最先点火的神经元对其他神经元 有侧向抑制的作用,其他神经元就不会再点火。
[0128]
本发明具有如下特点:
[0129]
本发明实现了基于fpga移动机器人脉冲神经网络走廊场景分 类方法,此分类器结构简单,算法易于实现,通用性好,实用性广, 易于实施,分类准确率满足使用要求,可提高移动机器人环境感知能 力。
[0130]
本发明在保留脉冲iaf神经元模型的神经计算特征和动力学特 征的同时,提出模型逼近的近似处理方法,通过fpga实现了脉冲iaf 神经元模型的相应功能和逻辑。
[0131]
本发明在隐含层模块用硬件完成均值、方差运算,将输入减去均 值除以方差,实现人工神经网络中的批规范化运算。批规范化技术用 硬件实现,能加速神经网络的训练和
模型的收敛。
[0132]
本发明提出的基于脉冲iaf神经元模型的数据运算方法:被除数 扩大相应的位数2
t
,即左移t位,以此提高有效位数,可解决神经网 络硬件实现结果精度不足的问题。所提方法计算误差小、保证了所需 运算的精度。
[0133]
本发明在基于fpga的脉冲神经网络硬件实现方面具有占用芯 片资源少,计算效率高的优点。
[0134]
实验结果证明了本发明对于结构化走廊场景分类的可行性和有效性, 验证了所提基于脉冲iaf神经元模型的脉冲神经网络fpga硬件实 现方法的正确性,为脉冲神经网络的实用化提供了一种新思路,是对 脉冲神经网络硬件实现的有益探索。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1