CN108416434B - 针对神经网络的卷积层与全连接层进行加速的电路结构 - Google Patents

针对神经网络的卷积层与全连接层进行加速的电路结构 Download PDF

Info

Publication number
CN108416434B
CN108416434B CN201810120895.0A CN201810120895A CN108416434B CN 108416434 B CN108416434 B CN 108416434B CN 201810120895 A CN201810120895 A CN 201810120895A CN 108416434 B CN108416434 B CN 108416434B
Authority
CN
China
Prior art keywords
matrix
layer
weight
data
module
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.)
Active
Application number
CN201810120895.0A
Other languages
English (en)
Other versions
CN108416434A (zh
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.)
Fudan University
Original Assignee
Fudan 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 Fudan University filed Critical Fudan University
Priority to CN201810120895.0A priority Critical patent/CN108416434B/zh
Publication of CN108416434A publication Critical patent/CN108416434A/zh
Application granted granted Critical
Publication of CN108416434B publication Critical patent/CN108416434B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

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

Abstract

本发明属于集成电路设计技术领域,具体为一种可同时加速卷积层与全连接层的电路结构。本发明电路结构包括五部分:用于数据读取的特征/权重预取模块、用于提升数据复用率的局部缓存、用于实现矩阵乘法的矩阵运算单元、用于累加临时输出结果的临时数据累加模块以及负责数据回写的输出控制模块。该电路使用特殊的映射方法,将卷积层的运算以及全连接层的运算映射到一个固定大小的矩阵运算单元上。该电路对特征以及权重的内存排布方式进行调整,从而极大地提高了电路的访存效率。同时,电路模块的调度采用流水线的机制,使每个时钟周期所有的硬件单元都处于工作状态,提高了硬件单元使用率,从而提高了电路的工作效率。

Description

