CN108205704B - 一种神经网络芯片 - Google Patents
一种神经网络芯片 Download PDFInfo
- Publication number
- CN108205704B CN108205704B CN201710890838.6A CN201710890838A CN108205704B CN 108205704 B CN108205704 B CN 108205704B CN 201710890838 A CN201710890838 A CN 201710890838A CN 108205704 B CN108205704 B CN 108205704B
- Authority
- CN
- China
- Prior art keywords
- module
- deep learning
- neural network
- data
- 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
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Logic Circuits (AREA)
- Image Analysis (AREA)
Abstract
本发明提供一种神经网络芯片,用于高新的实现卷积神经网络运算。包括:深度学习运算模块,数据采集模块,数据输出模块,数据存储模块,处理器;所述深度学习运算模块用于对输入数据进行深度学习运算,所述深度学习运算包括并行的乘法运算以及加法树的累积运行;所述数据采集模块用于对输入数据进行数据采集;所述数据输出模块用于输出所述神经网络芯片运算的运算结果。所述处理器用于调度所述深度学习运算模块,所述数据采集模块和数据输出模块间的数据交互,并处理非深度学习的运算。
Description
技术领域
本发明涉及硬件芯片技术领域,具体涉及一种神经网络芯片。
背景技术
深度学习是近年来人工智能领域的一个热点分支,经过模拟人脑的神经元处理机制,来分析和解释数据信息,例如:图像,声音,文本。
深度学习的提出使得人工神经网络重新成为机器学习领域的重要研究方向,卷积神经网络(CNN,Convolutional Neural Network)算法近年来广泛应用于图像处理,模式识别等领域,它具有结构简单,适应性强,鲁棒性高等特点。
卷积神经网络由大量的节点(或称“神经元”,或“单元”)和之间相互联接构成。每个节点代表一种特定的输出函数,称为激励函数(activation function)。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(weight),这相当于卷积神经网络的记忆。由于卷积神经网络的复杂性,因此卷积神经网络的数据运算是业界的一个难题。
现有的卷积神经网络有以下两种芯片架构实现方式:
1、基于图像处理器(GPU,Graphics Processing Unit)架构的设计,芯片架构如图1所示。
2、基于现场可编程阵列(FPGA,Field-Programmable Gate Array)架构的设计,芯片架构如图2所示。
无论GPU架构,还是FPGA架构,在运行深度学习计算时,由于需要用通用的计算模块去处理深度学习的不同运算逻辑,由于通用性导致很多运算逻辑不能高效的完成。
发明内容
本发明提供一种神经网络芯片,用于高新的实现深度神经网络运算。
本发明提供的神经网络芯片包括:
深度学习运算模块101,数据采集模块102,数据输出模块103,数据存储模块104,处理器105;
所述深度学习运算模块101用于对输入数据进行深度学习运算;所述深度学习运算包括并行的乘法运算以及加法树的累积运行。
所述数据采集模块102用于对输入数据进行数据采集;所述数据输出模块103用于输出所述神经网络芯片运算的运算结果;
所述处理器105用于调度调度所述深度学习运算模块,所述数据采集模块和数据输出模块间的数据交互,并处理非深度学习的运算;;
所述数据存储模块104分别与所述深度学习运算模块101,所述数据采集模块102和数据输出模块103相连接。
可选的,所述数据存储模块104包括:片外存储器1041,存储器控制器1042;
所述存储器控制器1042分别与所述深度学习运算模块101,所述数据采集模块102和数据输出模块103相连接;
所述存储器控制器1042与片外存储器1041相连接,所述存储器控制器1042用于控制所述片外存储器1041的数据读写。
可选的,所述深度学习运算模块101包括:卷积运算单元1011,池化运算单元1012,全连接运算单元1013和计算调度单元1014;
所述计算调度单元1014分别与所述卷积运算单元1011,所述池化运算单元1012和所述全连接运算单元1013相连接;
所述计算调度单元1014用于根据输入数据的运算需求调度所述卷积运算单元1011,所述池化运算单元1012和所述全连接运算单元1013进行运算。
可选的,所述深度学习运算模块101还包括:总线仲裁器1014;
所述总线仲裁器1014分别与所述卷积运算单元1011,所述池化运算单元1012和所述全连接运算单元1013相连接;
所述总线仲裁器1014与所述存储器控制器1042相连接,用于数据总线到所述存储器控制器1042的总线仲裁。
可选的,所述深度学习运算模块101还包括:配置单元1015;
所述配置单元1015分别与所述所述计算调度单元1014以及所述处理器105相连接;
所述配置单元1015用于存取所述深度学习运算模块101的配置信息。
可选的,所示神经网络芯片还包括:外设控制器106;
所述外设控制器106与所述处理器105相连接,用于对外部接入的设备进行控制。
可选的,所示神经网络芯片还包括:锁相环107和片外晶振108;
所述锁相环107分别与所述片外晶振108和所述所述处理器105相连接;
所述锁相环107用于为所述神经网络芯片中的各个模块提供时钟信号。
由上可见,本发明方案中的目标跟踪系统包含独立的深度学习运算模块,通过独立的深度学习运算模块来根据运算需求灵活的调度处理器的计算资源,使得在处理器的计算资源有限的前提下,优化配置了计算资源,大大提升传统架构的芯片的计算效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为GPU芯片架构的示意图;
图2为FPGA芯片架构的示意图;
图3为本发明实施例提供的神经网络芯片的结构示意图;
图4为本发明实施例提供的深度学习运算模块的结构示意图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实例提供一种神经网络芯片。如图3所示,本发明实施例中的目标跟踪系统包括:
深度学习运算模块101,数据采集模块102,数据输出模块103,数据存储模块104,处理器105;
所述深度学习运算模块101用于对输入数据进行深度学习运算,具体的,深度学习运算包括卷积神经网络运算;所述深度学习运算包括并行的乘法运算以及加法树的累积运行。
所述数据采集模块102用于对输入数据进行数据采集;所述数据输出模块103用于输出所述神经网络芯片运算的运算结果;
所述处理器105分别与所述深度学习运算模块101,所述数据采集模块102和数据输出模块103相连接;所述处理器105用于调度所述深度学习运算模块,所述数据采集模块和数据输出模块间的数据交互,并处理非深度学习的运算;;
所述数据存储模块104分别与所述深度学习运算模块101,所述数据采集模块102和数据输出模块103相连接。
进一步的,所述数据存储模块104包括:片外存储器1041,存储器控制器1042;
所述存储器控制器1042分别与所述深度学习运算模块101,所述数据采集模块102和数据输出模块103相连接;存储控制器(memory controller)提供了访问外部设备所需的信号,是一种通过总线形式来访问扩展的设备。
所述存储器控制器1042与片外存储器1041相连接,所述存储器控制器1042用于控制所述片外存储器1041的数据读写。
进一步的,神经网络芯片还包括:外设控制器106、锁相环107和片外晶振108;
所述外设控制器106与所述处理器105相连接,用于对外部接入的设备进行控制。
所述锁相环107分别与所述片外晶振108和所述所述处理器105相连接;所述锁相环107用于为所述神经网络芯片中的各个模块提供时钟信号。
锁相环(phase locked loop)可以锁定相位的环路,是一种典型的反馈控制电路,利用外部输入的参考信号控制环路内部振荡信号的频率和相位,实现输出信号频率对输入信号频率的自动跟踪,一般用于闭环跟踪电路。
在现有技术中,通用性的GPU需要实现所有运算逻辑的实现,如指数运算,浮点数运算;通用的FPGA需要实现一个通用的乘法模块,在深度神经网络的运算中效率不高。而本发明实施例中,在硬件结构上,专门为卷积运算设计,并根据卷积运算的结构,设计了并行的乘法操作,加法树累加,以及内部的缓存单元,使得深度神经网络的运算效率大大的提高。由上可见,本发明实施例的目标跟踪系统包含独立的深度学习运算模块,通过独立的深度学习运算模块来根据运算需求灵活的调度处理器的计算资源,使得在处理器的计算资源有限的前提下,优化配置了计算资源,大大提升传统架构的芯片的计算效率。
实施例二
在实施例一的硬件基础上,本发明实施例对神经网络芯片中深度学习运算模块进行介绍,请参阅图4,具体为:
所述深度学习运算模块101包括:卷积运算单元1011,池化运算单元1012,全连接运算单元1013和计算调度单元1014;
所述计算调度单元1014分别与所述卷积运算单元1011,所述池化运算单元1012和所述全连接运算单元1013相连接;
所述卷积运算单元1011用于对输入数据进行卷积层的运算;
所述池化运算单元1012用于对输入数据进行池化层的运算;
所述全连接运算单元1013用于对输入数据进行全连接层的运算;
所述计算调度单元1014用于根据输入数据的运算需求调度所述卷积运算单元1011,所述池化运算单元1012和所述全连接运算单元1013进行运算。具体的,所述输入数据的运算需求包括:卷积运算、池化运算和全连接运算等。示例性的,计算调度单元1014的调度逻辑根据运行的神经网络结构,决定用哪一个运算。如网络结构是卷积1->池化1->卷积2->池化2->全连接1,调度模块就会先启动卷积运算和池化运算,完成2层的卷积和池化运算后,启动全连接运算1。
进一步的,所述深度学习运算模块101还包括:总线仲裁器1015和配置单元1016。
所述总线仲裁器1015分别与所述卷积运算单元1011,所述池化运算单元1012和所述全连接运算单元1013相连接;
所述总线仲裁器1015与所述存储器控制器1042相连接,用于数据总线到所述存储器控制器1042的总线仲裁。
所述配置单元1016分别与所述所述计算调度单元1014以及所述处理器105相连接;
所述配置单元1016用于存取所述深度学习运算模块101的配置信息。
本发明实施例中深度学习运算模块架构,可以灵活的调度不同的计算单元进行计算处理,对于模块化的计算单元可以容易的添加到当前的深度学习运算模块架构内部,并通过总线仲裁共享外部的数据,进一步提高了运算的效率。
下面以一个实例对神经网络芯片的运算调度进行介绍:
首先,将待运算的输入数据和权值存储在片外存储器1041中,输入数据包括卷积运算和全连接运算的数据。
其次,处理器105对配置单元1016进行配置,配置信息包括卷积运算输入数据的存储地址,偏移地址,卷积输入数据的大小,卷积核的大小,全连接运算的存储地址,偏移地址,输入数据大小,权值数据大小等。
再次,通过配置单元1016启动计算调度单元1014,从片外存储器1041中读取卷积运算的输入数据和权值,并将输出结果写片外存储器1041。
最后,计算调度单元1014调度全连接运算单元1013,并将卷积运算的结果从片外存储器1041中读取出来,经过全连接运算单元1013之后,将输出结果写回片外存储器1041中。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本发明所提供的一种的描述,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种神经网络芯片,其特征在于,包括:
深度学习运算模块,数据采集模块,数据输出模块,数据存储模块,处理器;
所述深度学习运算模块用于对输入数据深度学习运算,所述深度学习运算包括并行的乘法运算以及加法树的累积运行;
所述数据采集模块用于对输入数据进行数据采集;所述数据输出模块用于输出所述神经网络芯片运算的运算结果;
所述处理器用于调度所述深度学习运算模块,所述数据采集模块和数据输出模块间的数据交互,并处理非深度学习的运算;
所述数据存储模块分别与所述深度学习运算模块,所述数据采集模块和数据输出模块相连接;
所述深度学习运算模块包括:卷积运算单元、池化运算单元、全连接运算单元和计算调度单元;所述卷积运算单元用于对输入数据进行卷积层的运算;所述池化运算单元用于对输入数据进行池化层的运算;所述全连接运算单元用于对输入数据进行全连接层的运算;
所述计算调度单元分别与所述卷积运算单元、所述池化运算单元和所述全连接运算单元相连接;
所述计算调度单元用于根据输入数据的运算需求调度所述卷积运算单元、所述池化运算单元和所述全连接运算单元进行运算;所述卷积运算单元、所述池化运算单元和所述全连接运算单元的调度顺序由所述计算调度单元根据神经网络结构确定。
2.根据权利要求1所述的神经网络芯片,其特征在于,所述数据存储模块包括:片外存储器,存储器控制器;
所述存储器控制器分别与所述深度学习运算模块,所述数据采集模块和数据输出模块相连接;
所述存储器控制器与片外存储器相连接,所述存储器控制器用于控制所述片外存储器的数据读写。
3.根据权利要求2所述的神经网络芯片,其特征在于,所述深度学习运算模块还包括:总线仲裁器;
所述总线仲裁器分别与所述卷积运算单元,所述池化运算单元和所述全连接运算单元相连接;
所述总线仲裁器与所述存储器控制器相连接,用于数据总线到所述存储器控制器的总线仲裁。
4.根据权利要求1所述的神经网络芯片,其特征在于,所述深度学习运算模块还包括:配置单元;
所述配置单元分别与所述计算调度单元以及所述处理器相连接;
所述配置单元用于存取所述深度学习运算模块的配置信息。
5.根据权利要求1所述的神经网络芯片,其特征在于,所示神经网络芯片还包括:外设控制器;
所述外设控制器与所述处理器相连接,用于对外部接入的设备进行控制。
6.根据权利要求1所述的神经网络芯片,其特征在于,所示神经网络芯片还包括:锁相环和片外晶振;
所述锁相环分别与所述片外晶振和所述处理器相连接;
所述锁相环用于为所述神经网络芯片中的各个模块提供时钟信号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710890838.6A CN108205704B (zh) | 2017-09-27 | 2017-09-27 | 一种神经网络芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710890838.6A CN108205704B (zh) | 2017-09-27 | 2017-09-27 | 一种神经网络芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108205704A CN108205704A (zh) | 2018-06-26 |
CN108205704B true CN108205704B (zh) | 2021-10-29 |
Family
ID=62603357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710890838.6A Active CN108205704B (zh) | 2017-09-27 | 2017-09-27 | 一种神经网络芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108205704B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874817B (zh) * | 2018-08-29 | 2022-02-01 | 上海商汤智能科技有限公司 | 图像拼接方法和装置、车载图像处理装置、设备、介质 |
CN110909871B (zh) * | 2018-09-14 | 2021-03-19 | 中科寒武纪科技股份有限公司 | 状态信息获取装置和方法 |
CN109272110A (zh) * | 2018-10-31 | 2019-01-25 | 上海交通大学 | 基于光子神经网络芯片的光电融合智能信号处理系统 |
CN111382847B (zh) * | 2018-12-27 | 2022-11-22 | 上海寒武纪信息科技有限公司 | 数据处理装置及相关产品 |
CN109858621B (zh) * | 2019-01-09 | 2021-09-17 | 深兰科技(上海)有限公司 | 一种卷积神经网络加速器的调试装置、方法及存储介质 |
CN109784484A (zh) * | 2019-01-31 | 2019-05-21 | 深兰科技(上海)有限公司 | 神经网络加速方法、装置、神经网络加速芯片及存储介质 |
CN111105015A (zh) * | 2019-12-06 | 2020-05-05 | 浪潮(北京)电子信息产业有限公司 | 一种通用cnn推理加速器及其控制方法、可读存储介质 |
US20230120658A1 (en) * | 2021-10-20 | 2023-04-20 | International Business Machines Corporation | Inter-operator backpropagation in automl frameworks |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488565A (zh) * | 2015-11-17 | 2016-04-13 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN106529670A (zh) * | 2016-10-27 | 2017-03-22 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
CN106991477A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种人工神经网络压缩编码装置和方法 |
CN107086910A (zh) * | 2017-03-24 | 2017-08-22 | 中国科学院计算技术研究所 | 一种针对神经网络处理的权重加解密方法和系统 |
CN107153873A (zh) * | 2017-05-08 | 2017-09-12 | 中国科学院计算技术研究所 | 一种二值卷积神经网络处理器及其使用方法 |
CN107169563A (zh) * | 2017-05-08 | 2017-09-15 | 中国科学院计算技术研究所 | 应用于二值权重卷积网络的处理系统及方法 |
-
2017
- 2017-09-27 CN CN201710890838.6A patent/CN108205704B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105488565A (zh) * | 2015-11-17 | 2016-04-13 | 中国科学院计算技术研究所 | 加速深度神经网络算法的加速芯片的运算装置及方法 |
CN106991477A (zh) * | 2016-01-20 | 2017-07-28 | 南京艾溪信息科技有限公司 | 一种人工神经网络压缩编码装置和方法 |
CN106529670A (zh) * | 2016-10-27 | 2017-03-22 | 中国科学院计算技术研究所 | 一种基于权重压缩的神经网络处理器、设计方法、芯片 |
CN107086910A (zh) * | 2017-03-24 | 2017-08-22 | 中国科学院计算技术研究所 | 一种针对神经网络处理的权重加解密方法和系统 |
CN107153873A (zh) * | 2017-05-08 | 2017-09-12 | 中国科学院计算技术研究所 | 一种二值卷积神经网络处理器及其使用方法 |
CN107169563A (zh) * | 2017-05-08 | 2017-09-15 | 中国科学院计算技术研究所 | 应用于二值权重卷积网络的处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108205704A (zh) | 2018-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108205704B (zh) | 一种神经网络芯片 | |
CN111860813B (zh) | 一种用于执行卷积神经网络正向运算的装置和方法 | |
TWI746865B (zh) | 深度視覺處理器 | |
US10872290B2 (en) | Neural network processor with direct memory access and hardware acceleration circuits | |
CN109543832B (zh) | 一种计算装置及板卡 | |
KR102470264B1 (ko) | 완전연결층 신경망 역방향 트레이닝 실행용 장치와 방법 | |
CN109375951B (zh) | 一种用于执行全连接层神经网络正向运算的装置和方法 | |
CN109102065B (zh) | 一种基于PSoC的卷积神经网络加速器 | |
CN109522052B (zh) | 一种计算装置及板卡 | |
WO2019218896A1 (zh) | 计算方法以及相关产品 | |
EP2891053B1 (en) | Results generation for state machine engines | |
US20160162780A1 (en) | Event-driven universal neural network circuit | |
CN111860812A (zh) | 一种用于执行卷积神经网络训练的装置和方法 | |
US20190147342A1 (en) | Deep neural network processor with interleaved backpropagation | |
US9389841B2 (en) | Methods and systems for using state vector data in a state machine engine | |
CN109753319B (zh) | 一种释放动态链接库的装置及相关产品 | |
US20200082243A1 (en) | Subgraph tile fusion in a convolutional neural network | |
CN110059797B (zh) | 一种计算装置及相关产品 | |
US11741568B2 (en) | Systems and methods for low-power, real-time object detection | |
CN111353598A (zh) | 一种神经网络压缩方法、电子设备及计算机可读介质 | |
US10963775B2 (en) | Neural network device and method of operating neural network device | |
CN111124995A (zh) | 通过人工智能处理器处理一维复数数组的方法和设备 | |
Bai et al. | An OpenCL-based FPGA accelerator with the Winograd’s minimal filtering algorithm for convolution neuron networks | |
CN110020720B (zh) | 算子拼接方法及装置 | |
CN111078625B (zh) | 片上网络处理系统和片上网络数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |