CN106529668B - 加速深度神经网络算法的加速芯片的运算装置及方法 - Google Patents
加速深度神经网络算法的加速芯片的运算装置及方法 Download PDFInfo
- Publication number
- CN106529668B CN106529668B CN201610979814.3A CN201610979814A CN106529668B CN 106529668 B CN106529668 B CN 106529668B CN 201610979814 A CN201610979814 A CN 201610979814A CN 106529668 B CN106529668 B CN 106529668B
- Authority
- CN
- China
- Prior art keywords
- vector
- neural network
- deep neural
- network algorithm
- arithmetic unit
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Complex Calculations (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种加速深度神经网络算法的加速芯片的运算装置及方法,所述装置包括:向量加法处理器模块,进行向量的加法或减法、和/或深度神经网络算法中的池化层算法的向量化的运算;向量函数值运算器模块,深度神经网络算法中的非线性求值的向量化运算;向量乘加器模块,进行向量的乘加运算;所述三个模块执行可编程指令,互相交互以计算神经网络输出结果以及代表中间层之间神经元作用强度的突触权重变化量;所述三个模块中均设置有中间值存储区域,并对主存储器进行读取与写入操作。由此,能够减少对主存储器的中间值读取和写入次数,降低加速器芯片的能量消耗,避免数据处理过程中的数据缺失和替换问题。
Description
技术领域
本发明属于神经网络算法领域和计算机硬件领域。更具体地,本发明涉及一种加速深度神经网络算法的加速芯片的运算装置及方法。
背景技术
人工神经网络算法,是20世纪80年代以来人工智能领域兴起的研究热点。它从信息处理角度对人脑神经元网络进行抽象,建立某种简单模型,按不同的连接方式组成不同的网络。其具有自主学习功能,可通过训练慢慢学会识别和预测;联想存储功能,具有很高算法健壮性;并行度高,具有高速寻找优化解的能力,可针对大数据复杂问题快速找到优化解;可塑性强,可充分逼近任意复杂的非线性关系;具有很强的信息综合能力,能同时处理定量和定性的信息,适用于多信息融合和多媒体技术。
近年来,人工神经网络的研究工作不断深入,已经取得了很大的进展,其在图像处理、模式识别、智能机器人、自动控制、预测估计、生物、医学、经济等领域已成功地解决了许多传统计算机方法难以解决的实际问题,表现出了良好的智能特性,推动着信息处理技术和人工智能不断地发展。
神经网络虽然已在诸多领域取得广泛的成功,然而现阶段,大部分神经网络算法是在软件算法层次进行优化,在通用CPU或GPU上搭建运行。鉴于通用处理器相对较低的性能功耗比,高效地实现神经网络算法的方式已成为大家的迫切需求。
深度神经网络算法通常包括:卷积层、局部响应归一化层(LRN)、池化(pooling)层、全连接层等几大类层。每层中的数据被称为神经元,不同层之间互联组成一个深度神经网络。池化层作为深度神经网络算法中的一部分,其功能可以理解为神经网络中对前一层的数据进行采样。池化层可分为最大池化(max pooling)层,即每个输出神经元值是输入层中一个小矩形区域中的神经元值的最大值,以及平均池化(average pooling)层,即每个输出神经元值是输入层中一个小矩形区域中的神经元值的平均值。
专利文件1(公开号为CN101527010A)公开了一种人工神经网络算法的硬件实现方法及其系统,和现有的技术相比,克服以往软件实现中的串行方式来完成并行计算的尴尬,取代了软件实现的弊端;又由于进行了算法优化,节省了大量硬件资源,在FPGA平台上实现,成本较低,利用优化的算法,避开了SIGMOID函数用硬件难以实现的困境,又使用了累加方式,节省了硬件资源。但该专利仅仅通过FPGA平台实现人工神经网络算法。
在现代处理器设计中,异构多核处理器框架被认为是一种有前途的道路以实现该性能低能源计算的方法。已知的是,神经网络算法运算过程中,将产生一系列的中间值,所述中间值随后一次或多次被用于计算输出层神经元值或者计算突出权重的变化值。采用通用处理器的存储方式将所述中间值存储于主存中,将面临的一个重大问题是大量的中间值被生成并需要存储,从而所需主存空间增加。同时,这样的方法增加了将中间值存储到主存储器或者从主存储器读取中间值次数,芯片功耗增加,不符合前面所述的低功耗加速器芯片设计理念。
发明内容
本发明的目的在于,提供一种加速深度神经网络算法的加速芯片的运算装置及方法,能够减少对主存储器的中间值读取和写入次数,降低加速器芯片的能量消耗,避免数据处理过程中的数据缺失和替换问题。
本发明的加速深度神经网络算法的加速芯片的运算装置,包括:
向量加法处理器模块,用于进行向量的加法或减法、和/或深度神经网络算法中的池化层算法的向量化的运算;
向量函数值运算器模块,用于深度神经网络算法中的非线性求值的向量化运算;
向量乘加器模块,用于进行向量的乘加运算;
被配置为执行可编程指令的所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块之间互相交互以计算神经网络中间层神经元值和网络输出结果、以及、代表中间层之间神经元作用强度的突触权重变化量;
所述加速深度神经网络算法的加速芯片的运算装置对于平均池化层的结果,是先由向量加法处理器模块计算向量输出中每个神经元所对应的输入累加值,然后用向量乘加器模块乘以平均因子求得;
所述加速深度神经网络算法的加速芯片的运算装置对于最大池化层的结果,是由向量加法处理器模块计算向量输出中每个神经元所对应的输入最大值求得;
所述加速深度神经网络算法的加速芯片的运算装置对于卷积层以及全连接层的结果,是先使用向量加法处理器模块叠加输出神经元对应的部分和以及偏置,然后再由向量函数值运算器模块求得输出神经元值;所述部分和为通过外界处理器求得后通过总线传输给所述运算装置;
所述加速深度神经网络算法的加速芯片的运算装置对于局部响应归一化层的结果,则是先用向量函数值运算器模块求得非线性函数值,然后再与输入层神经元通过向量乘加器模块相乘得到;
所述加速深度神经网络算法的加速芯片的运算装置对于突触权重的变化量是通过向量乘加器模块将反向传播求得的残差和对应的输入神经元值相乘以及学习率因子相乘获得,所述反向传播求得的残差是通过外界处理器求得后通过总线传输给所述运算装置;
所述加速深度神经网络算法的加速芯片的运算装置通过数据总线来与外界处理器进行数据交互;
所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块中均设置有中间值存储区域,用于存储依照所述指令所计算的向量化的中间值,并对主存储器进行读取与写入操作。
本发明的加速深度神经网络算法的加速芯片的运算装置,其中,所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块生成输出值之后,存储于所述中间值存储区域内所述中间值将被丢弃。
本发明的加速深度神经网络算法的加速芯片的运算装置,其中,所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块的所述中间值存储区域被配置为随机存储器。
本发明的加速深度神经网络算法的加速芯片的运算装置,其中,所述随机存储器被配置为存储自身产生的来自于每个神经元、突出权重变化量的中间值。
本发明的加速深度神经网络算法的加速芯片的运算装置,其中,所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块通过一个索引访问所述中间值存储区域。
另外,本发明还提供一种加速深度神经网络算法的加速芯片的运算方法,该方法使用上述加速深度神经网络算法的加速芯片的运算装置进行运算,包括以下步骤:
向量加法处理运算步骤,在向量加法处理器模块依照指令进行向量的加法或减法、和/或深度神经网络算法中的池化层算法的向量化的运算;
向量函数值运算步骤,在向量函数值运算器模块依照指令进行深度神经网络算法中的非线性求值的向量化运算;
向量乘加运算步骤,在向量乘加器模块依照指令进行向量的乘加运算;
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤互相交互以计算神经网络输出结果以及代表中间层层之间神经元作用强度的突触权重变化量;
所述加速深度神经网络算法的加速芯片的运算装置对于平均池化层的结果,是先由向量加法处理运算步骤计算向量输出中每个神经元所对应的输入累加值,然后用向量乘加运算步骤乘以平均因子求得;
所述加速深度神经网络算法的加速芯片的运算装置对于最大池化层的结果,是由向量加法处理运算步骤计算向量输出中每个神经元所对应的输入最大值求得;
所述加速深度神经网络算法的加速芯片的运算装置对于卷积层以及全连接层的结果,是先使用向量加法处理运算步骤叠加输出神经元对应的部分和以及偏置,然后再由向量函数值运算步骤求得输出神经元值;所述部分和为通过外界处理器求得后通过总线传输给所述运算装置;
所述加速深度神经网络算法的加速芯片的运算装置对于局部响应归一化层的结果,是先用向量函数值运算步骤求得非线性函数值,然后再与输入层神经元通过向量乘加运算步骤相乘得到;
所述加速深度神经网络算法的加速芯片的运算装置对于突触权重的变化量是通过向量乘加运算步骤将反向传播求得的残差和对应的输入神经元值相乘以及学习率因子相乘获得,所述反向传播求得的残差是通过外界处理器求得后通过总线传输给所述运算装置;
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中所产生的向量化的中间值存储于所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块中的中间值存储区域,且所述中间值存储区域可对主存储器进行读取与写入操作。
本发明的加速深度神经网络算法的加速芯片的运算方法,其中,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,生成输出值之后,存储于所述中间值存储区域内所述中间值将被丢弃。
本发明的加速深度神经网络算法的加速芯片的运算方法,其中,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,通过一索引访问所述中间值存储区域。
本发明的加速深度神经网络算法的加速芯片的运算方法,其中,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,对所述中间值存储区内的、先前对所述索引指定的存储块未写入的位置执行读取,则中间存储拒绝此读取请求,被拒绝的读取请求返回的表示读取成功的状态为无效。
本发明的加速深度神经网络算法的加速芯片的运算方法,其中,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,对所述中间值存储区内的、先前对所述索引指定的存储块已写入的位置执行写入,则中间存储拒绝此写入请求,被拒绝的写入请求返回的表示写入成功的状态为无效。
本发明的效果在于:
(1)与将中间值存储到所述功能部件外部的存储器相比,将数据存储到所述功能部件外部的存储器需要等待的时间更长。
(2)与将中间值存储到所述功能部件外部的存储器相比,将数据存储到所述功能部件外部的存储器消耗的能量更多。
(3)与将中间值存储到所述功能部件外部的存储器相比,将数据存储到所述功能部件外部的存储器大大增加了对所述功能部件外部存储器的访问次数,容易造成所述功能部件外部存储器的访问冲突。
(4)功能部件生成所述输出值之后,存储于功能部件内所述中间值将被丢弃,这有利于增加可利用中间值存储器可使用单元,从而提高中间值存储器利用率。
附图说明
图1为本发明的加速深度神经网络算法的加速芯片的运算装置各构成模块与主存之间的关系图;
图2为CNN神经网络算法Max Pooling流程图;
图3为CNN神经网络反向更新bias流程图;
图4为本发明的加速深度神经网络算法的加速芯片的运算方法的流程图;
图5为本发明的具有加速深度神经网络算法的加速芯片的运算装置的加速器芯片的简要结构图。
附图标记说明
1 向量加法处理器模块
2 向量函数值运算器模块
3 向量乘加器模块
4 数据总线
5 主存储器
6、7、8 中间值存储区域
10 加速深度神经网络算法的加速芯片的运算装置
20 神经网络算法的加速芯片
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明的加速深度神经网络算法的加速芯片的运算装置及方法进行进一步详细说明。
加速深度神经网络算法的加速芯片的运算装置是一个运算系统中的一部分,其通过数据总线来与外界处理器进行数据交互。图1为本发明的加速深度神经网络算法的加速芯片的运算装置的各构成模块与主存之间的关系图,该装置包括主存储器5、向量加法处理器1、向量函数值运算器2和向量乘加器3。其中,向量加法处理器1、向量函数值运算器向量2和向量乘加器3都含有中间值存储区域6、7、8,同时可对主存储器5进行读取与写入操作。向量加法处理器1被配置为进行多个(不少于两个)向量的加法或减法、深度神经网络算法中的各种类型的池化(pooling)层算法向量化的运算;向量函数值运算器2被配置为深度神经网络算法中的非线性求值的向量化运算,包括计算输出神经元值时的函数值和反向BP算法时导数值等的计算。向量乘加器,3被配置为进行向量乘加,可先计算两个向量类似内积乘法各分量一一对应相乘,然后和第三个向量叠加或相减;或者反之,两个向量进行加法或减法运算,然后和第三个向量如前面所述相乘;其中,前面所述的三个功能模块被配置为执行可编程指令进行运算,个体之间互相交互以计算神经网络中间层神经元值、网络输出结果以及代表中间层之间神经元作用强度的突触权重变化量等,交互内容为运算过程中产生的中间值。其中中间层包括:平均池化层、最大池化层、卷积层、全连接层、局部响应归一化层等。对于平均池化层的网络输出结果,是先由向量加法处理器模块计算向量输出中每个神经元所对应的输入累加值,然后用向量乘加器模块乘以平均因子求得;对于最大池化层的网络输出结果,是由向量加法处理器模块计算向量输出中每个神经元所对应的输入最大值求得;对于卷积层以及全连接层的网络输出结果,是先使用向量加法处理器模块叠加输出神经元对应的部分和以及偏置,然后再由向量函数值运算器模块求得输出神经元值,部分和为通过外界处理器求得后通过总线传输给此装置;对于局部响应归一化层的网络输出结果,则是先用向量函数值运算器模块求得非线性函数值,然后再与输入层神经元通过向量乘加器模块相乘得到;对于突触权重的变化量是通过向量乘加器模块将反向传播求得的残差和对应的输入神经元值相乘以及学习率因子相乘获得,反向传播求得的残差是通过外界处理器求得后通过总线传输给此装置。
在所述计算过程中,所述的功能模块将产生大量的中间值被寄存于所述功能部件的中间值存储区域。由于本发明的运算装置具备用于加速深度神经网络算法的加速芯片的运算部件的三个功能部件具有中间值存储区域,因而可以存储计算过程中生成的中间值,而无需将它们写回到主存储器内。
存储于所述功能部件的三个功能模块中的中间值存储区域内的中间值被功能模块它们自身或者其余两个功能模块所消耗,以便生成所希望的输出值。由于所述装置计算时基于向量化的神经元,从而所需的中间值存储区域为将相关部分神经元以及权重的存储量相当,因此所需的中间值存储区域所消耗的芯片面积、功耗保持在一个相对可承受的范围。
所述装置的输出值包括:神经元值、网络输出结果、以及、代表层与层之间神经元作用强度的突触权重变化量。计算得出输出值后,与其相关的中间值被清除,以节省中间值存储区域存储单元,有利于提高中间值存储区域的利用率。
所述功能部件的功能模块的中间值存储区域的行为类似随机存储区,通过一个索引(index)值访问中间值存储区域。同时,为了避免数据冲突而导致算法正确性受损,中间值存储区域具有冲突检测机制,对所述中间值存储区内的、先前对所述index指定的存储块未写入的位置执行读取,则中间存储拒绝此读取请求,返回的表示数据读取成功的标志无效;对所述中间值存储区内的、先前对所述index指定的存储块已写入的位置执行写入,则中间存储拒绝此写入请求,返回的表示数据写入成功的标志无效。
在其他通用处理器实例中,神经网络算法的中间值被依次存储于被分配的主存储器区域中。在这些实例中,处理器和主存储器中间的高速缓冲存储器(Cache)缓存可用于存储中间值,从而对主存储器的中间值读取和写入次数,降低了中间值读取的时间延迟和能量消耗。然而,此方法受限于所采用Cache块大小以及块关联机制,可能导致频繁的Cache块缺失和替换,造成较高的性能、功耗损失。
本发明将中间值存储于所述功能部件的三个功能模块的中间值存储区域,既减少了对主存储器的中间值读取和写入次数,又使中间值离使用它的功能模块距离更近,消耗的能量更低。而且,可避免前面提到的数据缺失和替换问题,提高了加速器芯片的加速性能。
本发明的中间值存储区域还针对深度神经网络算法的特性进行了一些优化设计,支持响应指令通过计数器对某个中间值存储器地址连续写入读取多次,这对诸如卷积神经网络中的Pooling层之类的计算有很大提升。
由于所述装置的三个功能模块之间互相交互的是计算产生的中间值,因而功能模块产生的中间值不仅被其自身所利用消耗,还可被其余的两个功能模块所使用。
图2是一个流程图,示意性的表示卷积神经网络算法(CNN)的Max Pooling(最大池化)层,本发明采用向量化的Pooling方式,每个向量各个分量为连续相邻的feature map(特征映射)于同一位置的神经元。假设Pooling kenerl(池化核)大小为k×k。因此,每个Pooling输出层向量输出神经元计算需要k×k个输入层向量输入神经元,通过向量加法处理器1得出对应每个向量分量代表feature map上Pooling kenerl中输入神经元最大值,然后再通过向量函数值运算器2计算输出神经元值。
此过程中,向量加法处理器1对同一中间值区域6某地址连续进行k×k-1次读取写入,最后一次写入的中间值被向量函数值运算器2利用计算输出层神经元值输出写入主存储器5。同时,存储所述中间值的中间值存储区域6该地址状态变化,可被再次写入一组中间值。
图3是另一个流程图,示意性的表示CNN神经网络算法反向训练偏置(bias)的过程。根据算法公式:
b=η*delta+β*Δb'+Ω*b
其中,Δb'为上次训练bias修改值,delta是反向传播梯度。依据算法,反向传播梯度delta=f'(ν)∑ω*delta',delta'为输出神经元的梯度值。
计算过程中,ω*delta'部分和已被其余功能部件计算,因此,先通过向量加法处理器1将部分和叠加得到部分和总和中间值,同时通过向量函数值运算器2计算η*f',两组中间值分别存储于中间值存储区域6、7中,之后向量乘加器3计算出η*delta中间值,存储于中间值存储区域8。接下来,仍用向量乘加器3计算出η*delta+β*Δb'中间值并存储于中间值存储区域8同一位置,最后量乘加器3计算出η*delta+β*Δb'+Ω*b输出。此过程可通过编译器调节指令顺序使得其可流水线式完成,如此,既提高加速器芯片性能,又节省中间值存储区空间。
另外,本发明还提供一种加速深度神经网络算法的加速芯片的运算方法,该方法使用上述的装置进行运算,如图4所示,包括以下步骤:
向量加法处理运算步骤(步骤S1),在向量加法处理器模块依照指令进行多个向量的加法或减法、和/或深度神经网络算法中的pooling层算法的向量化的运算;
向量函数值运算步骤(步骤S2),在向量函数值运算器模块依照指令进行深度神经网络算法中的非线性求值的向量化运算;
向量乘加运算步骤(步骤S3),在向量乘加器模块依照指令进行向量乘加运算;
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤互相交互以计算神经网络的神经元值、网络输出结果以及代表层与层之间神经元作用强度的突触权重变化量;
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中所产生的向量化的中间值存储于所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块中的中间值存储区域,且所述中间值存储区域可对主存储器进行读取与写入操作。
本发明的提高神经网络算法的加速芯片的加速性能的方法,其中,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,生成输出值之后,存储于所述中间值存储区域内所述中间值将被丢弃。
本发明的提高神经网络算法的加速芯片的加速性能的方法,其中,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,通过一index访问所述中间值存储区域。
本发明的提高神经网络算法的加速芯片的加速性能的方法,其中,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,对所述中间值存储区内的、先前对所述index指定的存储块未写入的位置执行读取,则中间存储拒绝此读取请求,被拒绝的读取请求返回的表示读取成功的状态为无效。
本发明的提高神经网络算法的加速芯片的加速性能的方法,其中,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,对所述中间值存储区内的、先前对所述index指定的存储块已写入的位置执行写入,则中间存储拒绝此写入请求,被拒绝的写入请求返回的表示写入成功的状态为无效。
图5为本发明的具有加速深度神经网络算法的加速芯片的运算装置的加速器芯片的简要结构图。
本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶合、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。
在本发明中,“模块”、“装置”、“系统”等等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。
而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括…”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外相同的要素。
而且,上文中的“和/或”表示本文既包含了“和”的关系,也包含了“或”的关系,其中,如果方案A与方案B是“和”的关系,则表示某实施例中可以同时包括方案A和方案B;如果方案A与方案B是“或”的关系,则表示某实施例中可以单独包括方案A,或者单独包括方案B。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应当理解可由计算机程序指令实现流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定的方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
以上对本发明所提供的加速深度神经网络算法的加速芯片的运算装置及方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限值。
Claims (10)
1.一种加速深度神经网络算法的加速芯片的运算装置,其特征在于,包括:
向量加法处理器模块,用于进行向量的加法或减法、和/或深度神经网络算法中的池化层算法的向量化的运算;
向量函数值运算器模块,用于深度神经网络算法中的非线性求值的向量化运算;
向量乘加器模块,用于进行向量的乘加运算;
被配置为执行可编程指令的所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块之间互相交互以计算神经网络中间层网络输出结果以及中间层之间神经元作用强度的突触权重变化量;
所述加速深度神经网络算法的加速芯片的运算装置对于平均池化层的结果,是先由向量加法处理器模块计算向量输出中每个神经元所对应的输入累加值,然后用向量乘加器模块乘以平均因子求得;
所述加速深度神经网络算法的加速芯片的运算装置对于最大池化层的结果,是由向量加法处理器模块计算向量输出中每个神经元所对应的输入最大值求得;
所述加速深度神经网络算法的加速芯片的运算装置对于卷积层以及全连接层的结果,是先使用向量加法处理器模块叠加输出神经元对应的部分和以及偏置,然后再由向量函数值运算器模块求得输出神经元值;所述部分和为通过外界处理器求得后通过总线传输给所述运算装置;
所述加速深度神经网络算法的加速芯片的运算装置对于局部响应归一化层的结果,则是先用向量函数值运算器模块求得非线性函数值,然后再与输入层神经元通过向量乘加器模块相乘得到;
所述加速深度神经网络算法的加速芯片的运算装置对于突触权重的变化量是通过向量乘加器模块将反向传播求得的残差和对应的输入神经元值相乘以及学习率因子相乘获得,所述反向传播求得的残差是通过外界处理器求得后通过总线传输给所述运算装置;
所述加速深度神经网络算法的加速芯片的运算装置通过数据总线与外界处理器进行数据交互;
所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块中均设置有中间值存储区域,用于存储依照所述指令所计算的向量化的中间值,并对主存储器进行读取与写入操作。
2.根据权利要求1所述的加速深度神经网络算法的加速芯片的运算装置,其特征在于,所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块生成输出值之后,存储于所述中间值存储区域内所述中间值将被丢弃。
3.根据权利要求1所述的加速深度神经网络算法的加速芯片的运算装置,其特征在于,所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块的所述中间值存储区域被配置为随机存储器。
4.根据权利要求3所述的加速深度神经网络算法的加速芯片的运算装置,其特征在于,所述随机存储器被配置为存储自身产生的来自于每个神经元、突出权重变化量的中间值。
5.根据权利要求1所述的加速深度神经网络算法的加速芯片的运算装置,其特征在于,所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块通过一个索引访问所述中间值存储区域。
6.一种使用权利要求1-5所述加速深度神经网络算法的加速芯片的运算装置进行运算的方法,其特征在于,包括以下步骤:
向量加法处理运算步骤,在向量加法处理器模块依照指令进行向量的加法或减法、和/或深度神经网络算法中的池化层算法的向量化的运算;
向量函数值运算步骤,在向量函数值运算器模块依照指令进行深度神经网络算法中的非线性求值的向量化运算;
向量乘加运算步骤,在向量乘加器模块依照指令进行向量的乘加运算;
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤互相交互以计算神经网络输出结果以及代表中间层之间神经元作用强度的突触权重变化量;
所述加速深度神经网络算法的加速芯片的运算装置对于平均池化层的结果,是先由向量加法处理运算步骤计算向量输出中每个神经元所对应的输入累加值,然后用向量乘加运算步骤乘以平均因子求得;
所述加速深度神经网络算法的加速芯片的运算装置对于最大池化层的结果,是由向量加法处理运算步骤计算向量输出中每个神经元所对应的输入最大值求得;
所述加速深度神经网络算法的加速芯片的运算装置对于卷积层以及全连接层的结果,是先使用向量加法处理运算步骤叠加输出神经元对应的部分和以及偏置,然后再由向量函数值运算步骤求得输出神经元值;所述部分和为通过外界处理器求得后通过总线传输给所述运算装置;
所述加速深度神经网络算法的加速芯片的运算装置对于局部响应归一化层的结果,是先用向量函数值运算步骤求得非线性函数值,然后再与输入层神经元通过向量乘加运算步骤相乘得到;
所述加速深度神经网络算法的加速芯片的运算装置对于突触权重的变化量是通过向量乘加运算步骤将反向传播求得的残差和对应的输入神经元值相乘以及学习率因子相乘获得,所述反向传播求得的残差是通过外界处理器求得后通过总线传输给所述运算装置;
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中所产生的向量化的中间值存储于所述向量加法处理器模块、向量函数值运算器模块、和向量乘加器模块中的中间值存储区域,且所述中间值存储区域可对主存储器进行读取与写入操作。
7.根据权利要求6所述的加速深度神经网络算法的加速芯片的运算装置进行运算的方法,其特征在于,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,生成输出值之后,存储于所述中间值存储区域内所述中间值将被丢弃。
8.根据权利要求6所述的加速深度神经网络算法的加速芯片的运算装置进行运算的方法,其特征在于,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,通过一个索引访问所述中间值存储区域。
9.根据权利要求8所述的加速深度神经网络算法的加速芯片的运算装置进行运算的方法,其特征在于,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,对所述中间值存储区域内的、先前对所述索引指定的存储块未写入的位置执行读取,则中间存储拒绝此读取请求,被拒绝的读取请求返回的表示读取成功的状态为无效。
10.根据权利要求8所述的加速深度神经网络算法的加速芯片的运算装置进行运算的方法,其特征在于,
所述向量加法处理运算步骤、向量函数值运算步骤、和向量乘加运算步骤中,对所述中间值存储区域内的、先前对所述索引指定的存储块已写入的位置执行写入,则中间存储拒绝此写入请求,被拒绝的写入请求返回的表示写入成功的状态为无效。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2015107924630 | 2015-11-17 | ||
CN201510792463.0A CN105488565A (zh) | 2015-11-17 | 2015-11-17 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106529668A CN106529668A (zh) | 2017-03-22 |
CN106529668B true CN106529668B (zh) | 2018-12-04 |
Family
ID=55675535
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510792463.0A Pending CN105488565A (zh) | 2015-11-17 | 2015-11-17 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN201610979814.3A Active CN106529668B (zh) | 2015-11-17 | 2016-11-08 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510792463.0A Pending CN105488565A (zh) | 2015-11-17 | 2015-11-17 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11488000B2 (zh) |
CN (2) | CN105488565A (zh) |
WO (1) | WO2017084330A1 (zh) |
Families Citing this family (109)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488565A (zh) | 2015-11-17 | 2016-04-13 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN108510064B (zh) | 2016-04-18 | 2021-12-10 | 中国科学院计算技术研究所 | 包括多个核心处理模块的人工神经网络的处理系统及方法 |
CN111651204B (zh) * | 2016-04-26 | 2024-04-05 | 中科寒武纪科技股份有限公司 | 一种用于执行向量最大值最小值运算的装置和方法 |
CN107315571B (zh) | 2016-04-27 | 2020-07-31 | 中科寒武纪科技股份有限公司 | 一种用于执行全连接层神经网络正向运算的装置和方法 |
CN110188870B (zh) * | 2016-04-27 | 2021-10-12 | 中科寒武纪科技股份有限公司 | 用于执行人工神经网络自学习运算的装置和方法 |
EP3451239A4 (en) * | 2016-04-29 | 2020-01-01 | Cambricon Technologies Corporation Limited | APPARATUS AND METHOD FOR PERFORMING RECURRENT NEURONAL NETWORK AND LTSM CALCULATIONS |
CN109376861B (zh) * | 2016-04-29 | 2020-04-24 | 中科寒武纪科技股份有限公司 | 一种用于执行全连接层神经网络训练的装置和方法 |
CN109284825B (zh) * | 2016-04-29 | 2020-04-14 | 中科寒武纪科技股份有限公司 | 用于执行lstm运算的装置和方法 |
WO2017185336A1 (zh) * | 2016-04-29 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 用于执行pooling运算的装置和方法 |
CN111860813B (zh) * | 2016-04-29 | 2024-01-16 | 中科寒武纪科技股份有限公司 | 一种用于执行卷积神经网络正向运算的装置和方法 |
CN107329733B (zh) * | 2016-04-29 | 2020-10-02 | 中科寒武纪科技股份有限公司 | 用于执行pooling运算的装置和方法 |
US20170330069A1 (en) * | 2016-05-11 | 2017-11-16 | Kneron Inc. | Multi-layer artificial neural network and controlling method thereof |
CN105956659B (zh) * | 2016-05-11 | 2019-11-22 | 北京比特大陆科技有限公司 | 数据处理装置和系统、服务器 |
CN109328361B (zh) * | 2016-06-14 | 2020-03-27 | 多伦多大学管理委员会 | 用于深度神经网络的加速器 |
CN111310893B (zh) * | 2016-08-05 | 2023-11-21 | 中科寒武纪科技股份有限公司 | 一种用于执行神经网络运算的装置及方法 |
US10802992B2 (en) | 2016-08-12 | 2020-10-13 | Xilinx Technology Beijing Limited | Combining CPU and special accelerator for implementing an artificial neural network |
US10936941B2 (en) | 2016-08-12 | 2021-03-02 | Xilinx, Inc. | Efficient data access control device for neural network hardware acceleration system |
US10810484B2 (en) | 2016-08-12 | 2020-10-20 | Xilinx, Inc. | Hardware accelerator for compressed GRU on FPGA |
US20180046903A1 (en) * | 2016-08-12 | 2018-02-15 | DeePhi Technology Co., Ltd. | Deep processing unit (dpu) for implementing an artificial neural network (ann) |
US10832123B2 (en) | 2016-08-12 | 2020-11-10 | Xilinx Technology Beijing Limited | Compression of deep neural networks with proper use of mask |
US10621486B2 (en) | 2016-08-12 | 2020-04-14 | Beijing Deephi Intelligent Technology Co., Ltd. | Method for optimizing an artificial neural network (ANN) |
US10762426B2 (en) | 2016-08-12 | 2020-09-01 | Beijing Deephi Intelligent Technology Co., Ltd. | Multi-iteration compression for deep neural networks |
US10698657B2 (en) | 2016-08-12 | 2020-06-30 | Xilinx, Inc. | Hardware accelerator for compressed RNN on FPGA |
US10643124B2 (en) | 2016-08-12 | 2020-05-05 | Beijing Deephi Intelligent Technology Co., Ltd. | Method and device for quantizing complex artificial neural network |
US10984308B2 (en) | 2016-08-12 | 2021-04-20 | Xilinx Technology Beijing Limited | Compression method for deep neural networks with load balance |
CN106355247B (zh) * | 2016-08-16 | 2019-03-08 | 算丰科技(北京)有限公司 | 数据处理方法和装置、芯片和电子设备 |
JP6773970B2 (ja) * | 2016-09-09 | 2020-10-21 | 富士通株式会社 | 情報処理装置、イジング装置及び情報処理装置の制御方法 |
US10963775B2 (en) * | 2016-09-23 | 2021-03-30 | Samsung Electronics Co., Ltd. | Neural network device and method of operating neural network device |
KR20180034853A (ko) | 2016-09-28 | 2018-04-05 | 에스케이하이닉스 주식회사 | 합성곱 신경망의 연산 장치 및 방법 |
US11270193B2 (en) * | 2016-09-30 | 2022-03-08 | International Business Machines Corporation | Scalable stream synaptic supercomputer for extreme throughput neural networks |
CN106529679B (zh) * | 2016-10-14 | 2020-01-14 | 腾讯科技(上海)有限公司 | 一种机器学习方法及系统 |
CN106650924B (zh) * | 2016-10-27 | 2019-05-14 | 中国科学院计算技术研究所 | 一种基于时间维和空间维数据流压缩的处理器、设计方法 |
US10733505B2 (en) * | 2016-11-10 | 2020-08-04 | Google Llc | Performing kernel striding in hardware |
DE102016222814A1 (de) * | 2016-11-18 | 2018-05-24 | Robert Bosch Gmbh | Verfahren zum berechnen einer ausgabe eines neuronalen netzes |
JP6961011B2 (ja) | 2016-12-09 | 2021-11-05 | ベイジン ホライズン インフォメーション テクノロジー カンパニー リミテッド | データ管理のためのシステム及び方法 |
US20180164866A1 (en) * | 2016-12-13 | 2018-06-14 | Qualcomm Incorporated | Low-power architecture for sparse neural network |
US10586148B2 (en) * | 2016-12-31 | 2020-03-10 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with re-shapeable memory |
CN106875012B (zh) * | 2017-02-09 | 2019-09-20 | 武汉魅瞳科技有限公司 | 一种基于fpga的深度卷积神经网络的流水化加速系统 |
CN106951961B (zh) * | 2017-02-24 | 2019-11-26 | 清华大学 | 一种粗粒度可重构的卷积神经网络加速器及系统 |
CN106951962B (zh) * | 2017-03-22 | 2020-09-01 | 南京地平线机器人技术有限公司 | 用于神经网络的复合运算单元、方法和电子设备 |
CN107086910B (zh) * | 2017-03-24 | 2018-08-10 | 中国科学院计算技术研究所 | 一种针对神经网络处理的权重加解密方法和系统 |
CN108664266B (zh) * | 2017-04-01 | 2022-04-15 | 深圳森若科技有限公司 | 一种便携式人工智能装置及其配置方法 |
US10783432B2 (en) * | 2017-04-14 | 2020-09-22 | International Business Machines Corporation | Update management for RPU array |
CN117933327A (zh) * | 2017-04-21 | 2024-04-26 | 上海寒武纪信息科技有限公司 | 处理装置、处理方法、芯片及电子装置 |
US10372456B2 (en) | 2017-05-24 | 2019-08-06 | Microsoft Technology Licensing, Llc | Tensor processor instruction set architecture |
US10338925B2 (en) | 2017-05-24 | 2019-07-02 | Microsoft Technology Licensing, Llc | Tensor register files |
CN107301456B (zh) * | 2017-05-26 | 2020-05-12 | 中国人民解放军国防科学技术大学 | 基于向量处理器的深度神经网络多核加速实现方法 |
CN107392308B (zh) * | 2017-06-20 | 2020-04-03 | 中国科学院计算技术研究所 | 一种基于可编程器件的卷积神经网络加速方法与系统 |
WO2019001418A1 (zh) * | 2017-06-26 | 2019-01-03 | 上海寒武纪信息科技有限公司 | 数据共享系统及其数据共享方法 |
CN107862379A (zh) * | 2017-07-21 | 2018-03-30 | 电子科技大学 | 神经网络fpga |
GB2568776B (en) | 2017-08-11 | 2020-10-28 | Google Llc | Neural network accelerator with parameters resident on chip |
CN107491809B (zh) * | 2017-08-21 | 2020-10-16 | 苏州浪潮智能科技有限公司 | 一种fpga实现残差网络中激活函数的方法 |
CN110222308B (zh) * | 2017-08-31 | 2020-12-29 | 安徽寒武纪信息科技有限公司 | 一种矩阵乘矩阵运算方法及装置 |
CN107679622B (zh) * | 2017-09-06 | 2020-08-14 | 清华大学 | 一种面向神经网络算法的模拟感知计算架构 |
CN108205704B (zh) * | 2017-09-27 | 2021-10-29 | 深圳市商汤科技有限公司 | 一种神经网络芯片 |
US11222256B2 (en) * | 2017-10-17 | 2022-01-11 | Xilinx, Inc. | Neural network processing system having multiple processors and a neural network accelerator |
CN107729984A (zh) * | 2017-10-27 | 2018-02-23 | 中国科学院计算技术研究所 | 一种适用于神经网络激活函数的计算装置及方法 |
CN109726805B (zh) * | 2017-10-30 | 2021-02-09 | 上海寒武纪信息科技有限公司 | 利用黑盒模拟器进行神经网络处理器设计的方法 |
CN108874445A (zh) * | 2017-10-30 | 2018-11-23 | 上海寒武纪信息科技有限公司 | 神经网络处理器及使用处理器执行向量点积指令的方法 |
CN109726807B (zh) * | 2017-10-31 | 2023-11-24 | 上海寒武纪信息科技有限公司 | 神经网络处理器、运算方法及存储介质 |
CN107817708B (zh) * | 2017-11-15 | 2020-07-07 | 复旦大学 | 一种高兼容性可编程神经网络加速阵列 |
TW201926147A (zh) * | 2017-12-01 | 2019-07-01 | 阿比特電子科技有限公司 | 電子裝置、加速器、適用於神經網路運算的加速方法及神經網路加速系統 |
CN109902815B (zh) | 2017-12-11 | 2020-05-19 | 中科寒武纪科技股份有限公司 | 神经网络运算设备和方法 |
CN109961138B (zh) * | 2017-12-14 | 2020-04-14 | 中科寒武纪科技股份有限公司 | 神经网络训练方法及相关产品 |
CN109871949A (zh) * | 2017-12-22 | 2019-06-11 | 泓图睿语(北京)科技有限公司 | 卷积神经网络加速器及加速方法 |
CN108182471B (zh) * | 2018-01-24 | 2022-02-15 | 上海岳芯电子科技有限公司 | 一种卷积神经网络推理加速器及方法 |
US11568232B2 (en) * | 2018-02-08 | 2023-01-31 | Quanta Computer Inc. | Deep learning FPGA converter |
US11138501B2 (en) * | 2018-02-22 | 2021-10-05 | International Business Machines Corporation | Hardware-implemented training of an artificial neural network |
US11586907B2 (en) | 2018-02-27 | 2023-02-21 | Stmicroelectronics S.R.L. | Arithmetic unit for deep learning acceleration |
US10977854B2 (en) | 2018-02-27 | 2021-04-13 | Stmicroelectronics International N.V. | Data volume sculptor for deep learning acceleration |
US11687762B2 (en) | 2018-02-27 | 2023-06-27 | Stmicroelectronics S.R.L. | Acceleration unit for a deep learning engine |
CN108537330B (zh) * | 2018-03-09 | 2020-09-01 | 中国科学院自动化研究所 | 应用于神经网络的卷积计算装置及方法 |
CN108520297B (zh) * | 2018-04-02 | 2020-09-04 | 周军 | 可编程深度神经网络处理器 |
US11687759B2 (en) | 2018-05-01 | 2023-06-27 | Semiconductor Components Industries, Llc | Neural network accelerator |
CN108639882B (zh) * | 2018-05-03 | 2020-02-04 | 中国科学院计算技术研究所 | 基于lstm网络模型的处理芯片与包含其的运算装置 |
US20190340490A1 (en) * | 2018-05-04 | 2019-11-07 | Apple Inc. | Systems and methods for assigning tasks in a neural network processor |
CN108647782B (zh) * | 2018-05-21 | 2021-10-19 | 清华大学 | 一种降低神经网络芯片中eDRAM刷新能耗的方法及系统 |
CN108846478B (zh) * | 2018-06-29 | 2021-01-29 | 北京百度网讯科技有限公司 | 深度神经网络计算加速的方法和装置 |
EP3605401A1 (en) * | 2018-07-31 | 2020-02-05 | GrAl Matter Labs S.A.S. | Data processing module, data processing system and data processing method |
CN109117949A (zh) * | 2018-08-01 | 2019-01-01 | 南京天数智芯科技有限公司 | 用于人工智能设备的灵活数据流处理器和处理方法 |
CN110796244B (zh) * | 2018-08-01 | 2022-11-08 | 上海天数智芯半导体有限公司 | 用于人工智能设备的核心计算单元处理器及加速处理方法 |
CN110825311B (zh) * | 2018-08-10 | 2023-04-18 | 昆仑芯(北京)科技有限公司 | 用于存储数据的方法和装置 |
CN110874625B (zh) * | 2018-08-31 | 2023-10-27 | 杭州海康威视数字技术股份有限公司 | 一种数据处理方法及装置 |
US12094456B2 (en) | 2018-09-13 | 2024-09-17 | Shanghai Cambricon Information Technology Co., Ltd. | Information processing method and system |
CN109447257B (zh) * | 2018-09-18 | 2021-08-17 | 复旦大学 | 一种通道自组织的深度神经网络加速芯片的运算装置 |
CN112789627B (zh) * | 2018-09-30 | 2023-08-22 | 华为技术有限公司 | 一种神经网络处理器、数据处理方法及相关设备 |
CN109359732B (zh) * | 2018-09-30 | 2020-06-09 | 阿里巴巴集团控股有限公司 | 一种芯片及基于其的数据处理方法 |
CN109492761A (zh) * | 2018-10-30 | 2019-03-19 | 深圳灵图慧视科技有限公司 | 实现神经网络的fpga加速装置、方法和系统 |
CN109472353B (zh) * | 2018-11-22 | 2020-11-03 | 浪潮集团有限公司 | 一种卷积神经网络量化电路及量化方法 |
CN117669663A (zh) * | 2018-12-06 | 2024-03-08 | 西部数据技术公司 | 具有深度学习神经网络的非易失性存储器管芯 |
CN109740733B (zh) * | 2018-12-27 | 2021-07-06 | 深圳云天励飞技术有限公司 | 深度学习网络模型优化方法、装置及相关设备 |
US11144282B2 (en) * | 2019-01-16 | 2021-10-12 | Mediatek Inc. | Mathematical accelerator for artificial intelligence applications |
CN109901878B (zh) * | 2019-02-25 | 2021-07-23 | 北京灵汐科技有限公司 | 一种类脑计算芯片及计算设备 |
CN111667046A (zh) * | 2019-03-08 | 2020-09-15 | 富泰华工业(深圳)有限公司 | 深度学习加速方法及用户终端 |
CN110058883B (zh) * | 2019-03-14 | 2023-06-16 | 梁磊 | 一种基于opu的cnn加速方法及系统 |
CN110009021B (zh) * | 2019-03-26 | 2021-06-15 | 深兰科技(上海)有限公司 | 一种目标识别方法及设备 |
CN112396169B (zh) * | 2019-08-13 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 运算方法、装置、计算机设备和存储介质 |
CN112085183B (zh) * | 2019-06-12 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 一种神经网络运算方法及装置以及相关产品 |
US12061971B2 (en) | 2019-08-12 | 2024-08-13 | Micron Technology, Inc. | Predictive maintenance of automotive engines |
US11635893B2 (en) * | 2019-08-12 | 2023-04-25 | Micron Technology, Inc. | Communications between processors and storage devices in automotive predictive maintenance implemented via artificial neural networks |
CN111027690B (zh) * | 2019-11-26 | 2023-08-04 | 陈子祺 | 执行确定性推理的组合处理装置、芯片和方法 |
CN111027018B (zh) * | 2019-12-20 | 2023-03-31 | 支付宝(杭州)信息技术有限公司 | 加速计算设备建模的方法、装置、计算设备及介质 |
US11507831B2 (en) | 2020-02-24 | 2022-11-22 | Stmicroelectronics International N.V. | Pooling unit for deep learning acceleration |
CN111898752B (zh) * | 2020-08-03 | 2024-06-28 | 乐鑫信息科技(上海)股份有限公司 | 执行lstm神经网络运算的装置和方法 |
US20230274158A1 (en) * | 2020-09-28 | 2023-08-31 | Cambricon Technologies Corporation Limited | Device and method for neural network computing, and board and readable storage medium |
CN112748998B (zh) * | 2021-01-21 | 2023-10-03 | 中南大学 | 一种移动端的卷积神经网络任务调度方法及系统 |
CN113902111A (zh) * | 2021-12-09 | 2022-01-07 | 绍兴埃瓦科技有限公司 | 多芯片互连系统及神经网络加速处理方法 |
CN114781602B (zh) * | 2022-04-07 | 2023-03-24 | 苏州大学 | 基于激光器阵列的深度卷积神经网络系统及控制方法 |
CN114723034B (zh) * | 2022-06-10 | 2022-10-04 | 之江实验室 | 一种可分离的图像处理神经网络加速器及加速方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6523018B1 (en) * | 1998-12-29 | 2003-02-18 | International Business Machines Corporation | Neural chip architecture and neural networks incorporated therein |
KR20040040075A (ko) * | 2002-11-06 | 2004-05-12 | 학교법인 인하학원 | 재구성능력 및 확장능력을 가진 신경회로망 하드웨어 |
CN101299233A (zh) * | 2008-04-08 | 2008-11-05 | 西安交通大学 | 基于fpga实现的运动目标识别与跟踪装置及方法 |
CN101527010A (zh) * | 2008-03-06 | 2009-09-09 | 上海理工大学 | 人工神经网络算法的硬件实现方法及其系统 |
CN102855122A (zh) * | 2011-05-25 | 2013-01-02 | Arm有限公司 | 处理流水线控制 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69722446T2 (de) * | 1996-11-20 | 2004-04-22 | Jannarone, Robert J. | Mehrfachkern neuronales netzwerk mit gleichzeitigem lern- , uberwachungs- und vorhersagesystem |
GB9902115D0 (en) * | 1999-02-01 | 1999-03-24 | Axeon Limited | Neural networks |
EP1172763A3 (en) * | 2000-07-13 | 2008-11-05 | International Business Machines Corporation | Method and circuits for associating a norm to each component of an input pattern presented to a neural network |
CN1202494C (zh) * | 2003-06-09 | 2005-05-18 | 王慧东 | 基于神经网络的信息识别处理方法 |
WO2008067676A1 (en) * | 2006-12-08 | 2008-06-12 | Medhat Moussa | Architecture, system and method for artificial neural network implementation |
WO2012109407A1 (en) * | 2011-02-09 | 2012-08-16 | The Trustees Of Columbia University In The City Of New York | Encoding and decoding machine with recurrent neural networks |
CN102868432B (zh) * | 2012-09-07 | 2015-08-19 | 天津理工大学 | 一种双阶段神经网络下的盲波束形成装置及其形成方法 |
US9978014B2 (en) * | 2013-12-18 | 2018-05-22 | Intel Corporation | Reconfigurable processing unit |
US9613001B2 (en) * | 2013-12-20 | 2017-04-04 | Intel Corporation | Processing device for performing convolution operations |
US9785565B2 (en) * | 2014-06-30 | 2017-10-10 | Microunity Systems Engineering, Inc. | System and methods for expandably wide processor instructions |
CN104133375B (zh) * | 2014-08-14 | 2016-08-17 | 大连海事大学 | 一种多auv同步控制器结构及设计方法 |
US10686869B2 (en) * | 2014-09-29 | 2020-06-16 | Microsoft Technology Licensing, Llc | Tool for investigating the performance of a distributed processing system |
US10540588B2 (en) * | 2015-06-29 | 2020-01-21 | Microsoft Technology Licensing, Llc | Deep neural network processing on hardware accelerators with stacked memory |
US11244225B2 (en) * | 2015-07-10 | 2022-02-08 | Samsung Electronics Co., Ltd. | Neural network processor configurable using macro instructions |
CN105488565A (zh) * | 2015-11-17 | 2016-04-13 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN105468335B (zh) * | 2015-11-24 | 2017-04-12 | 中国科学院计算技术研究所 | 流水级运算装置、数据处理方法及片上网络芯片 |
-
2015
- 2015-11-17 CN CN201510792463.0A patent/CN105488565A/zh active Pending
-
2016
- 2016-06-17 US US15/770,457 patent/US11488000B2/en active Active
- 2016-06-17 WO PCT/CN2016/086098 patent/WO2017084330A1/zh active Application Filing
- 2016-11-08 CN CN201610979814.3A patent/CN106529668B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6523018B1 (en) * | 1998-12-29 | 2003-02-18 | International Business Machines Corporation | Neural chip architecture and neural networks incorporated therein |
KR20040040075A (ko) * | 2002-11-06 | 2004-05-12 | 학교법인 인하학원 | 재구성능력 및 확장능력을 가진 신경회로망 하드웨어 |
CN101527010A (zh) * | 2008-03-06 | 2009-09-09 | 上海理工大学 | 人工神经网络算法的硬件实现方法及其系统 |
CN101299233A (zh) * | 2008-04-08 | 2008-11-05 | 西安交通大学 | 基于fpga实现的运动目标识别与跟踪装置及方法 |
CN102855122A (zh) * | 2011-05-25 | 2013-01-02 | Arm有限公司 | 处理流水线控制 |
Also Published As
Publication number | Publication date |
---|---|
CN105488565A (zh) | 2016-04-13 |
CN106529668A (zh) | 2017-03-22 |
WO2017084330A1 (zh) | 2017-05-26 |
US11488000B2 (en) | 2022-11-01 |
US20180314928A1 (en) | 2018-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106529668B (zh) | 加速深度神经网络算法的加速芯片的运算装置及方法 | |
Zhang et al. | A spatial attentive and temporal dilated (SATD) GCN for skeleton‐based action recognition | |
KR102637735B1 (ko) | 근사 곱셈기를 구비하는 뉴럴 네트워크 처리 장치 및 이를 포함하는 시스템온 칩 | |
CN112183718B (zh) | 一种用于计算设备的深度学习训练方法和装置 | |
Johansson et al. | Towards cortex sized artificial neural systems | |
CN109003132A (zh) | 广告推荐方法及相关产品 | |
CN107239824A (zh) | 用于实现稀疏卷积神经网络加速器的装置和方法 | |
CN106529670A (zh) | 一种基于权重压缩的神经网络处理器、设计方法、芯片 | |
Wang et al. | PR-ELM: Parallel regularized extreme learning machine based on cluster | |
CN109359730A (zh) | 面向固定输出范式Winograd卷积的神经网络处理器 | |
Niu et al. | Research progress of spiking neural network in image classification: a review | |
Zhang et al. | Summary of convolutional neural network compression technology | |
WO2023122854A1 (zh) | 数据处理的方法和装置 | |
CN108734270A (zh) | 一种兼容型神经网络加速器及数据处理方法 | |
Balemans et al. | Resource efficient AI: Exploring neural network pruning for task specialization | |
Morris et al. | Hyperspike: hyperdimensional computing for more efficient and robust spiking neural networks | |
CN110490317A (zh) | 神经网络运算装置及运算方法 | |
Sun et al. | A Review of AIoT-based Edge Devices and Lightweight Deployment | |
Kader et al. | Comparative study of five metaheuristic algorithms for team formation problem | |
Zhou et al. | Deep Learning on Edge Computing Devices: Design Challenges of Algorithm and Architecture | |
Takahashi et al. | Scalable empirical dynamic modeling with parallel computing and approximate k-nn search | |
Gou et al. | Re-training and parameter sharing with the Hash trick for compressing convolutional neural networks | |
Nguyen et al. | Hardware Implementation for Spiking Neural Networks on Edge Devices | |
Liu et al. | Functional extreme learning machine | |
Nallathambi et al. | Probabilistic spike propagation for efficient hardware implementation of spiking neural networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 |