针对神经网络的卷积层与全连接层进行加速的电路结构
技术领域
本发明属于集成电路设计技术领域,具体涉及一种针对神经网络的卷积层与全连接层进行加速的电路结构。
背景技术
上世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究,提出了感受野这个概念,到80年代,Fukushima在感受野概念的基础之上提出了神经认知机的概念,可以看作是卷积神经网络的第一个实现网络,神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理,它试图将视觉***模型化,使其能够在即使物体有位移或轻微变形的时候,也能完成识别。
卷积神经网络是多层感知机的变种。由生物学家休博尔和维瑟尔在早期关于猫视觉皮层的研究发展而来。视觉皮层的细胞存在一个复杂的构造。这些细胞对视觉输入空间的子区域非常敏感,我们称之为感受野,以这种方式平铺覆盖到整个视野区域。这些细胞可以分为两种基本类型,简单细胞和复杂细胞。简单细胞最大程度响应来自感受野范围内的边缘刺激模式。复杂细胞有更大的接受域,它对来自确切位置的刺激具有局部不变性。卷积神经网络结构包括:卷积层,降采样层,全连接层。每一层有多个特征图,每个特征图通过一种卷积滤波器提取输入的一种特征,每个特征图有多个神经元。
卷积神经网络由于其巨大的计算量,现在很难在移动终端上进行本地运算,而大多通过云计算的方式得以实现。而卷积神经网络超过百分之九十的运算量都在于卷积层以及全连接层的计算上,通常人们为这两种运算分别设计一个单独的加速电路,从而引入了多余的芯片面积。
本发明提出了一种可同时加速卷积层与全连接层的电路结构,通过对于神经网络每一层的特征与权重进行重新排序的方法,使其均可映射到同一个矩阵运算单元(乘法器与加法器的阵列)上。从而提高了硬件的复用效率,减少芯片面积,这也意味着电路在单位面积下可以获得更高的运算吞吐率。
发明内容
本发明的目的在于针对神经网络的卷积层与全连接层的运算加速,提供一种可同时加速卷积层与全连接层的电路结构,以提高硬件复用效率,减少芯片面积。
本发明提供的针对神经网络的卷积层与全连接层进行加速的电路结构,通过将运算展开的方法使卷积层与全连接层均可映射到同一个矩阵运算单元上;并通过对神经网络每一层的特征与权重进行重新排序的方法,来减少因为展开后特征、权重读取地址的不连续而带来的访存性能损失。
本发明提供的电路结构,包括特征/权重预取模块、局部缓存、矩阵运算单元、临时数据累加模块以及输出控制模块;其中:
所述特征/权重预取模块,用于从外部存储器(DRAM)中将新的特征以及权重数据取出并放入局部缓存中,同时替换旧的、不再使用的数据。除神经网络的第一层特征外,其余的所有特征、权重均按一定方式进行重新排布过的,而第一层特征也是按照一定方式进行重新排布过的,这由软件实现;因此特征/权重预取模块不需要实现重新排布的功能;
所述局部缓,存用于缓存矩阵运算单元所需的输入数据。无论是卷积层还是全连接层,其运算中都存在着大量的数据复用,因此,局部缓存存储这些可以被复用的数据,减少对外部存储器的访问量;
所述矩阵运算单元,是一乘法器与加法器的阵列,用于实现矩阵的运算。在对特征与权重进行重新排列后,卷积层与全连接层的运算均映射为一系列的矩阵运算,这些矩阵运算通过多次调用矩阵运算模块来实现;
所述临时数据累加模块,用于累加矩阵运算模块送出的数据。在多次累加后,将累加的结果(下一层网络的输入特征)送给输出控制模块;
所述输出控制模块,负责将累加后的结果按照上述同样的重新排布方式顺序写回外部存储器。
在将卷积层运算映射为矩阵运算的过程中,需要将输入特征拉成一系列的行向量,并把卷积核展开成二维矩阵。因此传统的内存空间分配方法会导致特征/权重预取模块需要读取的地址不再连续从而降低访存效率。对特征以及权重进行重新排布,保证了特征/权重预取模块读取地址的连续性,从而极大地提高了电路的访存效率。所述特征、权重按一定方式进行重新排布的流程如下:
如图4,对于一个大小为Cin*H*W的输入特征,将其切为H*W个长条,每个长条的长度为Cin。再将这H*W个长条中的数据以顺序地址的形式写入内存中。从低地址开始,第0个长条中的数据存储在0到Cin-1个数据对应的内存空间中,第1个长条中的数据存储在Cin到2*Cin-1个数据对应的内存空间中,以此类推,最后一个长条(第H*W-1个)中的数据存储在(H*W-1)*Cin到Cin*H*W*Cin-1个数据对应的内存空间中。换句话说,特征在内存中的展开顺序是Cin=> W => H(传统的内存空间分配方法为W => H => Cin)。
卷积核包含了Cout个大小为Cin*H*W个子权重矩阵,将每一个子权重矩阵按照输入特征的形式进行排布,即可完成对权重内存分布的重新调整。即权重特征在内存中的展开顺序是Cin => W => H => Cout(传统的内存空间分配方法为W => H => Cin => Cout)。
本发明中,特征/权重预取模块、局部缓存、矩阵运算单元、临时数据累加模块和输出控制模块的调度上都采用流水线的机制,使每个时钟周期所有的硬件单元都处于工作状态,提高了硬件单元使用率,减少芯片面积,从而提高了电路的工作效率。
本发明的有益效果在于:卷积层与全连接层可以共用同一个运算电路,使得硬件可以得到充分的复用,并且适应各种卷积神经网络的结构。同时,输出控制模块将每一层的输出按照预期的排布顺序写回外部存储器。因此除了第一层之外,其他所有层的特征全是排布好了的,不需要为数据的重新排布付出成本。而卷积神经网络的权重在推理阶段是不会发生改变的,即只需要在***初始化时将权重重新排布一次。
附图说明
图1电路基本框图。
图2为全连接层的运算转换为卷积层的运算的示意图。
图3为将卷积层的运算映射成矩阵运算的示意图。
图4为特征以及权重的内存排布方式示意图。
图5为将任意规模的矩阵运算分解为多次固定大小矩阵运算的示意图。
具体实施方式
本发明中,可同时加速卷积层与全连接层的电路的基本框图如图1所示。该设计的工作过程如下:输入每一层的特征与对应的权重,它们以权利要求书5所述的外部存储器(DRAM)中。首先,特征/权重预取模块将即将参与运算的特征与权重从外部存储器中读取出来并放入局部缓存中。新的数据会将局部缓存里旧的、不再使用的数据替换掉;接着,控制电路按照运算的顺序,从局部缓存中取出即将参与运算的特征与权重,并将它们送给矩阵运算单元。在对特征与权重进行重新排列后,卷积层与全连接层的运算均映射为一系列的矩阵运算;矩阵运算单元的输出结果写入临时数据累加模块。在进行多次矩阵运算之后,累加的结果是该层运算的部分输出特征。输出控制模块负责将这些部分输出特征按照特定的排布顺序写回外部存储器。在当前层的所有运算都完成后,该电路可以开始进行下一层网络的运算。
其中,卷积层与全连接层的运算均映射为一系列的矩阵运算,具体流程说明如下:
首先,将全连接层的运算转换为卷积层的运算,如图2所示。设输入特征为一个形状为Cin*H*W的立方体,其意义为:输入有Cin个通道,每个通道的大小为H*W。对于全连接层,通常的操作为将输入矩阵重新排列成为一个长度为Cin*H*W的行向量,再将这个向量与一个高为Cin*H*W、宽为Cout的权重矩阵做乘法。矩阵乘法的结果是一个长度为Cout的行向量,这个行向量就是当前层传给下一层网络的特征。为了将全连接层运算转换为卷积层的运算,需要将高为Cin*H*W、宽为Cout的权重矩阵拆分为Cout个子权重矩阵,分别记为K0, K1, K2,……, Kn (n=Cout-1)。每一个子权重矩阵均为一个形状为Cin*H*W的立方体。将每一个子权重矩阵分别与输入特征做卷积,由于它们的形状完全相同(均为Cin*H*W),因此每次卷积的结果均为一个标量,其值等于特征矩阵与权重矩阵做内积的结果。对于Cout个子权重矩阵,一共可以得到Cout个标量。将这Cout个标量连成一个向量,便得到当前网络层(全连接层)的输出。根据这种方法,一个全连接层可以转换为一个输入特征与卷积核大小均为Cin*H*W,输出通道数为Cout的卷积操作。
其次,将卷积层的运算映射成矩阵运算,如图3所示。输入特征的大小为Cin*H*W,卷积核(权重)的大小为Cin*K*K,一共有Cout个卷积核,对应于Cout个输出通道。为了得到每个输出通道的第一个像素点,将所需的Cin*K*K个输入特征拉成一个行向量,并把Cout个卷积核展开成一个高Cout宽Cin*K*K的矩阵。将特征行向量与权重矩阵相乘,得到一个长度为Cout的行向量,这个行向量的每一个元素代表每个输出通道的第一个像素点。为了算出所有的像素点,需要进行H*W次这样的矩阵运算。通过这种方法可以将卷积层运算转换为H*W次矩阵运算,其中矩阵的高为Cout,宽为Cin*K*K。这是一个维度相当大的矩阵,且大小随着卷积层的变化而变化,不适合硬件的实现,因此需要将这样的矩阵运算分解为多个固定大小的矩阵运算。
最后,将上述矩阵运算分解为多个固定大小的矩阵运算。
图5描述了如何用一个固定大小为HF*WF的矩阵运算单元来实现H*W的矩阵运算的过程。为了实现H*W的矩阵运算,需要调用ceil(H/HF)*ceil(W/WF)次大小为HF*WF的矩阵运算单元(ceil表示向上取整)。第一次运算所使用到的数据为原矩阵的一个子矩阵,它位于原矩阵的0至 WF-1行及0至 HF-1列。第一次运算的输出为一个长度为WF的标量,这个标量作为临时数据输出到临时数据累加模块中;第二次运算所使用的数据依旧为原矩阵的一个子矩阵,它位于原矩阵的0至 WF-1行及HF至2*HF-1列,它表示了按列方向进行迭代运算。第二次运算的输出依旧为一个长度为WF的标量。在进行ceil(H/HF)次迭代后,列方向迭代完毕,共产生ceil(H/HF)个长度为WF的标量。这些标量之合便是H*W的矩阵运算的前WF个运算结果。运用相同方法可以计算出余下的W-WF个结果。因此,一个任意规模的矩阵运算可以分解为多次固定大小矩阵运算。
例如,用一个大小为64*16的矩阵运算单元来实现100*32的矩阵运算的过程如下。为了实现100*32的矩阵运算,需要调用ceil(100/64)*ceil(32/16)=4次大小为64*16的矩阵运算单元。第一次运算所使用到的数据为原矩阵的一个子矩阵,它位于原矩阵的0至 15行及0至 63列,如图5(a)的中的红框(即内框)所示。第一次运算的输出为一个长度为16的标量,这个标量作为临时数据输出到临时数据累加模块中;第二次运算所使用的数据依旧为原矩阵的一个子矩阵,它位于原矩阵的0至15行及64至99列。由于这次运算只用到了矩阵运算单元的100-64=36列,因此需要将余下28列的数据输入补0。第二次运算的输出依旧为一个长度为16的标量,它与第一次运算结果之和,便是这个16*100的矩阵运算的前16个运算结果。通过同样的方法可以算出余下的16个结果,因此,一个任意规模的矩阵运算可以分解为多次固定大小矩阵运算。
固定大小的矩阵运算单元的输出结果存储在临时数据累加模块。待累加完毕,累加模块将累加的结果(下一层网络的输入特征)送给输出控制模块,输出控制模块负责将累加后的结果按照一定的排布顺序写回外部存储器,从而完成当前层(既可以是卷积层,又可以是全连接层)的运算。
在将卷积层运算映射为矩阵运算的过程中,需要将输入特征拉成一系列的行向量,并把卷积核展开成矩阵。若使用传统的内存空间分配方法,外部存储器的访问带宽将成为整个***的瓶颈,因为此时特征/权重预取模块需要读取的地址将会变得不再连续。为了保证特征/权重预取模块读取的数据所在地址的连续性,需要对特征以及权重的内存排布方式进行调整。
如图4,对于一个大小为Cin*H*W的输入特征,将其切为H*W个长条,每个长条的长度为Cin。再将这H*W个长条中的数据以顺序地址的形式写入内存中。从低地址开始,第0个长条中的数据存储在0到Cin-1个数据对应的内存空间中,第1个长条中的数据存储在Cin到2*Cin-1个数据对应的内存空间中,以此类推,最后一个长条(第H*W-1个)中的数据存储在(H*W-1)*Cin到Cin*H*W*Cin-1个数据对应的内存空间中。换句话说,特征在内存中的展开顺序是Cin=> W => H(传统的内存空间分配方法为W => H => Cin)。
卷积核包含了Cout个大小为Cin*H*W个子权重矩阵,将每一个子权重矩阵按照输入特征的形式进行排布,即可完成对权重内存分布的重新调整。即权重特征在内存中的展开顺序是Cin => W => H => Cout(传统的内存空间分配方法为W => H => Cin => Cout)。
在每一层运算结束时,输出控制模块将每一层的输出按照预期的排布顺序写回外部存储器。因此除了第一层之外,其他所有层的特征全是排布好了的,不需要为数据的重新排布付出成本。而卷积神经网络的权重在推理阶段是不会发生改变的,即只需要在***初始化时将权重重新排布一次。所以说将特征与权重在内存中的排布方式进行调整所需付出的代价是相当小的。

