CN106022468A - 人工神经网络处理器集成电路及该集成电路的设计方法 - Google Patents

人工神经网络处理器集成电路及该集成电路的设计方法 Download PDF

Info

Publication number
CN106022468A
CN106022468A CN201610327324.5A CN201610327324A CN106022468A CN 106022468 A CN106022468 A CN 106022468A CN 201610327324 A CN201610327324 A CN 201610327324A CN 106022468 A CN106022468 A CN 106022468A
Authority
CN
China
Prior art keywords
computing
operation result
neuron
buffer
data
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.)
Granted
Application number
CN201610327324.5A
Other languages
English (en)
Other versions
CN106022468B (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.)
Chengdu Leader Technology Co Ltd
Chipintelli Technology Co Ltd
Original Assignee
Chengdu Leader Technology Co Ltd
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 Chengdu Leader Technology Co Ltd filed Critical Chengdu Leader Technology Co Ltd
Priority to CN201610327324.5A priority Critical patent/CN106022468B/zh
Publication of CN106022468A publication Critical patent/CN106022468A/zh
Application granted granted Critical
Publication of CN106022468B publication Critical patent/CN106022468B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/061Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit

Abstract

本发明涉及集成电路技术及人工智能领域,特别涉及一种人工神经网络处理器(ANNP)集成电路,其包括状态控制模块、数据控制模块、参数控制模块和神经元运算阵列模块,状态控制模块用于检测数据控制模块、参数控制模块和神经元运算阵列模块的工作状态,在检测到各模块的工作状态后时同时生成整个集成电路当前的过程状态,控制数据控制模块、参数控制模块和神经元运算阵列模块进行同步工作,本发明结构简单,极大地提升了运算性能,同时有效地降低了数据访问带宽需求,本发明还公开了一种包含上述ANNP集成电路的集成电路设计方法。

Description

人工神经网络处理器集成电路及该集成电路的设计方法
技术领域
本发明涉及集成电路技术及人工智能领域,特别涉及一种人工神经网络处理器(ANNP)集成电路及该集成电路的设计方法。
背景技术
最近几年,随着互联网的普及,终端设备传感器的广泛应用,世界迎来了物联网时代,由于万物互联和传感器的广泛应用,人类累积了大量的数据,在这个时代背景下,随着模拟人类大脑神经网络的人工神经网络(ANN)计算在大数据分析和云计算得到应用,人工智能获得了极大的突破。微软小冰,苹果的Siri(语音助手), Goolge的无人驾驶,日本的家庭机器人以及最近打败李世石的AlphaGo(围棋人工智能)都是这个时代人工智能的产物,因此在今后的若干年内,人工智能将得到迅猛发展,并极大地改善或者影响人们的生活。各国政府和民间的公司都给予高度的重视。
传统的CPU(中央处理器)、GPU(图形处理器)或者DSP(数字信号处理器)等运算处理器或计算机强于数值计算和逻辑分析, 但是在面对复杂场景下的模式识别,自主决策和学习训练等方面以传统处理器为核心的计算机或智能机器与人比较显得吃力得多,人工神经网络模拟人类大脑神经元及神经网络结构,非常适合于大数据的学习训练、模式识别和判断。目前已经在图像识别、语音识别、文本识别等领域里得到广泛应用。
目前最通常的几种神经网络模型为深度神经网络(DNN)、卷积神经网络(CNN)及递归神经网络(RNN)。尤其是是DNN和CNN已经广泛应用在语音识别和图像识别中,各种神经网络尽管有细节不同,但主要结构和运算单元基本相同,都是模拟大脑神经网络的分层结构,通过逐层计算不断抽象最后完成目标物的识别,神经元计算单元都是主要以矩阵乘累加为主。
人工神经网络是人工智能应用的计算核心,完成绝大多数的运算任务。其计算量非常巨大,由于缺乏专门的神经网络处理器芯片,目前主要依靠云端计算机阵列或者多核CPU或GPU的软件方式来完成计算,不仅代价大而且功耗高,而本地人工智能的需求已经开始兴起,在本地终端需要低的成本和功耗来完成人工智能的计算,当前采用高端的多媒体SOC(片上系统)芯片的纯软件方式,不仅计算性能不够,而且成本功耗也大,这就阻碍了人工智能在终端设备智能硬件中的本地应用。
为解决上述问题, 需要发明一种能完成巨大的计算量的ANNP(人工神经网络处理器)的集成电路。该ANNP在同等芯片面积条件下,相较CPU或GPU大幅提升了芯片的计算性能,并且降低了功耗和成本。集成该ANNP模块,使得具有高计算性能低成本低功耗的人工智能芯片成为可能。
发明内容
本发明的目的在于克服现有技术中所存在的上述不足,提供一种能完成巨大的计算量的ANNP(人工神经网络处理器)集成电路及该集成电路的设计方法。
为了达到上述目的,本发明提供了如下技术方案。
一种ANNP集成电路,其包括:
神经元运算阵列模块,所述神经元运算阵列模块进行神经元的矩阵乘累加运算和激活运算;
数据控制模块,所述数据控制模块分别与所述神经元运算阵列模块、数据总线、第一运算结果缓存器和第二运算结果缓存器连接,并通过所述数据总线读取输入数据缓存器中的数据,所述数据控制模块读取所述输入数据缓存器、第一运算结果缓存器或第二运算结果缓存器中的数据输送给所述神经元运算阵列模块作为所述神经元运算阵列模块的输入并将所述神经元运算阵列模块的运算结果缓存入所述第一运算结果缓存器或第二运算结果缓存器中;
参数控制模块,所述参数控制模块分别与所述神经元运算阵列模块和数据总线连接,并通过所述数据总线读取神经元参数存储器中预存的神经元参数输出给所述神经元运算阵列模块进行运算,所述神经元参数为神经元权值参数(以下简称权值参数),和神经元偏置阈值参数(以下简称偏置参数);
状态控制模块,所述状态控制模块分别与所述神经元运算阵列模块、数据控制模块、参数控制模块和数据总线连接,所述状态控制模块检测所述神经元运算阵列模块、参数控制模块和数据控制模块的工作状态,同时生成当前的过程状态,并控制所述神经元运算阵列模块、参数控制模块和数据控制模块根据所述过程状态进行同步工作。
作为本发明的优选方案,所述过程状态分为空闲状态、输入层加载状态、输入层运算状态、隐含层运算状态和输出层运算状态,当所述输入数据缓存器中待处理数据数量超过阈值并且所述第一运算结果缓存器或所述第二运算结果缓存器为空时,所述空闲状态结束进入所述输入层加载状态,当所述输入层加载状态完成输入加载后进入所述输入层运算状态,当所述输入层运算状态运算完成后进入所述隐含层运算状态,当所述隐含层运算状态运算完成后进入所述输出层运算状态,当所述输出层运算状态运算完成后回到所述空闲状态。
作为本发明的优选方案,所述第一运算结果缓存器和第二运算结果缓存器的读写状态轮流替换,即所述第一运算结果缓存器为读取缓存器时,所述第二运算结果缓存器为写入缓存器,所述第一运算结果缓存器为写入缓存器时,所述第二运算结果缓存器为读取缓存器,当所述第一运算结果缓存器或第二运算结果缓存器在前一层运算时是读取缓存器,则在当前层运算的时候是写入缓存器,当所述第二运算结果缓存器或第一运算结果缓存器在所述前一层运算时是写入缓存器,则所述第二运算结果缓存器或第一运算结果缓存器在所述当前层运算时是读取缓存器。
作为本发明的优选方案,所述ANN的隐含层分为A个层,A为大于1或等于1的正整数,分别为第一隐含层至第A隐含层,所述隐含层运算状态分为第一隐含层运算状态至第A隐含层运算状态。
作为本发明的优选方案,所述数据控制模块在所述空闲状态时将所述输入数据缓存器的存储信息输出给所述状态控制模块,所述数据控制模块在所述输入层加载状态时根据输入层输入向量大小、向量组数及滑窗大小从所述输入数据缓存器读取一部分待处理的输入数据,并将所述输入数据缓存入所述第一运算结果缓存器或第二运算结果缓存器中,在所述输入层运算状态时,所述数据控制模块将所述第一运算结果缓存器或第二运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算并将输入层运算结果缓存于所述第二运算结果缓存器或第一运算结果缓存器中,在所述第一隐含层运算状态时,所述数据控制模块将所述第二运算结果缓存器或第一运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算,并将第一隐含层运算结果缓存于所述第一运算结果缓存器或第二运算结果缓存器中,以此类推,在所述第A隐含层运算状态时,若A为偶数,则所述数据控制模块将所述第一运算结果缓存器或第二运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算,并将第A隐含层运算结果缓存于所述第二运算结果缓存器或第一运算结果缓存器中,若A为奇数,则所述数据控制模块将所述第二运算结果缓存器或第一运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算,并将第A隐含层运算结果缓存于所述第一运算结果缓存器或第二运算结果缓存器中,在所述输出层运算状态时,若A为偶数,则所述数据控制模块将所述第二运算结果缓存器或第一运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算,并将所述输出层运算结果缓存于所述第一运算结果缓存器或第二运算结果缓存器中,当所述第一运算结果缓存器中或第二运算结果缓存器的存储空间不够时,所述输出层运算结果会自动写入所述第二运算结果缓存器或第一运算结果缓存器中未被占用或已完成读取的存储空间,若A为奇数,则所述数据控制模块将所述第一运算结果缓存器或第二运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算,并将输出层运算结果缓存于所述第二运算结果缓存器或第一运算结果缓存器中,当所述第二运算结果缓存器或第一运算结果缓存器中的存储空间不够时,所述输出层运算结果会自动写入所述第一运算结果缓存器或第二运算结果缓存器中未被占用或已完成读取的存储空间。
一种包含了上述ANNP集成电路的集成电路设计方法,其特征在于,该设计方法包括:
根据算法和应用通过系统配置ANNP的人工神经网络类型,输入数据类型,输入层神经元的输入向量大小、向量组数、滑窗大小及节点数,隐含层的层数及每层神经元节点的数量,输出层神经元节点数和输出向量大小;
所述状态控制器检测数据控制模块和神经元运算阵列模块输出的信号,并确定整个ANNP处理器的过程状态,控制所述神经元运算阵列模块、参数控制模块和数据控制模块根据所述过程状态进行同步工作;
所述数据控制模块根据所述过程状态输出或者输入数据,即从所述输入数据缓存器、第一运算结果缓存器或第二运算结果缓存器中读取数据输出给所述神经元运算阵列模块进行运算,或者将所述神经元运算阵列模块的运算结果缓存入所述第一运算结果缓存器或第二运算结果缓存器中;
所述参数控制模块读取所述神经元参数存储器中存储的神经元参数并输出给所述神经元运算阵列模块进行运算;
所述神经元运算阵列模块根据所述数据控制模块和所述参数控制模块的输出进行运算;
所述神经元运算阵列模块通过所述数据控制模块从所述输入数据缓存器、第一运算结果缓存器或第二运算结果缓存器获得数据进行运算并将运算结果缓存入所述第一运算结果缓存器或第二运算结果缓存器。
作为本发明的优选方案,所述神经元运算阵列模块可以同时进行多组输入数据向量及多个神经元节点的并行计算,所述每个神经元节点连接一组神经元参数向量,所述神经元运算阵列模块的阵列大小可以配置。
作为本发明的优选方案,所述神经元运算阵列由m组输入数据向量和n组神经元参数向量连接的m*n个神经元基本运算单元组成,m≥1, n≥1,所述神经元运算阵列可看作由n个神经元运算链路一组成,每个所述神经元运算链路一上有m个所述神经元基本运算单元,分别连接m组输入数据向量并共用一组所述神经元参数向量;所述神经元运算阵列还可看作由m个神经元运算链路二组成,每个所述神经元运算链路二上有n个所述神经元基本运算单元,分别连接n组神经元参数向量及共用一组输入数据向量,从而所述神经元运算阵列一次性进行m*n次的所述神经元基本运算单元的运算,同时读取所述输入数据向量和所述神经元参数的带宽需求分别下降到原来的1/n和1/m。
作为本发明的优选方案,所述神经元运算阵列运用如下公式: (1)
进行计算,其中I是由m组所述输入数据向量组成的m行K列的二维矩阵,每组所述输入数据向量包含K个输入数据向量元素,所述输入数据向量元素就是所述数据控制器从所述第一运算结果缓存器或第二运算结果缓存器中读取的所述输入数据或所述神经元运算阵列模块的运算结果,P是由n组所述神经元参数向量组成的N行K列的二维矩阵,每组所述神经元参数向量由K个神经元参数向量元素组成,每组所述神经元参数向量包含有与K个所述输入数据向量元素对应的K个所述神经元参数向量元素,所述参数元素就是所述参数控制器从所述神经元参数存储器中读取的所述权值参数。 为P矩阵的转置矩阵。f为神经元节点激活计算的函数,I矩阵和P转置矩阵的叉乘结果作为所述激活计算的输入。 O为当前层所述神经元运算阵列模块运算的输出结果矩阵,大小为m行n列。整个所述神经元运算阵列可以同时进行m组n个所述神经元的运算,即m×n个所述神经元运算。若当前层神经元节点数为L,则进行 L/n次神经元阵列运算就可以完成m组所述输入数据向量的当前层所有神经元节点的所述神经元运算。
I矩阵和P转置矩阵的叉乘的第m组所述输入数据向量,第l层的第n个神经元节点的运算可以用以下矩阵乘累加以及随后的激活计算的公式表达:(2),所述激活计算可根据不同的应用具体选择,作为本发明的优选方案, 所述激活计算包括一偏置计算和一激活函数计算,得到最终第m组输入向量和第n个神经元的输出结果O(m,n),如下公式: (3) (4),其中,S为激活函数,所述激活函数选取S函数,也可以根据不同应用需求选取其他激活函数; th_bias为每个所述神经元的偏置参数,在所述矩阵乘累加完成后,来自于所述参数控制器读取的所述神经元参数存储器中的所述神经元参数。
作为本发明的优选方案,所述神经元基本运算单元包括两个一维向量乘累加和激活运算,运用公式进行计算,其中Ii为具有K个元素的一维所述输入数据向量,Pi为具有K个元素的一维所述神经元参数向量,其中i等于1到K, f为所述神经元节点激活运算函数。
作为本发明的优选方案,每个所述神经元节点的输入是所述输入层加载状态时加载的输入数据或上一层的运算结果,即所述输入层加载状态的输入是所述输入数据,所述输入层运算状态的输入是所述输入层加载状态加载的所述输入数据,所述隐含层运算状态的输入是所述输入层运算状态运算得到的所述输入层运算结果,所述输出层运算状态的输入是所述隐含层运算状态运算得到的所述隐含层运算结果,每个所述神经元节点的每一个所述输入向量元素对应有一个不同的权值参数,每一个所述神经元的计算包含一组所述输入向量元素和对应的所述权值参数相乘并累加,然后将累加的结果进行激活运算从而得到所述神经元的结果输出,不同所述神经元都具有相同的矩阵乘累加及所述激活运算结果,将所述相同的矩阵乘累加和激活运算结构抽取出来形成标准的所述神经元基本运算单元。
作为本发明的优选方案,所述状态控制模块、数据控制模块、神经元运算阵列模块和参数控制模块通过总线获得系统配置的参数,所述参数包括神经网络类型、数据结构、神经网络层数、神经元节点数、数据及参数存储起始地址、数据及参数存储偏移地址、数据及参数存储地址大小等参数,从而使得数据和参数的存取、状态控制等具有对不同神经网络类型和性能要求很好的适应性。
与现有技术相比,本发明的有益效果:
采用本发明ANNP集成电路,通过系统总线参数配置适应不同类型和性能要求的ANN运算,神经元运算阵列具有输入数据和神经元参数共用的神经元阵列运算结构特点,极大地提升了运算性能,同时有效地降低了数据访问带宽需求。
附图说明
图1为本发明ANNP集成电路框图;
图2为本发明ANNP集成电路各工作状态转移框图;
图3为本发明ANNP集成电路隐含层各工作状态转移框图;
图4为本发明一个神经元计算结构图;
图5为本发明一个神经元计算结构缩略图;
图6为本发明神经元运算阵列图。
具体实施方式
下面结合实施例及具体实施方式对本发明作进一步的详细描述,但不应将此理解为本发明上述主体的范围仅限于以下的实施例,凡基于本发明内容所实现的技术均属于本发明的范围。
如图1和图2所示,一种ANNP集成电路,包括状态控制模块、数据控制模块、参数控制模块和神经元运算阵列模块,状态控制模块用于检测数据控制模块、参数控制模块和神经元运算阵列模块的工作状态,在检测到各模块的工作状态后时同时生成整个集成电路当前的过程状态,控制数据控制模块、参数控制模块和神经元运算阵列模块进行同步工作,整个过程状态分为空闲状态、输入层加载状态、输入层运算状态、隐含层运算状态和输出层运算状态,在本实施例中隐含层分为4层,分别为第一隐含层、第二隐含层、第三隐含层和第四隐含层,分别对应第一隐含层运算状态到第四隐含层运算状态,神经元运算阵列模块分别与状态控制模块、参数控制模块和数据控制模块进行数据传输,进而进行神经元矩阵乘累加运算和激活运算,数据控制模块分别与神经元运算阵列模块、数据总线、第一运算结果缓存器和第二运算结果缓存器连接,并通过数据总线从输入数据缓存器中读取输入数据,将输入数据缓存器、第一运算结果缓存器或第二运算结果缓存器中的数据输送给神经元运算阵列模块进行运算,神经元运算阵列模块的运算结果由数据控制模块缓存入第一运算结果缓存器或第二运算结果缓存器中,参数控制模块在神经元运算阵列模块进行运算时读取神经元参数存储器中预存的神经元参数给神经元运算阵列模块进行运算在本实施例中,神经元参数存储器是FLASH。
输入数据缓存器中待处理数据数量超过阈值并且第一运算结果缓存器或第二运算结果缓存器为空时,空闲状态结束进入输入层加载状态,当输入层加载状态完成输入加载后进入输入层运算状态,当输入层运算状态运算完成后进入第一隐含层运算状态,当第一隐含层运算状态运算完成后进入第二隐含层运算状态,当第二隐含层运算状态运算完成后进入第三隐含层运算状态,当第三隐含层运算状态运算完成后进入第四隐含层运算状态,当第四隐含层运算状态运算完成后进入输出层运算状态,当输出层运算状态运算完成后回到空闲状态,依次循环,第一运算结果缓存器和第二运算结果缓存器的读写状态轮流替换,即第一运算结果缓存器和第二运算结果缓存器的读写状态不相同,只有在输出层运算状态除外,详细处理过程如下:数据控制模块在空闲状态时将输入数据缓存器的存储信息输出给状态控制模块,数据控制模块在输入层加载状态时加载输入数据,并将输入数据缓存入第一运算结果缓存器中,在输入层运算状态时,数据控制模块将第一运算结果缓存器中的数据输出给神经元运算阵列模块进行运算并将输入层运算结果缓存于第二运算结果缓存器中,在第一隐含层运算状态时,数据控制模块将第二运算结果缓存器中的输入层运算结果输出给神经元运算阵列模块进行运算并将第一隐含层运算结果缓存于第一运算结果缓存器中,依此类推,在剩余其他各层运算时,将前一层运算完的缓存入第一运算结果缓存器或第二运算结果缓存器的结果由数据控制模块读取并输出给当前层神经元运算阵列的输入, 前一层运算时用作数据输入读取的第一运算结果缓存器或第二运算结果缓存器用于存储当前层神经元运算阵列结果,在输出层运算状态时,数据控制模块将第二运算结果缓存器中的第四隐含层运算结果输出给神经元运算阵列模块进行运算并将输出层运算结果缓存于第一运算结果缓存器,当所述第一运算结果缓存器中的存储空间不够时,输出层运算结果会自动写入第二运算结果缓存器中未被占用或已完成读取的存储空间。
结合图1和图2,一种包含上述ANNP集成电路的集成电路设计方法,初始状态时,系统根据算法和应用配置ANNP人工神经网络类型、输入数据类型、输入层节点数、隐含层的层数及每层神经元节点数和输出层节点数,状态控制器检测数据控制模块和神经元运算阵列模块输出的信号,并确定整个ANNP处理器的过程状态,数据控制模块根据过程状态输出或者读取输入数据缓存器、第一运算结果缓存器或第二运算结果缓存器中的数据,参数控制模块读取神经元参数存储器中存储的神经元参数并输出给神经元运算阵列模块进行运算,神经元运算阵列模块根据数据控制模块和参数控制模块的输出进行运算,神经元运算阵列模块的运算结果缓存入第一运算结果缓存器或第二运算结果缓存器。本实施例中的输入数据缓存器是片内的RAM,神经元参数存储器是FLASH,第一运算结果缓存器和第二运算结果缓存器是多条具有双端口读写功能的RAM或者FIFO(先进先出存储器),在其他实施例中输入数据缓存器还可以是外部DRAM器件中的部分存储空间,神经元参数存储器还可以是片内RAM或者外部DRAM器件中部分存储空间, 由系统在开机时从外部FLASH中导入到片内RAM中或者片外DRAM中。
如图2、图3和图4所示,每个神经元节点的输入是输入数据或者上一层的运算结果,即输入层加载状态的输入是输入数据,输入层运算状态的输入是输入层加载状态加载的输入数据,第一隐含层运算状态的输入是输入层运算状态运算得到的输入层运算结果,以此类推,输出层运算状态的输入是第四隐含层运算状态运算得到的第四隐含层运算结果,每个神经元节点的每一个输入向量元素I对应有一个不同的权值参数P,一个神经元节点的计算包含一组输入向量和对应的权值参数向量相乘并累加,然后将累加的结果进行激活计算从而得到神经元的结果输出,不同神经元都具有相同的矩阵乘累加计算结构,将上述相同的矩阵乘累加计算结构抽取出来形成标准的神经元基本运算单元。
如图4、图5所示,图4和图5均表示的是一个神经元基本运算单元的计算结构图,图中I表示一组一维输入数据向量, P表示一组一维神经元参数向量,输入数据向量和神经元参数向量中的元素数据按周期同步依次输入,输入数据向量的元素数据与对应的神经元参数向量的元素数据相乘,然后送入累加器累加,当一组输入数据向量全部输入完成乘累加后进行激活运算,图中的X表示乘法,∑表示累加,f表示激活计算函数,具体激活函数的公式可以根据应用选择,具体公式如下,(5)在本实例中,f函数包含一偏置计算和一Sigmoid函数计算,具体如下: (6),其中S为sigmoid函数。
如图6所示,神经元运算阵列模块可以同时进行m组输入数据向量及n个神经元节点的阵列计算,神经元运算阵列就是由m*n个神经元基本运算单元组成的矩阵阵列运算。神经元运算阵列的大小m, n的值可以系统配置,本实施例中神经元运算阵列从横向看由m个神经元并行运算链路组成,每个链路上有n个神经元基本运算单元,每个运算链路分别连接n个神经元参数向量及共用一组输入数据向量;本实施例中神经元运算阵列从纵向看由n个神经元并行运算链路组成,每个链路上有m个神经元基本运算单元, 每个运算链路分别连接m组输入数据向量及共用一组神经元参数向量,通过输入数据和神经元参数的共享,可以大幅降低系统需要总线带宽。图6是神经元运算阵列结构图,图中的P1、P2到Pn表示n个一维神经元参数向量,本实施例中n等于64,I1、I2、到Im表示m组一维输入数据向量,本实施例中m等于64,在具体运行中,m和n可以从1到64可配,本实施例的神经元运算阵列一次性可以进行64乘64次的神经元计算,数据带宽和参数带宽下降到原来的1/64,运算性能提升4096倍。

Claims (12)

1.一种ANNP处理器集成电路,其包括:
神经元运算阵列模块,所述神经元运算阵列模块进行多个神经元的矩阵乘累加运算和激活函数运算;
数据控制模块,所述数据控制模块分别与所述神经元运算阵列模块、数据总线、第一运算结果缓存器和第二运算结果缓存器连接,并通过所述数据总线读取输入数据缓存器中的数据,所述数据控制模块读取所述输入数据缓存器、第一运算结果缓存器或第二运算结果缓存器中的数据输送给所述神经元运算阵列模块作为所述神经元运算阵列模块的输入并将所述神经元运算阵列模块的运算结果缓存入所述第一运算结果缓存器或第二运算结果缓存器中;
参数控制模块,所述参数控制模块分别与所述神经元运算阵列模块和数据总线连接,并通过所述数据总线读取神经元参数存储器中预存的神经元参数输出给所述神经元运算阵列模块进行运算;
状态控制模块,所述状态控制模块分别与所述神经元运算阵列模块、数据控制模块、参数控制模块和数据总线连接,所述状态控制模块检测所述神经元运算阵列模块、参数控制模块和数据控制模块的工作状态,同时生成当前的过程状态,并控制所述神经元运算阵列模块、参数控制模块和数据控制模块根据所述过程状态进行同步工作。
2.根据权利要求1所述的ANNP集成电路,其特征在于:所述过程状态分为空闲状态、输入层加载状态、输入层运算状态、隐含层运算状态和输出层运算状态,当所述输入数据缓存器中待处理数据数量超过阈值并且所述第一运算结果缓存器或所述第二运算结果缓存器为空时,所述空闲状态结束进入所述输入层加载状态,当所述输入层加载状态完成输入加载后进入所述输入层运算状态,当所述输入层运算状态运算完成后进入所述隐含层运算状态,当所述隐含层运算状态运算完成后进入所述输出层运算状态,当所述输出层运算状态运算完成后回到所述空闲状态。
3.根据权利要求2所述的ANNP集成电路,其特征在于:所述第一运算结果缓存器和第二运算结果缓存器的读写状态轮流替换,即所述第一运算结果缓存器为读取缓存器时,所述第二运算结果缓存器为写入缓存器,所述第一运算结果缓存器为写入缓存器时,所述第二运算结果缓存器为读取缓存器,当所述第一运算结果缓存器或第二运算结果缓存器在前一层运算时是读取缓存器,则在当前层运算的时候是写入缓存器,当所述第二运算结果缓存器或第一运算结果缓存器在所述前一层运算时是写入缓存器,则所述第二运算结果缓存器或第一运算结果缓存器在所述当前层运算时是读取缓存器。
4.根据权利要求3所述的ANNP集成电路,其特征在于:所述ANN的隐含层分为A个层,A为大于或等于1的正整数,分别为第一隐含层至第A隐含层,所述隐含层运算状态分为第一隐含层运算状态至第A隐含层运算状态。
5.根据权利要求4所述的ANNP集成电路,其特征在于:所述数据控制模块在所述空闲状态时将所述输入数据缓存器的存储信息输出给所述状态控制模块,所述数据控制模块在所述输入层加载状态时加载输入数据,并将所述输入数据缓存入所述第一运算结果缓存器或第二运算结果缓存器中,在所述输入层运算状态时,所述数据控制模块将所述第一运算结果缓存器或第二运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算并将输入层运算结果缓存于所述第二运算结果缓存器或第一运算结果缓存器中,在所述第一隐含层运算状态时,所述数据控制模块将所述第二运算结果缓存器或第一运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算,并将第一隐含层运算结果缓存于所述第一运算结果缓存器或第二运算结果缓存器中,以此类推,在所述第A隐含层运算状态时,若A为偶数,则所述数据控制模块将所述第一运算结果缓存器或第二运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算,并将第A隐含层运算结果缓存于所述第二运算结果缓存器或第一运算结果缓存器中,若A为奇数,则所述数据控制模块将所述第二运算结果缓存器或第一运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算,并将第A隐含层运算结果缓存于所述第一运算结果缓存器或第二运算结果缓存器中,在所述输出层运算状态时,若A为偶数,则所述数据控制模块将所述第二运算结果缓存器或第一运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算,并将所述输出层运算结果缓存于所述第一运算结果缓存器或第二运算结果缓存器中,当所述第一运算结果缓存器中或第二运算结果缓存器的存储空间不够时,所述输出层运算结果会自动写入所述第二运算结果缓存器或第一运算结果缓存器中未被占用或已完成读取的存储空间,若A为奇数,则所述数据控制模块将所述第一运算结果缓存器或第二运算结果缓存器中的数据输出给所述神经元运算阵列模块进行运算,并将输出层运算结果缓存于所述第二运算结果缓存器或第一运算结果缓存器中,当所述第二运算结果缓存器或第一运算结果缓存器中的存储空间不够时,所述输出层运算结果会自动写入所述第一运算结果缓存器或第二运算结果缓存器中未被占用或已完成读取的存储空间。
6.一种包含了权利要求1所述的ANNP集成电路的集成电路设计方法,其特征在于,该设计方法包括:
根据算法和应用通过系统配置ANNP的人工神经网络类型,输入数据类型,输入层神经元的输入向量大小、向量组数、滑窗大小及节点数,隐含层的层数及每层神经元节点的数量,输出层神经元节点数和输出向量大小;
所述状态控制器检测所述数据控制模块和神经元运算阵列模块输出的信号,确定整个ANNP的过程状态,并控制所述神经元运算阵列模块、参数控制模块和数据控制模块根据所述过程状态进行同步工作;
所述数据控制模块根据所述过程状态输出或者读取数据;
所述参数控制模块读取所述神经元参数存储器中存储的神经元参数并输出给所述神经元运算阵列模块进行运算;
所述神经元运算阵列模块根据所述数据控制模块和所述参数控制模块的输出进行运算;
所述神经元运算阵列模块通过所述数据控制模块从所述输入数据缓存器、第一运算结果缓存器或第二运算结果缓存器获得数据进行运算并将运算结果缓存入所述第一运算结果缓存器或第二运算结果缓存器。
7.据权利要求6所述的集成电路设计方法,其特征在于:所述神经元运算阵列模块可以同时进行多组输入数据向量及多个神经元节点的并行计算,所述每个神经元节点与一组神经元参数向量连接,所述神经元运算阵列模块的阵列大小可以配置。
8.据权利要求7所述的集成电路设计方法,其特征在于:所述神经元运算阵列由m组输入数据向量I和n组神经元参数向量P连接的m*n个神经元基本运算单元组成,m≥1, n≥1,所述神经元运算阵列可看作n个神经元运算链路一组成,每个所述神经元运算链路一上有m个所述神经元基本运算单元,分别连接m组输入数据向量I并共用一组神经元参数向量P;所述神经元运算阵列还可看作由m个神经元运算链路二组成,每个所述神经元运算链路二上有n个所述神经元基本运算单元,分别连接n组神经元参数向量P及共用一组输入数据向量I,从而所述神经元运算阵列一次性进行m*n次的所述神经元基本运算单元的运算,同时读取所述输入数据向量和所述神经元参数的带宽需求分别下降到原来的1/n和1/m。
9.据权利要求8所述的集成电路设计方法,其特征在于:所述神经元运算阵列运用公式进行计算,其中 I是由m组所述输入数据向量组成的二维矩阵,每组所述输入数据向量由K个元素组成, P是由n组所述神经元参数向量组成的二维矩阵,每组所述神经元参数向量由K个元素组成,K为大于1的正整数,O为m行n列的二维输出结果转置矩阵;f为神经元节点激活运算函数,所述神经元节点激活运算函数包含一偏置计算和一激活函数计算。
10.据权利要求9所述的集成电路设计方法,其特征在于:所述神经元基本运算单元包括两个一维向量乘累加和激活运算,运用公式进行计算, 其中Ii为具有K个元素的一维所述输入数据向量,Pi为具有K个元素的一维所述神经元参数向量,其中i等于1到K, f为所述神经元节点激活运算函数。
11.据权利要求6所述的集成电路设计方法,其特征在于:每个所述神经元节点的输入是所述输入层加载状态时加载的输入数据或上一层的运算结果,即所述输入层加载状态的输入是所述输入数据,所述输入层运算状态的输入是所述输入层加载状态加载的所述输入数据,所述隐含层运算状态的输入是所述输入层运算状态运算得到的所述输入层运算结果,所述输出层运算状态的输入是所述隐含层运算状态运算得到的所述隐含层运算结果,每个所述神经元节点的每一个所述输入向量元素对应有一个不同的权值参数,每一个所述神经元的计算包含一组所述输入向量元素和对应的所述权值参数相乘并累加,然后将累加的结果进行激活运算从而得到所述神经元的结果输出,不同所述神经元都具有相同的矩阵乘累加及所述激活运算结果,将所述相同的矩阵乘累加和激活运算结构抽取出来形成标准的所述神经元基本运算单元。
12.据权利要求6所述的集成电路设计方法,其特征在于:所述状态控制模块、数据控制模块、神经元运算阵列模块和参数控制模块通过总线获得系统配置的参数。
CN201610327324.5A 2016-05-17 2016-05-17 人工神经网络处理器集成电路及该集成电路的设计方法 Active CN106022468B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610327324.5A CN106022468B (zh) 2016-05-17 2016-05-17 人工神经网络处理器集成电路及该集成电路的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610327324.5A CN106022468B (zh) 2016-05-17 2016-05-17 人工神经网络处理器集成电路及该集成电路的设计方法

