CN109409510B - 神经元电路、芯片、系统及其方法、存储介质 - Google Patents
神经元电路、芯片、系统及其方法、存储介质 Download PDFInfo
- Publication number
- CN109409510B CN109409510B CN201811076248.0A CN201811076248A CN109409510B CN 109409510 B CN109409510 B CN 109409510B CN 201811076248 A CN201811076248 A CN 201811076248A CN 109409510 B CN109409510 B CN 109409510B
- Authority
- CN
- China
- Prior art keywords
- neural network
- deep learning
- network layer
- processing
- neuron
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Image Analysis (AREA)
- Feedback Control In General (AREA)
Abstract
本发明适用计算机技术领域,提供了一种神经元电路、芯片、系统及其方法、存储介质,在神经元电路中包括如下结构:计算模块;配置信息存储模块,用于存储神经元处理模式配置信息;以及,控制模块,用于根据所述处理模式配置信息,控制所述计算模块调整为对应的计算基础架构并执行对应的神经网络层节点数据处理。这样,可满足快速迭代的复杂多样的神经网络计算需求,可广泛应用到计算资源受限、需要一定神经网络架构可重构的领域,扩展了深度学习芯片的应用。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种神经元电路、芯片、系统及其方法、存储介质。
背景技术
近年来,随着基于人工神经网络的深度学习技术在计算机视觉、自然语言处理、智能系统决策等领域的广泛应用,对神经网络计算进行加速的人工智能芯片技术得到学术界和工业界的关注和重视。
现有为神经网络计算而定制的专用集成电路(Application SpecificIntegrated Circuit,ASIC)芯片多数还是基于预先指定的网络结构与算法,过度追求功耗和速度的性能,导致其硬件结构固定,不具备神经网络架构的可重构性,无法部署如今快速迭代的复杂多样的神经网络结构,从而无法广泛应用到计算资源受限、需要一定神经网络架构可重构的领域,如移动物联网终端、无人机、无人驾驶等领域,ASIC芯片应用受到限制。
发明内容
本发明的目的在于提供一种神经元电路、芯片、系统及其方法、存储介质,旨在解决现有技术所存在的、神经网络架构无法重构而导致深度学习芯片应用受限的问题。
一方面,本发明提供了一种神经元电路,所述神经元电路包括:
计算模块;
配置信息存储模块,用于存储神经元处理模式配置信息;以及,
控制模块,用于根据所述处理模式配置信息,控制所述计算模块调整为对应的计算基础架构并执行对应的神经网络层节点数据处理。
另一方面,本发明提供了一种深度学习芯片,所述深度学习芯片包括:
存储单元,用于存储深度学习指令集以及深度学习所针对数据,所述深度学习指令集包括:若干具有预定处理顺序的神经网络层指令;
由若干如上述的神经元电路构成的神经元阵列;
中央控制器,用于按照所述深度学习指令集控制使得:从所述存储单元向所述神经元阵列中的所述神经元电路置入与当前所述神经网络层指令相对应的当前所述处理模式配置信息及相应所需处理的数据,并在当前所述神经网络层指令所指示的当前神经网络层处理任务完成后,执行下一神经网络层处理任务,直至所述深度学习指令集所指示的深度学习任务完成;以及,
输入输出单元,用于实现数据在所述存储单元与所述神经元阵列之间的传输。
另一方面,本发明还提供了一种深度学习芯片级联系统,所述深度学习芯片级联系统包括:至少两个相互之间存在级联关系的、如上述的深度学习芯片。
另一方面,本发明还提供了一种深度学习系统,所述深度学习系统包括:至少一个如上述的深度学习芯片,以及与所述深度学习芯片相连的外围器件。
另一方面,本发明还提供了一种神经元控制方法,所述神经元控制方法包括下述步骤:
获得神经元处理模式配置信息;
根据所述处理模式配置信息,控制计算模块调整为对应的计算基础架构并执行对应的神经网络层节点数据处理。
另一方面,本发明还提供了深度学习控制方法,所述深度学习控制方法包括下述步骤:
获得深度学习指令集,所述深度学习指令集包括:若干具有预定处理顺序的神经网络层指令;
按照所述深度学习指令集,控制使得:向神经元阵列中的神经元电路置入与当前神经网络层指令相对应的当前处理模式配置信息及相应所需处理的数据,其中,神经元电路根据当前所述处理模式配置信息调整为对应的计算基础架构并执行对应的神经网络层节点数据处理,并在当前所述神经网络层指令所指示的当前神经网络层处理任务完成后,执行下一神经网络层处理任务,直至所述深度学习指令集所指示的深度学习任务完成。
另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法中的步骤。
另一方面,本发明还提供了一种深度学习方法,所述深度学习方法基于上述的深度学习芯片或如上述的深度学习芯片级联系统,所述深度学习方法包括下述步骤:
向所述存储单元置入所述深度学习指令集以及所述数据;
所述中央控制器按照所述深度学习指令集,控制使得:向所述神经元阵列中的所述神经元电路置入与当前所述神经网络层指令相对应的当前所述处理模式配置信息及相应所需处理的数据,其中,所述神经元电路根据当前所述处理模式配置信息调整为对应的计算基础架构并执行对应的神经网络层节点数据处理,并在当前所述神经网络层指令所指示的当前神经网络层处理任务完成后,执行下一神经网络层处理任务,直至所述深度学习指令集所指示的深度学习任务完成。
本发明在神经元电路中包括如下结构:计算模块;配置信息存储模块,用于存储神经元处理模式配置信息;以及,控制模块,用于根据所述处理模式配置信息,控制所述计算模块调整为对应的计算基础架构并执行对应的神经网络层节点数据处理。这样,可根据不同的场景功能、神经网络种类、神经网络规模、神经元运算模式等需求,灵活配置神经元电路以及神经元电路所应用的深度学习芯片,使得深度学习芯片及神经元电路能根据实际神经网络计算需要进行重构,从而满足快速迭代的复杂多样的神经网络计算需求,可广泛应用到计算资源受限、需要一定神经网络架构可重构的领域,扩展了深度学习芯片的应用。
附图说明
图1是本发明实施例一提供的神经元电路的结构示意图;
图2是本发明实施例二提供的神经元电路的结构示意图;
图3是本发明实施例三提供的神经元电路的结构示意图;
图4是本发明实施例四提供的神经元电路的结构示意图;
图5是本发明实施例五提供的深度学习芯片的结构示意图;
图6是本发明实施例八提供的深度学习芯片级联系统的结构示意图;
图7是本发明实施例九提供的深度学习系统的结构示意图;
图8是本发明实施例十提供的神经元控制方法的流程示意图;
图9是本发明实施例十一提供的深度学习控制方法的流程示意图;
图10是本发明一应用实例中卷积网络层指令的数据结构示意图;
图11是本发明一应用实例中池化网络层指令的数据结构示意图;
图12是本发明一应用实例中全连接网络层指令的数据结构示意图;
图13是本发明一应用实例中激活函数网络层指令的数据结构示意图;
图14是本发明一应用实例中状态动作网络层指令的数据结构示意图;
图15是本发明一应用实例中CRNA架构芯片的结构示意图;
图16是本发明一应用实例中神经元电路的结构示意图;
图17是本发明一应用实例中中央控制器128级状态机控制流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
以下结合具体实施例对本发明的具体实现进行详细描述:
实施例一:
图1示出了本发明实施例一提供的神经元电路的结构,具体地,涉及一种数字神经元电路,用于构成深度学习神经网络,而深度学习神经网络可对输入的数据进行所需的各神经网络层的有序处理,神经元电路则用于执行神经网络层对应节点上所需的数据处理。为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
计算模块101,能进行计算基础架构的调整,以执行不同的神经网络层节点数据处理。在本实施例中,计算模块101可用于进行对应的乘法运算、加法运算、利用激活函数激活等单个处理,或进行不同处理的灵活组合等。此处所提及的计算模块101能执行至少两种不同的神经网络层节点数据处理至少包含如下两种含义:其一,对应于不同类型的神经网络层,例如:卷积网络层、池化网络层、全连接网络层、激活函数网络层、状态动作网络层等,其数据处理要求不尽相同,计算模块101可满足至少两种神经网络层数据处理要求,计算模块101这种能适应不同种类神经网络层数据处理的能力,可通过根据需求利用对乘法运算、加法运算、激活等处理的灵活组合来实现,例如:在需要某计算模块101进行卷积网络层数据处理时,计算模块101通过对上述处理的灵活组合即可满足卷积网络层数据处理要求,在需要该计算模块101进行全连接网络层数据处理时,计算模块101通过对上述处理的另一灵活组合即可满足全连接网络层数据处理要求,这种针对不同需求的灵活组合需要依靠后续的配置信息存储模块102及控制模块103的配合一同实现,在这个含义中,神经元电路可进行某一种类神经网络层中一个节点的数据处理,也可以进行另一种类神经网络层中一个节点的数据处理;其二,神经元电路可进行同一类型神经网络层中不同节点对应的数据处理,例如:一神经元电路可进行第一卷积网络层中某一节点的数据处理,也可进行第二卷积网络层中某一节点的数据处理;其三,神经元电路可进行同一神经网络层中不同节点对应的数据处理,神经元电路在同一神经网络层所需的数据处理中进行复用。当进行不同节点数据处理时,计算模块101的计算基础架构不尽相同,计算模块101可受控进行计算基础架构的调整以适应不同节点数据处理。某一神经网络层中所有节点的数据处理完成,则该神经网络层的数据处理完成,神经网络中各神经网络层的数据完成,则该神经网络的数据处理完成。
配置信息存储模块102,用于存储神经元处理模式配置信息。在本实施例中,处理模式配置信息指示出该神经元电路需要进行对应神经网络层节点数据处理时,所需要的一些配置信息,这些配置信息可指示该神经元电路需要实现哪些节点运算等。
控制模块103,用于根据处理模式配置信息,控制计算模块调整为对应的计算基础架构并执行对应的神经网络层节点数据处理。
实施本实施例,神经元电路可进行整个深度学习神经网络某一神经网络层中一个节点的数据处理,这样,可根据不同的场景功能、神经网络种类、神经网络规模、神经元运算模式等需求,灵活配置神经元电路,使得神经元电路能根据实际神经网络计算需要进行重构,从而满足快速迭代的复杂多样的神经网络计算需求,可广泛应用到计算资源受限、需要一定神经网络架构可重构的领域,扩展了深度学习芯片的应用。
实施例二:
本实施例在其他实施例的神经元电路基础上,进一步提供了如下内容:
如图2所示,神经元电路还包括:
参数存储模块201,用于存储神经网络层节点数据处理所需的参数。在本实施例中,参数可以为训练所得神经网络参数。
地址生成模块202,用于受控制模块103控制,查找与神经网络层节点数据处理针对的数据所对应的参数,查找得到的参数会输入到计算模块101以参与到对应数据处理中。
在本实施例中,由于某些类型神经网络层的数据处理无需调用参数,例如:池化网络层、激活函数网络层等,因此,神经元电路基础配置即无需上述参数存储模块201及地址生成模块202,而其他如卷积网络层、全连接网络层、状态动作网络层等进行数据处理时需要调用神经网络参数,则需要在神经元电路中配置上述参数存储模块201及地址生成模块202,这样即可增强神经元电路的广泛适用性。
实施例三:
本实施例在其他实施例的神经元电路基础上,进一步提供了如下内容:
如图3所示,神经元电路还包括:
临时存储模块301,用于存储神经网络层节点数据处理的中间数据。
在本实施例中,由于某些类型神经网络如卷积网络、区域网络等,无需对神经元电路处理所得中间数据进行保存以供后续处理,因此,神经元电路基础配置即无需上述临时存储模块301,而其他如强化学习网络、循环网络等数据处理需要使用神经元电路处理所得中间数据,则需要在神经元电路中配置上述临时存储模块301,这样也可增强神经元电路的广泛适用性。
实施例四:
本实施例在其他实施例的神经元电路基础上,进一步提供了如下内容:
如图4所示,计算模块101包括:
基础计算模块401,基础计算模块包括:乘法器、加法器和/或激活函数模块等。
选通模块402,用于在控制模块103的控制下执行对应的选通动作,使基础计算模块401构成对应的计算基础架构,选通模块402可包括:复用器(Multiplexer,MUX)和/或解复用器(Demultiplexer,DEMUX)等。
在本实施例中,基础计算模块401可进行乘法运算、加法运算、利用激活函数激活等基础处理,在进行基础处理时,可从上述参数存储模块201获得所需参数,选通模块402则可将基础计算模块401按照需要进行相应调整,得到实时神经网络层节点数据处理所需的计算基础架构,实现计算模块101的重构。
实施例五:
图5示出了本发明实施例五提供的深度学习芯片的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
存储单元501,用于存储深度学习指令集以及深度学习所针对数据,深度学习指令集包括:若干具有预定处理顺序的神经网络层指令。在本实施例中,深度学习指令集包括深度学习任务所涵盖的所有神经网络层指令,例如:卷积网络层指令、池化网络层指令、全连接网络层指令、激活函数网络层指令、状态动作网络层指令等。当然,这个指令集中通常还包括为完成深度学习任务而需要具备的其他信息,例如:神经网络种类信息、神经网络结构信息等,其中,神经网络种类信息可指示该神经网络为卷积网络、区域网络、循环网络或强化学习网络等,神经网络结构信息可包括:神经网络所包含的神经网络层层数信息、神经网络层中的节点数信息,以及神经网络层需要实现哪些运算的指示信息等,该指示信息与上述配置信息存储模块102中所存储的处理模式配置信息相对应。
由若干如上述的神经元电路502构成的神经元阵列504。具体功能、结构如其他实施例所述,此处不再赘述。
中央控制器503,用于按照深度学习指令集控制使得:从存储单元501向神经元阵列504中的神经元电路502置入与当前神经网络层指令相对应的当前处理模式配置信息及相应所需处理的数据,并在当神经网络层指令所指示的当前神经网络层处理任务完成后,执行下一神经网络层处理任务,直至深度学习指令集所指示的深度学习任务完成。在本实施例中,中央控制器503可采用各种类型控制器,例如:进阶精简指令集机器(AdvancedReduced Instruction Set Computer Machine,ARM)控制器、英特尔Intel系列控制器、华为海思系列控制器等,其架构可采用有限状态机,可根据条件完成不同状态的转换,从而控制其所涵盖的神经网络的工作流程,具体包括:配置流程、神经网络运算流程、数据传输流程等,其中,可能涉及整个深度学习芯片中神经元阵列504针对一个神经网络层的单批次处理,或神经元阵列针对一个神经网络层的多批次处理,多批次处理则涉及神经元电路502的复用。中央控制器503主要可用于对构成神经网络的深度学习芯片进行配置,使得神经元阵列504可根据深度学习指令集中的神经网络层指令进行有序的数据处理。在整个神经网络的运行过程中,中央控制器503用以实现神经网络的核心运算,包括:指令的更新、内容解码等。
输入输出单元505,用于实现数据在存储单元501与实时神经元阵列504之间的传输。
一个深度学习任务的处理流程大致如下:
首先执行当前神经网络层处理任务,存储单元501中与当前神经网络层指令对应的当前处理模式配置信息,会通过输入输出单元505置入神经元阵列504内的神经元电路502中,完成神经元电路502的配置,随后存储单元501中的待处理数据再通过输入输出单元505置入神经元阵列504内的神经元电路502中,神经元电路502则在所完成的配置基础上,对置入的数据进行处理,处理所得数据作为下一神经网络层处理任务的待处理数据。然后,按照上述同样的方法,执行下一神经网络层处理任务,直至所有的神经网络层处理任务完成,最终完成本次深度学习任务。
另外,如果深度学习任务中需要引入神经网络参数进行处理,则上述处理流程中,在处理模式配置信息置入神经元电路502后,还会从存储单元501中向神经元阵列504内的神经元电路502置入相应的参数,再执行对数据的置入、处理。
实施本实施例,可根据不同的场景功能、神经网络种类、神经网络规模、神经元运算模式等需求,灵活配置神经元电路以及神经元电路所应用的深度学习芯片,使得深度学习芯片及神经元电路能根据实际神经网络计算需要进行重构,从而满足快速迭代的复杂多样的神经网络计算需求,可广泛应用到计算资源受限、需要一定神经网络架构可重构的领域,扩展了深度学习芯片的应用。
实施例六:
本实施例在其他实施例的深度学习芯片基础上,进一步涉及:
输入输出单元505为串入(Stream-in)串出(Stream-out)式移位寄存器,神经元电路502与输入输出单元505之间建立独立的数据传输通路。
在本实施例中,存储单元501所存储的神经网络层每一节点的待处理数据将通过输入移位寄存器及独立的数据传输通路传输到神经元阵列504中对应的神经元电路502中进行处理,处理完成后,处理所得数据再通过独立的数据传输通路以及输出移位寄存器传输到存储单元501中进行存储。如果当前神经网络层所有节点的处理所得数据是下一神经网络层的待处理数据,则是在当前神经网络层所有节点均完成数据处理后,再将所有处理所得数据作为下一神经网络层的待处理数据。
实施本实施例,可实现串入串出式的数据流水线传输,相较于传统的多神经元对多数据进行访问所需的多扇出电路而言,无需再计算数据存储的访问地址,对读写进行大幅度简化,降低了对存储器的带宽要求,大幅度降低了输入输出功耗。而移位寄存器的采用以及神经元电路502与移位寄存器之间建立的数据传输通路在各个神经元电路502之间相对独立,可避免神经元阵列多内核系统对同一存储访问的竞争机制(Retention),从而无需像传统多核处理器系统在通讯总线上所需要的、用于避免冲突的仲裁机制以及复杂的缓存同步机制(Cache Synchronization),从而因串入串出式寄存器的引入而构成的多阵列级联输入输出系统,可以使计算吞吐量与神经元电路502的数量呈线性增长,同时优化了存储的访问机制,避免了无用计算。
实施例七:
本实施例在其他实施例的深度学习芯片基础上,进一步涉及:
存储单元501还用于:存储实时神经网络层节点数据处理的中间数据。
本实施例的实施目的与上述实施例三相同,此处不再赘述。
实施例八:
图6示出了本发明实施例八提供的深度学习芯片级联系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
至少两个相互之间存在级联关系的、如上述任一实施例的深度学习芯片601。
实施本实施例,可以级联多块加速芯片,从而扩大并行处理能力,满足不同场景的使用需求。
实施例九:
图7示出了本发明实施例九提供的深度学习系统的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
至少一个如上述的深度学习芯片701,以及与深度学习芯片701相连的外围器件702。在本实施例中,当存在至少两个深度学习芯片701时,深度学习芯片701之间可以级联,也可以不级联而相互独立。而外围器件702可以是其他嵌入式处理器或传感器等。
实施例十:
图8示出了本发明实施例十提供的神经元控制方法的流程,为了便于说明,仅示出了与本发明实施例相关的部分,其中涉及如下步骤:
在步骤S801中,获得神经元处理模式配置信息。
在步骤S802中,根据所述处理模式配置信息,控制计算模块调整为对应的计算基础架构并执行对应的神经网络层节点数据处理。
上述步骤S801、S802处理所涉及内容在其他实施例中相关内容中有具体呈现,此处可援引而不再赘述。
实施例十一:
图9示出了本发明实施例十一提供的深度学习控制方法的流程,为了便于说明,仅示出了与本发明实施例相关的部分,其中涉及如下步骤:
在步骤S901中,获得深度学习指令集,该深度学习指令集包括:若干具有预定处理顺序的神经网络层指令。
在步骤S902中,按照深度学习指令集,控制使得:向神经元阵列中的神经元电路置入与当前神经网络层指令相对应的当前处理模式配置信息及相应所需处理的数据,其中,神经元电路根据当前所述处理模式配置信息调整为对应的计算基础架构并执行对应的神经网络层节点数据处理,并在当前神经网络层指令所指示的当前神经网络层处理任务完成后,执行下一神经网络层处理任务,直至深度学习指令集所指示的深度学习任务完成。
上述步骤S901、S902处理所涉及内容在其他实施例中相关内容中有具体呈现,此处可援引而不再赘述。
实施例十二:
在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例十一或十二中的步骤,例如,图1所示的步骤S801至S802。
本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,ROM/RAM、磁盘、光盘、闪存等存储器。
实施例十三:
本发明实施例十三提供的深度学习方法的流程,基于如上述深度学习芯片或如上述深度学习芯片级联系统或如上述深度学习系统,为了便于说明,仅示出了与本发明实施例相关的部分,其中涉及如下步骤:
向存储单元501置入深度学习指令集以及数据;
中央控制器503按照深度学习指令集,控制使得:向神经元阵列504中的神经元电路502置入与当前神经网络层指令相对应的当前处理模式配置信息及相应所需处理的数据,其中,神经元电路502根据当前处理模式配置信息调整为对应的计算基础架构并执行对应的神经网络层节点数据处理,并在当前神经网络层指令所指示的当前神经网络层处理任务完成后,执行下一神经网络层处理任务,直至深度学习指令集所指示的深度学习任务完成。
下面通过一个应用实例,对上述各实施例所涉及的神经元电路、芯片、系统及其方法、存储介质的相关内容进行具体说明。
本应用实例具体涉及一种深度学习指令集以及基于该指令集的粗粒度可重构神经形态阵列(Coarse-grained Reconfigurable Neuromorphic Array,CRNA)架构的设计和应用,在该设计和应用中,涵盖了上述各实施例所涉及的神经元电路、芯片、系统及其方法、存储介质的相关内容。本应用实例采用全数字电路设计神经元及神经元阵列,引入流水线设计方式,通过动态配置的方式灵活实现配置神经网络种类、神经网络结构(神经网络层节点数目和神经网络层层数)、多种类神经网络的组合应用、神经元的工作模式等。应用本应用实例,能大幅度提高数据的处理速度,又能满足现快速迭代的神经网络算法需求,具有低功耗、处理速度快、可重构性的特点,尤其适用于计算资源受限、存储容量少、功耗有要求、处理速度要求快的使用场景,拓宽了基于神经网络的硬件、软件应用领域。
首先,对深度学习指令集进行相应阐述。指令集是处理器设计的核心,是软件系统与硬件芯片的接口。本应用实例支持神经网络分层描述的指令集,具体涉及如下五种甚至更多类型的神经网络层指令。在本应用实例中,指令宽度均为96位,当然,在其他应用实例中,指令宽度可适应性调整,具体涉及:如图10所示的卷积网络层指令、如图11所示的池化网络层指令、如图12所示的全连接网络层指令、如图13所示的激活函数网络层指令以及如图14所示的状态动作网络层指令,其中,可以对指令中相应数据位进行赋值,从而实现相应的功能,例如:在图10中,可对第70位赋值“1”以表示填充,赋值“0”以表示不填充,可对第65-67位赋值“001”以表示卷积核尺寸为1×1,赋值“010”以表示卷积核尺寸为2×2等;在图11中,可对第65-67位赋值“000”以表示池化策略采用最大池化(max-pooling),赋值“001”以表示池化策略采用最小池化(min-pooling),赋值“010”以表示池化策略采用平均池化(average-pooling)等,可对第70位赋值“1”以表示正向,赋值“0”以表示反向等;在图13中,可对第5-9位赋值“00001”以表示激活函数模式为线性整流(Rectified Linear Unit,ReLU)函数,赋值“00010”以表示激活函数模式为S型(Sigmoid)函数,赋值“00011-11111”以表示编码可扩展等;在图14中,可对第45-47位赋值“000”以表示迭代策略采用深度Q学习(Deep Q-learning,DQN)算法,赋值“001”以表示迭代策略采用状态-动作-奖励-状态-动作(State-Action-Reward-State-Action,SARSA)算法,赋值“010-111”以表示编码可扩展,E-贪婪概率可取0-100等。
其次,对CRNA架构芯片的设计和应用进行相应阐述。本应用实例提出的CRNA架构芯片,整体上包括如图15所示的存储单元1501,输入输出单元1502、若干神经元电路1503及中央控制器1504等。该架构打破传统的冯诺依曼架构的限制,依靠分布式内存优化内存的使用,通过动态配置方式灵活实现不同神经网络模式、神经网络结构以及多种模式神经网络的组合应用等;基于神经元电路1503中的控制模块和中央处理器1504实现对存储的配置和神经网络的流水线快速运算功能,以及通过硬件实现了人工神经元的优化设计,大大提高了整个CRNA架构的计算能力。该CRNA架构充分使用内存资源,突破冯诺依曼架构进一步提高了计算能力,数据传输量得到有效减少,功耗大幅度降低,本应用实例提出的CRNA架构支持多混合神经网络层的部署,具有很好的灵活可重构性、低功耗、高计算能力等优势。
CRNA架构中各个单元的功能可如下述:
(一)内存:
内存包括:如图15所示的存储单元1501及位于神经元电路1503中的参数存储模块15031,存储单元1501可进行分布式部署:第一存储子单元15011、第二存储子单元15012及第三存储子单元15013,这些存储子单元也可集中部署于一个物理存储,具体说明如下:
第一存储子单元15011,用于存储神经网络处理针对的数据,包含:输入数据、神经网络层间存储数据和输出数据等。
参数存储模块,用于存储已经训练好的神经网络节点数据处理所需的参数,在神经网络初始化阶段即可完成参数的存储。在神经网络处于运算阶段时,神经元电路1503可相应读取参数存储模块中的参数完成相应神经网络层节点运算,且神经元电路1503仅读取本地参数从而避免了神经元间进行数据访问的可能性。
第二存储子单元15012,该部分内存决定CRNA架构的神经网络类型(卷积网络、区域网络、循环网络或强化学习网络)以及神经网络结构(神经网络层节点数目、神经网络层层数、每神经网络层所实现运算)等。
第三存储子单元15013,该部分内存特别针对强化学习网络模式或循环网络模式,将强化学习网络、循环网络运算所产生的中间数据进行存储。
(二)输入输出:
输入输出单元1502,用于通过输入移位寄存器和输出移位寄存器分别实现对输入数据和输出数据的串入串出,具体说明详见上述实施例六,此处不再赘述。
(三)人工神经元:
神经元电路1503可根据配置对神经网络的输入数据进行指定模式的神经元运算,得到运算结果。CRNA架构的人工神经元设计方法可灵活实现单一种类神经网络的部署或多种神经网络的组合部署,具体说明如下:
神经元电路1503可包括如图16所示的结构,其中涉及:计算模块、配置信息存储模块1601、控制模块1602、参数存储模块1603、地址生成模块1604、临时存储模块1605、运算缓存模块1606、配置信息/参数输入模块1607、数据输入模块1608、数据输出模块1609等。其中,配置信息存储模块1601可采用配置链寄存器,运算缓存模块1606可为累加寄存器,计算模块可包括乘法器、加法器、激活函数模块1610、选通模块等。各模块的功能详述如下:
配置信息/参数输入模块1607,用于对神经元电路1503输入神经元的处理模式配置信息以及神经网络参数,处理模式配置信息用以配置神经元的工作模式。
选通模块可以体现为MUX和/或DEMUX,MUX在图中标号为M1、M2,DEMUX在图中标号为DM1、DM2。M1用来选择是否跳过乘法单元,如读取参数为0则跳过;DM1用来控制输入内容的目的地是配置信息存储模块1601还是参数存储模块1603;DM2用来指定激活函数或跳过激活处理;M2选择激活函数的输出;M1、M2、DM1、DM2所选内容均由控制模块1602指定。
地址生成模块1604,用于保证神经元的输入数据与参数内存中实时读取的参数相匹配。
乘法器、加法器组成乘加模块,用于对数据、参数进行乘法运算,其结果存于运算缓存模块1606,并在下一周期读出作为加法输入之一,如需要备份该计算结果,则结果存于临时存储模块1605中。
控制模块1602,用于根据配置信息,控制整个神经元的工作模式,包括MUX、DEMUX的选择、地址生成模块1604的工作模式等。
数据输出模块169,用于输出神经元电路1503的计算结果。
神经元电路1503的工作流程大致如下:
首先,通过配置信息/参数输入模块1607的串行输入内容用来配置神经元,其中神经网络参数和配置信息分别存储于参数存储模块1603和配置信息存储模块1601中。
其次,完成神经元配置后,神经元从数据输入模块1608获得输入数据,从参数存储模块1603中找到与输入数据相匹配的神经网络参数供神经元进行所需的乘加运算。
然后,将乘加运算结果,根据激活函数层指令中的模式内容,选择指令域来选择相应激活函数进行所需的激活处理,接着将神经元激活结果,根据神经网络模式存储到相应存储器(运算缓存模块1606,或者运算缓存模块1606和临时存储模块1605)。
当完成当前神经网络层节点所有输入数据的运算时,将神经元的输出结果经数据输出模块1609输出,并经过CRNA架构输入输出单元1502输出以进行存储。
需要说明的是:上述过程包含了乘加运算、激活处理,但在实际应用中,这些运算都是按需选择来配置的。
(四)中央控制:
中央控制器1504在CRNA架构中采用有限状态机,状态机根据转换条件完成不同状态的转换,从而控制整个架构的工作流程,包括如图17所示的:配置流程S1701、神经网络运算流程S1702、数据传输流程S1703等。如图17所示,以128级状态机控制流程进行具体说明如下:
在流程S1701中,对第二存储子单元15012、参数存储模块1603、第一存储子单元15011根据算法需求进行配置。
在流程S1702中,涉及超长矢量流水线128级的状态机控制流程,其中包括:指令的更新和内容解码,实现神经网络的核心运算。在该CRNA架构设计中采用128个神经元,当同一神经网络层节点数目大于CRNA架构所包含的128个人工神经元数目时,会利用该128个神经元进行多次分批计算,即对128各神经元构成的人工神经元阵列不断复用,通过读取并解码指令,对128个神经元处理模式进行配置,通过全局参数配置控制神经网络整体的特性,并控制数据流在神经网络层间的跳转、数据的输入输出、参数分配等。
在流程S1703中,将神经网络的输出结果传输到上位机进行使用。
上述CRNA架构芯片所实现的流程主要涉及:
其一,根据深度学习指令集对应的配置信息、参数、数据,对内存进行初始化配置,具体可,配置神经网络种类(模式)、神经网络层层数数和神经元处理模式等。
其二,根据神经网络种类进行相应神经网络运算。具体涉及:对当前神经网络层指令执行对应的数据处理,完成当前神经网络层处理任务,再以当前神经网络层处理所得数据作为下一神经网络层处理任务的待处理数据,执行下一神经网络层处理任务。
在执行神经网络层任务时,一般先从内存读取配置信息置入神经元阵列内的神经元电路中,完成神经元电路的处理模式配置,然后从内存读取神经网络参数置入神经元阵列内的神经元电路中,接着从内存串行输入待处理数据进行处理,在处理过程中可调用神经网络参数。
这样,通过超长128级流水线流程,实现对数据进行网络运算,在这个过程中,不断将运算结果寄存到累加寄存器中进行累加,待一个神经网络层指令所针对的所有数据都全部完成神经元阵列的网络运算后,将该运算结果依次通过输出移位寄存器存储到内存中,作为下一神经网络层处理的输入数据。当处理到最后一神经网络层时,将该最后一神经网络层的运算结果同样存到内存中,并根据数据输出流程,依次将该运算结果输出到上位机,供上位机后续使用。
本CRNA架构芯片设计基于联华电子公司(United MicroelectronicsCorporation,UMC)65nm互补金属氧化物半导体(Complementary Metal OxideSemiconductor,CMOS)工艺进行仿真与逻辑综合。设计了集成128个数字神经元的可重构阵列作为计算单元,每一个神经元包含两块1KB的数据内存和两块1KB的参数内存,具备实时灵活关闭神经元的控制端口,可降低神经元的动态功耗。主状态机可灵活调控内存和神经元阵列的工作状态,并通过数据流控制实现了网络层间的跳转、数据的输入输出、参数分配等功能。综合结果表明分布式存储系统的设计极大降低了存储访问的扇出,降低了存储控制系统的复杂度和数据访问的带宽,提高了参数分配的均衡性。通过配置,可以有效地部署类型不同,规格不一的神经网络模型。以下是部分实验结果:
芯片仿真:配置了10层任意输入输出节点数量的全连接神经网络,通过波形图发现,无论是神经元阵列在其使能的情况下使用效率几进100%,层间跳转只有状态机的2个时钟周期的延时。全连接网络功能得以从算法到电路的完全映射。
逻辑综合:综合结果表示这种可重构的设计芯片规格在1.5mm2左右,非常节约硬件资源,总方便集成在资源受限的终端中,如下表1所示;功耗在几十毫瓦级别,易于集成在低功耗的终端设备中,如下表2所示。
表1:基本单元使用及面积占用情况
表2:模块功耗比例
以上本应用实例具有如下优势:
其一,所提出指令是汇编语言级别指令,与现有基于操作系统的平台级别网络部署模型(TensorFlow、Caffe等)框架不同,其不需要操作系统的支持,直接改变芯片运行模式,编程效率极高,可直接部署于超低功耗计算场景。
其二,CRNA架构采用数字电路实现人工神经元,使得神经元具有抗噪声能力强、可靠性高、精度高、扩展性好,设计方法成熟规范等优点。本设计计算精度为8位定点量化方式,相比现今深度学习处理器部分采用单位二进制量化网络,本设计比其计算精度高。
其三,神经网络层的实现方式更灵活。采用阵列复用的方式部署复杂的神经网络,分块实现节点数量不一的神经网络模型,大量复用神经计算单元,极大地提高了硬件资源的利用率,节省硬件成本,具备高灵活性。
其四,CRNA架构具有可重构性、可编程性。CRNA架构采用流水线分布式存储方式,减小了延时和功耗,提高了系统的可靠性,并且使得每一个计算单元成为一个功能相对完善,结构相对完整的独立的小系统,配置链直接与单独的每一个神经元连接,配置过程具有相似性和递进关系,从而较容易实现可重构,通过配置指令内存全局配置不同模式网络。因此从全局和局部实现可重构性、可编程性;
其五,可集成性与扩展性。分布式存储方式减小了延时和功耗,提高了系统的可靠性,也使得数据与参数分布更为均匀,相对于集中存储方式具有更好的均衡性,从而具有良好的可集成性;CRNA架构可以与嵌入式处理器、传感器并用,级联多块加速芯片,扩大并行处理能力,以满足不同场景的使用。
综上,本应用实例所提指令与CRNA架构具有高速低功耗、灵活可重构能力,为如今种类不一的深度神经网络提供可靠计算平台,促进深度神经网络算法在移动物联网终端设备、无人机、自动驾驶等领域的广泛应用。
需要说明的是:在上述实施例中所涉及的各单元或模块可由相应的硬件或软件单元实现,各单元或模块可以为独立的软、硬件单元或模块,也可以集成为一个软、硬件单元或模块,在此不用以限制本发明。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种深度学习芯片,其特征在于,适用于包括卷积网络、区域网络、循环网络及强化学习网络在内的深度学习网络,所述深度学习芯片包括:
存储单元,用于存储深度学习指令集以及深度学习所针对数据,所述深度学习指令集包括:若干具有预定处理顺序的神经网络层指令;
中央控制器,用于按照所述深度学习指令集进行控制,以完成所述深度学习指令集所对应的深度学习任务;
输入输出单元,用于实现数据在所述存储单元与神经元阵列之间的传输;以及,
由若干神经元电路构成的神经元阵列;
所述神经元电路可实现包括池化网络层、激活函数网络层、卷积网络层、全连接网络层、状态动作网络层在内的神经网络层的数据处理;可根据不同的场景功能、神经网络种类、神经网络规模、神经元运算模式配置神经元电路;
所述神经元电路包括:
计算模块,设置有包括乘法器、加法器和/或激活函数模块在内的基础计算模块,用于进行计算基础架构的调整,以执行不同的神经网络层节点数据处理;其中,不同的神经网络层节点数据处理包括:不同类型的神经网络层的数据处理、同一类型神经网络层中不同节点对应的数据处理、同一神经网络层中不同节点对应的数据处理;
配置信息存储模块,用于存储神经元处理模式配置信息;
控制模块,用于根据所述处理模式配置信息,控制所述计算模块调整为对应的计算基础架构并执行对应的神经网络层节点数据处理;
临时存储模块,用于存储所述神经网络层节点数据处理的中间数据;
深度学习任务的处理过程包括:获取所述存储单元中与当前神经网络层指令对应的当前处理模式配置信息,通过所述输入输出单元置入神经元阵列内的神经元电路,以完成神经元电路的配置;所述存储单元中的待处理数据再通过输入输出单元置入神经元阵列内的神经元电路中,神经元电路则在所完成的配置基础上,对置入的待处理数据进行处理,处理所得数据作为下一神经网络层处理任务的待处理数据;迭代上述流程,以执行下一神经网络层处理任务,直至完成所有的神经网络层处理任务,以完成该深度学习任务;
当深度学习任务中需要引入神经网络参数进行处理,则在处理模式配置信息置入神经元电路后,从存储单元中向神经元阵列内的神经元电路置入相应的参数。
2.如权利要求1所述的深度学习芯片,其特征在于,所述神经元电路还包括:
参数存储模块,用于存储所述神经网络层节点数据处理所需的参数;以及,
地址生成模块,用于受所述控制模块控制,查找与所述神经网络层节点数据处理针对的数据所对应的参数。
3.如权利要求1所述的深度学习芯片,其特征在于,所述计算模块还包括:
选通模块,用于在所述控制模块的控制下执行对应的选通动作,使所述基础计算模块构成对应的所述计算基础架构,所述选通模块包括:复用器和/或解复用器。
4.如权利要求1所述的深度学习芯片,其特征在于,所述输入输出单元为串入串出式移位寄存器,所述神经元电路与所述输入输出单元之间建立独立的数据传输通路。
5.如权利要求1所述的深度学习芯片,其特征在于,所述存储单元还用于:存储所述神经网络层节点数据处理的中间数据。
6.一种深度学习芯片级联系统,其特征在于,所述深度学习芯片级联系统包括:至少两个相互之间存在级联关系的、如权利要求1至5任一项所述的深度学习芯片。
7.一种深度学习系统,其特征在于,所述深度学习系统包括:至少一个如权利要求1至5任一项所述的深度学习芯片,以及与所述深度学习芯片相连的外围器件。
8.一种神经元控制方法,其特征在于,适用于权利要求1所述的深度学习芯片,所述神经元控制方法包括下述步骤:
获得神经元处理模式配置信息;根据所述处理模式配置信息,控制计算模块调整为对应的计算基础架构并执行对应的神经网络层节点数据处理。
9.一种深度学习控制方法,其特征在于,适用于权利要求1所述的深度学习芯片,所述深度学习控制方法包括下述步骤:
获得深度学习指令集,所述深度学习指令集包括:若干具有预定处理顺序的神经网络层指令;
按照所述深度学习指令集,控制使得:向神经元阵列中的神经元电路置入与当前神经网络层指令相对应的当前处理模式配置信息及相应所需处理的数据,其中,神经元电路根据当前所述处理模式配置信息调整为对应的计算基础架构并执行对应的神经网络层节点数据处理,并在当前所述神经网络层指令所指示的当前神经网络层处理任务完成后,执行下一神经网络层处理任务,直至所述深度学习指令集所指示的深度学习任务完成。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求8或9所述方法中的步骤。
11.一种深度学习方法,其特征在于,所述深度学习方法基于如权利要求1至5任一项所述的深度学习芯片或如权利要求6所述的深度学习芯片级联系统或如权利要求7所述的深度学习系统,所述深度学习方法包括下述步骤:
向所述存储单元置入所述深度学习指令集以及所述数据;
所述中央控制器按照所述深度学习指令集,控制使得:向所述神经元阵列中的所述神经元电路置入与当前所述神经网络层指令相对应的当前所述处理模式配置信息及相应所需处理的数据,其中,所述神经元电路根据当前所述处理模式配置信息调整为对应的计算基础架构并执行对应的神经网络层节点数据处理,并在当前所述神经网络层指令所指示的当前神经网络层处理任务完成后,执行下一神经网络层处理任务,直至所述深度学习指令集所指示的深度学习任务完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811076248.0A CN109409510B (zh) | 2018-09-14 | 2018-09-14 | 神经元电路、芯片、系统及其方法、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811076248.0A CN109409510B (zh) | 2018-09-14 | 2018-09-14 | 神经元电路、芯片、系统及其方法、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109409510A CN109409510A (zh) | 2019-03-01 |
CN109409510B true CN109409510B (zh) | 2022-12-23 |
Family
ID=65464184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811076248.0A Active CN109409510B (zh) | 2018-09-14 | 2018-09-14 | 神经元电路、芯片、系统及其方法、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109409510B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020051918A1 (zh) * | 2018-09-14 | 2020-03-19 | 中国科学院深圳先进技术研究院 | 神经元电路、芯片、系统及其方法、存储介质 |
CN110516789B (zh) * | 2019-08-09 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 卷积网络加速器中指令集的处理方法、装置及相关设备 |
CN112446475A (zh) * | 2019-09-03 | 2021-03-05 | 芯盟科技有限公司 | 神经网络智能芯片及其形成方法 |
CN112598107A (zh) * | 2019-10-01 | 2021-04-02 | 创鑫智慧股份有限公司 | 数据处理系统及其数据处理方法 |
CN111105023B (zh) * | 2019-11-08 | 2023-03-31 | 深圳市中科元物芯科技有限公司 | 数据流重构方法及可重构数据流处理器 |
CN111222637B (zh) * | 2020-01-17 | 2023-11-28 | 上海商汤智能科技有限公司 | 神经网络模型部署方法及装置、电子设备和存储介质 |
CN111651207B (zh) * | 2020-08-06 | 2020-11-17 | 腾讯科技(深圳)有限公司 | 一种神经网络模型运算芯片、方法、装置、设备及介质 |
CN116406490B (zh) * | 2020-10-28 | 2024-09-06 | 华为技术有限公司 | 人工智能ai芯片的控制装置、控制方法及控制器 |
WO2022246639A1 (en) * | 2021-05-25 | 2022-12-01 | Nvidia Corporation | Hardware circuit for deep learning task scheduling |
CN114760328B (zh) * | 2022-04-14 | 2024-08-13 | 上海威固信息技术股份有限公司 | 一种数据存储方法、系统、电子设备和存储介质 |
CN114970406B (zh) * | 2022-05-30 | 2023-03-17 | 中昊芯英(杭州)科技有限公司 | 数字集成电路的定制方法、装置、介质和计算设备 |
CN116050491A (zh) * | 2022-12-19 | 2023-05-02 | 清华大学 | 数据处理装置、计算机系统及其操作方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8306931B1 (en) * | 2009-08-06 | 2012-11-06 | Data Fusion & Neural Networks, LLC | Detecting, classifying, and tracking abnormal data in a data stream |
CN105930903A (zh) * | 2016-05-16 | 2016-09-07 | 浙江大学 | 一种数模混合神经网络芯片体系结构 |
CN106971229A (zh) * | 2017-02-17 | 2017-07-21 | 清华大学 | 神经网络计算核信息处理方法和系统 |
CN107016175A (zh) * | 2017-03-23 | 2017-08-04 | 中国科学院计算技术研究所 | 适用神经网络处理器的自动化设计方法、装置及优化方法 |
CN107169560A (zh) * | 2017-04-19 | 2017-09-15 | 清华大学 | 一种自适应可重构的深度卷积神经网络计算方法和装置 |
CN108416436A (zh) * | 2016-04-18 | 2018-08-17 | 中国科学院计算技术研究所 | 使用多核心处理模块进行神经网络划分的方法及其系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9449257B2 (en) * | 2012-12-04 | 2016-09-20 | Institute Of Semiconductors, Chinese Academy Of Sciences | Dynamically reconstructable multistage parallel single instruction multiple data array processing system |
CN106295799B (zh) * | 2015-05-12 | 2018-11-02 | 核工业北京地质研究院 | 一种深度学习多层神经网络的实现方法 |
CN106022468B (zh) * | 2016-05-17 | 2018-06-01 | 成都启英泰伦科技有限公司 | 人工神经网络处理器集成电路及该集成电路的设计方法 |
CN108364063B (zh) * | 2018-01-24 | 2019-09-27 | 福州瑞芯微电子股份有限公司 | 一种基于权值分配资源的神经网络训练方法和装置 |
-
2018
- 2018-09-14 CN CN201811076248.0A patent/CN109409510B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8306931B1 (en) * | 2009-08-06 | 2012-11-06 | Data Fusion & Neural Networks, LLC | Detecting, classifying, and tracking abnormal data in a data stream |
CN108416436A (zh) * | 2016-04-18 | 2018-08-17 | 中国科学院计算技术研究所 | 使用多核心处理模块进行神经网络划分的方法及其系统 |
CN105930903A (zh) * | 2016-05-16 | 2016-09-07 | 浙江大学 | 一种数模混合神经网络芯片体系结构 |
CN106971229A (zh) * | 2017-02-17 | 2017-07-21 | 清华大学 | 神经网络计算核信息处理方法和系统 |
CN107016175A (zh) * | 2017-03-23 | 2017-08-04 | 中国科学院计算技术研究所 | 适用神经网络处理器的自动化设计方法、装置及优化方法 |
CN107169560A (zh) * | 2017-04-19 | 2017-09-15 | 清华大学 | 一种自适应可重构的深度卷积神经网络计算方法和装置 |
Non-Patent Citations (1)
Title |
---|
"基于神经网络的重构指令预取机制及其可扩展架构";陈志坚 等;《电子学报》;20120731;第1476-1480页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109409510A (zh) | 2019-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109409510B (zh) | 神经元电路、芯片、系统及其方法、存储介质 | |
Nguyen et al. | Layer-specific optimization for mixed data flow with mixed precision in FPGA design for CNN-based object detectors | |
Yin et al. | A high energy efficient reconfigurable hybrid neural network processor for deep learning applications | |
CN107239829B (zh) | 一种优化人工神经网络的方法 | |
CN109102065B (zh) | 一种基于PSoC的卷积神经网络加速器 | |
JP7053775B2 (ja) | ネットワークオンチップによるデータ処理方法及び装置 | |
JP6865805B2 (ja) | 計算装置と計算方法 | |
CN110348574B (zh) | 一种基于zynq的通用卷积神经网络加速结构及设计方法 | |
CN108090560A (zh) | 基于fpga的lstm递归神经网络硬件加速器的设计方法 | |
CN109783412B (zh) | 一种深度强化学习加速训练的方法 | |
Yin et al. | A high throughput acceleration for hybrid neural networks with efficient resource management on FPGA | |
CN113220630B (zh) | 一种硬件加速器的可重构阵列优化方法及自动调优方法 | |
CN111325321A (zh) | 基于多神经网络融合的类脑计算系统及指令集的执行方法 | |
CN114781632B (zh) | 基于动态可重构脉动张量运算引擎的深度神经网络加速器 | |
CN112329910B (zh) | 一种面向结构剪枝结合量化的深度卷积神经网络压缩方法 | |
CN111611197B (zh) | 可软件定义的存算一体芯片的运算控制方法和装置 | |
CN111222626B (zh) | 一种基于NOR Flash模块的神经网络的数据切分运算方法 | |
CN110717583B (zh) | 卷积电路、处理器、芯片、板卡和电子设备 | |
CN111611195A (zh) | 可软件定义存算一体芯片及其软件定义方法 | |
Geng et al. | CQNN: a CGRA-based QNN framework | |
CN110232441B (zh) | 一种基于单向脉动阵列的堆栈式自编码系统及方法 | |
CN111930681B (zh) | 一种计算装置及相关产品 | |
CN111831354A (zh) | 数据精度配置方法、装置、芯片、芯片阵列、设备及介质 | |
CN114519425A (zh) | 一种规模可扩展的卷积神经网络加速系统 | |
WO2020051918A1 (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220921 Address after: Room 201, Building A, No. 1, Qianwan 1st Road, Qianhai Shenzhen-Hong Kong Cooperation Zone, Shenzhen, Guangdong, 518101 (Settled in Shenzhen Qianhai Road Commercial Secretary Co., Ltd.) Applicant after: Shenzhen Zhongke Yuanwuxin Technology Co.,Ltd. Address before: 518000 No. 1068, Xue Yuan Avenue, Shenzhen University Town, Nanshan District, Shenzhen, Guangdong. Applicant before: SHENZHEN INSTITUTES OF ADVANCED TECHNOLOGY CHINESE ACADEMY OF SCIENCES |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |