CN111814973B - 一种适用于神经常微分方程网络计算的存内计算系统 - Google Patents
一种适用于神经常微分方程网络计算的存内计算系统 Download PDFInfo
- Publication number
- CN111814973B CN111814973B CN202010707798.9A CN202010707798A CN111814973B CN 111814973 B CN111814973 B CN 111814973B CN 202010707798 A CN202010707798 A CN 202010707798A CN 111814973 B CN111814973 B CN 111814973B
- Authority
- CN
- China
- Prior art keywords
- differential equation
- neural
- ordinary differential
- module
- network
- 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
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)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Complex Calculations (AREA)
Abstract
本发明涉及一种适用于神经常微分方程网络计算的存内计算系统,包括:高级编程模型,用于指定神经网络的架构以及指定神经常微分方程求解器;模型编译模块,确定输入数据的重组方案、权重映射方案和数据流控制原语;存内计算模块,将输入数据映射在存内计算模块的交叉阵列上,而后根据数据流控制原语进行常微分方程的计算;误差检验模块,用于计算并判断存内计算模块中输出结果的误差是否满足误差尤其;处理模块,将误差满足要求的输出结果根据任务需求进行处理,最后输出处理结果。本发明使用存内计算架构对神经常微分方程网络进行加速,极大降低了内存的占用率,提高了神经常微分方程网络的运算速度,精度和速度可调,可配置性强。
Description
技术领域
本发明涉及一种适用于神经常微分方程网络计算的存内计算系统。
背景技术
随着深度学习网络在人工智能领域取得了极大的成功,人们日常生活中的数据量越来越大,深度学习网络的规模也随之变大,参数量越来越多。数据在处理单元和内存之间不断搬运成为了计算系统中的一个关键性能瓶颈。考虑上述问题,存内计算(Processing-in-Memory)展现出了它在深度学习加速领域中的巨大前景。
目前,使用存内计算加速的神经网络很少,主要是二值卷积神经网络,二值神经网络能够最大程度地降低模型的存储占用和模型的计算量,将神经网络中原本32位浮点数参数量化至1位定点数,同时极大加速了神经网络的推断过程。但是二值化不可避免地导致严重的信息损失,其量化函数不连续性也给深度网络的优化带来了困难。现如今还没有人为神经常微分方程网络进行存内计算加速,但该网络能够在保存信息的同时降低模型部署的资源消耗,是非常适合使用存内计算加速的网络。
发明内容
本发明的目的在于提供一种适用于神经常微分方程网络计算的存内计算系统,使用存内计算架构对神经常微分方程网络进行加速,极大降低了内存的占用率,提高了神经常微分方程网络的运算速度,精度和速度可调,可配置性强。
为实现上述目的,本发明的技术方案是:一种适用于神经常微分方程网络计算的存内计算系统,包括:
高级编程模型,用于指定神经网络的架构以及指定神经常微分方程求解器;
模型编译模块,根据高级编程模型指定的神经网络的架构以及神经常微分方程求解器,确定输入数据的重组方案,以确定权重映射方案和数据流控制原语;
存内计算模块,根据权重映射方案将输入数据映射在存内计算模块中交叉阵列的每一个忆阻器单元上,而后根据数据流控制原语将输入数据从交叉阵列对应的字线输入,并进行神经常微分方程网络的计算;
误差检验模块,用于计算存内计算模块中输出结果的误差,然后与给定的误差值进行比较,若误差满足要求,则将存内计算模块中输出结果传输给处理模块;
处理模块,将误差满足要求的输出结果根据任务需求进行处理,最后输出处理结果。
在本发明一实施例中,所述指定神经网络的架构包括指定神经网络中卷积、池化、激活、卷积核大小的参数。
在本发明一实施例中,所述神经常微分方程求解器包括四种常微分方程解法:欧拉法、梯形法、四阶龙格库塔法、亚当斯法。
在本发明一实施例中,所述模型编译模块的具体实现方式如下:
S41、接收高级编程模型指定的神经网络的架构、神经常微分方程求解器和输入数据;
S42、判断输入数据是否符合规定尺寸大小,若不是则对其进行下采样和填充,使其符合规定尺寸大小,即使得得到的输入数据的特征图大小C×H×W,卷积次数N,卷积核大小K×K,0填充大小P;
S43、根据预设的卷积次数将特征图的通道数进行增加,使特征图大小变为(C+N)×H×W;
S44、找出值全为0的通道数i,重新调整特征图大小为(C+N-i)×H×W;
S45、将填充0后的特征图数据的大小(C+N-i)×(H+2P)×(W+2P)按照结构化进行重组,分解为(K-P)×(K-P),(K-P)×K,K×K,K×(K-P)四种数据格式;
S46、将卷积滤波器按照步骤S45的结果分解为对应的模式,形成映射方案;
S47、根据指定的神经常微分方程求解器设计数据流;
S48、针对S46、S47处理后的数据生成权重映射方案和数据流控制原语。
相较于现有技术,本发明具有以下有益效果:本发明使用存内计算架构对神经常微分方程网络进行加速,极大降低了内存的占用率,提高了神经常微分方程网络的运算速度,精度和速度可调,并且提供了多种常微分方程的求解方案,可配置性强,解决了在硬件资源有限的情况下无法实现较大网络模型和模型可配置性差的问题。
附图说明
图1给出了存内计算架构框图。
图2给出了编译模块的流程图。
图3给出了存内计算模块的结构框图。
图4给出了交叉阵列的结构框图
图5给出了存内计算架构工作流程图。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供了一种适用于神经常微分方程网络计算的存内计算系统,包括:
高级编程模型,用于指定神经网络的架构以及指定神经常微分方程求解器;
模型编译模块,根据高级编程模型指定的神经网络的架构以及神经常微分方程求解器,确定输入数据的重组方案,以确定权重映射方案和数据流控制原语;
存内计算模块,根据权重映射方案将输入数据映射在存内计算模块中交叉阵列的每一个忆阻器单元上,而后根据数据流控制原语将输入数据从交叉阵列对应的字线输入,并进行神经常微分方程网络的计算;
误差检验模块,用于计算存内计算模块中输出结果的误差,然后与给定的误差值进行比较,若误差满足要求,则将存内计算模块中输出结果传输给处理模块;
处理模块,将误差满足要求的输出结果根据任务需求进行处理,最后输出处理结果。
所述指定神经网络的架构包括指定神经网络中卷积、池化、激活、卷积核大小的参数。所述神经常微分方程求解器包括四种常微分方程解法:欧拉法、梯形法、四阶龙格库塔法、亚当斯法。
所述模型编译模块的具体实现方式如下:
S41、接收高级编程模型指定的神经网络的架构、神经常微分方程求解器和输入数据;
S42、判断输入数据是否符合规定尺寸大小,若不是则对其进行下采样和填充,使其符合规定尺寸大小,即使得得到的输入数据的特征图大小C×H×W,卷积次数N,卷积核大小K×K,0填充大小P;
S43、根据预设的卷积次数将特征图的通道数进行增加,使特征图大小变为(C+N)×H×W;
S44、找出值全为0的通道数i,重新调整特征图大小为(C+N-i)×H×W;
S45、将填充0后的特征图数据的大小(C+N-i)×(H+2P)×(W+2P)按照结构化进行重组,分解为(K-P)×(K-P),(K-P)×K,K×K,K×(K-P)四种数据格式;
S46、将卷积滤波器按照步骤S45的结果分解为对应的模式,形成映射方案;
S47、根据指定的神经常微分方程求解器设计数据流;
S48、针对S46、S47处理后的数据生成权重映射方案和数据流控制原语。
以下为本发明的具体实现过程。
本发明应用在存内计算领域,具体为一种适用于神经常微分方程网络的存内计算系统。在存内计算架构上实现神经常微分方程网络,减少了神经网络模型的存储占用量,减少了实际芯片的面积,解决了大型网络无法在资源有限的边缘端部署,硬件功耗大,网络可配置性差的问题。
本发明的系统框架如图1所述。各部分功能如下所诉:
1、高级编程模型
高级编程模型用于指定神经网络的架构包括网络中的卷积、池化、激活、卷积核大小等参数。指定合适的神经常微分方程求解器,本次发明提供四种常微分方程解法欧拉法,梯形法,四阶龙格库塔法,亚当斯法。指定初始误差大小。
2、模型编译模块
模型编译模块将处理高级编程模型和输入数据,根据神经常微分方程网络算法确定输入数据的重组方案,以确定数据重组、卷积核映射方案和数据流。具体流程如图2所示。
1)接收高级编程模型和输入数据。
2)判断此时的输入数据是否符合规定尺寸大小如果不是则对其进行下采样和填充。
3)得到的特征图大小为C×H×W,卷积次数N,卷积核大小K×K,0填充大小P。
4)根据卷积次数将特征图的通道数进行增加,使特征图大小变为(C+N)×H×W。
5)找出值全为0的通道数i,重新调整特征图大小为(C+N-i)×H×W。
6)将填充0后的特征图数据的大小(C+N-i)×(H+2P)×(W+2P)按照结构化进行重组,分解为(K-P)×(K-P),(K-P)×K,K×K,K×(K-P)四种数据格式。
7)将卷积滤波器按照上一步的结果分解为对应的模式,形成映射方案。
8)根据选择的常微分方程求解器设计数据流。
9)针对处理后的数据生成权重映射方案和数据流控制原语
3、存内计算模块
存内计算模块是架构中的核心部分,用来计算神经网络中的矩阵与矩阵相乘,因为不需要将数据从内存和存储器之间来回搬运所以极大的加速了矩阵相乘操作并且降低了功耗开销。
存内计算模块的具体结构如图3所示:
(1)缓存。用来存储运算过程中的临时变量和输入数据
(2)非线性函数单元。它实现了神经常微分方程网络中使用的非线性函数包括激活函数ReLU和池化函数Maxpooling。因为它们分别是使用最广泛的激活和池化函数。我们将激活单元实现为一个查找表。在某些场景下,例如当一个大的矩阵被映射到多个交叉阵列中时,可以绕过激活单元。
(3)输入输出总线。用来实现各模块之间的通信,实现数据传输。
(4)交叉阵列中的结构如图4所示:
移位相加单元。对于一个大的矩阵,如果一个交叉阵列无法容乃,则应该将输入和输出进行分割,并且分组为多个交叉阵列。每个交叉阵列的输出为部分相加,通过移位加法单元进行水平收集和垂直相加,得出实际结果。
采样保持电路。它捕捉位线电流,将电流转换为电压,并将电压发送到模数转换器单元,由模数转换器转换为数字结果。
数模转换器。它将数字输入转换为应用于每个字线的相应电压。在这项工作中,我们假设每个字线在每个周期内都会收到一个比特的输入电压。
模数转换器。将忆阻器交叉阵列的模拟信号转换为数字输出结果。在矩阵向量乘法中,它的功耗很高。在这项工作中,将8个忆阻器交叉杆共享一个模数转换器,以分摊模数转换器的开销。
4、误差检验模块
将存内计算模块中输出的结果计算误差,然后与选择器中给定的误差值进行比较,其误差可以使用步长折半前后两次计算结果的偏差Δ来判断所选步长是否适当,根据比较的结果判断能否进行下一步操作,当要求数指精度为ε时,如果Δ>ε,反复将步长折半进行计算,直至△<ε为止。表面上看,为了选择步长,每一步都要反复判断Δ,增加了计算工作量,但是在常微分方程的解变化剧烈的情况下,总的计算工作量会减少。
5、处理模块
误差满足要求的计算结果进入处理模块,根据任务要求进行处理,其中有全连接层,在整个网络中起到“分类器”的作用,将从神经网络中学习到的特征表示映射到标记空间,在实际操作中可以由卷积操作实现,对前层是卷积层的全连接层可以转化为全局卷积,其本质就是一个特征空间线性变换到另一个特征空间,最后的结果可以作为输出。
本发明基于内存计算设计了神经常微分方程网络的实现系统。该系统具有可配置性,速度可调,功耗低等优点。适用于各种人工智能任务。内存占用量少,能够在资源有限的硬件条件下实现更大的神经网络。使用选择器可以选择各种常微分方程的求解器,并指定处理任务的速度和精度。模型编译模块可以针对神经常微分方程网络的特点优化数据控制数据流,进一步加速网络。使用存内计算模块能够极大加速神经常微分方程网络,降低功耗,减少面积损耗。
本发明一种适用于神经常微分方程网络计算的存内计算系统的工作流程图如图5所示,包括以下步骤:
1)读取特征图信息,神经常微分方程网络信息,和速度要求;
2)根据网络信息,选择最合适的常微分方程求解器;
3)调整特征图大小到指定值;
4)根据网络中需要的卷积次数增加特征图的通道数;
5)对填充0后的特征图数据进行分割与重组,得到多种数据格式;
6)根据上一步重组的信息,分解卷积核,形成多种映射方案;
7)根据选择的求解器生成数据流原语;
8)根据生成的映射方案将卷积核中的权重数据映射在存内计算模块中忆阻器交叉阵列的每一个忆阻器单元上;
9)根据数据流原语将输入特征图从忆阻器阵列对应的字线输入,通过存内计算模块完成一次常微分方程的计算;
10)将计算的结果送入误差检验模块,根据原先设定的误差进行判断,如果误差小于给定值,即得到输出结果。如果误差大于给定值,则重复步骤8);
11)将误差在给定范围内的结果送入处理模块,经过处理模块后就能得到输出结果。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
Claims (4)
1.一种适用于神经常微分方程网络计算的存内计算系统,其特征在于,包括:
高级编程模型,用于指定神经网络的架构以及指定神经常微分方程求解器;
模型编译模块,根据高级编程模型指定的神经网络的架构以及神经常微分方程求解器,确定输入数据的重组方案,以确定权重映射方案和数据流控制原语;
存内计算模块,根据权重映射方案将输入数据映射在存内计算模块的交叉阵列的每一个忆阻器单元上,而后根据数据流控制原语将输入数据从交叉阵列对应的字线输入,并进行常微分方程的计算;
误差检验模块,用于计算存内计算模块中输出结果的误差,然后与给定的误差值进行比较,若误差满足要求,则将存内计算模块中输出结果传输给处理模块;
处理模块,将误差满足要求的输出结果根据任务需求进行处理,最后输出处理结果。
2.根据权利要求1所述的一种适用于神经常微分方程网络计算的存内计算系统,其特征在于,所述指定神经网络的架构包括指定神经网络中卷积、池化、激活、卷积核大小的参数。
3.根据权利要求1所述的一种适用于神经常微分方程网络计算的存内计算系统,其特征在于,所述神经常微分方程求解器包括四种常微分方程解法:欧拉法、梯形法、四阶龙格库塔法、亚当斯法。
4.根据权利要求1所述的一种适用于神经常微分方程网络计算的存内计算系统,其特征在于,所述模型编译模块的具体实现方式如下:
S41、接收高级编程模型指定的神经网络的架构、神经常微分方程求解器和输入数据;
S42、判断输入数据是否符合规定尺寸大小,若不是则对其进行下采样和填充,使其符合规定尺寸大小,即使得得到的输入数据的特征图大小C×H×W,卷积次数N,卷积核大小K×K,0填充大小P;
S43、根据预设的卷积次数将特征图的通道数进行增加,使特征图大小变为(C+N)×H×W;
S44、找出值全为0的通道数i,重新调整特征图大小为(C+N-i)×H×W;
S45、将填充0后的特征图数据(C+N-i)×(H+2P)×(W+2P)按照结构化进行重组,分解为(K-P)×(K-P),(K-P)×K,K×K,K×(K-P)四种数据格式;
S46、将卷积滤波器按照步骤S45的结果分解为对应的模式,形成映射方案;
S47、根据指定的神经常微分方程求解器设计数据流;
S48、针对S46、S47处理后的数据生成权重映射方案和数据流控制原语。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010707798.9A CN111814973B (zh) | 2020-07-18 | 2020-07-18 | 一种适用于神经常微分方程网络计算的存内计算系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010707798.9A CN111814973B (zh) | 2020-07-18 | 2020-07-18 | 一种适用于神经常微分方程网络计算的存内计算系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111814973A CN111814973A (zh) | 2020-10-23 |
CN111814973B true CN111814973B (zh) | 2022-06-21 |
Family
ID=72861608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010707798.9A Active CN111814973B (zh) | 2020-07-18 | 2020-07-18 | 一种适用于神经常微分方程网络计算的存内计算系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111814973B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112465108B (zh) * | 2020-11-11 | 2022-07-22 | 上海交通大学 | 一种面向存算一体平台的神经网络编译方法 |
CN113159276B (zh) * | 2021-03-09 | 2024-04-16 | 北京大学 | 模型优化部署方法、系统、设备及存储介质 |
CN113052299B (zh) * | 2021-03-17 | 2022-05-31 | 浙江大学 | 基于通信下界的神经网络存内计算装置及加速方法 |
CN114723044B (zh) * | 2022-04-07 | 2023-04-25 | 杭州知存智能科技有限公司 | 用于存内计算芯片的误差补偿方法、装置、芯片、设备 |
CN117271145B (zh) * | 2023-11-22 | 2024-02-27 | 电子科技大学 | 一种基于混合计算架构的多任务智能处理器 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110956250A (zh) * | 2018-09-27 | 2020-04-03 | 常州星宇车灯股份有限公司 | 一种具有共存多吸引子的双忆阻Hopfield神经网络模型 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9305256B2 (en) * | 2013-10-02 | 2016-04-05 | Qualcomm Incorporated | Automated method for modifying neural dynamics |
US20200082269A1 (en) * | 2018-09-12 | 2020-03-12 | Nvidia Corporation | Memory efficient neural networks |
-
2020
- 2020-07-18 CN CN202010707798.9A patent/CN111814973B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110956250A (zh) * | 2018-09-27 | 2020-04-03 | 常州星宇车灯股份有限公司 | 一种具有共存多吸引子的双忆阻Hopfield神经网络模型 |
Non-Patent Citations (5)
Title |
---|
A Multi-Interval Homotopy Analysis Method Using Multi-Objective Optimization for Analytically Analyzing Chaotic Dynamics in Memristive Circuit;Wei Hu 等;《IEEE Access》;20190819;全文 * |
A Novel Equivalent Model of Active Distribution Networks Based on LSTM;Chao Zheng 等;《IEEE Transactions on Neural Networks and Learning Systems》;20190101;全文 * |
Swarm Intelligence for the Solution of Problems in Differential Equations;Junaid Ali Kha 等;《2009 Second International Conference on Environmental and Computer Science》;20100115;全文 * |
低功耗、可重构、模块化的脉冲神经网络处理器设计与实现;白焱;《中国优秀硕士学位论文全文数据库 信息科技辑》;20191215;第I137-11页 * |
神经元模型对比分析;徐泠风等;《物理学报》;20161231(第24期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111814973A (zh) | 2020-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111814973B (zh) | 一种适用于神经常微分方程网络计算的存内计算系统 | |
CN109711532B (zh) | 一种针对硬件实现稀疏化卷积神经网络推断的加速方法 | |
CN109472353B (zh) | 一种卷积神经网络量化电路及量化方法 | |
CN111242289B (zh) | 一种规模可扩展的卷积神经网络加速系统与方法 | |
CN107423816B (zh) | 一种多计算精度神经网络处理方法和系统 | |
CN107516129A (zh) | 基于维度自适应的Tucker分解的深度网络压缩方法 | |
CN110780923B (zh) | 应用于二值化卷积神经网络的硬件加速器及其数据处理方法 | |
CN113159276B (zh) | 模型优化部署方法、系统、设备及存储介质 | |
CN111738427B (zh) | 一种神经网络的运算电路 | |
CN111985495A (zh) | 模型部署方法、装置、系统及存储介质 | |
CN113344179B (zh) | 基于fpga的二值化卷积神经网络算法的ip核 | |
CN112257844B (zh) | 一种基于混合精度配置的卷积神经网络加速器及其实现方法 | |
CN113283587B (zh) | 一种Winograd卷积运算加速方法及加速模块 | |
CN112990454B (zh) | 基于集成dpu多核异构的神经网络计算加速方法及装置 | |
CN115759237A (zh) | 端到端的深度神经网络模型压缩及异构转换系统及方法 | |
CN109409505A (zh) | 一种用于分布式深度学习的压缩梯度的方法 | |
CN111626404A (zh) | 基于生成对抗神经网络的深度网络模型压缩训练方法 | |
CN112686384A (zh) | 一种自适应比特位宽的神经网络量化方法及其装置 | |
CN109670582B (zh) | 一种全定点化神经网络的设计方法 | |
CN112561050A (zh) | 一种神经网络模型训练方法及装置 | |
CN113918882A (zh) | 可硬件实现的动态稀疏注意力机制的数据处理加速方法 | |
CN117521752A (zh) | 一种基于fpga的神经网络加速方法及系统 | |
KR102340091B1 (ko) | 인공신경망의 양자화 오차 보상 시스템 및 그 방법 | |
CN113487012B (zh) | 一种面向fpga的深度卷积神经网络加速器及设计方法 | |
CN114742036A (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 |