当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于FPGA的稠密连接神经网络的实现方法技术

技术编号:19904615 阅读:37 留言:0更新日期:2018-12-26 03:16
本发明专利技术公开一种基于FPGA的稠密连接神经网络的实现方法,步骤是:将整个卷积神经网络划分为多个稠密连接块;利用FPGA上的资源设计卷积运算单元,进而设计FPGA端卷积运算模块;设计神经网络整体的数据收发逻辑,包括七个部分:Input Feature Map、Send Buffer、卷积运算模块、Receive Buffer、Output Feature Map、Dense Block Buffer、Max Buffer;根据稠密连接神经网络各层输入输出数据量的大小,设计Input Feature Map、Output Feature Map、Dense Block Buffer所需的存储区域大小,根据Block大小和卷积运算单元的并行度设计Send Buffer、Receive Buffer所需存储区域的大小;根据稠密连接神经网络各层的特点设计其数据收发逻辑。此种方法可在保证算法准确度的前提下降低网络各层宽度,减少参数数量,提高数据传输效率,提升神经网络的运行速度。

【技术实现步骤摘要】
一种基于FPGA的稠密连接神经网络的实现方法
本专利技术属于图像处理领域,特别涉及一种基于FPGA的稠密连接神经网络的实现方法。
技术介绍
在图像处理领域,卷积神经网络(ConvolutionalNeuralNetwork,CNN)已成为主导机器学习方法。随着神经网络的不断发展,网络深度不断加深,网络性能和识别准确度都有了很大的提升。但随着网络深度的不断加深,输入信息和梯度的消失逐渐成为阻止卷积神经网络准确度提升的主导因素。研究表明,如果在靠近输入层和接近输出层之间使用更短的连接,卷积神经网络可以更准确、更高效地进行表达。稠密连接神经网络将所有层(特征图的大小一致)连接在一起,以确保网络层之间的最大信息流动。每一层都将其前面所有层的输出拼接后作为本层的输入,并将本层的输出传递给所有的后续层。稠密连接神经网减轻了梯度消失的问题,增强了特征的传播,实现了特征的重复利用,由于其不需要重新学习冗余的特征映射,因此它比传统的卷积神经网络需要更少的参数。FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,是专用集成电路领域中的一种高速、高密度的半定制电路。FP本文档来自技高网...

【技术保护点】
1.一种基于FPGA的稠密连接神经网络的实现方法,其特征在于包括如下步骤:步骤1,将整个卷积神经网络划分为多个稠密连接块;步骤2,设计FPGA端卷积运算模块;步骤3,设计神经网络整体的数据收发逻辑,包括七个部分:Input Feature Map、Send Buffer、卷积运算模块、Receive Buffer、Output Feature Map、Dense Block Buffer、Max Buffer;步骤4,根据稠密连接神经网络各层输入输出数据量的大小,设计Input Feature Map、Output Feature Map、Dense Block Buffer所需的存储区域大小...

【技术特征摘要】
1.一种基于FPGA的稠密连接神经网络的实现方法,其特征在于包括如下步骤:步骤1,将整个卷积神经网络划分为多个稠密连接块;步骤2,设计FPGA端卷积运算模块;步骤3,设计神经网络整体的数据收发逻辑,包括七个部分:InputFeatureMap、SendBuffer、卷积运算模块、ReceiveBuffer、OutputFeatureMap、DenseBlockBuffer、MaxBuffer;步骤4,根据稠密连接神经网络各层输入输出数据量的大小,设计InputFeatureMap、OutputFeatureMap、DenseBlockBuffer所需的存储区域大小,根据Block大小和卷积运算单元的并行度设计SendBuffer、ReceiveBuffer所需存储区域的大小;步骤5,根据稠密连接神经网络各层的特点设计其数据收发逻辑。2.如权利要求1所述的一种基于FPGA的稠密连接神经网络的实现方法,其特征在于:所述步骤1中,将整个卷积神经网络划分为多个稠密连接块的设计规则是:第一,每个稠密连接块中各层的特征图尺寸一致;第二,每个稠密连接块中每一层都将其前面所有层的输出拼接后作为本层的输入,并将本层的输出传递给块中所有的后续层;第三,稠密连接块之间通过卷积池化层相连。3.如权利要求1所述的一种基于FPGA的稠密连接神经网络的实现方法,其特征在于:所述步骤3中的收发逻辑如下:逻辑1,将InputFeatureMap中的数据按Block的大小进行划分,并按FeatureMap的顺序每次传送P个Block传送到SendBuffer:设输入图像的大小为320*320,输入通道数input_channels=4,P=64,则每张Map每次可以发送个Block,第一次的发送顺序为11,12,13,14,21,22,23,24,...,161,162,163,164,其中ij表示第j张Map的第i个Block,其后的发送顺序以此类推;逻辑2,将SendBuffer中的Map数据通过DMA传输送至卷积运算模块;逻辑3,将已发送的FeatureMapBlock对应的权重和偏置传送到SendBuffer,每次传送P个卷积核;逻辑4,将SendBuffer中的权重和偏置通过DMA传输送至卷积运算模块,并开始进行卷积运算;逻辑5,将计算结果通过DMA传送至ReceiveBuffer;逻辑6,一批FeatureMap和权重进行卷积运算完之后,若不需要进行max池化,则将ReceiveBuffer中接收到的计算结果按FeatureMap的顺序传送至OutputFeatureMap,每个接收到的Block放至对应Map的对应位置;若需要进行max池化,则将ReceiveBuffer中接收到的计算结果按FeatureMap的顺序传送至MaxBuffer,每个接收到的Block放至对应Map的对应位置,将MaxBuffer中的数据进行max池化并送至OutputFeatureMap;若为稠密连接块,则其中每一层都将其前面所有层的输出在DenseBlockBuffer中拼接后存入InputFeatureMap作为本层的输入,并将本层的输出通过DenseBlockBuffer传递给块中所有的后续层;逻辑7,将InputFeatureMap和OutputFeatureMap指针对调,从而实现将上一...

【专利技术属性】
技术研发人员:陆生礼庞伟李宇峰周世豪范雪梅向家淇
申请(专利权)人:东南大学东南大学—无锡集成电路技术研究所
类型:发明
国别省市:江苏,32

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

1