CN108229666A - 基于费马数变换的卷积神经网络硬件加速架构 - Google Patents

基于费马数变换的卷积神经网络硬件加速架构 Download PDF

Info

Publication number
CN108229666A
CN108229666A CN201711069111.8A CN201711069111A CN108229666A CN 108229666 A CN108229666 A CN 108229666A CN 201711069111 A CN201711069111 A CN 201711069111A CN 108229666 A CN108229666 A CN 108229666A
Authority
CN
China
Prior art keywords
modules
fnt
fermat
processing element
ifnt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711069111.8A
Other languages
English (en)
Inventor
张川
徐炜鸿
尤肖虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Southeast University
Original Assignee
Southeast University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Southeast University filed Critical Southeast University
Priority to CN201711069111.8A priority Critical patent/CN108229666A/zh
Publication of CN108229666A publication Critical patent/CN108229666A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Neurology (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提出了一种基于费马数变换的卷积神经网络硬件加速架构,包括:二维FNT模块、乘法器矩阵以及二维IFNT模块;其中二维FNT模块包括横向FNT模块、第一矩阵转置模块和纵向FNT模块;输入矩阵先由横向FNT模块按行进行费马数变换,再由纵向FNT模块按列进行费马数变换;变换后的结果与经费马数变换后的滤波器输入乘法器矩阵实现相乘运算;二维IFNT模块对乘法器矩阵输出的有限域相乘结果进行逆费马数变换。二维FNT中的每个一维FNT以及二维IFNT中的每个一维IFNT均可采用基于折叠和流水线结构实现。本发明变换时仅进行移位、取模和加法操作,有效降低实现复杂度和硬件消耗,可适用于多种输入序列和滤波器尺寸。

Description

基于费马数变换的卷积神经网络硬件加速架构
技术领域
本发明涉及一种深度学习技术,具体涉及一种基于费马数变换(Fermat NumberTransform,FNT)的卷积神经网络硬件加速架构,属于人工神经网络、高效硬件实现技术领域。
背景技术
深度学习(Deep Learning,DL)是人工智能的一个重要分支,近几年在诸多领域:目标识别、图像分类和自然语言处理等,都取得了重大突破并且大大改善了性能。卷积神经网络(Convolutional Neural Network,CNN)作为深度学习中一种重要的模型,被全世界学者广泛研究。较为著名和经典的是Krizhevsky et al.提出的CNN结构——AlexNet,该模型开创了卷积神经网络研究的新时代。
近几年CNN发展的趋势是层数变多、参数规模增加,通过增加规模,网络具备了更好的特征表达能力,实验表明在精确度上得到了相当大的增益。但是,卷积神经网络的一个致命缺点是其对计算量需求巨大,通常在高性能计算机上训练一个大规模的神经网络需要数周的时间,其中卷积运算占据了总体运算量的90%以上。传统计算机的结构很难满足以上需求,因此在更低的硬件功耗下实现快速卷积神经网络运算便成了难题之一。
发明内容
发明目的:针对现有技术的问题,本发明目的在于提供一种基于费马数变换的卷积神经网络硬件加速架构,利用基于费马数变换的快速卷积算法来降低卷积神经网络运算的复杂度。
技术方案:为实现上述发明目的,本发明采用如下技术方案:
基于费马数变换的卷积神经网络硬件加速架构,包括:二维FNT模块、乘法器矩阵以及二维IFNT模块;所述二维FNT模块,用于对N×N的输入矩阵进行费马数变换,包括横向FNT模块、第一矩阵转置模块和纵向FNT模块;所述横向FNT模块,用于对输入矩阵每一行进行费马数变换,所述第一矩阵转置模块,用于对横向FNT模块输出的结果进行转置,所述纵向FNT模块,用于对按行进行费马数变换的结果每一列进行费马数变换;
所述乘法器矩阵,用于实现二维FNT模块输出的结果与经费马数变换后的滤波器相乘运算;
所述二维IFNT模块,用于对乘法器矩阵输出的有限域相乘结果进行逆费马数变换,包括纵向IFNT模块、第二矩阵转置模块和横向IFNT模块;所述纵向IFNT模块,用于对有限域相乘结果每一列进行逆费马数变换,所述第二矩阵转置模块,用于对纵向IFNT模块输出的结果进行转置,所述横向IFNT模块,用于对按列进行逆费马数变换的结果每一行进行逆费马数变换。
进一步地,所述横向FNT模块和纵向FNT模块均包括N个一维FNT模块,所述横向IFNT模块和纵向IFNT模块均包括N个一维IFNT模块,每个一维FNT模块和一维IFNT模块均采用基于折叠和流水线结构实现。
进一步地,所述一维FNT模块设有log2M个蝶形运算单元,M为单个一维FNT的点数,相邻两个蝶形运算单元之间设有一个切换单元;前一个蝶形运算单元的第一输出端与切换单元的第一输入端相连,第二输出端经过寄存器与切换单元的第二输入端相连;切换单元的第一输出端经过寄存器与后一个蝶形运算单元的第一输入端相连,第二输出端与后一个蝶形运算单元的第二输入端相连;第一个蝶形运算单元的第一输入端所连接的寄存器的个数为M/2,最后一个蝶形运算单元的第一输入端所连接的寄存器的个数为1;中间蝶形运算单元的第一输入端所连接的寄存器的个数为前一个蝶形运算单元所连接的寄存器的个数的一半,同一切换单元的第二输入端与第一输出端连接的寄存器的个数相同。
所述一维IFNT模块的结构与一维FNT模块类似,设有log2M个蝶形运算单元,相邻两个蝶形运算单元之间设有一个切换单元;前一个蝶形运算单元的第一输出端与切换单元的第一输入端相连,第二输出端经过寄存器与切换单元的第二输入端相连;切换单元的第一输出端经过寄存器与后一个蝶形运算单元的第一输入端相连,第二输出端与后一个蝶形运算单元的第二输入端相连;第一个蝶形运算单元的第一输入端所连接的寄存器的个数为M/2,最后一个蝶形运算单元的第一输入端所连接的寄存器的个数为1;中间蝶形运算单元的第一输入端所连接的寄存器的个数为前一个蝶形运算单元所连接的寄存器的个数的一半,同一切换单元的第二输入端与第一输出端连接的寄存器的个数相同;最后一个蝶形运算单元的两个输出端分别连接一个移位寄存器。
进一步地,所述架构还包括第一数据转换模块和第二数据转换模块,所述第一数据转换模块与二维FNT模块的输入端相连,用于对输入矩阵进行数据转换,将输入矩阵中的负数元素转换到正数范围内;所述第二数据转换模块与二维IFNT模块的输出端相连,用于按照与第一数据转换模块相反的规则实现矩阵元素的转换。
进一步地,所述横向FNT模块、纵向FNT模块、横向IFNT模块和纵向FNT模块的前端和后端分别设有序列分解模块和序列合成模块;所述序列分解模块用于将长度为N的输入序列分割为若干长度为L的短序列并在每个短序列结尾填充K-1个零使其成为长度恰好为M的序列;所述序列合成模块用于变换后的序列进行混叠相加得到完整的输出序列,满足L≤M-K+1,M表示单个FNT的点数,K为滤波器尺寸。
有益效果:本发明所述的基于费马数变换的卷积神经网络硬件加速架构,利用基于流水线的一维快速费马数变换模块来完成二维快速费马数变换;加上乘法器矩阵,构成完整的可以加速卷积神经网络的快速卷积模块。本发明与直接卷积算法相比,利用费马数变换的卷积性质,降低了卷积所需要的复杂度。而与利用快速傅里叶变换加速的卷积算法在复数域上计算相比,本发明的算法只需要在有限域上进行计算,变换时仅进行移位、取模和加法操作,乘法复杂度分别为直接卷积算法的17.9%,快速傅里叶卷积算法的39.1%。此外硬件消耗也有相应的降低,并且一套硬件结构支持多种输入序列和滤波器尺寸。
附图说明
图1为本发明实施例的卷积神经网络硬件加速架构示意图。
图2为8点快速费马数变换的信号流图(Data Flow Graph)。
图3为本发明实施例中经流水线技术处理的M点一维快速费马数变换模块结构示意图。
图4为速费马数变换中的基本蝶形(Butterfly)运算单元结构示意图。
图5为本发明实施例中基于折叠和流水线结构的高效8点FNT计算模块时序图。
图6为本发明实施例中经流水线技术处理的M点一维反向快速费马数变换模块结构示意图。
图7为本发明实施例中图像序列分解与合成示意图。
图8为本发明与直接卷积算法以及基于快速傅里叶变换的卷积算术复杂的对比图。
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步的介绍。
为了便于理解本发明相关技术,首先本发明相关原理做简单介绍。
卷积神经网络的输入为经过标准化后的二维N×N矩阵形式的图像,首先将其分割为N个1×N的实数序列,通常情况FNT变换在有限域上计算,而CNN实际应用是基于实数进行运算的,因此需要对输入输出数据进行数据转换,对于一个t阶费马数Ft=2b+1,其所能表示的整数范围为[0,2b],为了令其能够表示负数的数据,可以将其转换到范围[-2b-1,2b-1]上,具体转换公式如下:
其中x和x′分别为被转换和转换后的数据。类似的,计算后得到的数据y′可以按照下式转换到实数域中:
其中y′和y分别为被转换和转换后的数据。
对于每个1×N的实数序列x(n),其M点的费马数变换(FNT)以及逆费马数变换(IFNT)数学表达形式可以由下表示:
其中表示对Ft进行取模运算。
费马数变换的定义对参数M和Ft的选取有严格限制,必须满足以下条件:
其中Ft称为t阶费马因子。
根据以上定义,FNT具有和快速傅里叶变换(FFT)十分类似的数学表达形式,因此其信号流图与FFT的相似,复杂度大约为一个8点的FNT信号流图可以由图2表示。
根据已有论文的研究,FNT具有卷积性质:两个序列的FNT在有限域中的点积的IFNT等于这两个序列的卷积结果。可以如下公式表达:
其中*表示卷积运算,为逆费马数变换。
而卷积神经网络中卷积层的基本计算可以如下表示:
其中I(x,y)和W(x,y)分别表示输入的图像(尺寸为N×N)和卷积滤波器,K为滤波器尺寸(通常为3),该式实际上为卷积滤波器对图像作二维滑动加权操作,其算术复杂度大约为
可以利用FNT的卷积性质来实现高效的卷积计算,在卷积神经网络中,滤波器的尺寸往往要小于图像,而FNT的卷积特性在两序列长度相近时效率较高。因此可以将长序列分解为若干个较短的序列分别计算,然后再将其累加得到最后的卷积结果,该过程称为混叠-相加费马数变换(Overlap-and-Add FNT,OaA-FNT),可以用以下算式表达:
这里L是选定的分块长度,满足L≤M-K+1,M表示单个FNT的点数。
需要注意的是,一般情况下在应用中CNN的滤波器系数h(n)是固定的,因此可以预先计算其FNT变换因此只需要计算输入图像序列的FNT即可。这里给出一个例子说明FNT计算在CNN中的应用,假设我们有两个输入序列x=[1,-2,3,-4]和h=[1,1,1,1]并且选取F2=24+1=17。根据以上描述,输入序列首先被转换为x′=[1,-2+17,3,-4+17],经过FNT卷积计算后结果为y′=[1,16,2,15,14,16,13,0],经过输出数据转换的最后结果为y′=[1,16-17,2,15-17,14-17,16-17,13-17,0]=[1,-1,2,-2,-3,-1,-4,0]。
如图1所示,本发明实施例公开的一种基于费马数变换的卷积神经网络硬件加速架构,包括:二维FNT模块、乘法器矩阵以及二维IFNT模块;二维FNT模块,用于对N×N的输入矩阵进行费马数变换,包括横向FNT模块、第一矩阵转置模块和纵向FNT模块;横向FNT模块,用于对输入矩阵每一行进行费马数变换,第一矩阵转置模块,用于对横向FNT模块输出的结果进行转置,纵向FNT模块,用于对按行进行费马数变换的结果每一列进行费马数变换;乘法器矩阵,用于实现二维FNT模块输出的结果与经费马数变换后的滤波器相乘运算;二维IFNT模块,用于对乘法器矩阵输出的有限域相乘结果进行逆费马数变换,包括纵向IFNT模块、第二矩阵转置模块和横向IFNT模块;纵向IFNT模块,用于对有限域相乘结果每一列进行逆费马数变换,第二矩阵转置模块,用于对纵向IFNT模块输出的结果进行转置,横向IFNT模块,用于对按列进行逆费马数变换的结果每一行进行逆费马数变换。其中,横向FNT模块和纵向FNT模块均包括N个一维FNT模块,横向IFNT模块和纵向IFNT模块均包括N个一维IFNT模块,每个一维FNT模块和一维IFNT模块采用基于折叠和流水线结构实现。
由于直接根据图2信号流图构建FNT硬件结构所需面积较大,并且硬件效率较低。根据观察可知,快速FNT变换中每个基本运算模块相同,因此可以将图2中完整的信号流图进行折叠、***寄存器,通过复用单个基本模块提高硬件效率,得到图3中的流水线FNT计算模块。如图3所示,本发明实施例的每个一维FNT模块设有log2M个蝶形运算单元,相邻两个蝶形运算单元之间设有一个切换单元;前一个蝶形运算单元的第一输出端与切换单元的第一输入端相连,第二输出端经过寄存器与切换单元的第二输入端相连;切换单元的第一输出端经过寄存器与后一个蝶形运算单元的第一输入端相连,第二输出端与后一个蝶形运算单元的第二输入端相连;第一个蝶形运算单元的第一输入端所连接的寄存器的个数为M/2,最后一个蝶形运算单元的第一输入端所连接的寄存器的个数为1;中间蝶形运算单元的第一输入端所连接的寄存器的个数为前一个蝶形运算单元所连接的寄存器的个数的一半,同一切换单元的第二输入端与第一输出端连接的寄存器的个数相同。图5给出了一个基于折叠和流水线结构的高效8点FNT计算模块时序图。更一般的,针对一个M点快速FNT变换,原始架构需要个蝶形运算单元,而本发明提出的架构只需要log2M个。图4给出了FNT蝶形运算单元(FNT Butterfly)的具体结构,该结构与现有技术一致,此处不再赘述。针对IFNT,由公式可以看出,IFNT的输出需要除以系数M=2t+1,这可以通过一个(t+1)位右移位寄存器来高效实现,故一维IFNT模块结构与一维FNT模块基本相同,只是在数据输出后多加了一个移位寄存器,图6给出了一维IFNT模块的流水线硬件架构。
此外,为了使用基于实数进行运算的CNN实际应用,本发明的硬件架构还可进一步包括第一数据转换模块和第二数据转换模块,第一数据转换模块与二维FNT模块的输入端相连,用于对输入矩阵进行数据转换,将输入矩阵中的负数元素转换到正数范围内;第二数据转换模块与二维IFNT模块的输出端相连,用于按照与第一数据转换模块相反的规则实现矩阵元素的转换。
进一步地,所述横向FNT模块、纵向FNT模块、横向IFNT模块和纵向FNT模块的前端和后端分别设有序列分解模块和序列合成模块以实现混叠-相加费马数变换算法,其中,序列分解模块用于实现将长输入序列分割为k个长度为L的短序列并在每个序列结尾填充K-1个零使其成为长度恰好为M的序列,之后将各个序列依次送入二维FNT模块中的横向FNT模块;序列合成模块与二维IFNT模块的输出以及输出数据转换模块相连,用于将经过变换后的序列进行混叠相加,得到完整的长输出序列,具体过程见图7,图中xk(n)表示第k个输入短序列,yk(n)表示第k个输出短序列。
综上,本发明实施例公开的基于费马数变换的卷积神经网络硬件加速架构,利用一维FNT来完成二维FNT运算,从而实现二维卷积运算,首先对输入图像每行作一维FNT,之后再对得到的结果每列做一维FNT,得到二维FNT变换结果。最后以相反的顺序对两个二维FNT序列的乘积作反费马数变换,便可以得到正确的二维卷积结果。图8给出了在著名卷积神经网络VGGNet上乘法算术复杂的对比,其中包括直接卷积、基于FFT的快速卷积算法以及本发明中基于FNT的快速卷积算法,可以看到基于FNT的快速卷积算法复杂度大大减少,相较于直接卷积和FFT快速卷积算法的复杂度减少了72%和61%。在Xilinx Virtex-7XC7VX485t FPGA平台上我们实现了硬件架构,所提出的硬件消耗情况如下表所示:
表1硬件消耗对比
从上表可以看出,我们所提出的架构与目前较为先进的基于直接卷积的CNN加速平台(见Qiu J等2016年在Proceedings of the 2016 ACM/SIGDA InternationalSymposium on Field-Programmable Gate Arrays发表的Going deeper with embeddedfpga platform for convolutional neural network)相比,在少量增加FF触发器和块寄存器BRAM的条件下,所需的DSP模块数量仅为目前的32.8%左右,此外数据吞吐率为其1.4倍,单位DSP计算效率为直接卷积方案的4.29倍。

Claims (7)

1.基于费马数变换(FNT)的卷积神经网络硬件加速架构,其特征在于,
包括:二维FNT模块、乘法器矩阵以及二维IFNT模块;
所述二维FNT模块,用于对N×N的输入矩阵进行费马数变换,包括横向FNT模块、第一矩阵转置模块和纵向FNT模块;所述横向FNT模块,用于对输入矩阵每一行进行费马数变换,所述第一矩阵转置模块,用于对横向FNT模块输出的结果进行转置,所述纵向FNT模块,用于对按行进行费马数变换的结果每一列进行费马数变换;
所述乘法器矩阵,用于实现二维FNT模块输出的结果与经费马数变换后的滤波器相乘运算;
所述二维IFNT模块,用于对乘法器矩阵输出的有限域相乘结果进行逆费马数变换,包括纵向IFNT模块、第二矩阵转置模块和横向IFNT模块;所述纵向IFNT模块,用于对有限域相乘结果每一列进行逆费马数变换,所述第二矩阵转置模块,用于对纵向IFNT模块输出的结果进行转置,所述横向IFNT模块,用于对按列进行逆费马数变换的结果每一行进行逆费马数变换。
2.根据权利要求1所述的基于费马数变换的卷积神经网络硬件加速架构,其特征在于,所述横向FNT模块和纵向FNT模块均包括N个一维FNT模块,所述横向IFNT模块和纵向IFNT模块均包括N个一维IFNT模块,每个一维FNT模块和一维IFNT模块采用基于折叠和流水线结构实现。
3.根据权利要求2所述的基于费马数变换的卷积神经网络硬件加速架构,其特征在于,所述一维FNT模块设有log2M个蝶形运算单元,M为单个一维FNT的点数,相邻两个蝶形运算单元之间设有一个切换单元;前一个蝶形运算单元的第一输出端与切换单元的第一输入端相连,第二输出端经过寄存器与切换单元的第二输入端相连;切换单元的第一输出端经过寄存器与后一个蝶形运算单元的第一输入端相连,第二输出端与后一个蝶形运算单元的第二输入端相连;第一个蝶形运算单元的第一输入端所连接的寄存器的个数为M/2,最后一个蝶形运算单元的第一输入端所连接的寄存器的个数为1;中间蝶形运算单元的第一输入端所连接的寄存器的个数为前一个蝶形运算单元所连接的寄存器的个数的一半,同一切换单元的第二输入端与第一输出端连接的寄存器的个数相同。
4.根据权利要求2所述的基于费马数变换的卷积神经网络硬件加速架构,其特征在于,所述一维IFNT模块设有log2M个蝶形运算单元,M为单个一维FNT的点数,相邻两个蝶形运算单元之间设有一个切换单元;前一个蝶形运算单元的第一输出端与切换单元的第一输入端相连,第二输出端经过寄存器与切换单元的第二输入端相连;切换单元的第一输出端经过寄存器与后一个蝶形运算单元的第一输入端相连,第二输出端与后一个蝶形运算单元的第二输入端相连;第一个蝶形运算单元的第一输入端所连接的寄存器的个数为M/2,最后一个蝶形运算单元的第一输入端所连接的寄存器的个数为1;中间蝶形运算单元的第一输入端所连接的寄存器的个数为前一个蝶形运算单元所连接的寄存器的个数的一半,同一切换单元的第二输入端与第一输出端连接的寄存器的个数相同;最后一个蝶形运算单元的两个输出端分别连接一个移位寄存器。
5.根据权利要求1所述的基于费马数变换的卷积神经网络硬件加速架构,其特征在于,所述架构还包括第一数据转换模块和第二数据转换模块,所述第一数据转换模块与二维FNT模块的输入端相连,用于对输入矩阵进行数据转换,将输入矩阵中的负数元素转换到正数范围内;所述第二数据转换模块与二维IFNT模块的输出端相连,用于按照与第一数据转换模块相反的规则实现矩阵元素的转换。
6.根据权利要求5所述的基于费马数变换的卷积神经网络硬件加速架构,其特征在于,所述第一数据转换模块按照如下规则进行数据转换:
其中,x和x′分别为被转换和转换后的数据,Ft为t阶费马数,Ft=2b+1,b=2t
所述第二数据转换模块按照如下规则进行数据转换:
其中,y′和y分别为被转换和转换后的数据。
7.根据权利要求1所述的基于费马数变换的卷积神经网络硬件加速架构,其特征在于,所述横向FNT模块、纵向FNT模块、横向IFNT模块和纵向FNT模块的前端和后端分别设有序列分解模块和序列合成模块;所述序列分解模块用于将长度为N的输入序列分割为若干长度为L的短序列并在每个短序列结尾填充K-1个零使其成为长度恰好为M的序列;所述序列合成模块用于变换后的序列进行混叠相加得到完整的输出序列,满足L≤M-K+1,M表示单个一维FNT的点数,K为滤波器尺寸。
CN201711069111.8A 2017-11-03 2017-11-03 基于费马数变换的卷积神经网络硬件加速架构 Pending CN108229666A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711069111.8A CN108229666A (zh) 2017-11-03 2017-11-03 基于费马数变换的卷积神经网络硬件加速架构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711069111.8A CN108229666A (zh) 2017-11-03 2017-11-03 基于费马数变换的卷积神经网络硬件加速架构

Publications (1)

Publication Number Publication Date
CN108229666A true CN108229666A (zh) 2018-06-29

Family

ID=62655003

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711069111.8A Pending CN108229666A (zh) 2017-11-03 2017-11-03 基于费马数变换的卷积神经网络硬件加速架构

Country Status (1)

Country Link
CN (1) CN108229666A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109598335A (zh) * 2018-12-04 2019-04-09 郑州云海信息技术有限公司 一种二维卷积脉动阵列结构及实现方法
CN114185514A (zh) * 2021-12-13 2022-03-15 合肥工业大学 一种基于费马模数的多项式乘法器

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208597A (ja) * 2011-03-29 2012-10-25 Canon Inc パターン識別装置、パターン識別方法及びプログラム
CN103870438A (zh) * 2014-02-25 2014-06-18 复旦大学 一种利用数论变换计算循环卷积的电路结构
CN106845635A (zh) * 2017-01-24 2017-06-13 东南大学 基于级联形式的cnn卷积核硬件设计方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012208597A (ja) * 2011-03-29 2012-10-25 Canon Inc パターン識別装置、パターン識別方法及びプログラム
CN103870438A (zh) * 2014-02-25 2014-06-18 复旦大学 一种利用数论变换计算循环卷积的电路结构
CN106845635A (zh) * 2017-01-24 2017-06-13 东南大学 基于级联形式的cnn卷积核硬件设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WEIHONG XU 等: "Using Fermat Number Transform to Accelerate Convolutional Neural Network", 《2017 IEEE 12TH INTERNATIONAL CONFERENCE ON ASIC》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109598335A (zh) * 2018-12-04 2019-04-09 郑州云海信息技术有限公司 一种二维卷积脉动阵列结构及实现方法
CN109598335B (zh) * 2018-12-04 2022-04-22 郑州云海信息技术有限公司 一种二维卷积脉动阵列结构及实现方法
CN114185514A (zh) * 2021-12-13 2022-03-15 合肥工业大学 一种基于费马模数的多项式乘法器
CN114185514B (zh) * 2021-12-13 2024-03-08 合肥工业大学 一种基于费马模数的多项式乘法器

Similar Documents

Publication Publication Date Title
Podili et al. Fast and efficient implementation of convolutional neural networks on FPGA
Bouguezel et al. A new radix-2/8 FFT algorithm for length-q/spl times/2/sup m/DFTs
Cheng et al. Hardware efficient fast DCT based on novel cyclic convolution structures
CN106845635A (zh) 基于级联形式的cnn卷积核硬件设计方法
CN108229666A (zh) 基于费马数变换的卷积神经网络硬件加速架构
Hu et al. A novel generic fast Fourier transform pruning technique and complexity analysis
CN102567282B (zh) 通用dsp处理器中fft计算实现装置和方法
Meher et al. New systolic algorithm and array architecture for prime-length discrete sine transform
CN101582059A (zh) 基于fpga实现并行结构fft处理器的方法
CN102970545A (zh) 一种基于二维离散小波变换算法的静态图像压缩方法
CN105551007A (zh) 基于频域及谱矩阵的sar图像多层贝叶斯盲解卷积方法
CN106776475A (zh) 一种三项加权分数傅里叶变换的实现装置
Mozafari et al. Implementing convolutional neural networks using hartley stochastic computing with adaptive rate feature map compression
Dickenstein et al. Bases in the solution space of the Mellin system
Liu et al. Optimizing fully spectral convolutional neural networks on FPGA
Liu et al. On general factorizations for n-D polynomial matrices
Yatsymirskyy Lattice structures for synthesis and implementation of wavelet transforms
Chung et al. Energy efficient CNN inference accelerator using fast fourier transform
Petrovsky et al. Embedded distributed arithmetic based quaternions multiplier of paraunitary filter bank for lossless-to-lossy image coding
CN114422315B (zh) 一种超高吞吐量ifft/fft调制解调方法
Ali et al. Pipelined-scalable FFT core with optimized custom floating point engine for OFDM system
Kumar et al. Complex-multiplier implementation for pipelined FFTs in FPGAs
Reddy et al. Design and simulation of FFT processor using radix-4 algorithm using FPGA
Mohan et al. Modified lifting scheme algorithm for DWT with optimized latency & throughput and FPGA implementation for low power & area
Purushotham et al. Twiddle Factor Normalization Based Radix-2k Factorization for Improved Spectral Efficiency in Subcarrier Mapping

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180629