CN105184366A - 一种时分复用的通用神经网络处理器 - Google Patents
一种时分复用的通用神经网络处理器 Download PDFInfo
- Publication number
- CN105184366A CN105184366A CN201510587534.3A CN201510587534A CN105184366A CN 105184366 A CN105184366 A CN 105184366A CN 201510587534 A CN201510587534 A CN 201510587534A CN 105184366 A CN105184366 A CN 105184366A
- Authority
- CN
- China
- Prior art keywords
- storage unit
- alu
- neural network
- unit controller
- 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
Links
Landscapes
- Advance Control (AREA)
- Memory System (AREA)
Abstract
本发明提供一种时分复用的通用神经网络处理器,包括:至少一个存储单元(100),用于存储指令和数据;至少一个存储单元控制器(101),其中每个存储单元控制器(101)与至少一个存储单元(100)中的一个相对应并对相应的存储单元(100)进行访问;至少一个算术逻辑单元(103),用于执行神经网络计算;以及控制单元(102),与至少一个存储单元控制器(101)和至少一个算术逻辑单元(103)相连以经由至少一个存储单元控制器(101)获得至少一个存储单元(100)存储的指令,并且解析该指令以控制至少一个算术逻辑单元(103)执行计算。本发明提供的神经网络处理器通用性较强,适用于计算大规模神经网络。
Description
技术领域
本发明涉及加速器和处理器体系结构及设计方法,具体涉及针对人工神经网络(ArtificialNeuralNetwork,简称ANN)的硬件加速技术。
背景技术
人工神经网络,简称神经网络,是一种运算模型,由大量的节点(或称神经元)相互连接构成。每个节点代表一种特定的输出函数,又称为激励函数(activationfunction),其可以是线性函数、斜面函数、阈值函数、S形函数和双极S形函数等。每两个节点间的连接都代表一个对于通过该连接的信号的加权重,称之为权重,这相当于神经网络的记忆。神经网络的输出则依网络的连接方式、权重和激励函数的不同而不同。神经网络自身通常都是对自然界某种算法或者函数的逼近,也可能是对一种逻辑策略的表达。
目前,神经网络的应用通常使用图形处理单元(GraphicsProcessingUnit,简称GPU)或现场可编程门阵列(FPGA)来实现。在使用GPU的实现中,由于GPU的运算效率较差,并且GPU的指令和结构都是针对图形/图像而不是针对神经网络的计算设计的,而图形/图像的计算和神经网络的计算有着很大差别,因此使用GPU计算神经网络会导致效率不高,并且GPU的指令是固定的,控制起来不够灵活;在使用FPGA的实现中,由于FPGA自身工作频率很难提高,因此制约了计算性能的进一步提高。
为解决上述效率、性能等问题,现有的神经网络加速器通常使用直接拓扑映射的方法,在结构上通过将神经网络全展开的方式设计一个与之拓扑结构一一对应的硬件结构,通过解析指令实现神经网络计算。这种方法的计算效率较高,但缺点也很突出:一方面,随着深度学习的普及,实际应用中所使用的神经网络规模越来越庞大,拓扑映射的方法难以适用;另一方面,采用拓扑映射的方法设计的加速器只适用于一种特定结构的神经网络,而不能适用于其他结构的神经网络,即无法在相同的硬件加速器上运行不同的神经网络算法。
综上,现有的神经网络加速器不适用于计算大规模的神经网络且通用性较差。
发明内容
为解决上述现有神经网络加速器存在的缺陷,根据本发明的一个实施例,提供一种时分复用的通用神经网络处理器,包括:
至少一个存储单元(100),用于存储指令和数据;
至少一个存储单元控制器(101),其中每个存储单元控制器(101)与所述至少一个存储单元(100)中的一个相对应,用于对相应的存储单元(100)进行访问;
至少一个算术逻辑单元(103),用于执行神经网络计算;以及
控制单元(102),与所述至少一个存储单元控制器(101)和所述至少一个算术逻辑单元(103)相连,用于经由所述至少一个存储单元控制器(101)获得所述至少一个存储单元(100)存储的指令,并且解析该指令以时分复用地控制所述至少一个算术逻辑单元(103)执行计算。
上述通用神经网络处理器中,所述控制单元(102)包括:
译码子单元,用于对经由所述至少一个存储单元控制器(101)从所述至少一个存储单元(100)获得的指令进行解析;以及
调度子单元,用于根据所述译码子单元的解析结果,对所述至少一个存储单元控制器(101)和所述至少一个算术逻辑单元(103)发送控制信号,以调度至少一个存储单元控制器(101)和所述至少一个算术逻辑单元(103)进行操作。
上述通用神经网络处理器中,所述控制单元(102)用于根据解析指令得到的微操作,控制所述至少一个算术逻辑单元(103)彼此并行且独立地执行计算,其中计算所涉及的数据彼此独立。
上述通用神经网络处理器中,所述控制单元(102)用于根据解析指令得到的微操作,控制所述至少一个算术逻辑单元(103)中的每个算术逻辑单元(103)顺序地计算神经元响应值。
上述通用神经网络处理器中,所述控制单元(102)根据解析的指令所指示的顺序,控制每个算术逻辑单元(103)在不同时段计算不同神经元的响应值。
上述通用神经网络处理器中,所述控制单元(102)用于根据解析指令得到的微操作向所述至少一个存储单元控制器(101)发送控制信号,并由所述至少一个存储单元控制器(101)通过访问相应的存储单元(100)向所述算术逻辑单元(103)发送神经元响应值计算所涉及的数据;所述控制单元(102)还用于根据解析指令得到的微操作向所述算术逻辑单元(103)发送控制信号,以根据解析得到的激励函数控制所述算术逻辑单元(103)使用从所述至少一个存储单元控制器(101)获得的数据执行一次神经元响应值的计算。
上述通用神经网络处理器中,所述控制单元(102)还用于控制所述算术逻辑单元(103)将计算结果发送给所述至少一个存储单元控制器(101),由所述至少一个存储单元控制器(101)将该计算结果写入相应的存储单元(100)。
上述通用神经网络处理器中,所述至少一个算术逻辑单元(103)中的每个算术逻辑单元(103)包括用于执行激励函数计算的运算部件。
上述通用神经网络处理器还可以包括:至少一个输入输出接口(104),与所述控制单元(102)和所述至少一个存储单元控制器(101)相连,用于访问外部数据源。所述控制单元(102)还根据解析指令得到的微操作向所述至少一个输入输出接口(104)发送控制信号,由所述至少一个输入输出接口(104)将从外部数据源获得的数据发送给所述至少一个存储单元控制器(101),并由所述至少一个存储单元控制器(101)将该数据写入相应的存储单元(100)。
上述通用神经网络处理器中,每个存储单元(100)可由一个或多个数据存储部件组成,并且每个算术逻辑单元(103)与所述至少一个存储单元(100)中的一个或多个数据存储部件相关联。
本发明提供的神经网络处理器通用性强,适用于计算大规模神经网络,并且解决了现有神经网络加速器由于采用拓扑映射方式而导致的硬件开销及功耗大的问题。
此外,本发明提供的神经网络处理器可应用于文字处理、语音识别与处理、多国语言翻译、图像识别、视频识别、生物特征识别、智能控制等领域,可用作智能计算处理器,也可以用作用于机器人、智能硬件等领域的控制处理器,可用于构建大规模神经网络计算超级计算机,用于实现高智能、大规模大脑模拟、类脑计算、类人计算,也可用于移动设备、机器人等移动场景,可结合低功耗计算,实现无缝智能。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1是根据本发明一个实施例的通用神经网络处理器的结构框图;
图2是根据本发明一个实施例的线性激励函数的计算方法示意图;
图3是根据本发明一个实施例的神经网络中同一层神经元响应值的计算方法示意图;
图4是根据本发明一个实施例的神经网络中神经元响应值的计算方法示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
根据本发明的一个实施例,提供一种时分复用的通用神经网络处理器。
概括而言,本发明提供的通用神经网络处理器(后文或简称处理器)采用基于存储-控制-计算的结构。其中:
存储包括:存储单元,用于存储指令和数据;存储单元控制器,用于根据访存地址来控制存储单元的读写;以及,输入输出接口,用于负责与外部数据源进行数据交换。
计算包括:算术逻辑单元,用于负责处理器中的计算操作。
控制包括:控制单元,用于解析指令生成控制信号,以控制算术逻辑单元实现神经网络中的计算操作。
需要说明的是,本发明提供的处理器可以是针对神经网络计算而设计的一个微处理器,也可以仅是微处理器的一部分,用于协助和加速微处理器计算。
下文将结合图1详细描述该通用神经网络处理器的结构。
参见图1,该处理器包括存储单元100、存储单元控制器101、控制单元102、算术逻辑单元103和输入输出接口104。存储单元100用于存储指令和数据,其中,指令被解析来实现神经网络计算,数据可包括已经计算得到的神经元响应值、已经训练好的神经网络权重和偏置等。存储单元控制器101与存储单元100相关联并且用于对存储单元100进行访问。控制单元102分别与存储单元控制器101、算术逻辑单元103和输入输出接口104相连,控制单元102经由存储单元控制器101获得保存在存储单元100中的指令并且解析该指令,控制单元102可根据解析指令得到的微操作控制算术逻辑单元103进行神经网络计算。
现分别描述该处理器的各个部分:
1)存储单元100
本领域技术人员应理解,存储单元100可以整体作为一个数据存储部件,用于存储指令、已经训练好的神经网络权重、偏置和计算过程中的中间数据等;也可以包括多个数据存储部件,用于分别存储指令、已经训练好的神经网络权重、偏置和计算过程中的中间数据等。每个数据存储部件可以包括寄存器、移位寄存器和存储器。其中,移位寄存器可以是任意数量的并且具有任意的比特宽度,移位寄存器可以例如包括触发器。存储器可以通过触发器、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或者任何其他类型的存储器来实现。
举例来说,存储单元100可存储诸如适于神经网络处理的图像数据,该图像数据可根据任意颜色模型(如RGB颜色模型)来编码。图像数据包括图像中每个像素的任意数量的比特(像素指图形图像中的一个单点)。其中,单个像素的图像数据可以存储在一个数据存储部件中,或者存储在任何数量的数据存储部件中;而多个像素的图像数据也可以存储在一个数据存储部件中。
此外,优选地,算术逻辑单元103可以与存储单元100中的一个或多个数据存储部件相关联,即,这个/这些数据存储部件用于存储该算术逻辑单元103的计算涉及的数据。这样做的好处在于:当针对算术逻辑单元103的计算从存储单元100读取数据时,仅需要从与该算术逻辑单元103相关联的存储部件进行读取,这与从所有存储部件读取数据相比,硬件和控制开销较小。
2)存储单元控制器101
存储单元控制器101用于对存储单元100进行访问(读/写),例如,存储单元控制器101可以在存储单元100中对某个像素的图像数据寻址。概括来说,存储单元控制器101被配置为接收由控制单元102通过控制信号发送的访存模式和地址信息,并且根据该访存模式和地址信息对存储单元100中的相应位置进行访问。
具体而言,为实现对存储单元100的访问,存储单元控制器101可包括控制装置(图1未示出)。在一个实施例中,该控制装置可以包括通用存储器控制单元,用于根据地址信息(如控制单元102发送的地址信息)选中存储单元100中的任意一个数据存储部件进行读写。而在另一个实施例中,该控制装置可以包括行存储器控制单元,用于根据地址信息选中存储单元100中的一行进行读写。
在进一步的实施例中,存储单元控制器101还可以包括数据缓冲器(图1未示出),例如高速缓存。该数据缓冲器可以是任何尺寸的,并且可以由触发器、SRAM、DRAM或者任何其他类型的存储器来实现。该数据缓冲器可以包括写入缓冲器和读取缓冲器。其中,写入缓冲器可以暂时保持将写入存储单元100的数据,而读取缓冲器可以暂时保持从存储单元100读取的数据。可以按照一定的时间间隔来同步数据缓冲器与存储单元100的数据存储部件中的数据,或者可以在需要时使数据缓冲器与存储单元100中的数据一致。在一个实施例中,存储单元控制器101可以被配置为对数据缓冲器进行并行写操作和并行读操作。
3)控制单元102
本领域技术人员应理解,控制单元102本身可以是微控制器。如上文所述,控制单元102与存储单元控制器101、算术逻辑单元103和输入输出接口104相连。
概括而言,控制单元102间接地经由存储单元控制器101对存储单元100寻址,并且获得由存储单元控制器101返回的在存储单元100中存储的指令;接着,控制单元102对该指令进行解析(译码),得到一个或多个微操作;然后,控制单元102根据解析得到的微操作向存储单元控制器101和算术逻辑单元103发送控制信号(必要时,还向输入输出接口104发送控制信号),用于调度算术逻辑单元103进行神经网络计算。
为实现上述译码和调度功能,控制单元102可包括译码子单元和调度子单元。其中,译码子单元用于对经由存储单元控制器101从存储单元100取出的指令进行解析,即将指令翻译成若干微操作。调度子单元用于根据译码子单元的解析结果,向存储单元控制器101和算术逻辑单元103发送控制信号,必要时还要向输入输出接口104发送控制信号。存储单元控制器101、算术逻辑单元103和输入输出接口104根据调度子单元发送的控制信号来进行工作。
具体而言,如果指令解析后的结果指示无需用到外部数据,则调度子单元向存储单元控制器101和算术逻辑单元103发送控制信号。存储单元控制器101在接收到控制信号后,根据控制信号中包括的访存模式和地址信息从存储单元100读取数据并发送给算术逻辑单元103,算术逻辑单元103则根据调度子单元发送的控制信号使用从存储单元控制器101(访问存储单元100)得到的数据进行相应的神经网络计算,并将计算结果返回控制单元102,由控制单元102通过存储单元控制器101将该计算结果写入存储单元100。或者,在另一个实施例中,由控制单元102控制算术逻辑单元103通过存储单元控制器101将该计算结果写入存储单元100。其中,在算术逻辑单元103与存储单元100中的一个或多个数据存储部件相关联的情况下,将该算术逻辑单元103的计算结果写入存储单元100中相关联的一个或多个数据存储部件。如果指令解析后的结果指示需要用到外部数据,则调度子单元还向输入输出接口104发送控制信号,由输入输出接口104从外部数据源获得所需的数据并传送给存储单元控制器101,由存储单元控制器101将其写入存储单元100(例如覆盖旧数据),并且由存储单元控制器101发送给算术逻辑单元103以执行相应计算。
其中,对于算术逻辑单元103,控制单元102可根据解析指令得到的微操作顺序地控制该算术逻辑单元103进行计算(按解析指令得到的顺序在不同时间段计算不同神经元的响应值)。具体地,在第一个时间段控制该算术逻辑单元103根据解析指令得到的第一激励函数及其他信息,使用从存储单元100获得的第一组数据进行计算;在第二个时间段控制该算术逻辑单元103根据解析指令得到的第二激励函数及其他信息,使用从存储单元100获得的第二组数据进行计算;以此类推。从而实现了该算术逻辑单元103的时分复用。
在进一步的实施例中,控制单元102还可以包括数据缓冲器(例如高速缓存)。该数据缓冲器可以是任何尺寸的,并且可以通过触发器、SRAM、DRAM或者任何其他类型的存储器来实现。该数据缓冲器可缓存例如经由存储单元控制器101从存储单元100中读取的指令。
4)算术逻辑单元103
如上文所述,算术逻辑单元103用于根据控制单元102的控制信号来执行相应的计算。算术逻辑单元103还可以与存储单元100中的一个或多个数据存储部件相关联,算术逻辑单元103可以从与其相关联的存储单元100中的数据存储部件获得数据以进行计算,并且可以(例如经由存储单元控制器101)向该相关联的数据存储部件写入数据(如计算结果)。
为实现神经网络计算(如计算神经元响应值),算术逻辑单元103可以包括加法器、乘法器、除法器、比较器(基本运算器)和查找表,以及用于完成激励函数计算的其它运算部件。
算术逻辑单元103可被控制单元102(例如,通过控制单元102发送的控制信号)配置成计算不同的激励函数,以实现时分复用。例如,在上述顺序执行的每次神经元响应值计算中,算术逻辑单元103可能使用不同的激励函数。在一个实施例中,可通过加法器、乘法器等基本运算器将算术逻辑单元103配置为计算各种激励函数。在另一个实施例中,也可以将算术逻辑单元103配置为通过查找表来计算激励函数,即根据输入直接在查找表中查找对应的函数值。在又一个实施例中,还可以将算术逻辑单元103配置为对激励函数中的指数、倒数等操作使用查找表,而其余操作仍然其他基本运算器。
图2示例性地示出了针对线性激励函数的算术逻辑单元103的配置方式,其中,该线性激励函数表示如下:
F(x)=kx+d(1)
针对公式(1)的线性激励函数,可以通过将该算术逻辑单元103中的一个乘法器200与一个加法器201串联来实现该线性激励函数的计算。其中,算术逻辑单元103可被配置为以如下方式计算该线性激励函数:
输入x与k同时进入乘法器200,计算乘法的结果传送给加法器201,且d同时进入加法器201,计算加法的结果,即为激励函数值F(x)。
在进一步的实施例中,算术逻辑单元103也可以包括数据缓冲器(例如高速缓存)。该数据缓冲器可以是任何尺寸的,并且可以通过触发器、SRAM、DRAM或者任何其他类型的存储器来实现。该数据缓冲器可缓存例如存储单元控制器101发送的从存储单元100中读取的数据。
5)输入输出接口104
在一些情况下,算术逻辑单元103计算时所需要用到的数据可能并非存储在上述存储单元100内。例如,对于神经元数目较大的神经网络来说,存储单元100的存储空间可能不够。因此,需要与外部的数据存储部件(即外部数据源)交换数据。
如上所述,控制单元102可向输入输出接口104发送控制信号,以控制该输入输出接口104从外部数据源读取数据,并经由输入输出接口104将该数据传送给存储单元控制器101,存储单元控制器101可将该数据写入相应的存储单元100。进一步地,存储单元控制器101可将该数据写入与算术逻辑单元103相关联的存储单元100中的一个或多个数据存储部件。
尽管图1所示的处理器仅包括一个算术逻辑单元103。然而,根据本发明的另一个实施例,该通用神经网络处理器可以包括多个算术逻辑单元103,用于并行地执行神经网络计算。
在该实施例中,控制单元102与多个算术逻辑单元103相连。并且控制单元102在解析指令得到一个或多个微操作后,可根据该微操作向多个算术逻辑单元103发送控制信号,以控制多个算术逻辑单元103并行且独立地进行计算。例如,多个算术逻辑单元103中的每一个可以对于不同的数据(彼此独立的数据)并行地执行相同的操作(其中,对于每一个算术逻辑单元103来说,仍如上文所述顺序执行其神经网络计算)。在一个实施例中,可采用单指令多数据(SIMD)技术来实现由多个算术逻辑单元103针对不同的数据同时执行操作。
进一步地,在每个算术逻辑单元103与存储单元100中的一个或多个数据存储部件相关联的情况下,与每个算术逻辑单元103相关联的数据存储部件彼此间相互独立。
根据本发明的又一个实施例,通用神经网络处理器可以包括多个存储单元100、多个存储单元控制器101、多个算术逻辑单元103和多个输入输出接口104。其中,控制单元102分别与多个存储单元控制器101、多个算术逻辑单元103和多个输入输出接口104相连。
在该实施例中,多个存储单元控制器101与多个存储单元100具有一一对应的关系,每个存储单元控制器101可以对相应的一个存储单元100进行访问。控制单元102经由多个存储单元控制器101获得保存在相应的存储单元100中的指令并且解析该指令,控制单元102可根据解析指令得到的微操作控制多个算术逻辑单元103进行神经网络计算。
其中,如果指令解析后的结果指示需要用到外部数据,则控制单元102在解析指令之后还向多个输入输出接口104发送控制信号,由多个输入输出接口104从外部数据源获得所需的数据并传送给多个存储单元控制器101(例如,传送给多个存储单元控制器101中的一个或多个),由多个存储单元控制器101将其写入相应的存储单元100,并且由该多个存储单元控制器101相应发送给算术逻辑单元103以执行相应计算。
其中,每个算术逻辑单元103可与多个存储单元100中的一个或多个数据存储部件相关联,并且与每个算术逻辑单元相关联的数据部件彼此间相互独立。
上文已对本发明提供的通用神经网络处理器进行了详细描述,下面将以一个具体示例的形式(其中处理器包括一个存储单元100、一个存储单元控制器101、一个算术逻辑单元103及控制单元102),简要描述该处理器如何执行神经网络计算。
如图3所示,解析的指令指示按顺序计算神经网络第L+1层中的神经元a3、a4和a5的响应值,其中,这些响应值由第L层中的神经元a1和a2的响应值以及对应的权值和偏置计算获得。控制单元102根据解析的指令,时分复用一个算术逻辑单元103来顺序进行响应值的计算(假设一次计算所用的时间是σ),过程如下:
1.在t时刻,由神经元a1、a2的响应值(本文中,为简单起见将响应值表示为a1、a2)和权重w13、w23以及偏置b1来获得神经元a3的响应值。其中,神经元a3的响应值的计算公式如下:
a3=F(a1*w13+a2*w23+b1)(2)
如图4所示,根据解析指令得到的神经元a3的响应值的计算公式,控制单元102向存储单元控制器101发送包括a1、a2、w13、w23和b1的地址信息的控制信号,并且向算术逻辑单元103发送控制信号。存储单元控制器101根据a1、a2、w13、w23和b1的地址信息在存储单元100中读取对应的数据,并传送给算术逻辑单元103。
算术逻辑单元103可将a1、a2、w13、w23和b1读入内部的数据缓冲器,并且根据控制单元102发送的控制信号开始计算(计算时可以顺序读取顺序计算,也可以同时读取同时计算):例如,先计算乘法a1*w13、a2*w23,然后计算a1*w13+a2*w23+b1。接着,算术逻辑单元103可根据控制单元102发送的控制信号(即,控制单元102解析指令后识别出激励函数,并通过发送控制信号来配置算术逻辑单元103执行该激励函数的计算),使用计算出的和a1*w13+a2*w23+b1,根据激励函数来计算激励函数值F(a1*w13+a2*w23+b1),从而得到神经元a3的响应值。在计算完成后,可由控制单元102生成存储地址,并且控制存储单元控制器101将该响应值写入相应的存储单元100中的相应存储地址。至此,完成一次神经元响应值的计算。
2.在t+σ时刻,类似地,由神经元a1、a2的响应值和权重w14、w24以及偏置b2来完成神经元a4的响应值计算。
3.在t+2σ时刻,类似地,由神经元a1、a2的响应值和权重w15、w25以及偏置b3来完成神经元a5的响应值计算。
应当理解,虽然本说明书是按照各个实施例描述的,但并非每个实施例仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
以上所述仅为本发明示意性的具体实施方式,并非用以限定本发明的范围。任何本领域的技术人员,在不脱离本发明的构思和原则的前提下所作的等同变化、修改与结合,均应属于本发明保护的范围。
Claims (11)
1.一种时分复用的通用神经网络处理器,包括:
至少一个存储单元(100),用于存储指令和数据;
至少一个存储单元控制器(101),其中每个存储单元控制器(101)与所述至少一个存储单元(100)中的一个相对应,用于对相应的存储单元(100)进行访问;
至少一个算术逻辑单元(103),用于执行神经网络计算;以及
控制单元(102),与所述至少一个存储单元控制器(101)和所述至少一个算术逻辑单元(103)相连,用于经由所述至少一个存储单元控制器(101)获得所述至少一个存储单元(100)存储的指令,并且解析该指令以时分复用地控制所述至少一个算术逻辑单元(103)执行计算。
2.根据权利要求1所述的通用神经网络处理器,其中,所述控制单元(102)包括:
译码子单元,用于对经由所述至少一个存储单元控制器(101)从所述至少一个存储单元(100)获得的指令进行解析;以及
调度子单元,用于根据所述译码子单元的解析结果,对所述至少一个存储单元控制器(101)和所述至少一个算术逻辑单元(103)发送控制信号,以调度至少一个存储单元控制器(101)和所述至少一个算术逻辑单元(103)进行操作。
3.根据权利要求1或2所述的通用神经网络处理器,其中,所述控制单元(102)用于根据解析指令得到的微操作,控制所述至少一个算术逻辑单元(103)彼此并行且独立地执行计算,其中计算所涉及的数据彼此独立。
4.根据权利要求1或2所述的通用神经网络处理器,其中,所述控制单元(102)用于根据解析指令得到的微操作,控制所述至少一个算术逻辑单元(103)中的每个算术逻辑单元(103)顺序地计算神经元响应值。
5.根据权利要求4所述的通用神经网络处理器,其中,所述控制单元(102)根据解析的指令所指示的顺序,控制每个算术逻辑单元(103)在不同时段计算不同神经元的响应值。
6.根据权利要求5所述的通用神经网络处理器,其中:
所述控制单元(102)用于根据解析指令得到的微操作向所述至少一个存储单元控制器(101)发送控制信号,并由所述至少一个存储单元控制器(101)通过访问相应的存储单元(100)向所述算术逻辑单元(103)发送神经元响应值计算所涉及的数据;
所述控制单元(102)还用于根据解析指令得到的微操作向所述算术逻辑单元(103)发送控制信号,以根据解析得到的激励函数控制所述算术逻辑单元(103)使用从所述至少一个存储单元控制器(101)获得的数据执行一次神经元响应值的计算。
7.根据权利要求6所述的神经网络处理器,其中,所述控制单元(102)还用于控制所述算术逻辑单元(103)将计算结果发送给所述至少一个存储单元控制器(101),由所述至少一个存储单元控制器(101)将该计算结果写入相应的存储单元(100)。
8.根据权利要求1或2所述的通用神经网络处理器,其中,所述至少一个算术逻辑单元(103)中的每个算术逻辑单元(103)包括用于执行激励函数计算的运算部件。
9.根据权利要求1或2所述的通用神经网络处理器,还包括:
至少一个输入输出接口(104),与所述控制单元(102)和所述至少一个存储单元控制器(101)相连,用于访问外部数据源。
10.根据权利要求9所述的通用神经网络处理器,其中,所述控制单元(102)还根据解析指令得到的微操作向所述至少一个输入输出接口(104)发送控制信号,由所述至少一个输入输出接口(104)将从外部数据源获得的数据发送给所述至少一个存储单元控制器(101),并由所述至少一个存储单元控制器(101)将该数据写入相应的存储单元(100)。
11.根据权利要求1或2所述的通用神经网络处理器,其中,每个存储单元(100)由一个或多个数据存储部件组成,并且每个算术逻辑单元(103)与所述至少一个存储单元(100)中的一个或多个数据存储部件相关联。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510587534.3A CN105184366B (zh) | 2015-09-15 | 2015-09-15 | 一种时分复用的通用神经网络处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510587534.3A CN105184366B (zh) | 2015-09-15 | 2015-09-15 | 一种时分复用的通用神经网络处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105184366A true CN105184366A (zh) | 2015-12-23 |
CN105184366B CN105184366B (zh) | 2018-01-09 |
Family
ID=54906429
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510587534.3A Active CN105184366B (zh) | 2015-09-15 | 2015-09-15 | 一种时分复用的通用神经网络处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105184366B (zh) |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105892989A (zh) * | 2016-03-28 | 2016-08-24 | 中国科学院计算技术研究所 | 一种神经网络加速器及其运算方法 |
CN105913119A (zh) * | 2016-04-06 | 2016-08-31 | 中国科学院上海微系统与信息技术研究所 | 行列互联的异构多核心类脑芯片及其使用方法 |
CN106022472A (zh) * | 2016-05-23 | 2016-10-12 | 复旦大学 | 一种嵌入式深度学习处理器 |
CN106447034A (zh) * | 2016-10-27 | 2017-02-22 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN106529670A (zh) * | 2016-10-27 | 2017-03-22 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
CN106650924A (zh) * | 2016-10-27 | 2017-05-10 | 中国科学院计算技术研究所 | 一种基于时间维和空间维数据流压缩的处理器、设计方法 |
CN106971227A (zh) * | 2017-02-17 | 2017-07-21 | 清华大学 | 神经元信息接收方法和系统 |
WO2017124642A1 (zh) * | 2016-01-20 | 2017-07-27 | 北京中科寒武纪科技有限公司 | 用于执行人工神经网络正向运算的装置和方法 |
WO2017124644A1 (zh) * | 2016-01-20 | 2017-07-27 | 北京中科寒武纪科技有限公司 | 一种人工神经网络压缩编码装置和方法 |
CN107085562A (zh) * | 2017-03-23 | 2017-08-22 | 中国科学院计算技术研究所 | 一种基于高效复用数据流的神经网络处理器及设计方法 |
WO2017185386A1 (zh) * | 2016-04-29 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行卷积神经网络正向运算的装置和方法 |
WO2017185257A1 (zh) * | 2016-04-27 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行Adam梯度下降训练算法的装置及方法 |
WO2017185387A1 (zh) * | 2016-04-27 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行全连接层神经网络正向运算的装置和方法 |
CN107369108A (zh) * | 2016-05-11 | 2017-11-21 | 耐能有限公司 | 多层人造神经网络及其控制方法 |
CN107679621A (zh) * | 2017-04-19 | 2018-02-09 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107679620A (zh) * | 2017-04-19 | 2018-02-09 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107704922A (zh) * | 2017-04-19 | 2018-02-16 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107844831A (zh) * | 2017-11-10 | 2018-03-27 | 西安电子科技大学 | 基于tta架构的神经网络处理机 |
WO2018058452A1 (zh) * | 2016-09-29 | 2018-04-05 | 北京中科寒武纪科技有限公司 | 一种执行人工神经网络运算的装置和方法 |
WO2018058427A1 (zh) * | 2016-09-29 | 2018-04-05 | 北京中科寒武纪科技有限公司 | 神经网络运算装置及方法 |
CN107886166A (zh) * | 2016-09-29 | 2018-04-06 | 北京中科寒武纪科技有限公司 | 一种执行人工神经网络运算的装置和方法 |
CN108154230A (zh) * | 2016-12-05 | 2018-06-12 | 北京深鉴科技有限公司 | 深度学习处理器的监控方法和监控装置 |
WO2018112699A1 (zh) * | 2016-12-19 | 2018-06-28 | 上海寒武纪信息科技有限公司 | 人工神经网络反向训练装置和方法 |
WO2018120016A1 (zh) * | 2016-12-30 | 2018-07-05 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
CN108268939A (zh) * | 2016-12-30 | 2018-07-10 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
CN108304922A (zh) * | 2017-01-13 | 2018-07-20 | 华为技术有限公司 | 用于神经网络计算的计算设备和计算方法 |
CN108545556A (zh) * | 2018-05-02 | 2018-09-18 | 中国科学院计算技术研究所 | 基于神经网络的信息处理装置及方法 |
CN109389214A (zh) * | 2017-08-11 | 2019-02-26 | 谷歌有限责任公司 | 具有驻留在芯片上的参数的神经网络加速器 |
CN109472355A (zh) * | 2018-11-06 | 2019-03-15 | 地平线(上海)人工智能技术有限公司 | 卷积处理引擎及控制方法和相应的卷积神经网络加速器 |
CN109754072A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 网络离线模型的处理方法、人工智能处理装置及相关产品 |
CN109948774A (zh) * | 2019-01-25 | 2019-06-28 | 中山大学 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
CN109993288A (zh) * | 2017-12-29 | 2019-07-09 | 北京中科寒武纪科技有限公司 | 神经网络处理方法、计算机系统及存储介质 |
CN109997154A (zh) * | 2017-10-30 | 2019-07-09 | 上海寒武纪信息科技有限公司 | 信息处理方法及终端设备 |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
CN110162122A (zh) * | 2019-04-29 | 2019-08-23 | 贵州贵谷农业股份有限公司 | 一种双中控的大棚控制系统 |
CN110188870A (zh) * | 2016-04-27 | 2019-08-30 | 北京中科寒武纪科技有限公司 | 用于执行人工神经网络自学习运算的装置和方法 |
CN110363292A (zh) * | 2018-04-11 | 2019-10-22 | 深圳市九天睿芯科技有限公司 | 一种混合信号二进制cnn处理器 |
US10474586B2 (en) | 2016-08-26 | 2019-11-12 | Cambricon Technologies Corporation Limited | TLB device supporting multiple data streams and updating method for TLB module |
CN106303527B (zh) * | 2016-08-16 | 2020-10-09 | 广东中星电子有限公司 | 时分复用神经网络处理器的视频分级码流编码方法和系统 |
US10853722B2 (en) | 2016-12-30 | 2020-12-01 | Sanghai Cambricon Information Technology Co., Ltd. | Apparatus for executing LSTM neural network operation, and operational method |
WO2020258529A1 (zh) * | 2019-06-28 | 2020-12-30 | 东南大学 | 一种基于bnrp的可配置并行通用卷积神经网络加速器 |
CN112447202A (zh) * | 2019-09-03 | 2021-03-05 | 芯盟科技有限公司 | 神经网络智能芯片及其形成方法 |
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 |
US11461112B2 (en) | 2019-02-07 | 2022-10-04 | International Business Machines Corporation | Determining feature settings for code to deploy to a system by training a machine learning module |
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 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009099008A (ja) * | 2007-10-18 | 2009-05-07 | Seiko Epson Corp | 並列演算装置および並列演算方法 |
CN103778468A (zh) * | 2014-01-16 | 2014-05-07 | 北京大学 | 一种基于rram的新型神经网络电路 |
CN104715283A (zh) * | 2015-04-08 | 2015-06-17 | 兰州理工大学 | 一种模拟神经元互连系统及采用该系统的可编程神经元阵列芯片 |
-
2015
- 2015-09-15 CN CN201510587534.3A patent/CN105184366B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009099008A (ja) * | 2007-10-18 | 2009-05-07 | Seiko Epson Corp | 並列演算装置および並列演算方法 |
CN103778468A (zh) * | 2014-01-16 | 2014-05-07 | 北京大学 | 一种基于rram的新型神经网络电路 |
CN104715283A (zh) * | 2015-04-08 | 2015-06-17 | 兰州理工大学 | 一种模拟神经元互连系统及采用该系统的可编程神经元阵列芯片 |
Non-Patent Citations (2)
Title |
---|
CHEN ZHANG ETAL.: "Optimizing FPGA-based Accelerator Design for Deep Convolutional Neural Networks", 《FPGA "15 PROCEEDINGS OF THE 2015 ACM/SIGDA INTERNATIONAL SYMPOSIUM ON FIELD-PROGRAMMABLE GATE ARRAYS》 * |
T CHEN ETAL.: "DianNao:a small-footprint high-throughput accelerator for ubiquitous machine-learning", 《ACM SIGARCH COMPUTER ARCHITECTURE NEWS》 * |
Cited By (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017124644A1 (zh) * | 2016-01-20 | 2017-07-27 | 北京中科寒武纪科技有限公司 | 一种人工神经网络压缩编码装置和方法 |
CN106991477A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种人工神经网络压缩编码装置和方法 |
CN106991477B (zh) * | 2016-01-20 | 2020-08-14 | 中科寒武纪科技股份有限公司 | 一种人工神经网络压缩编码装置和方法 |
CN108427990B (zh) * | 2016-01-20 | 2020-05-22 | 中科寒武纪科技股份有限公司 | 神经网络计算系统和方法 |
US10726336B2 (en) | 2016-01-20 | 2020-07-28 | Cambricon Technologies Corporation Limited | Apparatus and method for compression coding for artificial neural network |
WO2017124642A1 (zh) * | 2016-01-20 | 2017-07-27 | 北京中科寒武纪科技有限公司 | 用于执行人工神经网络正向运算的装置和方法 |
CN108427990A (zh) * | 2016-01-20 | 2018-08-21 | 北京中科寒武纪科技有限公司 | 神经网络计算系统和方法 |
WO2017166568A1 (zh) * | 2016-03-28 | 2017-10-05 | 中国科学院计算技术研究所 | 一种神经网络加速器及其运算方法 |
CN105892989A (zh) * | 2016-03-28 | 2016-08-24 | 中国科学院计算技术研究所 | 一种神经网络加速器及其运算方法 |
CN105913119B (zh) * | 2016-04-06 | 2018-04-17 | 中国科学院上海微系统与信息技术研究所 | 行列互联的异构多核心类脑芯片及其使用方法 |
CN105913119A (zh) * | 2016-04-06 | 2016-08-31 | 中国科学院上海微系统与信息技术研究所 | 行列互联的异构多核心类脑芯片及其使用方法 |
CN110188870A (zh) * | 2016-04-27 | 2019-08-30 | 北京中科寒武纪科技有限公司 | 用于执行人工神经网络自学习运算的装置和方法 |
CN111860811A (zh) * | 2016-04-27 | 2020-10-30 | 中科寒武纪科技股份有限公司 | 一种用于执行人工神经网络全连接层正向运算的装置和方法 |
WO2017185257A1 (zh) * | 2016-04-27 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行Adam梯度下降训练算法的装置及方法 |
WO2017185387A1 (zh) * | 2016-04-27 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行全连接层神经网络正向运算的装置和方法 |
CN111860811B (zh) * | 2016-04-27 | 2024-01-16 | 中科寒武纪科技股份有限公司 | 一种用于执行人工神经网络全连接层正向运算的装置和方法 |
CN110188870B (zh) * | 2016-04-27 | 2021-10-12 | 中科寒武纪科技股份有限公司 | 用于执行人工神经网络自学习运算的装置和方法 |
US11373084B2 (en) | 2016-04-27 | 2022-06-28 | Cambricon Technologies Corporation Limited | Apparatus and methods for forward propagation in fully connected layers of convolutional neural networks |
CN109086877B (zh) * | 2016-04-29 | 2020-05-08 | 中科寒武纪科技股份有限公司 | 一种用于执行卷积神经网络正向运算的装置和方法 |
WO2017185386A1 (zh) * | 2016-04-29 | 2017-11-02 | 北京中科寒武纪科技有限公司 | 一种用于执行卷积神经网络正向运算的装置和方法 |
CN109086877A (zh) * | 2016-04-29 | 2018-12-25 | 北京中科寒武纪科技有限公司 | 一种用于执行卷积神经网络正向运算的装置和方法 |
US10592801B2 (en) | 2016-04-29 | 2020-03-17 | Cambricon Technologies Corporation Limited | Apparatus and methods for forward propagation in convolutional neural networks |
CN107369108A (zh) * | 2016-05-11 | 2017-11-21 | 耐能有限公司 | 多层人造神经网络及其控制方法 |
CN106022472A (zh) * | 2016-05-23 | 2016-10-12 | 复旦大学 | 一种嵌入式深度学习处理器 |
CN106303527B (zh) * | 2016-08-16 | 2020-10-09 | 广东中星电子有限公司 | 时分复用神经网络处理器的视频分级码流编码方法和系统 |
US10474586B2 (en) | 2016-08-26 | 2019-11-12 | Cambricon Technologies Corporation Limited | TLB device supporting multiple data streams and updating method for TLB module |
CN107886166B (zh) * | 2016-09-29 | 2020-02-21 | 中科寒武纪科技股份有限公司 | 一种执行人工神经网络运算的装置和方法 |
CN107886166A (zh) * | 2016-09-29 | 2018-04-06 | 北京中科寒武纪科技有限公司 | 一种执行人工神经网络运算的装置和方法 |
WO2018058452A1 (zh) * | 2016-09-29 | 2018-04-05 | 北京中科寒武纪科技有限公司 | 一种执行人工神经网络运算的装置和方法 |
WO2018058427A1 (zh) * | 2016-09-29 | 2018-04-05 | 北京中科寒武纪科技有限公司 | 神经网络运算装置及方法 |
CN106447034A (zh) * | 2016-10-27 | 2017-02-22 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN106447034B (zh) * | 2016-10-27 | 2019-07-30 | 中国科学院计算技术研究所 | 一种基于数据压缩的神经网络处理器、设计方法、芯片 |
CN106529670B (zh) * | 2016-10-27 | 2019-01-25 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
CN106529670A (zh) * | 2016-10-27 | 2017-03-22 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
CN106650924A (zh) * | 2016-10-27 | 2017-05-10 | 中国科学院计算技术研究所 | 一种基于时间维和空间维数据流压缩的处理器、设计方法 |
CN106650924B (zh) * | 2016-10-27 | 2019-05-14 | 中国科学院计算技术研究所 | 一种基于时间维和空间维数据流压缩的处理器、设计方法 |
CN108154230A (zh) * | 2016-12-05 | 2018-06-12 | 北京深鉴科技有限公司 | 深度学习处理器的监控方法和监控装置 |
WO2018112699A1 (zh) * | 2016-12-19 | 2018-06-28 | 上海寒武纪信息科技有限公司 | 人工神经网络反向训练装置和方法 |
CN108268939A (zh) * | 2016-12-30 | 2018-07-10 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
CN113537480B (zh) * | 2016-12-30 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
CN113537481B (zh) * | 2016-12-30 | 2024-04-02 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
CN111260025B (zh) * | 2016-12-30 | 2023-11-14 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
CN111260025A (zh) * | 2016-12-30 | 2020-06-09 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
CN113537481A (zh) * | 2016-12-30 | 2021-10-22 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
CN113537480A (zh) * | 2016-12-30 | 2021-10-22 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
US10853722B2 (en) | 2016-12-30 | 2020-12-01 | Sanghai Cambricon Information Technology Co., Ltd. | Apparatus for executing LSTM neural network operation, and operational method |
WO2018120016A1 (zh) * | 2016-12-30 | 2018-07-05 | 上海寒武纪信息科技有限公司 | 用于执行lstm神经网络运算的装置和运算方法 |
CN108304922A (zh) * | 2017-01-13 | 2018-07-20 | 华为技术有限公司 | 用于神经网络计算的计算设备和计算方法 |
CN106971227A (zh) * | 2017-02-17 | 2017-07-21 | 清华大学 | 神经元信息接收方法和系统 |
CN106971227B (zh) * | 2017-02-17 | 2020-04-21 | 北京灵汐科技有限公司 | 神经元信息接收方法和系统 |
CN107085562B (zh) * | 2017-03-23 | 2020-11-03 | 中国科学院计算技术研究所 | 一种基于高效复用数据流的神经网络处理器及设计方法 |
CN107085562A (zh) * | 2017-03-23 | 2017-08-22 | 中国科学院计算技术研究所 | 一种基于高效复用数据流的神经网络处理器及设计方法 |
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 |
US11216717B2 (en) | 2017-04-04 | 2022-01-04 | Hailo Technologies Ltd. | Neural network processor incorporating multi-level hierarchical aggregated computing and memory elements |
US10387298B2 (en) | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
US11675693B2 (en) | 2017-04-04 | 2023-06-13 | Hailo Technologies Ltd. | Neural network processor incorporating inter-device connectivity |
US11615297B2 (en) | 2017-04-04 | 2023-03-28 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network compiler |
US11551028B2 (en) | 2017-04-04 | 2023-01-10 | Hailo Technologies Ltd. | Structured weight based sparsity in an artificial neural network |
US11544545B2 (en) | 2017-04-04 | 2023-01-03 | Hailo Technologies Ltd. | Structured activation based sparsity 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 |
US11461615B2 (en) | 2017-04-04 | 2022-10-04 | Hailo Technologies Ltd. | System and method of memory access of multi-dimensional data |
US11354563B2 (en) | 2017-04-04 | 2022-06-07 | Hallo Technologies Ltd. | Configurable and programmable sliding window based memory access in a neural network processor |
US11263512B2 (en) | 2017-04-04 | 2022-03-01 | Hailo Technologies Ltd. | Neural network processor incorporating separate control and data fabric |
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 |
US10902315B2 (en) | 2017-04-19 | 2021-01-26 | Xilinx, Inc. | Device for implementing artificial neural network with separate computation units |
CN107704922B (zh) * | 2017-04-19 | 2020-12-08 | 赛灵思公司 | 人工神经网络处理装置 |
CN107704922A (zh) * | 2017-04-19 | 2018-02-16 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107679620A (zh) * | 2017-04-19 | 2018-02-09 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
US10824939B2 (en) | 2017-04-19 | 2020-11-03 | Xilinx, Inc. | Device for implementing artificial neural network with flexible buffer pool structure |
CN107679621A (zh) * | 2017-04-19 | 2018-02-09 | 北京深鉴科技有限公司 | 人工神经网络处理装置 |
CN107679621B (zh) * | 2017-04-19 | 2020-12-08 | 赛灵思公司 | 人工神经网络处理装置 |
US11727259B2 (en) | 2017-08-11 | 2023-08-15 | Google Llc | Neural network accelerator with parameters resident on chip |
CN109389214A (zh) * | 2017-08-11 | 2019-02-26 | 谷歌有限责任公司 | 具有驻留在芯片上的参数的神经网络加速器 |
US11501144B2 (en) | 2017-08-11 | 2022-11-15 | Google Llc | Neural network accelerator with parameters resident on chip |
CN109997154A (zh) * | 2017-10-30 | 2019-07-09 | 上海寒武纪信息科技有限公司 | 信息处理方法及终端设备 |
CN107844831A (zh) * | 2017-11-10 | 2018-03-27 | 西安电子科技大学 | 基于tta架构的神经网络处理机 |
CN109993288A (zh) * | 2017-12-29 | 2019-07-09 | 北京中科寒武纪科技有限公司 | 神经网络处理方法、计算机系统及存储介质 |
CN110363292A (zh) * | 2018-04-11 | 2019-10-22 | 深圳市九天睿芯科技有限公司 | 一种混合信号二进制cnn处理器 |
CN108545556A (zh) * | 2018-05-02 | 2018-09-18 | 中国科学院计算技术研究所 | 基于神经网络的信息处理装置及方法 |
US12093810B2 (en) | 2018-11-06 | 2024-09-17 | Beijing Horizon Robotics Technology Research And Development Co., Ltd. | Convolution processing engine and control method, and corresponding convolutional neural network accelerator |
CN109472355A (zh) * | 2018-11-06 | 2019-03-15 | 地平线(上海)人工智能技术有限公司 | 卷积处理引擎及控制方法和相应的卷积神经网络加速器 |
CN109472355B (zh) * | 2018-11-06 | 2021-01-01 | 地平线(上海)人工智能技术有限公司 | 卷积处理引擎及控制方法和相应的卷积神经网络加速器 |
US11699073B2 (en) | 2018-12-29 | 2023-07-11 | Cambricon Technologies Corporation Limited | Network off-line model processing method, artificial intelligence processing device and related products |
CN109754072A (zh) * | 2018-12-29 | 2019-05-14 | 北京中科寒武纪科技有限公司 | 网络离线模型的处理方法、人工智能处理装置及相关产品 |
CN109948774B (zh) * | 2019-01-25 | 2022-12-13 | 中山大学 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
CN109948774A (zh) * | 2019-01-25 | 2019-06-28 | 中山大学 | 基于网络层捆绑运算的神经网络加速器及其实现方法 |
US11461112B2 (en) | 2019-02-07 | 2022-10-04 | International Business Machines Corporation | Determining feature settings for code to deploy to a system by training a machine learning module |
CN110162122B (zh) * | 2019-04-29 | 2021-02-12 | 贵州贵谷农业股份有限公司 | 一种双中控的大棚控制系统 |
CN110162122A (zh) * | 2019-04-29 | 2019-08-23 | 贵州贵谷农业股份有限公司 | 一种双中控的大棚控制系统 |
WO2020258529A1 (zh) * | 2019-06-28 | 2020-12-30 | 东南大学 | 一种基于bnrp的可配置并行通用卷积神经网络加速器 |
CN112447202A (zh) * | 2019-09-03 | 2021-03-05 | 芯盟科技有限公司 | 神经网络智能芯片及其形成方法 |
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 |
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 |
Also Published As
Publication number | Publication date |
---|---|
CN105184366B (zh) | 2018-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105184366A (zh) | 一种时分复用的通用神经网络处理器 | |
CN111353076B (zh) | 训练跨模态检索模型的方法、跨模态检索的方法和相关装置 | |
CN109190756B (zh) | 基于Winograd卷积的运算装置及包含该装置的神经网络处理器 | |
CN106529668B (zh) | 加速深度神经网络算法的加速芯片的运算装置及方法 | |
JP7109302B2 (ja) | 文章生成モデルのアップデート方法及び文章生成装置 | |
Song et al. | On the universality and non-universality of spiking neural P systems with rules on synapses | |
WO2020073211A1 (zh) | 运算加速器、处理方法及相关设备 | |
US11017288B2 (en) | Spike timing dependent plasticity in neuromorphic hardware | |
EP3451239A1 (en) | Apparatus and method for executing recurrent neural network and lstm computations | |
CN109242094A (zh) | 用于执行人工神经网络正向运算的装置和方法 | |
CA2902015C (en) | Method and system for solving an optimization problem involving graph similarity | |
CN111105023B (zh) | 数据流重构方法及可重构数据流处理器 | |
CN111178545A (zh) | 一种动态强化学习决策训练系统 | |
CN116368796A (zh) | 数据处理方法和装置 | |
CN110837567A (zh) | 实现知识图谱嵌入的方法和系统 | |
Tang et al. | Optimizing federated learning on non-IID data using local Shapley value | |
Yu et al. | Uniformization of multigranular linguistic labels and their application to group decision making | |
CN111461310A (zh) | 处理神经网络模型的神经网络设备、神经网络系统和方法 | |
CN117011118A (zh) | 模型参数更新方法、装置、计算机设备以及存储介质 | |
CN112766475B (zh) | 处理部件及人工智能处理器 | |
Guo et al. | Object goal visual navigation using semantic spatial relationships | |
Zhao et al. | Improved K-DOPs collision detection algorithms based on genetic algorithms | |
Serpen | Managing spatio-temporal complexity in Hopfield neural network simulations for large-scale static optimization | |
Ding et al. | Pinning synchronization and parameter identification of fractional-order complex-valued dynamical networks with multiple weights | |
CN110059310A (zh) | 上位词网络的扩充方法及装置、电子设备、存储介质 |
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 |