Publications (2)

Publication Number Publication Date
CN106022468A true CN106022468A (zh) 2016-10-12
CN106022468B CN106022468B (zh) 2018-06-01

Family

ID=57097522

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610327324.5A Active CN106022468B (zh) 2016-05-17 2016-05-17 人工神经网络处理器集成电路及该集成电路的设计方法

Country Status (1)

Country Link
CN (1) CN106022468B (zh)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107016175A (zh) * 2017-03-23 2017-08-04 中国科学院计算技术研究所 适用神经网络处理器的自动化设计方法、装置及优化方法
CN107103113A (zh) * 2017-03-23 2017-08-29 中国科学院计算技术研究所 面向神经网络处理器的自动化设计方法、装置及优化方法
CN107563502A (zh) * 2017-09-09 2018-01-09 胡明建 一种可编码多态输出人工神经元的设计方法
CN107609640A (zh) * 2017-10-01 2018-01-19 胡明建 一种阀值择端分级电位式人工神经元的设计方法
CN108133268A (zh) * 2016-12-01 2018-06-08 上海兆芯集成电路有限公司 具有可作为牺牲高速缓存或神经网络单元存储器操作的存储器阵列的处理器
WO2018103472A1 (zh) * 2016-12-09 2018-06-14 杭州海康威视数字技术股份有限公司 一种应用于深度学习网络的缓存优化方法及装置
WO2018112699A1 (zh) * 2016-12-19 2018-06-28 上海寒武纪信息科技有限公司 人工神经网络反向训练装置和方法
WO2018133567A1 (zh) * 2017-01-20 2018-07-26 清华大学 神经元权重信息处理方法和系统、神经元信息处理方法和系统及计算机设备
CN108334944A (zh) * 2016-12-23 2018-07-27 北京中科寒武纪科技有限公司 一种人工神经网络运算的装置及方法
CN108345936A (zh) * 2018-01-31 2018-07-31 清华大学 一种基于内部状态标志的神经形态芯片、系统及方法
CN108573304A (zh) * 2017-03-09 2018-09-25 谷歌有限责任公司 硬件中转置神经网络矩阵
CN109086075A (zh) * 2017-10-30 2018-12-25 上海寒武纪信息科技有限公司 人工智能处理器及使用处理器执行矩阵乘向量指令的方法
CN109359732A (zh) * 2018-09-30 2019-02-19 阿里巴巴集团控股有限公司 一种芯片及基于其的数据处理方法
CN109409510A (zh) * 2018-09-14 2019-03-01 中国科学院深圳先进技术研究院 神经元电路、芯片、系统及其方法、存储介质
CN109816105A (zh) * 2019-01-16 2019-05-28 北京时代民芯科技有限公司 一种可配置的神经网络激活函数实现装置
CN109976887A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 调度方法及相关装置
CN110036367A (zh) * 2018-08-15 2019-07-19 深圳鲲云信息科技有限公司 一种ai运算结果的验证方法及相关产品
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
CN110147873A (zh) * 2018-05-18 2019-08-20 北京中科寒武纪科技有限公司 卷积神经网络的处理器及训练方法
CN110178146A (zh) * 2018-01-15 2019-08-27 深圳鲲云信息科技有限公司 反卷积器及其所应用的人工智能处理装置
CN110909872A (zh) * 2017-12-14 2020-03-24 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
WO2020062299A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 一种神经网络处理器、数据处理方法及相关设备
CN111260025A (zh) * 2016-12-30 2020-06-09 上海寒武纪信息科技有限公司 用于执行lstm神经网络运算的装置和运算方法
CN113570034A (zh) * 2021-06-18 2021-10-29 北京百度网讯科技有限公司 处理装置、神经网络的处理方法及其装置
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
CN114970406A (zh) * 2022-05-30 2022-08-30 中昊芯英(杭州)科技有限公司 数字集成电路的定制方法、装置、介质和计算设备
CN114997392A (zh) * 2022-08-03 2022-09-02 成都图影视讯科技有限公司 用于神经网络计算的架构以及架构方法
CN115358381A (zh) * 2022-09-01 2022-11-18 清华大学 光学全加器及其神经网络设计方法、设备及介质
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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
RU2420803C1 (ru) * 2009-12-23 2011-06-10 Федеральное государственное учреждение "Межотраслевой научно-технический комплекс "Микрохирургия глаза" имени академика С.Н. Федорова Федерального агентства по высокотехнологичной медицинской помощи" Локальная компьютерная офтальмомикрохирургическая сеть витреоретинальных операций
CN105095967B (zh) * 2015-07-16 2018-02-16 清华大学 一种多模态神经形态网络核
CN205139973U (zh) * 2015-10-26 2016-04-06 中国人民解放军军械工程学院 基于fpga器件构建的bp神经网络

