System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 脉冲神经网络的卷积资源调度装置、方法和设备制造方法及图纸_技高网

脉冲神经网络的卷积资源调度装置、方法和设备制造方法及图纸

技术编号:42418684 阅读:6 留言:0更新日期:2024-08-16 16:35
本申请涉及脉冲神经网络的卷积资源调度装置、方法和设备,通过针对残差SNN网络中的脉冲残差模块之一核心模块,在FPGA芯片上进行硬件实现并加速,配合片外的DDR内存设计了新的脉冲神经网络的卷积资源调度装置整体实现方案,结合SNN多时间步计算的特点,设计了一次性缓存单个时间步图像,按通道分批复用计算资源来完成宽通道卷积计算的技术手段,来克服SNN网络算法中卷积通道数过大的问题,减少了从DDR读取权重的次数并确保脉冲残差模块中流水计算畅通,使得残差SNN网络中的脉冲残差模块的数据计算速度得到显著提升,而功耗大幅降低,大幅提高了数据处理加速性能。

【技术实现步骤摘要】

本专利技术属于神经网络电路,涉及一种脉冲神经网络的卷积资源调度装置、方法和设备


技术介绍

1、在计算机视觉领域,目标识别与检测是基础且关键的任务,前者旨在确定图像中的物体类别,后者则更近一步到定位图像中目标的位置并识别其类别。近十年来,人工神经网络(artificial neural network,ann)在目标识别与检测等领域取得了巨大的成就,其性能相较于基于专家系统的传统机器学习方式具有革命性的突破,并且广泛应用于安防监控、无人驾驶、医疗诊断等场景中。然而,基于ann的目标检测的运算过程中需要大量的计算资源与能耗,且其在生物可解释性等方面存在不足。

2、脉冲神经网络(spiking neural network,snn)作为一种更接近大脑工作原理的新兴计算范式,以其更高的能效与生物合理性的特点受到关注。snn被称作第三代神经网络,与ann相比,snn对于生物大脑的仿生程度更高。snn以脉冲序列的形式模拟生物信号在神经网络中的传播,具有稀疏性与事件驱动特性,这使得其比使用连续值表示信息的ann更加节能。另外,snn基于对神经动力学有着更贴近的建模的神经元模型构建,从网络构建上完全模拟了生物的神经网络系统。基于类脑计算范式的snn为实现低功耗、高能效的目标识别与检测、开发新型计算机视觉系统提供了新的可能。然而,在实现本专利技术的过程中,专利技术人发现在实际的目标识别与检测任务中使用传统的cpu或gpu运行脉冲神经网络,仍存在着数据处理加速性能较差的技术问题。


技术实现思路>

1、针对上述传统方法中存在的问题,本专利技术提出了一种脉冲神经网络的卷积资源调度装置和一种脉冲神经网络的卷积资源调度方法,能够大幅提高数据处理加速性能。

2、为了实现上述目的,本专利技术实施例采用以下技术方案:

3、一方面,提供一种脉冲神经网络的卷积资源调度装置,包括ddr内存和部署在fpga芯片的残差snn网络的脉冲残差模块,脉冲残差模块包括输入缓冲、短路路径单元、残差路径单元、加法器、卷积激活模块、输出fifo以及控制逻辑与寄存器单元;

4、ddr内存分别连接输入缓冲、短路路径单元、残差路径单元和输出fifo,ddr内存用于按照设定的数据排布方式与读写顺序存储脉冲残差模块的输入特征图、输出特征图和网络权重,输入缓冲、短路路径单元、残差路径单元、加法器、卷积激活模块和输出fifo依次连接,并用于按照按通道分批资源复用策略执行对输入特征图的计算处理后输出相应的输出特征图,控制逻辑与寄存器单元用于配置脉冲残差模块工作在按通道分批资源复用模式,并将脉冲残差模块配置为需要加速的残差模块的规格;按通道分批资源复用模式包括第一级卷积调度和第二级卷积调度;

5、其中,短路路径单元和残差路径单元均采用两阶流水线的卷积计算结构;第一级卷积调度处理为若ci1不超过n时,则在网络初始化阶段直接将一个时间步下的输入特征图全部缓存到输入缓冲中,否则将一个时间步下的输入特征图分为a组数据再依次传输进输入缓冲;第一级卷积的权重分批载入与计算,a=ci1/n,ci1为脉冲残差模块的输入通道数,n为ddr内存与脉冲残差模块之间的内存接口数据位宽;

6、第二级卷积调度处理为短路路径单元和残差路径单元内的中间输入缓冲准备好当前批输入特征图数据的前三行的数据后启动第二阶的卷积计算;第二级卷积的权重分批载入与计算。

