首页> 中国专利> 一种基于FPGA的稀疏激活感知型神经网络加速器

一种基于FPGA的稀疏激活感知型神经网络加速器

摘要

本发明公开了一种基于FPGA的稀疏激活感知型神经网络加速器,包括了读命令发生器、数据分配器、Tm个运算子通道、大小为Tm×Tn的乘累加阵列、由Tn个加法树组成的加法树组、功能模块和输出缓存。数据分配器将片外存储器读入的数据分配给尽可能少的运算子通道。运算通道将权重和非0激活送入到乘累加阵列,乘累加阵列进行运算卷积乘累加。本发明还提供一种基于FPGA的稀疏激活神经网络运算数据流,它重建非0激活值的位置并且匹配对应的权重。本发明具有很高的数据复用性,减少了数据的搬移节省功耗,未用到的运算子通道及其后续模块被门控时钟所关闭,同样节省了功耗,它可以高效感知稀疏激活,使绝大部分为非0激活所进行的运算,加快了运算速度。

著录项

  • 公开/公告号CN112418396A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

  • 申请/专利权人 北京工业大学;

    申请/专利号CN202011304282.6

  • 发明设计人 袁海英;曾智勇;

    申请日2020-11-20

  • 分类号G06N3/04(20060101);G06N3/063(20060101);

  • 代理机构11203 北京思海天达知识产权代理有限公司;

  • 代理人刘萍

  • 地址 100124 北京市朝阳区平乐园100号

  • 入库时间 2023-06-19 10:00:31

说明书

技术领域

本发明涉及电子信息和深度学习领域,特别是一种基于FPGA的高效稀疏激活感知型神经网络加速器。

背景技术

卷积神经网络(CNN)近些年来已经成为计算机视觉任务中最流行和有效的算法之一,因其准确率明显高于传统算法,在图像分类,人脸识别,和语义分割等领域得到了广泛的应用。随着CNN网络模型规模不断扩大,需要更多的计算和存储资源,CPU由于其并行计算资源的不足,面对大规模的CNN运算已经现得力不从心,相反,具有大量流处理器的GPU成为了CNN训练和推理的主流平台,但是其运行CNN时高能耗的缺陷无法避免。FPGA作为一种可编程的逻辑器件,其不仅具有较高的灵活性可以适应各种网络结构,强大的逻辑计算资源和和其较高的能源效率也使其成为了运行CNN的很有前途的硬件平台。

在深度CNN中,其计算量是十分巨大的,这些运算的激活和权重很大一部分都为0,通过利用这些稀疏性,可以在不降低网络预测精度的前提下提升大规模网络的推理性能。其中激活的稀疏是在推理过程中产生的,特别是现代卷积神经网络中大规模使用的矫正线性单元,但是与权重稀疏不同的是,推理时产生的稀疏位置很难在训练时进行控制,这就造成现有的利用稀疏激活神经网络加速器方案对稀疏激活的利用率较为低下。

发明内容

本发明的目的在于针对现有技术利用稀疏激活神经网络加速器方案对稀疏激活的利用率较为低下的不足,提出了一种基于FPGA的稀疏激活感知型神经网络加速器,该加速器实现了较高的片上数据复用,同时使用的数据分配方式减少功耗并对稀疏激活中的0值实现了高效跳过。

本发明为实现上述技术目的,所实施的技术方案为:

一种基于FPGA的稀疏激活感知型神经网络加速器,其特征在于,包括:读命令发生器、数据分配器、T

所述读命令发生器用于向外部总线发送读请求寻址片外存储器存储的激活和权重数据,其读请求按照T

所述数据分配器,用于将片外存储器读入的数据以输入通道为单位分配给运算子通道,内部维持1个输入通道的计数器,在输入通道为Chin的情况下,计数器的溢出值为ceil(Chin/T

所述运算子通道包含片上激活和权重缓存、地址发生器、应答器、稀疏感知器和非0缓存,它接收到的数据首先存储在权重和激活的片上缓存内,片上缓存由FPGA中的blockram构成,激活地址发生器产生运算所需激活的地址,经过应答器应答确认数据已读入后,从激活缓存输出T

所述乘累加阵列接收运算子通道送过来的数据,包含T

所述由T

可选地,所述读命令发生器寻址内部维持两个输入通道计数器,计数器A和计数器B,在输入通道为Chin的情况下,计数器A的溢出值为ceil(Chin/T

可选地,所述稀疏感知器输入的T

可选地,所述加法树组的每一个输入接口设置了先入先出缓存,将来自乘累加阵列输出的非同时到达的数据暂存,待所有先入先出缓存均不空再做加法运算。

可选地,在乘累加阵列的第x行y列上的MAC运算输入通道从Dtm×x到Dtm×(x+1)、输出通道从ceil(Chout/Tn)×y到ceil(Chout/Tn)×(y+1)的卷积运算,这里Dtm=ceil(ceil(Chin/T

一种基于FPGA的稀疏激活神经网络运算数据流,将卷积运算按照每Dtm输入通道切分为一个运算片,在输入通道深度为Chin的情况下,Dtm=ceil(ceil(Chin/T

可选地,所述运算条带在运算子通道内部流动方式为:每个时钟周期流动T

本发明所采用的技术方案具有的优点和有益效果是:

实现了高效的并行计算,每个时钟周期可以达到T

附图说明

图1为本发明的结构示意图;

图2为运算子通道的结构示意图;

图3为乘累加阵列的结构示意图;

图4为加法树组的结构示意图;

具体实施方式

如图1所示的结构,本实施例涉及一种基于FPGA的稀疏激活感知型神经网络加速器,包括读命令发生器、数据分配器、T

所述读命令发生器用于向外部总线发送读请求寻址片外存储器存储的激活和权重数据,其读请求按照T

所述数据分配器,用于将片外存储器读入的数据以输入通道为单位分配给运算子通道,内部维持1个输入通道的计数器,在输入通道为Chin的情况下,计数器的溢出值为ceil(Chin/T

所述运算子通道的结构参见图2,接收到的数据首先存储在权重和激活的片上缓存上,片上缓存由FPGA中的block ram构成,激活地址发生器产生运算所需激活的地址,经过应答器应答确认数据已读入后,激活缓存输出T

所述稀疏感知器接收来自运算子通道中激活缓存输出的T

所述乘累加阵列接收运算子通道传送过来的数据,通过图3的多个MAC上交错的行和列来分配卷积与并行化卷积的向量运算,该阵列尺寸为T

所述加法树组如图4将每一列MAC的输出都连接到一个单独的加法树中,这样T

加法树组输出T

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号