CN107203807A - 神经网络的计算方法、系统及其装置 - Google Patents
神经网络的计算方法、系统及其装置 Download PDFInfo
- Publication number
- CN107203807A CN107203807A CN201610149920.9A CN201610149920A CN107203807A CN 107203807 A CN107203807 A CN 107203807A CN 201610149920 A CN201610149920 A CN 201610149920A CN 107203807 A CN107203807 A CN 107203807A
- Authority
- CN
- China
- Prior art keywords
- neutral net
- subnet
- divided
- piece
- result
- 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
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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/781—On-chip cache; Off-chip memory
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明适用于计算机技术领域,提供了一种神经网络的计算方法、系统及其装置,所述计算方法包括如下步骤:A、将神经网络划分为多个内部数据特征一致的子网;B、对每个所述子网进行计算,获得每个所述子网的第一计算结果;C、根据每个所述子网的第一计算结果计算所述神经网络的总计算结果,借此,本发明提升了神经网络的计算效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种神经网络的计算方法、系统及其装置。
背景技术
在大数据时代,越来越多的设备需要对于真实世界的实时输入进行越来越复杂的处理,如工业机器人、自动驾驶无人汽车以及移动设备等等。这些任务大多数偏向于机器学习领域,其中大部分运算为向量运算或者矩阵运算,具有极高的并行度。相较于传统通用的GPU/CPU加速方案,硬件ASIC加速器是目前最受欢迎的加速方案,一方面可以提供极高的并行度以实现极高的性能,另外一方面具有极高的能效性。
然而,这其中带宽成为限制加速器性能的一大瓶颈,常见的解决方案是通过放置在片上的缓存来平衡带宽的不均衡性。这些常见的解决方案并没有对数据读写进行优化,从而不能很好的利用数据的特性使得片上存储开销过大,数据读写开销过大。对于目前常见的机器学习类算法,一方面数据量极其庞大,于硬件来说,资源十分有限,庞大的网络无法一次计算完成;另一方面其数据大多具有重用性,也即同样的数据会被多次使用,从而数据具有相同的特征。
综上可知,现有的神经网络的计算技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种神经网络的计算方法、系统及其装置,以提升神经网络的计算效率。
为了实现上述目的,本发明提供一种神经网络的计算方法,所述计算方法包括如下步骤:
A、将神经网络划分为多个内部数据特征一致的子网;
B、对每个所述子网进行计算,获得每个所述子网的第一计算结果;
C、根据每个所述子网的第一计算结果计算所述神经网络的总计算结果。
根据所述的计算方法,所述步骤A包括:
A1、根据所述神经网络的输出神经元,将所述神经网络划分为多个内部数据特征一致的子网;
A2、根据所述神经网络的输入神经元,将所述神经网络划分为多个内部数据特征一致的子网;
A3、根据所述神经网络的神经元权值,将所述神经网络划分为多个内部数据特征一致的子网。
根据所述的计算方法,所述步骤A3包括:
根据所述神经网络的神经元权值的分布,将所述神经网络划分为多个内部数据特征一致的子网;或者
根据所述神经网络的神经元权值的正负,将所述神经网络划分为多个内部数据特征一致的子网。
根据所述的计算方法,在所述步骤C中,对每个所述子网的第一计算结果进行拼接或者加权的方式计算所述神经网络的总计算结果。
根据上述任一项所述的计算方法,所述神经网络的数据存储于片外存储介质,所述子网的数据存储于片上存储介质。
为了实现本发明的另一发明目的,本发明还提供了一种神经网络的计算系统,所述计算系统包括:
划分模块,用于将神经网络划分为多个内部数据特征一致的子网;
第一计算模块,用于对每个所述子网进行计算,获得每个所述子网的第一计算结果;
第二计算模块,用于根据每个所述子网的第一计算结果计算所述神经网络的总计算结果。
根据所述的计算系统,所述划分模块包括:
第一划分子模块,用于根据所述神经网络的输出神经元,将所述神经网络划分为多个内部数据特征一致的子网;
第二划分子模块,用于根据所述神经网络的输入神经元,将所述神经网络划分为多个内部数据特征一致的子网;
第三划分子模块,用于根据所述神经网络的神经元权值,将所述神经网络划分为多个内部数据特征一致的子网。
根据所述的计算系统,所述第三划分子模块根据所述神经网络的神经元权值的分布,将所述神经网络划分为多个内部数据特征一致的子网;或者
根据所述神经网络的神经元权值的正负,将所述神经网络划分为多个内部数据特征一致的子网。
根据所述的计算系统,所述第二计算模块对每个所述子网的第一计算结果进行拼接或者加权的方式计算所述神经网络的总计算结果;
所述神经网络的数据存储于片外存储介质,所述子网的数据存储于片上存储介质。
为了实现本发明的另一发明目的,本发明还提供了一种用于上述任一项所述的计算系统的装置,所述装置包括:
片上存储模块以及寻址模块,设置于片上存储介质,且连接于片上地址索引模块和片上计算模块,用于存储所述子网的数据;
片上地址索引模块,用于索引所述片上存储模块以及寻址模块存储的数据;
片上计算模块,用于计算所述子网的第一计算结果。
本发明通过将神经网络划分为多个内部数据特征一致的子网;对每个所述子网进行计算,获得每个所述子网的第一计算结果;根据每个所述子网的第一计算结果计算所述神经网络的总计算结果。由此,可以通过合理调度数据,缩减片上缓存开销,从而可以提供更加高效的加速器设计支持。由于针对大规模数据进行有效划分,从而降低硬件资源需求如访存带宽需求,同时提供良好的灵活性,解决了对重复数据进行高效读写的问题,提升神经网络的计算效率。
附图说明
图1是本发明实施例提供的神经网络的计算系统的结构示意图;
图2是本发明实施例提供的神经网络的计算系统的结构示意图;
图3是本发明实施例提供的根据输出神经元划分子网的示意图;
图4是本发明实施例提供的根据输入神经元划分子网的示意图;
图5是本发明实施例提供的根据权值连接划分子网的示意图;
图6A是本发明实施例提供的根据权值正负划分子网的示意图;
图6B是本发明实施例提供的根据权值分布划分子网的示意图;
图7是本发明实施例提供的根据按照正负进行权值划分子网及其可能的均值优化表示的示意图;
图8A是本发明实施例提供的神经网络的计算装置的结构示意图;
图8B是本发明实施例提供的神经网络的计算的总体结构的框图;
图9是本发明实施例提供的神经网络的计算方法流程图;
图10是本发明实施例提供的神经网络的计算方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,在本发明的第一实施例中,提供了一种神经网络的计算系统100,所述计算系统100包括:
划分模块10,用于将神经网络划分为多个内部数据特征一致的子网;
第一计算模块20,用于对每个所述子网进行计算,获得每个所述子网的第一计算结果;
第二计算模块30,用于根据每个所述子网的第一计算结果计算所述神经网络的总计算结果。
在该实施例中,提供了神经网络的计算系统100,通过该计算系统100首先将神经网络的划分为多个子网,根据不同的划分原则,神经网络可以被划分成为不同的子网,而不同的划分方法使得子网具有不同的特征。其中,所述神经网络的数据存储于片外存储介质,所述子网的数据存储于片上存储介质。具体的,划分模块10根据不同的划分原则划分神经网络成为不同的子网,该划分原则是使得同一子网内部的数据特征具有一致性,不同子网间的数据可能具有不同特质,以及不同的子网可能被存储在不同的介质中,如片内(即片上)片外,从而在不同的时刻被硬件调度进行计算。第一计算模块20进行子网计算,对每个所述子网进行计算,获得每个所述子网的第一计算结果。通常情况下,片上有限的资源限制了所有数据同时进行计算的可能性,所以数据被进行划分,大存储介质(廉价,速度稍慢)放在片外,小存储介质(昂贵,速度快)集成在片上,数据按照子网存储在片外介质,在不同的时刻被搬运至计算模块进行子网相关操作。尽管神经网络本身有可能为复杂的庞大网络,但是每个子网的计算与原本网络本身一致。最后,第二计算模块30对每个所述子网的第一计算结果进行拼接或者加权的方式计算所述神经网络的总计算结果;对于不同的子网根据不同的划分原则,需要进行不同的操作,如第二计算模块30简单拼接或者计算得到最终的总网的计算结果。由此,提高了神经网络的计算效率。
参见图2,在本发明的第二实施例中,划分模块10包括:
第一划分子模块11,用于根据所述神经网络的输出神经元,将所述神经网络划分为多个内部数据特征一致的子网;
第二划分子模块12,用于根据所述神经网络的输入神经元,将所述神经网络划分为多个内部数据特征一致的子网;
第三划分子模块13,用于根据所述神经网络的神经元权值,将所述神经网络划分为多个内部数据特征一致的子网。
在该实施例中,本发明中的子网划分原则包括根据输出神经元划分,根据输入神经元划分,以及根据权值划分,第一划分子模块11、第二划分子模块12以及第三划分子模块13根据不同的划分原则进行划分。如图3所示的子网划分方式,其原则为根据输出神经元划分。不同的输出神经元需要根据所有的输入神经元计算输出结果,神经元间具有不同权值的连接。在图3中输入为4个神经元,输出为2个神经元,输入输出神经元之间为全连接,根据神经网络的输出神经元,两个子网分别计算一个输出神经元。图4为一个神经网络(同图3中的规模)根据输入神经元划分子网,每个子网都只包含2个输入神经元。图3和图4所示的根据输入输出神经元划分的原则不局限于全连接情况,也是适用于非全连接状况。图5则是根据权值进行划分子网的例子,其中每个子网只计算一份的连接,子网加和在一起即是总的网络。
此外,第三划分子模块13根据所述神经网络的神经元权值的分布,将所述神经网络划分为多个内部数据特征一致的子网;或者
根据所述神经网络的神经元权值的正负,将所述神经网络划分为多个内部数据特征一致的子网。
如图5所示的子网划分,其原则为根据神经元权值连接划分。权值具有不同的属性,从而可以根据不同的划分原则将网络划分成为不同的子网。这里根据权值将网络划分成为两个子网。此外,图5所示的子网划分,还根据权值划分的原则包括正负——将整个网络划分成为正子网和负子网,阈值——大于x的子网和小于等于x的子网,分段——权值在不同区间形成的不同子网等等。以及根据权值进行子网划分,还包括复杂的划分原则,如根据权值分布划分。在本发明的一个实施方式中,图6A所示子网划分,其根据权值划分的原则为权值正负,根据权值正负将网络划分成为正负两个子网。如图6B所示的子网划分,其根据权值分布进行划分,将一个权值符合正态分布的网络划分成为两个权值符合正态分布的子网。图6B所示一个实施例的子网划分原则的一个优点,即可以通过划分将每个子网的权值分布的范围缩减,从而每个子网中的权值可以表示为均值和偏差。从硬件角度上看,均值可以复用,偏差可以直接存储,或者进行聚类,或者进行压缩,从而降低硬件资源需求,降低硬件开销。此外,子网划分原则还包括根据连接划分,这种划分原则可以自然的被归入根据输入或者输出神经元进行划分,本发明故不特别分为一类。子网计算与原始神经网络并无而异,子网划分在每个子网中并不引入额外的操作。
在本发明的一个实施例中,如图7所示一个实施例的子网划分原则,根据权值的分布将数值进行变换表示,也即将单个数值分解成为a+b的形式,其中a是均值,b为相对均值该数值的偏差(b可为正也可为负)。图7所示的实施例的划分原则的一个优点在于,b此时相对0点对称分布,可以采用最少bit的数据表示,a对于所有数值一样,则子网划分成为两个网络,一个为均值子网,另外一个为偏差子网。从硬件资源上来说,均值子网所有权值一致,大大的减少了该子网的权值数据读取次数,如存在片上寄存器则只需要读取一次即够无限次使用;偏差子网中权值的表示一方面有效的降低了每个数值的表示位宽从而降低了带宽需求,一方面偏差权值可以聚类或者压缩从而使得带宽不成为计算的瓶颈。
在上述多个实施例中,神经网络的计算系统100的多个模块可以为软件单元,硬件单元或软硬件结合单元。
参见图8A和图8B,在本发明第三实施例中,还提供了一种用于上述多个计算系统的装置101,该装置101包括:
片上存储模块以及寻址模块1011,设置于片上存储介质,且连接于片上地址索引模块1012和片上计算模块1013,用于存储所述子网的数据;
片上地址索引模块1012,用于索引所述片上存储模块以及寻址模块1011存储的数据;
片上计算模块1013,用于计算所述子网的第一计算结果。
在该实施例中,神经网络的计算系统的装置101包含片上存储模块以及寻址模块1011、片上地址索引模块1012和片上计算模块1013。片上地址索引模块1012索引片上存储的数据;片上存储模块以及寻址模块1011数据读出接口则是已索引到数据的输出出口;片上存储模块以及寻址模块1011数据写入接口则是存储单元数据根据写入地址写入相应存储位置。该片上存储模块以及寻址模块1011采用读写端口分离设计,从而使得数据的读出和写入相互独立,可以同时进行。由此,可以高效的进行片上地址空间内的重复寻址,也可以进行片外地址寻址;具体的,具有片上存储介质,片外存储介质,地址索引单元,片内片外数据通路,片内数据通路。片上存储介质包含静态随机存储器(Static Random AccessMemory,SRAM),动态随机存储器(Dynamic Random Access Memory,DRAM),增强动态随机存取存储器(Enhanced Dynamic Random Access Memory,eDRAM),寄存器堆(Register file,RF)等常见存储介质也可以是新型的存储期间,如非易失存储器(Non-Volatile Memory,NVM)或者3D存储器件等等。对于片上存储介质不局限存储介质。片外存储介质包含静态随机存储器(Static Random AccessMemory,SRAM),动态随机存储器(Dynamic Random Access Memory,DRAM),增强动态随机存取存储器(Enhanced Dynamic Random Access Memory,eDRAM),寄存器堆(Register file,RF)等常见存储介质也可以是新型的存储期间,如非易失存储器(Non-Volatile Memory,NVM)或者3D存储器件等等。地址空间划分成为片外数据空间和片内数据空间。地址空间划分具有较强的灵活性,不局限地址空间的大小。片内片外数据通路,包含PCI、PCIE、HT等互联技术。片内片外数据通路,不局限互联技术。片内数据通路,包含FATTREE、HTREE等互联技术。片内数据通路,不局限互联技术。神经网络与子网的数据可以被一次或者多次读写。数据可以被读至一个或者多个片上运算单元。片上存储介质可以被一次或者多次从外部进行读写。片上存储介质可以被一次或者多次从内部读写。片外存储介质数据可以被一次或者多次读写。片外存储介质的数据可以被读至一个或者多个片上运算单元。片外存储介质可以被一次或者多次从外部进行读写。片外存储介质可以被一次或者多次从内部读写。片上存储介质包含一次或者多次替换。片上存储介质的数据替换策略包含顺序替换,逆序替换,随机替换等。
参见图9,在本发明的第四实施例中,提供了一种神经网络的计算方法,所述计算方法包括如下步骤:
步骤S901中,划分模块10将神经网络划分为多个内部数据特征一致的子网;
步骤S902中,第一计算模块20对每个所述子网进行计算,获得每个所述子网的第一计算结果;
步骤S903中,第二计算模块30根据每个所述子网的第一计算结果计算所述神经网络的总计算结果。
在该实施例中,通过划分模块10对神经网络进行子网划分从而通过分别加速单个子网,使得子网可以被芯片快速高效的完成计算,从而使得总网络的计算快速高效,根据不同的划分原则,神经网络被划分成为不同的子网由第一计算模块20、第二计算模块30进行组织计算。此外,所述神经网络的数据存储于片外存储介质,所述子网的数据存储于片上存储介质。对每个所述子网的第一计算结果进行拼接或者加权的方式计算所述神经网络的总计算结果。可以有效的提供数据的复用性和其灵活寻址的需求,高效的满足硬件资源需求如带宽,能够适用于不同场景。
在本发明的另一实施例中,所述步骤S901包括:
第一划分子模块11根据所述神经网络的输出神经元,将所述神经网络划分为多个内部数据特征一致的子网;
第二划分子模块12根据所述神经网络的输入神经元,将所述神经网络划分为多个内部数据特征一致的子网;
第三划分子模块13根据所述神经网络的神经元权值,将所述神经网络划分为多个内部数据特征一致的子网。
其中,第三划分子模块13根据所述神经网络的神经元权值的分布,将所述神经网络划分为多个内部数据特征一致的子网;或者
根据所述神经网络的神经元权值的正负,将所述神经网络划分为多个内部数据特征一致的子网。
对于异构平台来说,加速器的片上能够存储的数据十分有限,而如今的神经网络通常具有较大规模,需要将整个神经网络划分成为不同的子网进行计算,通过片外大存储介质和片内小存储介质上的数据交互将所需数据块读入或者写出。最后,根据不同的子网计算结果计算总网结果。图8B所示的片内片外数据连接并不局限于PCIE总线连接,也包含多芯片互联结构如片上网络等。图8B所示的片上计算单元与片上存储介质的数据通路不局限于H-TREE,或者FAT-TREE等互联技术。
在本发明的一个实施例中,图10所示神经网络的计算流程,以聚类了权值的一层神经网络为例,即图6A,具体描述如下:
步骤S1001中,神经网络子网的划分,此例中网络划分方式见步骤S1011。步骤S1011中其中这里假设权值聚类成为356类,而片上资源只能存放256个,根据存储限制,网络被划分成为两个子网,即子网1和子网2;
步骤S1002中,LOAD 256个权值至片上,为子网1计算做数据准备;
步骤S1003中,寻址特定权值的连接;
步骤S1004中,计算特定权值的连接;
步骤S1005中,判断子网1是否已经完成计算,这里也即所有256个权值已经使用完毕,如果使用完毕则进入S1012确定子网1的计算结果和S1006进入子网2的计算;如果没有则进入步骤S1003继续进行子网1的计算;
步骤S1006中,寻址特定权值的连接;
步骤S1007中,计算特定权值的连接;
步骤S1008中,判断子网2是否已经完成计算,这里也即所有100个权值已经使用完毕,如果使用完毕则进入S1013确定子网2的计算结果和S1009进入总网的计算;如果没有则进入步骤S1006继续进行子网2的计算;
步骤S1009中,计算总网为子网1和子网2;
步骤S1012中,子网1的结果确定;
步骤S1013中,子网2的结果确定。
在该实施例中,选对神经网络子网划分,神经网络权值聚类成为356类,也即356个权值,此处假设片上的权值缓存只能存下256个数,这样自然而然的将神经网络划归成为两类,一类是使用前256个权值的连接的网络,即子网1;另一类则是使用剩下100个权值连接的网络,即子网2。这样最终的神经元结果只需要将子网1和子网2的累加结果相加就可以得到最后的总网的结果。开始计算后,前256个权值载入片上,所有输出神经元根据输入神经元进行一一寻址然后计算直到所有权值使用完毕,子网1的计算完成;类似的子网2计算完成。将子网1和子网2的结果相加,得到最后总网络的结果。需要注意的是,本发明各实施例中的存储装置并不限定存储所用介质,可以是静态随机存储器(Static Random Access Memory,SRAM),动态随机存储器(Dynamic RandomAccess Memory,DRAM),增强动态随机存取存储器(Enhanced Dynamic RandomAccess Memory,eDRAM),寄存器堆(Register file,RF)等常见存储介质,也可以是新型的存储器件,如非易失存储器(Non-Volatile Memory,NVM)或者3D存储器件等等。
综上所述,本发明通过将神经网络划分为多个内部数据特征一致的子网;对每个所述子网进行计算,获得每个所述子网的第一计算结果;根据每个所述子网的第一计算结果计算所述神经网络的总计算结果。由此,可以通过合理调度数据,缩减片上缓存开销,从而可以提供更加高效的加速器设计支持。由于针对大规模数据进行有效划分,从而降低硬件资源需求如访存带宽需求,同时提供良好的灵活性,解决了对重复数据进行高效读写的问题。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种神经网络的计算方法,其特征在于,所述计算方法包括如下步骤:
A、将神经网络划分为多个内部数据特征一致的子网;
B、对每个所述子网进行计算,获得每个所述子网的第一计算结果;
C、根据每个所述子网的第一计算结果计算所述神经网络的总计算结果。
2.根据权利要求1所述的计算方法,其特征在于,所述步骤A包括:
A1、根据所述神经网络的输出神经元,将所述神经网络划分为多个内部数据特征一致的子网;
A2、根据所述神经网络的输入神经元,将所述神经网络划分为多个内部数据特征一致的子网;
A3、根据所述神经网络的神经元权值,将所述神经网络划分为多个内部数据特征一致的子网。
3.根据权利要求2所述的计算方法,其特征在于,所述步骤A3包括:
根据所述神经网络的神经元权值的分布,将所述神经网络划分为多个内部数据特征一致的子网;或者
根据所述神经网络的神经元权值的正负,将所述神经网络划分为多个内部数据特征一致的子网。
4.根据权利要求1所述的计算方法,其特征在于,在所述步骤C中,对每个所述子网的第一计算结果进行拼接或者加权的方式计算所述神经网络的总计算结果。
5.根据权利要求1~4任一项所述的计算方法,其特征在于,所述神经网络的数据存储于片外存储介质,所述子网的数据存储于片上存储介质。
6.一种神经网络的计算系统,其特征在于,所述计算系统包括:
划分模块,用于将神经网络划分为多个内部数据特征一致的子网;
第一计算模块,用于对每个所述子网进行计算,获得每个所述子网的第一计算结果;
第二计算模块,用于根据每个所述子网的第一计算结果计算所述神经网络的总计算结果。
7.根据权利要求6所述的计算系统,其特征在于,所述划分模块包括:
第一划分子模块,用于根据所述神经网络的输出神经元,将所述神经网络划分为多个内部数据特征一致的子网;
第二划分子模块,用于根据所述神经网络的输入神经元,将所述神经网络划分为多个内部数据特征一致的子网;
第三划分子模块,用于根据所述神经网络的神经元权值,将所述神经网络划分为多个内部数据特征一致的子网。
8.根据权利要求7所述的计算系统,其特征在于,所述第三划分子模块根据所述神经网络的神经元权值的分布,将所述神经网络划分为多个内部数据特征一致的子网;或者
根据所述神经网络的神经元权值的正负,将所述神经网络划分为多个内部数据特征一致的子网。
9.根据权利要求6所述的计算系统,其特征在于,所述第二计算模块对每个所述子网的第一计算结果进行拼接或者加权的方式计算所述神经网络的总计算结果;
所述神经网络的数据存储于片外存储介质,所述子网的数据存储于片上存储介质。
10.一种用于权利要求6~9任一项所述的计算系统的装置,其特征在于,所述装置包括:
片上存储模块以及寻址模块,设置于片上存储介质,且连接于片上地址索引模块和片上计算模块,用于存储所述子网的数据;
片上地址索引模块,用于索引所述片上存储模块以及寻址模块存储的数据;
片上计算模块,用于计算所述子网的第一计算结果。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610149920.9A CN107203807B (zh) | 2016-03-16 | 2016-03-16 | 神经网络加速器的片上缓存带宽均衡方法、系统及其装置 |
US16/071,402 US20210103818A1 (en) | 2016-03-16 | 2016-08-09 | Neural network computing method, system and device therefor |
PCT/CN2016/094199 WO2017156968A1 (zh) | 2016-03-16 | 2016-08-09 | 神经网络的计算方法、系统及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610149920.9A CN107203807B (zh) | 2016-03-16 | 2016-03-16 | 神经网络加速器的片上缓存带宽均衡方法、系统及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107203807A true CN107203807A (zh) | 2017-09-26 |
CN107203807B CN107203807B (zh) | 2020-10-02 |
Family
ID=59851848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610149920.9A Active CN107203807B (zh) | 2016-03-16 | 2016-03-16 | 神经网络加速器的片上缓存带宽均衡方法、系统及其装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20210103818A1 (zh) |
CN (1) | CN107203807B (zh) |
WO (1) | WO2017156968A1 (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595211A (zh) * | 2018-01-05 | 2018-09-28 | 百度在线网络技术(北京)有限公司 | 用于输出数据的方法和装置 |
CN109919315A (zh) * | 2019-03-13 | 2019-06-21 | 科大讯飞股份有限公司 | 一种神经网络的前向推理方法、装置、设备及存储介质 |
CN110321064A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 用于神经网络的计算平台实现方法及系统 |
CN110321999A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 神经网络计算图优化方法 |
WO2019211651A1 (en) * | 2018-05-02 | 2019-11-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Placement-aware acceleration of parameter optimization in a predictive model |
CN110490302A (zh) * | 2019-08-12 | 2019-11-22 | 北京中科寒武纪科技有限公司 | 一种神经网络编译优化方法、装置以及相关产品 |
WO2020062284A1 (zh) * | 2018-09-30 | 2020-04-02 | 深圳市大疆创新科技有限公司 | 基于卷积神经网络的图像处理方法和设备,以及无人机 |
CN111667046A (zh) * | 2019-03-08 | 2020-09-15 | 富泰华工业(深圳)有限公司 | 深度学习加速方法及用户终端 |
CN112488305A (zh) * | 2020-12-22 | 2021-03-12 | 西北工业大学 | 一种神经网络存储组织结构及其可配置管理方法 |
CN114202067A (zh) * | 2021-11-30 | 2022-03-18 | 山东产研鲲云人工智能研究院有限公司 | 面向卷积神经网络加速器的带宽优化方法及相关设备 |
CN114501353A (zh) * | 2020-10-23 | 2022-05-13 | 维沃移动通信有限公司 | 通信信息的发送、接收方法及通信设备 |
CN114531355A (zh) * | 2020-11-23 | 2022-05-24 | 维沃移动通信有限公司 | 通信方法、装置及通信设备 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10664722B1 (en) * | 2016-10-05 | 2020-05-26 | Digimarc Corporation | Image processing arrangements |
CN110569588B (zh) * | 2019-08-29 | 2021-04-20 | 华中科技大学 | 一种基于前馈神经网络的工业机器人整机性能预估方法 |
CN111695685B (zh) * | 2020-05-12 | 2023-09-26 | 中国科学院计算技术研究所 | 一种面向图神经网络应用的片上存储系统及方法 |
CA3203617A1 (en) * | 2021-02-10 | 2022-08-18 | Alan Wesley DAVIS | Personal protection equipment network (ppe-n) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102636742A (zh) * | 2012-05-15 | 2012-08-15 | 长沙河野电气科技有限公司 | 基于小波神经网络的大规模模拟电路故障诊断方法 |
CN102662040A (zh) * | 2012-04-20 | 2012-09-12 | 辽宁工程技术大学 | 一种动态模块化神经网络的氨氮在线软测量方法 |
CN102789593A (zh) * | 2012-06-18 | 2012-11-21 | 北京大学 | 基于增量式ghsom神经网络的入侵检测方法 |
CN102856910A (zh) * | 2012-07-31 | 2013-01-02 | 上海交通大学 | 基于多模型模糊神经网络pi的statcom控制方法 |
US20130103326A1 (en) * | 2011-10-20 | 2013-04-25 | William A. Von Drasek | Method for early warning chatter detection and asset protection management |
CN103403724A (zh) * | 2011-03-04 | 2013-11-20 | 东京毅力科创株式会社 | 用于基于库的临界尺寸(cd)计量的精确和快速的神经网络训练 |
CN104145281A (zh) * | 2012-02-03 | 2014-11-12 | 安秉益 | 神经网络计算装置和系统及其方法 |
CN104503232A (zh) * | 2014-11-27 | 2015-04-08 | 中国人民解放军军械工程学院 | 具有仿生抗扰特性的简并电路及其设计方法 |
CN104866904A (zh) * | 2015-06-16 | 2015-08-26 | 中电科软件信息服务有限公司 | 一种基于spark的遗传算法优化的BP神经网络并行化方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0901053B1 (en) * | 1997-09-04 | 2003-06-04 | Rijksuniversiteit te Groningen | Method for modelling and/or controlling a production process using a neural network and controller for a production process |
CN102647292B (zh) * | 2012-03-20 | 2014-07-23 | 北京大学 | 一种基于半监督神经网络模型的入侵检测方法 |
US10832120B2 (en) * | 2015-12-11 | 2020-11-10 | Baidu Usa Llc | Systems and methods for a multi-core optimized recurrent neural network |
-
2016
- 2016-03-16 CN CN201610149920.9A patent/CN107203807B/zh active Active
- 2016-08-09 US US16/071,402 patent/US20210103818A1/en not_active Abandoned
- 2016-08-09 WO PCT/CN2016/094199 patent/WO2017156968A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103403724A (zh) * | 2011-03-04 | 2013-11-20 | 东京毅力科创株式会社 | 用于基于库的临界尺寸(cd)计量的精确和快速的神经网络训练 |
US20130103326A1 (en) * | 2011-10-20 | 2013-04-25 | William A. Von Drasek | Method for early warning chatter detection and asset protection management |
CN104145281A (zh) * | 2012-02-03 | 2014-11-12 | 安秉益 | 神经网络计算装置和系统及其方法 |
CN102662040A (zh) * | 2012-04-20 | 2012-09-12 | 辽宁工程技术大学 | 一种动态模块化神经网络的氨氮在线软测量方法 |
CN102636742A (zh) * | 2012-05-15 | 2012-08-15 | 长沙河野电气科技有限公司 | 基于小波神经网络的大规模模拟电路故障诊断方法 |
CN102789593A (zh) * | 2012-06-18 | 2012-11-21 | 北京大学 | 基于增量式ghsom神经网络的入侵检测方法 |
CN102856910A (zh) * | 2012-07-31 | 2013-01-02 | 上海交通大学 | 基于多模型模糊神经网络pi的statcom控制方法 |
CN104503232A (zh) * | 2014-11-27 | 2015-04-08 | 中国人民解放军军械工程学院 | 具有仿生抗扰特性的简并电路及其设计方法 |
CN104866904A (zh) * | 2015-06-16 | 2015-08-26 | 中电科软件信息服务有限公司 | 一种基于spark的遗传算法优化的BP神经网络并行化方法 |
Non-Patent Citations (1)
Title |
---|
方睿 等: "卷积神经网络的FPGA并行加速方案设计", 《计算机工程与应用》 * |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595211A (zh) * | 2018-01-05 | 2018-09-28 | 百度在线网络技术(北京)有限公司 | 用于输出数据的方法和装置 |
CN108595211B (zh) * | 2018-01-05 | 2021-11-26 | 百度在线网络技术(北京)有限公司 | 用于输出数据的方法和装置 |
CN110321064A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 用于神经网络的计算平台实现方法及系统 |
CN110321999A (zh) * | 2018-03-30 | 2019-10-11 | 北京深鉴智能科技有限公司 | 神经网络计算图优化方法 |
CN110321999B (zh) * | 2018-03-30 | 2021-10-01 | 赛灵思电子科技(北京)有限公司 | 神经网络计算图优化方法 |
WO2019211651A1 (en) * | 2018-05-02 | 2019-11-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Placement-aware acceleration of parameter optimization in a predictive model |
WO2020062284A1 (zh) * | 2018-09-30 | 2020-04-02 | 深圳市大疆创新科技有限公司 | 基于卷积神经网络的图像处理方法和设备,以及无人机 |
CN111667046A (zh) * | 2019-03-08 | 2020-09-15 | 富泰华工业(深圳)有限公司 | 深度学习加速方法及用户终端 |
CN109919315B (zh) * | 2019-03-13 | 2021-10-01 | 科大讯飞股份有限公司 | 一种神经网络的前向推理方法、装置、设备及存储介质 |
CN109919315A (zh) * | 2019-03-13 | 2019-06-21 | 科大讯飞股份有限公司 | 一种神经网络的前向推理方法、装置、设备及存储介质 |
CN110490302A (zh) * | 2019-08-12 | 2019-11-22 | 北京中科寒武纪科技有限公司 | 一种神经网络编译优化方法、装置以及相关产品 |
CN114501353B (zh) * | 2020-10-23 | 2024-01-05 | 维沃移动通信有限公司 | 通信信息的发送、接收方法及通信设备 |
CN114501353A (zh) * | 2020-10-23 | 2022-05-13 | 维沃移动通信有限公司 | 通信信息的发送、接收方法及通信设备 |
CN114531355B (zh) * | 2020-11-23 | 2023-07-18 | 维沃移动通信有限公司 | 通信方法、装置及通信设备 |
CN114531355A (zh) * | 2020-11-23 | 2022-05-24 | 维沃移动通信有限公司 | 通信方法、装置及通信设备 |
WO2022105913A1 (zh) * | 2020-11-23 | 2022-05-27 | 维沃移动通信有限公司 | 通信方法、装置及通信设备 |
CN112488305A (zh) * | 2020-12-22 | 2021-03-12 | 西北工业大学 | 一种神经网络存储组织结构及其可配置管理方法 |
CN112488305B (zh) * | 2020-12-22 | 2023-04-18 | 西北工业大学 | 一种神经网络存储装置及其可配置管理方法 |
CN114202067A (zh) * | 2021-11-30 | 2022-03-18 | 山东产研鲲云人工智能研究院有限公司 | 面向卷积神经网络加速器的带宽优化方法及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
WO2017156968A1 (zh) | 2017-09-21 |
CN107203807B (zh) | 2020-10-02 |
US20210103818A1 (en) | 2021-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107203807A (zh) | 神经网络的计算方法、系统及其装置 | |
US20230325348A1 (en) | Performing concurrent operations in a processing element | |
CN109214504B (zh) | 一种基于fpga的yolo网络前向推理加速器设计方法 | |
CN107169563B (zh) | 应用于二值权重卷积网络的处理系统及方法 | |
CN105843775B (zh) | 片上数据划分读写方法、系统及其装置 | |
CN111723900B (zh) | 一种基于众核处理器的神经网络的映射方法及计算设备 | |
CN108416437A (zh) | 用于乘加运算的人工神经网络的处理系统及方法 | |
CN105740424A (zh) | 一种基于 Spark 平台的高效率文本分类方法 | |
CN110222818B (zh) | 一种用于卷积神经网络数据存储的多bank行列交织读写方法 | |
JP2018116469A (ja) | 演算システムおよびニューラルネットワークの演算方法 | |
CN109472361B (zh) | 神经网络优化方法 | |
US10684946B2 (en) | Method and device for on-chip repetitive addressing | |
CN108520296B (zh) | 一种基于深度学习芯片动态cache分配的方法和装置 | |
CN116070682A (zh) | 神经元计算机操作系统的snn模型动态映射方法及装置 | |
CN115668222A (zh) | 一种神经网络的数据处理方法及装置 | |
CN111722923A (zh) | 一种异构资源的调用方法、装置和计算机可读存储介质 | |
US11467973B1 (en) | Fine-grained access memory controller | |
KR20210081663A (ko) | 인터커넥트 장치, 인터커넥트 장치의 동작 방법 및 인터커넥트 장치를 포함하는 AI(Artificial Intelligence) 가속기 시스템 | |
CN113986816B (zh) | 可重构计算芯片 | |
CN118014031A (zh) | 针对多个输入数据集的处理 | |
CN106850849A (zh) | 一种数据处理方法、装置和服务器 | |
CN118012631B (zh) | 一种算子执行方法、处理设备、存储介质及程序产品 | |
WO2024128372A1 (ko) | 차세대 고속 경량 객체인식 fpga npu 시스템을 위한 계산유닛, 버퍼 및 데이터 이동 최적화 방법론 | |
CN111913744B (zh) | Ai深度学习数据处理方法及系统 | |
CN113325999B (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 |