7、另一方面,还提供一种基于上述脉冲神经网络的卷积资源调度装置的脉冲神经网络的卷积资源调度方法,包括步骤:

8、通过配置寄存器的方式将残差snn网络中需要加速的脉冲残差模块的工作模式切换至按通道分批资源复用模式,并将脉冲残差模块配置为需要加速的残差模块的规格;

9、根据设定的数据排布方式与读写顺序从ddr内存中读取脉冲残差模块的网络权重及需要处理的输入特征图;

10、通过脉冲残差模块按照按通道分批资源复用策略执行对输入特征图的计算处理,输出相应的输出特征图;

11、根据设定的数据排布方式与读写顺序,通过脉冲残差模块将输出特征图写入ddr内存。

12、又一方面,还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述的脉冲神经网络的卷积资源调度方法的步骤。

13、上述技术方案中的一个技术方案具有如下优点和有益效果:

14、上述脉冲神经网络的卷积资源调度装置、方法和设备,通过针对残差snn网络中的核心模块,即脉冲残差模块在fpga芯片上进行硬件实现并加速,配合片外的ddr内存设计了新的脉冲神经网络的卷积资源调度装置整体实现方案,结合snn多时间步计算的特点,设计了一次性缓存单个时间步图像,按通道分批复用计算资源来完成宽通道卷积计算的技术手段,来克服snn网络算法中卷积通道数过大的问题,减少了从ddr读取权重的次数并确保脉冲残差模块中流水计算畅通,设计的这一方案使得残差snn网络中的脉冲残差模块的数据计算速度达到了cpu硬件实现方案的2.39倍,而功耗仅为cpu硬件实现方案的5.6%,大幅提高了数据处理加速性能。

本文档来自技高网...

【技术保护点】

1.一种脉冲神经网络的卷积资源调度装置,其特征在于,包括DDR内存和部署在FPGA芯片的残差SNN网络的脉冲残差模块,所述脉冲残差模块包括输入缓冲、短路路径单元、残差路径单元、加法器、卷积激活模块、输出FIFO以及控制逻辑与寄存器单元;

2.根据权利要求1所述的脉冲神经网络的卷积资源调度装置,其特征在于,所述输入缓冲的工作状态包括INIT状态、FIRST_WRITE状态、READ状态、WAIT状态、WRITE状态、MAP_END状态和DONE状态。

3.根据权利要求1或2所述的脉冲神经网络的卷积资源调度装置,其特征在于,所述输入缓冲在进行数据读取与写入操作时按照设定的地址重排列机制进行数据复用。

4.根据权利要求3所述的脉冲神经网络的卷积资源调度装置,其特征在于,所述输入缓冲中对输入特征图的padding的操作包括上下padding操作与左右padding操作。

5.一种基于权利要求1至4任一项所述脉冲神经网络的卷积资源调度装置的脉冲神经网络的卷积资源调度方法,其特征在于,包括步骤:

6.根据权利要求5所述的脉冲神经网络的卷积资源调度方法,其特征在于,所述脉冲残差模块内的第二级卷积调度处理过程中,一行的滑窗计算完成后,中间输入缓冲回到写入状态,接收来自中间输出FIFO发送的下一行数据。

7.根据权利要求5或6所述的脉冲神经网络的卷积资源调度方法,其特征在于,所述脉冲残差模块内的短路路径单元采用的滑窗步伐与残差路径单元的第二级卷积调度过程中的滑窗步伐一致。

8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求5至8任一项所述的脉冲神经网络的卷积资源调度方法的步骤。

...

【技术特征摘要】

1.一种脉冲神经网络的卷积资源调度装置,其特征在于,包括ddr内存和部署在fpga芯片的残差snn网络的脉冲残差模块,所述脉冲残差模块包括输入缓冲、短路路径单元、残差路径单元、加法器、卷积激活模块、输出fifo以及控制逻辑与寄存器单元;

2.根据权利要求1所述的脉冲神经网络的卷积资源调度装置,其特征在于,所述输入缓冲的工作状态包括init状态、first_write状态、read状态、wait状态、write状态、map_end状态和done状态。

3.根据权利要求1或2所述的脉冲神经网络的卷积资源调度装置,其特征在于,所述输入缓冲在进行数据读取与写入操作时按照设定的地址重排列机制进行数据复用。

4.根据权利要求3所述的脉冲神经网络的卷积资源调度装置,其特征在于,所述输入缓冲中对输入特征图的padding的操作包括上下pad...

【专利技术属性】
技术研发人员:王义楠陈长林吴家栋卢伦李清江李智炜宋兵徐晖刁节涛于红旗刘海军刘森王玺王伟曹荣荣孙毅李楠步凯孙振源
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1