Claims (4)

1.一种针对神经网络的卷积层与全连接层进行加速的电路结构,其特征在于,通过将运算展开的方式使卷积层与全连接层均映射到同一个矩阵运算单元上;并通过对神经网络每一层的特征与权重进行重新排序的方式,来减少因为展开后特征、权重读取地址的不连续而带来的访存性能损失;其电路结构包括特征/权重预取模块、局部缓存、矩阵运算单元、临时数据累加模块以及输出控制模块;其中:
所述特征/权重预取模块,用于从外部存储器中将新的特征以及权重数据取出并放入局部缓存中,同时替换旧的、不再使用的数据;除神经网络的第一层特征外,其余的所有特征、权重均按照一定的方式进行重新排布过,而第一层特征的重新排布也是按照一定的方式重新排布过的,因此特征/权重预取模块不需要实现重新排布的功能;
所述局部缓存用于缓存矩阵运算单元所需的输入数据;
所述矩阵运算单元,用于实现矩阵的运算;在对特征与权重进行重新排列后,卷积层与全连接层的运算均映射为一系列的矩阵运算,这些矩阵运算通过多次调用矩阵运算模块来实现;
所述临时数据累加模块,用于累加矩阵运算模块送出的数据;在多次累加后,将累加的结果即下一层网络的输入特征,送给输出控制模块;
所述输出控制模块,负责将累加后的结果按上述重新排布方式顺序写回外部存储器;
所述特征、权重按照一定的方式进行重新排布,具体流程为:
设对于一个大小为Cin*H*W的输入特征,将其切为H*W个长条,每个长条的长度为Cin;再将这H*W个长条中的数据以顺序地址的形式写入内存中;从低地址开始,第0个长条中的数据存储在0到Cin-1个数据对应的内存空间中,第1个长条中的数据存储在Cin到2*Cin-1个数据对应的内存空间中,以此类推,最后一个长条中的数据存储在(H*W-1)*Cin到Cin*H*W*Cin-1个数据对应的内存空间中;
设卷积核包含Cout个大小为Cin*H*W个子权重矩阵,将每一个子权重矩阵按照输入特征的形式进行排布,即完成对权重内存分布的重新调整。
2.根据权利要求1所述的针对神经网络的卷积层与全连接层进行加速的电路结构,其特征在于,特征/权重预取模块、局部缓存、矩阵运算单元、临时数据累加模块和输出控制模块的调度采用流水线的机制,使每个时钟周期所有的硬件单元都处于工作状态。
3.根据权利要求1所述的针对神经网络的卷积层与全连接层进行加速的电路结构,其特征在于,所述卷积层与全连接层的运算映射为一系列的矩阵运算,具体流程如下:
首先,将全连接层的运算转换为卷积层的运算;设输入特征为一个形状为Cin*H*W的立方体,其意义为:输入有Cin个通道,每个通道的大小为H*W;对于全连接层,通常的操作为将输入矩阵重新排列成为一个长度为Cin*H*W的行向量,再将这个向量与一个高为Cin*H*W、宽为Cout的权重矩阵做乘法;为了将全连接层运算转换为卷积层的运算,将高为Cin*H*W、宽为Cout的权重矩阵拆分为Cout个子权重矩阵,分别记为K0, K1, K2, ……, Kn ,n=Cout-1;每一个子权重矩阵均为一个形状为Cin*H*W的立方体;将每一个子权重矩阵分别与输入特征做卷积,它们的形状完全相同均为Cin*H*W;每次卷积的结果均为一个标量,其值等于特征矩阵与权重矩阵做内积的结果;对于Cout个子权重矩阵,一共得到Cout个标量;将这Cout个标量连成一个向量,便得到当前网络层即全连接层的输出;于是,一个全连接层转换为一个输入特征与卷积核大小均为Cin*H*W,输出通道数为Cout的卷积操作;
其次,将卷积层的运算映射成矩阵运算;输入特征的大小为Cin*H*W,卷积核即权重的大小为Cin*K*K,一共有Cout个卷积核,对应于Cout个输出通道;为了得到每个输出通道的第一个像素点,将所需的Cin*K*K个输入特征拉成一个行向量,并把Cout个卷积核展开成一个高Cout宽Cin*K*K的矩阵;将特征行向量与权重矩阵相乘,得到一个长度为Cout的行向量,这个行向量的每一个元素代表每个输出通道的第一个像素点;算出所有的像素点,即进行H*W次这样的矩阵运算;于是,将卷积层运算转换为H*W次矩阵运算,其中矩阵的高为Cout,宽为Cin*K*K;
最后,将这样的矩阵运算分解为多个固定大小的矩阵运算。
4.根据权利要求3所述的针对神经网络的卷积层与全连接层进行加速的电路结构,其特征在于,将 所述矩阵运算分解为多个固定大小的矩阵运算的流程为:
设需要运算的矩阵为H*W,分解用于运算的固定大小的矩阵为HF*WF,于是需要调用ceil(H/HF)*ceil(W/WF)次大小为HF*WF的矩阵运算单元,ceil表示向上取整;第一次运算所使用到的数据为原矩阵的一个子矩阵,它位于原矩阵的0至 WF-1行及0至 HF-1列;第一次运算的输出为一个长度为WF的标量,这个标量作为临时数据输出到临时数据累加模块中;第二次运算所使用的数据依旧为原矩阵的一个子矩阵,它位于原矩阵的0至 WF-1行及HF至2*HF-1列,它表示了按列方向进行迭代运算;第二次运算的输出依旧为一个长度为WF的标量;在进行ceil(H/HF)次迭代后,列方向迭代完毕,共产生了ceil(H/HF)个长度为WF的标量;这些标量之和便是H*W的矩阵运算的前WF个运算结果;以此类推,计算出余下的W-WF个结果。
CN201810120895.0A 2018-02-07 2018-02-07 针对神经网络的卷积层与全连接层进行加速的电路结构 Active CN108416434B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810120895.0A CN108416434B (zh) 2018-02-07 2018-02-07 针对神经网络的卷积层与全连接层进行加速的电路结构

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810120895.0A CN108416434B (zh) 2018-02-07 2018-02-07 针对神经网络的卷积层与全连接层进行加速的电路结构

