[发明专利]一种基于FPGA的稀疏激活感知型神经网络加速器在审
申请号: | 202011304282.6 | 申请日: | 2020-11-20 |
公开(公告)号: | CN112418396A | 公开(公告)日: | 2021-02-26 |
发明(设计)人: | 袁海英;曾智勇 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 刘萍 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 稀疏 激活 感知 神经网络 加速器 | ||
1.一种基于FPGA的稀疏激活感知型神经网络加速器,其特征在于,包括:读命令发生器、数据分配器、Tm个运算子通道、大小为Tm×Tn的乘累加阵列、由Tn个加法树组成的加法树组、功能模块和输出缓存;
所述读命令发生器用于向外部总线发送读请求寻址片外存储器存储的激活和权重数据,其读请求按照Tn个输入通道的激活和权重为单位进行,读取顺序为:特征图从宽度到高度再到输入通道深度;权重从宽度到高度,随后从输入通道深度到输出通道深度;
所述数据分配器,用于将片外存储器读入的数据以输入通道为单位分配给运算子通道,内部维持1个输入通道的计数器,在输入通道为Chin的情况下,计数器的溢出值为ceil(Chin/Tn)-ceil(ceil(Chin/Tn)/Tm),跨步为ceil(ceil(Chin/Tn)/Tm),计数条件为上一个输入通道寻址完毕,此处ceil()表示向上取整,“/”为除法,Tm和Tn为乘累加阵列的高度和宽度;只要没溢出,每次计数条件的触发都引起下一个运算子通道的数据分配,一旦溢出,重新分配给第一个运算子通道;没有获得数据的运算子通道及其后续模块被门控时钟所关闭;
所述运算子通道包含片上激活和权重缓存、地址发生器、应答器、稀疏感知器和非0缓存,它接收到的数据首先存储在权重和激活的片上缓存内,片上缓存由FPGA中的block ram构成,激活地址发生器产生运算所需激活的地址,经过应答器应答确认数据已读入后,从激活缓存输出Tn个激活,数据进入稀疏感知器,稀疏感知器输出非0激活和偏移值并送入非0缓存中,非0缓存输出的偏移值进入权重地址发生器中,使用来自稀疏感知器的偏移加上其当前运行状态位到具体的权重地址,该地址索引到Tn个权重,权重和非0激活送入到后面的乘累加阵列;
所述乘累加阵列接收运算子通道送过来的数据,包含Tm×Tn个乘累加器(MAC)所组成的运算矩阵用以运算卷积中的乘累加,每一个MAC用FPGA中的DSP资源构成,每一行MAC都接收到同样的运算子通道输送的数据,输出为部分和,并送入后面的加法树组;
所述由Tn个加法树组成的加法树组中的每一个加法树输入端为乘累加阵列的每一列MAC的输出,以将其部分和相加得到完整的Tn个输出激活。
2.根据权利要求1所述基于FPGA的稀疏激活感知型神经网络加速器,其特征在于,所述读命令发生器寻址内部维持两个输入通道计数器,计数器A和计数器B,在输入通道为Chin的情况下,计数器A的溢出值为ceil(Chin/Tn)-ceil(ceil(Chin/Tn)/Tm),跨步为ceil(ceil(Chin/Tn)/Tm),计数条件为上一个输入通道寻址完毕,计数器B的溢出值为ceil(ceil(Chin/Tn)/Tm)-1,跨步为1,计数条件为计数器A溢出,此处ceil()表示向上取整,“/”为除法,Tm和Tn为乘累加阵列的高度和宽度;所寻址的输入通道为计数器A和计数器B的值之和。
3.根据权利要求1所述基于FPGA的稀疏激活感知型神经网络加速器,其特征在于,所述稀疏感知器输入的Tn个激活值被暂存在该模块内部寄存器中,同时生成一个掩膜表,本质为Tn位的寄存器,如果激活值为0该表对应位就为0,否则为1;非0指针的生成依赖Tn级数据选择器,第n级的数据选择器的输入端为n+1级数据选择器的输出端和指针寄存器输出的值加n,其控制端为掩膜判断逻辑,该逻辑判断输入的指针对应位的掩膜值是否为1;第1级数据选择器输出的非0指针的值作为偏移值输出,指针指向当前要输出的非0激活,每个时钟周期都输出非0激活及其对应的偏移值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011304282.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种农业用稻谷晾晒装置
- 下一篇:一种数控车床冷却装置