Cited By (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108133268B (zh) * 2016-12-01 2020-07-03 上海兆芯集成电路有限公司 具有存储器阵列的处理器
CN108133268A (zh) * 2016-12-01 2018-06-08 上海兆芯集成电路有限公司 具有可作为牺牲高速缓存或神经网络单元存储器操作的存储器阵列的处理器
CN108615077A (zh) * 2016-12-09 2018-10-02 杭州海康威视数字技术股份有限公司 一种应用于深度学习网络的缓存优化方法及装置
WO2018103472A1 (zh) * 2016-12-09 2018-06-14 杭州海康威视数字技术股份有限公司 一种应用于深度学习网络的缓存优化方法及装置
CN108615077B (zh) * 2016-12-09 2021-08-24 杭州海康威视数字技术股份有限公司 一种应用于深度学习网络的缓存优化方法及装置
WO2018112699A1 (zh) * 2016-12-19 2018-06-28 上海寒武纪信息科技有限公司 人工神经网络反向训练装置和方法
CN108334944A (zh) * 2016-12-23 2018-07-27 北京中科寒武纪科技有限公司 一种人工神经网络运算的装置及方法
CN108334944B (zh) * 2016-12-23 2020-04-17 中科寒武纪科技股份有限公司 一种人工神经网络运算的装置及方法
CN111260025A (zh) * 2016-12-30 2020-06-09 上海寒武纪信息科技有限公司 用于执行lstm神经网络运算的装置和运算方法
CN111260025B (zh) * 2016-12-30 2023-11-14 上海寒武纪信息科技有限公司 用于执行lstm神经网络运算的装置和运算方法
WO2018133567A1 (zh) * 2017-01-20 2018-07-26 清华大学 神经元权重信息处理方法和系统、神经元信息处理方法和系统及计算机设备
US11704547B2 (en) 2017-03-09 2023-07-18 Google Llc Transposing neural network matrices in hardware
CN108573304A (zh) * 2017-03-09 2018-09-25 谷歌有限责任公司 硬件中转置神经网络矩阵
TWI765168B (zh) * 2017-03-09 2022-05-21 美商谷歌有限責任公司 用於硬體中之轉置神經網路矩陣之方法、系統及電腦儲存媒體
CN108573304B (zh) * 2017-03-09 2022-07-26 谷歌有限责任公司 硬件中转置神经网络矩阵
WO2018171715A1 (zh) * 2017-03-23 2018-09-27 中国科学院计算技术研究所 适用神经网络处理器的自动化设计方法及系统
WO2018171717A1 (zh) * 2017-03-23 2018-09-27 中国科学院计算技术研究所 面向神经网络处理器的自动化设计方法和系统
CN107016175B (zh) * 2017-03-23 2018-08-31 中国科学院计算技术研究所 适用神经网络处理器的自动化设计方法、装置及优化方法
CN107103113B (zh) * 2017-03-23 2019-01-11 中国科学院计算技术研究所 面向神经网络处理器的自动化设计方法、装置及优化方法
CN107016175A (zh) * 2017-03-23 2017-08-04 中国科学院计算技术研究所 适用神经网络处理器的自动化设计方法、装置及优化方法
CN107103113A (zh) * 2017-03-23 2017-08-29 中国科学院计算技术研究所 面向神经网络处理器的自动化设计方法、装置及优化方法
US11216717B2 (en) 2017-04-04 2022-01-04 Hailo Technologies Ltd. Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements
US11263512B2 (en) 2017-04-04 2022-03-01 Hailo Technologies Ltd. Neural network processor incorporating separate control and data fabric
US11461615B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. System and method of memory access of multi-dimensional data
US11461614B2 (en) 2017-04-04 2022-10-04 Hailo Technologies Ltd. Data driven quantization optimization of weights and input data in an artificial neural network
US11514291B2 (en) 2017-04-04 2022-11-29 Hailo Technologies Ltd. Neural network processing element incorporating compute and local memory elements
US11354563B2 (en) 2017-04-04 2022-06-07 Hallo Technologies Ltd. Configurable and programmable sliding window based memory access in a neural network processor
US11615297B2 (en) 2017-04-04 2023-03-28 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network compiler
US11675693B2 (en) 2017-04-04 2023-06-13 Hailo Technologies Ltd. Neural network processor incorporating inter-device connectivity
US10387298B2 (en) 2017-04-04 2019-08-20 Hailo Technologies Ltd Artificial neural network incorporating emphasis and focus techniques
US11544545B2 (en) 2017-04-04 2023-01-03 Hailo Technologies Ltd. Structured activation based sparsity in an artificial neural network
US11238334B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method of input alignment for efficient vector operations in an artificial neural network
US11238331B2 (en) 2017-04-04 2022-02-01 Hailo Technologies Ltd. System and method for augmenting an existing artificial neural network
US11551028B2 (en) 2017-04-04 2023-01-10 Hailo Technologies Ltd. Structured weight based sparsity in an artificial neural network
CN107563502A (zh) * 2017-09-09 2018-01-09 胡明建 一种可编码多态输出人工神经元的设计方法
CN107609640A (zh) * 2017-10-01 2018-01-19 胡明建 一种阀值择端分级电位式人工神经元的设计方法
US11762631B2 (en) 2017-10-30 2023-09-19 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device
US11922132B2 (en) 2017-10-30 2024-03-05 Shanghai Cambricon Information Technology Co., Ltd. Information processing method and terminal device
CN109086075A (zh) * 2017-10-30 2018-12-25 上海寒武纪信息科技有限公司 人工智能处理器及使用处理器执行矩阵乘向量指令的方法
CN109086075B (zh) * 2017-10-30 2021-06-08 上海寒武纪信息科技有限公司 人工智能处理器及使用处理器执行矩阵乘向量指令的方法
CN110909872A (zh) * 2017-12-14 2020-03-24 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN110909872B (zh) * 2017-12-14 2023-08-25 中科寒武纪科技股份有限公司 集成电路芯片装置及相关产品
CN109976887A (zh) * 2017-12-28 2019-07-05 北京中科寒武纪科技有限公司 调度方法及相关装置
CN109976887B (zh) * 2017-12-28 2020-03-24 中科寒武纪科技股份有限公司 调度方法及相关装置
CN110178146B (zh) * 2018-01-15 2023-05-12 深圳鲲云信息科技有限公司 反卷积器及其所应用的人工智能处理装置
CN110178146A (zh) * 2018-01-15 2019-08-27 深圳鲲云信息科技有限公司 反卷积器及其所应用的人工智能处理装置
CN108345936B (zh) * 2018-01-31 2020-12-04 清华大学 一种基于内部状态标志的神经形态芯片、系统及方法
CN108345936A (zh) * 2018-01-31 2018-07-31 清华大学 一种基于内部状态标志的神经形态芯片、系统及方法
CN110147873B (zh) * 2018-05-18 2020-02-18 中科寒武纪科技股份有限公司 卷积神经网络的处理器及训练方法
CN110147873A (zh) * 2018-05-18 2019-08-20 北京中科寒武纪科技有限公司 卷积神经网络的处理器及训练方法
CN110036367A (zh) * 2018-08-15 2019-07-19 深圳鲲云信息科技有限公司 一种ai运算结果的验证方法及相关产品
WO2020034116A1 (zh) * 2018-08-15 2020-02-20 深圳鲲云信息科技有限公司 一种ai运算结果的验证方法及相关产品
CN109409510A (zh) * 2018-09-14 2019-03-01 中国科学院深圳先进技术研究院 神经元电路、芯片、系统及其方法、存储介质
WO2020062299A1 (zh) * 2018-09-30 2020-04-02 华为技术有限公司 一种神经网络处理器、数据处理方法及相关设备
US11361217B2 (en) 2018-09-30 2022-06-14 Advanced New Technologies Co., Ltd. Chip and chip-based data processing method
CN109359732A (zh) * 2018-09-30 2019-02-19 阿里巴巴集团控股有限公司 一种芯片及基于其的数据处理方法
CN109359732B (zh) * 2018-09-30 2020-06-09 阿里巴巴集团控股有限公司 一种芯片及基于其的数据处理方法
US11062201B2 (en) 2018-09-30 2021-07-13 Advanced New Technologies Co., Ltd. Chip and chip-based data processing method
CN109816105A (zh) * 2019-01-16 2019-05-28 北京时代民芯科技有限公司 一种可配置的神经网络激活函数实现装置
CN109816105B (zh) * 2019-01-16 2021-02-23 北京时代民芯科技有限公司 一种可配置的神经网络激活函数实现装置
US11237894B1 (en) 2020-09-29 2022-02-01 Hailo Technologies Ltd. Layer control unit instruction addressing safety mechanism in an artificial neural network processor
US11221929B1 (en) 2020-09-29 2022-01-11 Hailo Technologies Ltd. Data stream fault detection mechanism in an artificial neural network processor
US11263077B1 (en) 2020-09-29 2022-03-01 Hailo Technologies Ltd. Neural network intermediate results safety mechanism in an artificial neural network processor
US11811421B2 (en) 2020-09-29 2023-11-07 Hailo Technologies Ltd. Weights safety mechanism in an artificial neural network processor
CN113570034A (zh) * 2021-06-18 2021-10-29 北京百度网讯科技有限公司 处理装置、神经网络的处理方法及其装置
CN114970406A (zh) * 2022-05-30 2022-08-30 中昊芯英(杭州)科技有限公司 数字集成电路的定制方法、装置、介质和计算设备
CN114997392A (zh) * 2022-08-03 2022-09-02 成都图影视讯科技有限公司 用于神经网络计算的架构以及架构方法
CN114997392B (zh) * 2022-08-03 2022-10-21 成都图影视讯科技有限公司 用于神经网络计算的架构以及架构方法
CN115358381A (zh) * 2022-09-01 2022-11-18 清华大学 光学全加器及其神经网络设计方法、设备及介质

Also Published As

Publication number Publication date
CN106022468B (zh) 2018-06-01

Similar Documents

Publication Publication Date Title
CN106022468B (zh) 人工神经网络处理器集成电路及该集成电路的设计方法
CN108108809B (zh) 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法
CN107832804A (zh) 一种信息处理方法及相关产品
CN205139973U (zh) 基于fpga器件构建的bp神经网络
US20180157969A1 (en) Apparatus and Method for Achieving Accelerator of Sparse Convolutional Neural Network
Zainab et al. Fpga based implementations of rnn and cnn: A brief analysis
CN108647773B (zh) 一种可重构卷积神经网络的硬件互连系统
CN106951395A (zh) 面向压缩卷积神经网络的并行卷积运算方法及装置
CN108416436A (zh) 使用多核心处理模块进行神经网络划分的方法及其系统
CN106485317A (zh) 一种神经网络加速器以及神经网络模型的实现方法
CN110163357A (zh) 一种计算装置及方法
CN110321064A (zh) 用于神经网络的计算平台实现方法及系统
CN106156851A (zh) 面向深度学习业务的加速装置及方法
CN109934336A (zh) 基于最优结构搜索的神经网络动态加速平台设计方法及神经网络动态加速平台
CN107203808A (zh) 一种二值卷积装置及相应的二值卷积神经网络处理器
Hoffmann et al. A survey on CNN and RNN implementations
CN108717571A (zh) 一种用于人工智能的加速方法和装置
CN109657794A (zh) 一种基于指令队列的分布式深度神经网络性能建模方法
CN109670581A (zh) 一种计算装置及板卡
CN109359542A (zh) 基于神经网络的车辆损伤级别的确定方法及终端设备
Adel et al. Accelerating deep neural networks using FPGA
Johnson et al. WeightMom: Learning Sparse Networks using Iterative Momentum-based pruning
CN109978143B (zh) 一种基于simd架构的堆栈式自编码器及编码方法
CN114519425A (zh) 一种规模可扩展的卷积神经网络加速系统
Mukhopodhyay et al. The camel approach to stacked sensor smart cameras

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Artificial neural network processor integrated circuit and design method therefor

Effective date of registration: 20190611

Granted publication date: 20180601

Pledgee: Chengdu SME financing Company Limited by Guarantee

Pledgor: Chengdu leader Technology Co., Ltd.

Registration number: 2019510000065

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20200723

Granted publication date: 20180601

Pledgee: Chengdu SME financing Company Limited by Guarantee

Pledgor: CHIPINTELLI TECHNOLOGY Co.,Ltd.

Registration number: 2019510000065