Publications (2)

Publication Number Publication Date
CN108416434A CN108416434A (zh) 2018-08-17
CN108416434B true CN108416434B (zh) 2021-06-04

Family

ID=63126912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810120895.0A Active CN108416434B (zh) 2018-02-07 2018-02-07 针对神经网络的卷积层与全连接层进行加速的电路结构

Country Status (1)

Country Link
CN (1) CN108416434B (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109308194B (zh) * 2018-09-29 2021-08-10 北京字节跳动网络技术有限公司 用于存储数据的方法和装置
CN109375952B (zh) * 2018-09-29 2021-01-26 北京字节跳动网络技术有限公司 用于存储数据的方法和装置
EP3852015A4 (en) 2018-09-30 2021-09-01 Huawei Technologies Co., Ltd. OPERATIONAL ACCELERATOR AND COMPRESSION PROCESS
CN111045958B (zh) * 2018-10-11 2022-09-16 展讯通信(上海)有限公司 加速引擎及处理器
CN109886398A (zh) * 2019-01-03 2019-06-14 曾集伟 神经网络矩阵乘法运算方法及相关产品
CN109816108A (zh) * 2019-02-15 2019-05-28 领目科技(上海)有限公司 深度学习加速装置、设备及方法
CN109948787B (zh) * 2019-02-26 2021-01-08 山东师范大学 用于神经网络卷积层的运算装置、芯片及方法
CN110032538B (zh) * 2019-03-06 2020-10-02 上海熠知电子科技有限公司 一种数据读取***和方法
CN109993283B (zh) * 2019-04-12 2023-02-28 南京吉相传感成像技术研究院有限公司 基于光电计算阵列的深度卷积生成式对抗网络的加速方法
CN110222819B (zh) * 2019-05-13 2021-04-20 西安交通大学 一种用于卷积神经网络加速的多层数据分区域联合计算方法
CN111950718B (zh) * 2019-05-16 2021-12-07 北京知存科技有限公司 利用存算一体芯片实现递进式cnn运算的方法
CN112784973A (zh) * 2019-11-04 2021-05-11 北京希姆计算科技有限公司 卷积运算电路、装置以及方法
CN113222136A (zh) * 2020-01-21 2021-08-06 北京希姆计算科技有限公司 卷积运算方法及芯片
CN111340224B (zh) * 2020-02-27 2023-11-21 浙江芯劢微电子股份有限公司 适用于低资源嵌入式芯片的cnn网络的加速设计方法
WO2022013722A1 (en) * 2020-07-14 2022-01-20 United Microelectronics Centre (Hong Kong) Limited Processor, logic chip and method for binarized convolution neural network
CN113971261A (zh) * 2020-07-23 2022-01-25 中科亿海微电子科技(苏州)有限公司 卷积运算装置、方法、电子设备及介质
CN112418419B (zh) * 2020-11-20 2022-10-11 复旦大学 一种面向神经网络处理的按优先级调度的数据输出电路结构
CN112614175A (zh) * 2020-12-21 2021-04-06 苏州拓驰信息技术有限公司 基于特征去相关的用于封孔剂注射器的注射参数确定方法
CN113592075B (zh) * 2021-07-28 2024-03-08 浙江芯昇电子技术有限公司 卷积运算装置、方法和芯片
CN115906948A (zh) * 2023-03-09 2023-04-04 浙江芯昇电子技术有限公司 一种全连接层硬件加速装置及方法

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414623A (en) * 1992-05-08 1995-05-09 Iowa State University Research Foundation Optoelectronic system for implementation of iterative computer tomography algorithms
CN1688119A (zh) * 2005-04-01 2005-10-26 清华大学 基于加权展开的ds-cdma***多用户检测方法
US20130282634A1 (en) * 2011-03-31 2013-10-24 Microsoft Corporation Deep convex network with joint use of nonlinear random projection, restricted boltzmann machine and batch-based parallelizable optimization
CN103902762A (zh) * 2014-03-11 2014-07-02 复旦大学 一种针对正定对称矩阵进行最小二乘方程求解的电路结构
CN104679895A (zh) * 2015-03-18 2015-06-03 成都影泰科技有限公司 一种医学影像数据存储方法
US20150170020A1 (en) * 2013-12-13 2015-06-18 Amazon Technologies, Inc. Reducing dynamic range of low-rank decomposition matrices
US20170046602A1 (en) * 2015-08-14 2017-02-16 International Business Machines Corporation Learning temporal patterns from electronic health records
CN106503797A (zh) * 2015-10-08 2017-03-15 上海兆芯集成电路有限公司 具有神经存储器的神经网络单元以及集体将接收自神经存储器的数据列进行移位的神经处理单元阵列
CN106855853A (zh) * 2016-12-28 2017-06-16 成都数联铭品科技有限公司 基于深度神经网络的实体关系抽取***
US20170221176A1 (en) * 2016-01-29 2017-08-03 Fotonation Limited Convolutional neural network
CN107454966A (zh) * 2015-05-21 2017-12-08 谷歌公司 用于神经网络处理器的预取权重

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414623A (en) * 1992-05-08 1995-05-09 Iowa State University Research Foundation Optoelectronic system for implementation of iterative computer tomography algorithms
CN1688119A (zh) * 2005-04-01 2005-10-26 清华大学 基于加权展开的ds-cdma***多用户检测方法
US20130282634A1 (en) * 2011-03-31 2013-10-24 Microsoft Corporation Deep convex network with joint use of nonlinear random projection, restricted boltzmann machine and batch-based parallelizable optimization
US20150170020A1 (en) * 2013-12-13 2015-06-18 Amazon Technologies, Inc. Reducing dynamic range of low-rank decomposition matrices
CN103902762A (zh) * 2014-03-11 2014-07-02 复旦大学 一种针对正定对称矩阵进行最小二乘方程求解的电路结构
CN104679895A (zh) * 2015-03-18 2015-06-03 成都影泰科技有限公司 一种医学影像数据存储方法
CN107454966A (zh) * 2015-05-21 2017-12-08 谷歌公司 用于神经网络处理器的预取权重
US20170046602A1 (en) * 2015-08-14 2017-02-16 International Business Machines Corporation Learning temporal patterns from electronic health records
CN106503797A (zh) * 2015-10-08 2017-03-15 上海兆芯集成电路有限公司 具有神经存储器的神经网络单元以及集体将接收自神经存储器的数据列进行移位的神经处理单元阵列
US20170221176A1 (en) * 2016-01-29 2017-08-03 Fotonation Limited Convolutional neural network
CN106855853A (zh) * 2016-12-28 2017-06-16 成都数联铭品科技有限公司 基于深度神经网络的实体关系抽取***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《Fast Decoding and Hardware Design for Binary-Input Compressive Sensing》;Min Wang,et al;《IEEE JOURNAL ON EMERGING AND SELECTED TOPICS IN CIRCUITS AND SYSTEMS》;20120930;第2卷(第3期);全文 *
《一种面积与功耗优化的卷积器设计》;陈琛等;《计算机工程》;20101130;全文 *

Also Published As

Publication number Publication date
CN108416434A (zh) 2018-08-17

Similar Documents

Publication Publication Date Title
CN108416434B (zh) 针对神经网络的卷积层与全连接层进行加速的电路结构
JP7007488B2 (ja) ハードウェアベースのプーリングのシステムおよび方法
CN111667051B (zh) 适用边缘设备的神经网络加速器及神经网络加速计算方法
CN111242289B (zh) 一种规模可扩展的卷积神经网络加速***与方法
CN111178519B (zh) 卷积神经网络加速引擎、卷积神经网络加速***及方法
JP7329533B2 (ja) 演算を加速するための方法および加速器装置
CN108205701B (zh) 一种执行卷积计算的***及方法
CN108171317B (zh) 一种基于soc的数据复用卷积神经网络加速器
CN108108809B (zh) 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法
CN108763612B (zh) 一种神经网络的池化层加速运算的电路
US20210019594A1 (en) Convolutional neural network accelerating device and method
KR20170023708A (ko) 콘볼루션 신경망 컴퓨팅 장치
CN110580519B (zh) 一种卷积运算装置及其方法
CN109993293B (zh) 一种适用于堆叠式沙漏网络的深度学习加速器
CN112703511B (zh) 运算加速器和数据处理方法
US20240119114A1 (en) Matrix Multiplier and Matrix Multiplier Control Method
CN116028384A (zh) 一种基于多张量核心处理器的卷积计算数据重用方法
CN109446478B (zh) 一种基于迭代和可重构方式的复协方差矩阵计算***
CN112215345A (zh) 一种基于Tensorcore的卷积神经网络运转方法和装置
CN114003201A (zh) 矩阵变换方法、装置及卷积神经网络加速器
CN112836823B (zh) 基于循环重组和分块的卷积神经网络反向传播映射方法
CN111610963B (zh) 芯片结构及其乘加计算引擎
CN117808063A (zh) 用于执行计算的方法、计算装置、介质和程序产品
CN112712457B (zh) 数据处理方法以及人工智能处理器
CN111667052A (zh) 专用神经网络加速器的标准与非标准卷积一致性变换方法

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
GR01 Patent grant
GR01 Patent grant