CN114492782A - 基于强化学习的神经网络的片上核心编译映射方法及装置 - Google Patents
基于强化学习的神经网络的片上核心编译映射方法及装置 Download PDFInfo
- Publication number
- CN114492782A CN114492782A CN202210407390.9A CN202210407390A CN114492782A CN 114492782 A CN114492782 A CN 114492782A CN 202210407390 A CN202210407390 A CN 202210407390A CN 114492782 A CN114492782 A CN 114492782A
- Authority
- CN
- China
- Prior art keywords
- core
- mapping
- chip
- neural network
- neurons
- 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
- 238000013507 mapping Methods 0.000 title claims abstract description 145
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 88
- 230000002787 reinforcement Effects 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 37
- 210000002569 neuron Anatomy 0.000 claims abstract description 119
- 238000004891 communication Methods 0.000 claims abstract description 42
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 238000004364 calculation method Methods 0.000 claims abstract description 35
- 230000008901 benefit Effects 0.000 claims abstract description 17
- 238000012549 training Methods 0.000 claims abstract description 13
- 230000009471 action Effects 0.000 claims description 27
- 230000005540 biological transmission Effects 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 16
- 210000000225 synapse Anatomy 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000011156 evaluation Methods 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 9
- 238000012421 spiking Methods 0.000 claims description 5
- 230000000946 synaptic effect Effects 0.000 claims description 4
- 239000004576 sand Substances 0.000 claims description 3
- 238000012546 transfer Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 description 8
- 238000005457 optimization Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- 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/7839—Architectures of general purpose stored program computers comprising a single central processing unit with 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
-
- 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/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- 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/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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 Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于强化学习的神经网络的片上核心编译映射方法及装置,通过将传统映射规划问题放入强化学习框架,构造状态描述、奖励函数和行动空间,通过强化学习训练获得的策略深度网络,依次将神经元放置在片上网络的多个核心内。以通信代价、映射面积和核心内部使用率构造映射收益,并利用Actor‑Critic算法训练策略网络以获得更高的映射收益,训练强化学习策略网络学习任意脉冲神经网络神经元的最佳映射位置,最后利用训练完成的策略网络完成所需部署的神经网络到片上核心阵列的,降低了互连神经元片上通信距离代价,有效提高了芯片计算效率并降低整体功耗。
Description
技术领域
本发明涉及计算机高性能计算领域,尤其是涉及基于强化学习的神经网络的片上核心编译映射方法及装置。
背景技术
神经科学对人脑的研究发现,数百亿神经元通过互联可产生高度的并行计算能力,在此基础上提出的脉冲神经网络可通过脉冲编码完成信息传递来解决复杂任务。基于脉冲神经网络的神经形态芯片以高密度的片上网络组织方式模拟生物神经元的连接,实现了大规模计算的并行化。而片上网络不同核心间的信息通信方式对脉冲的产生和收发非常敏感,对网络部署结果产生的性能约束提出了极高的要求。
不同于传统编译器,面向基于脉冲传递完成推理的神经网络在片上网络的编译映射,一般被建模为约束条件下的多目标规划问题,其目标为解决芯片内所有节点间脉冲传递的总功耗(也即通讯代价),以及应用计算耗时的优化问题。由于脉冲神经网络的图连接特性,主流映射算法分为两个阶段:1)对原脉冲神经网络先进行分割,重构拓扑结构;2)为每个网络分块分配绑定至物理节点。编译的核心问题在于求解给定优化目标下的最优映射方案是一个NP-Hard问题,如何在芯片的硬件约束下使用较短时间找到近似解。
工业界中目前的编译环境和框架种类丰富,多数为针对自家芯片进行的特定建模和优化算法设计。英特尔的Loihi芯片的编译器LCompiler分割图后映射至每个核中,并逐一生成二进制文件。分配算法以优化Loihi的输入映射比为目标,迭代尝试神经元的分配直到可放入给定数量的核中。IBM的TrueNorth项目芯片则完成了百万级神经元的规模,编译映射采用VLSI布线问题中类似的优化算法以降低应用在芯片部署后的总通信代价,经过编译器优化后,端口上每个tick的最大脉冲数量由10000个降低至2500个。
上述针对脉冲神经网络在片上的映射算法基于如下步骤:
1.将脉冲神经网络抽象为计算图,以神经元或神经元群作为节点,突触连接作为边。
2.对计算图进行重新分割聚合,形成可一一映射到片上网络的物理层计算图。
3.构造一种损失函数用于衡量映射结果的质量,并不断调整迭代,使用基于启发式搜索或其他求解多目标规划问题的算法,设法降低损失函数直至收敛,最终获得映射结果。
因此,映射问题的规模和解空间特点对算法的搜索能力提出了较高要求。近年来,强化学习算法在求解非线性规划问题上具有很好的表现。传统的强化学习算法通常用于控制智能体的策略过程,通过与环境交互中逐步积累数据并确定所处当前状态下如何采取最优行动,以获得最高收益,进而完成给定任务。近年来深度强化学习通过使用深度神经网络得以处理更为复杂且多样的任务,在诸如机器视觉、自然语言处理、复杂系统等问题中均有很好的表现。具体地,基于策略的Actor-Critic深度强化学习算法(演员评论家算法,Actor为Policy Gradient 表示策略梯度算法,Critic为Q-learning表示一种基于价值的强化学习算法),使用两套独立的参数分别进行动作值函数参数的更新和策略参数的更新。
神经网络在芯片端的映射结果直接决定芯片的核心之间脉冲传递效率。过于单一简单的映射方案无法在巨大的解空间中快速搜索到最优解,且容易陷入由于映射算法和代价函数的设计不合理导致的局部次优解上,导致核心间脉冲包传递速度变慢,产生额外的通信和功耗代价。
发明内容
为解决现有技术的不足,实现减少片上核心的脉冲包传输距离,芯片映射面积,减少端口脉冲数量,降低计算耗时,降低芯片功耗的目的,提高传输效率,本发明采用如下的技术方案:
基于强化学习的神经网络的片上核心编译映射方法,包括如下步骤:
步骤S1:获取脉冲神经网络的拓扑结构和参数信息,脉冲神经网络包括神经元群和突触,神经元群由神经元组成,神经元之间通过突触连接;拓扑结构为具有节点和边的图结构,节点表示神经元和/或神经元群,边表示作为神经元和/或神经元群之间连接的突触;参数信息包括神经元和突触连接中的特征数据;
步骤S2:对部署脉冲神经网络的芯片,获取其片上网络计算核心矩阵的描述信息,计算核心用于分配神经元进行计算,描述信息包括计算核心的规格,计算核心在片上网络的空间位置、不同计算核心的通信连接关系;
步骤S3:通过已分配的计算核心在片上网络的空间位置、已分配的神经元连接情况、当前待分配的神经元及其与其他神经元之间的连接情况,构建初始化映射状态;
步骤S4:将映射状态输入已完成训练的强化学习策略神经网络,从神经网络的输出,获得当前待分配神经元分配到不同计算核心空间位置的映射行动的概率分布;
步骤S5:选取概率分布中,概率最大的计算核心空间位置作为当前神经元的放置位置,并将其填充至对应计算核心的数字存储空间中;
步骤S6:重复上述步骤,直至完成所有神经元的放置,得到完整的脉冲神经网络到芯片的片上网络计算核心矩阵的全部映射。
进一步地,所述步骤S4中,强化学习策略神经网络的训练包括如下步骤:
步骤S4.1:初始化,包括确定训练样本的数量E,学习率r,收益衰减系数γ,探索率ɛ,策略(Actor)和评价(Critic)两个神经网络结构;
步骤S4.2:执行步骤S4.3至步骤S4.7,直至达到训练样本数量E;
步骤S4.3:随机构造脉冲神经网络的神经元和突触连接,随机给定包含至少N个计算核心的矩阵区域;
步骤S4.4:根据当前已分配的计算核心空间位置、已分配的神经元连接、当前需分配的神经元及其与其他神经元之间的连接构成的特征向量,获得映射状态S;
步骤S4.5:将映射状态S输入策略神经网络,获得输出映射行动A,并将对应的神经元放置于映射行动A指定的计算核心空间位置,并获得行动后映射状态S’和对应的映射收益R;
步骤S4.6:分别将映射状态S和行动后映射状态S’,输入评价神经网络并获得时间差分(TD,Time Difference)误差,根据最终状态(映射结束后)下的整体的映射收益R,采用误差反传的方法(随机梯度下降)反传回每个状态,分别更新策略神经网络的权重和评价神经网络的权重,随着网络的收敛,使得映射行动A向更好的映射状态移动;
步骤S4.7:使用行动后映射状态S’替代映射状态S,继续步骤S4.4至步骤S4.6,直至完成所有神经元分配。
进一步地,所述步骤S4.5中,映射行动A是将任意神经元分配至一个未被占据的计算核心空间位置,若未完成所有神经元分配时,映射行动的映射收益为0;若全部分配完成时,通过计算核心的内部代价、计算核心的通信代价、计算核心所占区域的几何面积,及是否满足约束条件的收益,构建映射行动的映射收益R;
所述计算核心的内部代价,包括计算核心内未被利用的数字存储空间和计算核心中不同数字存储区域的均衡程度;
所述计算核心通信代价,包括每个计算核心在单位时间内接收和发送的脉冲包数量、每个脉冲包在片上的传递路径长度;
所述计算核心所占区域的几何面积,对于计算核心网格上,构造一个最小的包含所有映射使用到的计算核心的矩形闭包,该矩形闭包内包含的所有核心数量(包含使用和未使用的核心)即为核心所占区域的几何面积;
所述约束条件的收益,是硬件约束要求脉冲神经网络的输入层和输出层需要排布在网格的指定位置和/或自定义的偏好约束。
进一步地,所述映射收益R在全部分配完成时为:
R total (S)= - (C core (S)+C comm (S)+C area (S))+R r (s)
其中,S表示映射状态,R total (S)表示全部分配完成时的映射收益,C core (S)表示所有计算核心的内部代价,C comm (S)表示所有计算核心的通信代价,C area (S)表示计算核心所占区域的几何面积,R r (s)表示是否满足约束条件的收益,r表示当某一个神经元不满足约束时,对应产生r的代价,R r (s)为所有的约束代价之和。
进一步地,将使用的核心数量作为计算核心的内部代价,将核心间的曼哈顿距离及相应神经元的通信密度作为通信代价,将计算核心构成的区域的矩形边缘总面积作为几何面积,将不满足约束神经元的数量作为给定约束的代价,构建映射收益函数:
其中N表示映射使用到的计算核心总共N个,n i 和n j 分别表示第i个和第j个计算核心上所部署的神经元集合,D(i,j)表示两个计算核心i和计算核心j之间的脉冲包传递距离,w(k i ,k j )表示第i个计算核心的神经元k i 和第j个计算核心的神经元k j 之间的通信密度,Area表示面积函数,用于计算核心构成区域的矩形边缘面积,r表示不满足约束条件放置要求的神经元数量。
进一步地,所述脉冲包中包括目标计算核心空间位置和携带的脉冲数据信息。
进一步地,所述脉冲包在片上的传递路径,是指路由算法确定的脉冲包在片上网络的计算核心通道间所经过的路线,芯片的片上路由算法采用GXY算法,任意两个计算核心的坐标(x i ,y i )、(x j ,y j )之间的通信代价为| x i - x j ,|+| y i - y j |,总的通信代价则是所有计算核心间通信代价总和。
进一步地,所述计算核心在片上网络的空间位置为计算核心坐标(x,y)与该计算核心的地址(a)拼接而成的三维向量(x,y,a)。
进一步地,所述步骤S2中的计算核心为具有数字存储空间和计算功能的硬件单元,描述信息还包括计算核心的规格,规格包括计算核心具有的数字存储空间和支持的神经元数量。
基于强化学习的神经网络的片上核心编译映射装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现所述的基于强化学习的神经网络的片上核心编译映射方法。
本发明的优势和有益效果在于:
本发明的基于强化学习的神经网络的片上核心编译映射方法及装置,使用基于强化学习的神经网络的片上核心编译映射方法,通过强化学习训练获得的策略深度网络,依次将神经元放置在片上网络的多个核心内。以通信代价、映射面积和核心内部使用率构造映射收益,并利用Actor-Critic算法训练策略网络以获得更高的映射收益。由此减少片上核心间的脉冲包传输距离,进而提高传输效率,降低功耗。
附图说明
图1是本发明的实施例中方法的流程图。
图2是本发明的实施例中片上网络映射示意图。
图3是本发明的实施例中核心间通信代价示意图。
图4是本发明的实施例中核心所占区域的几何面积代价示意图。
图5是本发明中实施例中装置的结构图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
为了提高现有映射算法存在的求解效率,解决映射中解空间过大而导致缺乏高效分配的问题。现有的网络映射算法往往使用特定的规划算法优化损失函数,求解时间较长且容易陷入局部最优而无法有效在全空间中搜索。
本发明的基于强化学习的神经网络的片上核心编译映射方法及装置,首先获取脉冲神经网络的拓扑结构和参数信息,以及目标硬件的片上网络计算核心矩阵信息;提取拼接这些信息的特征向量并构造映射状态,输入已完成训练的策略深度神经网络,从获得当前待分配神经元映射到片上网络的最佳位置;确定并填充神经元至对应核心内,更新映射状态;后经反复迭代直至完成神经网络至片上网络的全部映射。如图1所示,方法的具体包括如下步骤:
步骤S1:获取脉冲神经网络的拓扑结构和参数信息,脉冲神经网络包括神经元群和突触,神经元群由神经元组成,神经元之间通过突触连接;拓扑结构为具有节点和边的图结构,节点表示神经元和/或神经元群,边表示作为神经元和/或神经元群之间连接的突触;参数信息包括神经元和突触连接中的特征数据。
拓扑结构如图2中的脉冲神经网络所示,圆形节点表示神经元,神经元之间的连线箭头表示突触,例如:一个典型的分类任务的3层脉冲神经网络,第一层(输入层)有784个神经元,第二层有512个神经元,第三层(输出层)有10个神经元,每相邻两层间的神经元都存在两两相连的突触。
步骤S2:对部署脉冲神经网络的目标硬件的芯片,获取其片上网络计算核心矩阵的描述信息,计算核心为具有数字存储空间和计算功能的硬件单元,用于分配神经元进行计算,描述信息包括计算核心的规格信息(如计算核心上内存空间大小,支持的最大神经元数量等)、计算核心在片上网络的空间位置、不同计算核心的通信连接关系。
一个典型的部署目标硬件案例为:具有20×20的核心网格,呈正方形排列,且每个核心与其上下左右四个核心相连接通信。每个核心内最多可容纳128个神经元,并最多可与其他16个核心相连接。
计算核心在片上网络的空间位置为计算核心坐标(x,y)与该计算核心的地址(a)拼接而成的三维向量(x,y,a)。
步骤S3:通过已分配的计算核心在片上网络的空间位置、已分配的神经元连接情况、当前待分配的神经元及其与其他神经元之间的连接情况,构建初始化映射状态;
步骤S4:将映射状态输入已完成训练的强化学习策略神经网络,从神经网络的输出,获得当前待分配神经元分配到不同计算核心空间位置的映射行动的概率分布。
本发明实施例的基于强化学习的神经网络的片上核心编译映射方法的结构如表1所示:
表1:编译映射方法的结构
π(|,)表示根据策略网络得到的在映射状态S下的映射行动的概率分布,α表示映射行动,θ表示策略网络参数。
下面介绍如何获得上述策略深度神经网络。
如图2所示,该网络通过强化学习Actor-Critic算法训练获得,其中网络的输入为映射状态多维向量,由当前核心网格的空间位置0-1矩阵,已分配的神经元连接的0-1矩阵、当前待分配的神经元与其他神经元之间的连接矩阵向量全部展平后连接得到。网络的结构为多个卷积层、池化层和全连接层交替组成的深度神经网络,完成对输入的映射状态的特征提取。最终得到当前选定神经元在映射行动下,在整个计算核心空间位置坐标(x,y,a)中的概率分布。该分布上每个元素的概率值的大小表示该神经元被映射到这个空间位置上的评分,评分越高则被选择的概率越大。最终选择评分最高的位置作为该神经元映射的目标位置。
策略神经网络采用深度网络的训练,包括如下步骤:
步骤S4.1:初始化,包括确定训练样本的数量E,学习率r,收益衰减系数γ,探索率ɛ,策略(Actor)和评价(Critic)两个神经网络结构。
步骤S4.2:执行步骤S4.3至步骤S4.7,直至达到训练样本数量E。
步骤S4.3:随机构造脉冲神经网络的神经元和突触连接,随机给定包含至少N个计算核心的矩阵区域。
步骤S4.4:根据当前已分配的计算核心空间位置、已分配的神经元连接、当前需分配的神经元及其与其他神经元之间的连接构成的特征向量,获得映射状态S。
步骤S4.5:将映射状态S输入策略神经网络,获得输出映射行动A,并将对应的神经元放置于映射行动A指定的的计算核心空间位置,并获得行动后映射状态S’和映射收益R。
将分配过程转化为强化学习场景下的问题,分别定义映射状态、映射行动和映射收益:
映射行动A是将任意神经元分配至一个未被占据的计算核心空间位置,若未完成所有神经元分配时,映射行动的映射收益为0;若全部分配完成时,通过计算核心的内部代价、计算核心的通信代价、计算核心所占区域的几何面积,及是否满足约束条件的收益,构建映射行动的映射收益R;
计算核心的内部代价,包括计算核心内未被利用的数字存储空间和计算核心中不同数字存储区域的均衡程度;
计算核心通信代价,包括每个计算核心在单位时间内接收和发送的脉冲包数量、每个脉冲包在片上的传递路径长度;
计算核心所占区域的几何面积,对于计算核心网格上,构造一个最小的包含所有映射使用到的计算核心的矩形闭包,该矩形闭包内包含的所有核心数量(包含使用和未使用的核心)即为核心所占区域的几何面积;
约束条件的收益,是硬件约束要求脉冲神经网络的输入层和输出层(管脚)需要排布在网格的指定位置(如最左边和最上边的核心内),或者用户自定义的偏好约束。
映射收益R在全部分配完成时为:
R total (S)= - (C core (S)+C comm (S)+C area (S))+R r (s)
其中,S表示映射状态,R total (S)表示全部分配完成时的映射收益,C core (S)表示所有计算核心的内部代价,C comm (S)表示所有计算核心的通信代价,C area (S)表示计算核心所占区域的几何面积,R r (s)表示是否满足给定约束的收益,r表示当某一个神经元不满足约束时,对应产生r的代价,R r (s)为所有的约束代价之和。
将使用的核心数量作为计算核心的内部代价,将核心间的曼哈顿距离及相应神经元的通信密度作为通信代价,将计算核心构成的区域的矩形边缘总面积作为几何面积,将不满足约束神经元的数量作为给定约束的代价,构建映射收益函数:
其中N表示映射使用到的计算核心总共N个,n i 和n j 分别表示第i个和第j个计算核心上所部署的神经元集合,D(i,j)表示两个计算核心i和计算核心j之间的脉冲包传递距离,w(k i ,k j )表示第i个计算核心的神经元k i 和第j个计算核心的神经元k j 之间的通信密度,Area表示面积函数,用于计算核心构成区域的矩形边缘面积,r表示不满足约束条件放置要求的神经元数量。
脉冲包中包括目标计算核心空间位置(即(x,y,a)作为位置标签)和携带的脉冲数据信息
所述脉冲包在片上的传递路径,是指路由算法确定的脉冲包在片上网络的计算核心通道间所经过的路线,路由算法包括X-Y路由算法,E-Cube路由算法。
本发明实施例中,芯片的片上路由算法采用GXY算法,任意两个计算核心的坐标(x i ,y i )、(x j ,y j )之间的通信代价为| x i - x j ,|+| y i - y j |,总的通信代价则是所有计算核心间通信代价总和。
具体地,计算核心的内部代价,包括计算核心内未被有效利用的内存空间和计算核心中不同内存区域的均衡程度:一种典型的情况是内部代价C core (S)为128减去计算核心具体使用的神经元数量,即使用的神经元越充分,计算核心产生的内部代价越小;这里为了简单,简化为每一个被使用的计算核心均产生1单位的代价。
计算核心通信代价,包括每个计算核心在单位时间内接收和发送的脉冲包数量、每个脉冲包在片上的传递路径长度,对于芯片的片上网路由算法采用GXY算法,任意两个计算核心(x i ,y i )、(x j ,y j )之间的通信代价C comm (S)可定义为| x i - x j ,|+| y i - y j |,如图3所示,计算核心1与14之间的通信代价为D(1,14)=1+4=5,总的通信代价则是所有计算核心间通信代价总和。计算核心所占区域的几何面积,可定义为对于核心网格上,构造一个最小的矩形闭包能够包含所有映射使用到的计算核心,则该矩形内包含的所有核心数量(包含使用和未使用的核心)即为核心所占区域的几何面积C area (S),如图4所示,C area (S)=2×3=6。对于约束代价的计算,例如神经网络输入层的神经元要求被放置在网格左侧和上侧的核心内,那么当某一个神经元不满足约束时,对应产生r的代价,R r (s)为所有的约束代价之和。
步骤S4.6:分别将映射状态S和行动后映射状态S’,输入评价网络并获得时间差分(TD,Time Difference)误差,根据整体的映射收益R,采用误差反传分别更新策略神经网络的权重和评价神经网络的权重;
具体地,通过映射状态S获得映射状态S能够达到的所有可能的行动后映射状态S’和对应的映射收益R,根据最终状态(映射结束后)下的整体的映射收益R,采用误差反传的方法(随机梯度下降)反传回每个状态,分别更新策略神经网络的权重和评价神经网络的权重,随着网络的收敛,使得映射行动A向更好的映射状态移动。
步骤S4.7:使用行动后映射状态S’替代映射状态S,继续步骤S4.4至步骤S4.6,直至完成所有神经元分配。
步骤S5:选取概率分布中,概率最大的计算核心空间位置作为当前神经元的放置位置,并将其填充至对应计算核心的内存空间中。
步骤S6:重复上述步骤,直至完成所有神经元的放置,得到完整的脉冲神经网络到芯片的片上网络计算核心的全部映射。
与前述基于强化学习的神经网络的片上核心编译映射方法的实施例相对应,本发明还提供了基于强化学习的神经网络的片上核心编译映射装置的实施例。
参见图5,本发明实施例提供的基于强化学习的神经网络的片上核心编译映射装置,包括存储器和一个或多个处理器,存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现上述实施例中的基于强化学习的神经网络的片上核心编译映射方法。
本发明基于强化学习的神经网络的片上核心编译映射装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图5所示,为本发明基于强化学习的神经网络的片上核心编译映射装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图5所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于强化学习的神经网络的片上核心编译映射方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。
Claims (10)
1.一种基于强化学习的神经网络的片上核心编译映射方法,其特征在于包括如下步骤:
步骤S1:获取脉冲神经网络的拓扑结构和参数信息,脉冲神经网络包括神经元群和突触,神经元群由神经元组成,神经元之间通过突触连接;拓扑结构为具有节点和边的图结构,节点表示神经元和/或神经元群,边表示作为神经元和/或神经元群之间连接的突触;参数信息包括神经元和突触连接中的特征数据;
步骤S2:对部署脉冲神经网络的芯片,获取其片上网络计算核心矩阵的描述信息,计算核心用于分配神经元进行计算,描述信息包括计算核心的规格,计算核心在片上网络的空间位置、不同计算核心的通信连接关系;
步骤S3:通过已分配的计算核心在片上网络的空间位置、已分配的神经元连接情况、当前待分配的神经元及其与其他神经元之间的连接情况,构建初始化映射状态;
步骤S4:将映射状态输入已完成训练的强化学习策略神经网络,从神经网络的输出,获得当前待分配神经元分配到不同计算核心空间位置的映射行动的概率分布;
步骤S5:选取概率分布中,概率最大的计算核心空间位置作为当前神经元的放置位置,并将其填充至对应计算核心的数字存储空间中;
步骤S6:重复上述步骤,直至完成所有神经元的放置,得到完整的脉冲神经网络到芯片的片上网络计算核心矩阵的全部映射。
2.根据权利要求1所述的基于强化学习的神经网络的片上核心编译映射方法,其特征在于:所述步骤S4中,强化学习策略神经网络的训练包括如下步骤:
步骤S4.1:初始化,包括确定训练样本的数量;
步骤S4.2:执行步骤S4.3至步骤S4.7,直至达到训练样本数量;
步骤S4.3:随机构造脉冲神经网络的神经元和突触连接,随机给定包含至少N个计算核心的矩阵区域;
步骤S4.4:根据当前已分配的计算核心空间位置、已分配的神经元连接、当前需分配的神经元及其与其他神经元之间的连接构成的特征向量,获得映射状态S;
步骤S4.5:将映射状态S输入策略神经网络,获得输出映射行动A,并将对应的神经元放置于映射行动A指定的计算核心空间位置,并获得行动后映射状态S’ 和对应的映射收益R;
步骤S4.6:分别将映射状态S和行动后映射状态S’,输入评价神经网络并获得时间差分误差,根据整体的映射收益R,采用误差反传,分别更新策略神经网络的权重和评价神经网络的权重;
步骤S4.7:使用行动后映射状态S’ 替代映射状态S,继续步骤S4.4至步骤S4.6,直至完成所有神经元分配。
3.根据权利要求2所述的基于强化学习的神经网络的片上核心编译映射方法,其特征在于:所述步骤S4.5中,映射行动A是将神经元分配至一个未被占据的计算核心空间位置,若未完成所有神经元分配时,映射行动的映射收益为0;若全部分配完成时,通过计算核心的内部代价、计算核心的通信代价、计算核心所占区域的几何面积,及是否满足约束条件的收益,构建映射行动的映射收益R;
所述计算核心的内部代价,包括计算核心内未被利用的数字存储空间和计算核心中不同数字存储区域的均衡程度;
所述计算核心通信代价,包括每个计算核心在单位时间内接收和发送的脉冲包数量、每个脉冲包在片上的传递路径长度;
所述计算核心所占区域的几何面积,对于计算核心网格上,构造一个最小的包含所有映射使用到的计算核心的矩形闭包,该矩形闭包内包含的所有核心数量即为核心所占区域的几何面积;
所述约束条件的收益,是硬件约束要求脉冲神经网络的输入层和输出层需要排布在网格的指定位置和/或自定义的偏好约束。
4.根据权利要求3所述的基于强化学习的神经网络的片上核心编译映射方法,其特征在于:所述映射收益R在全部分配完成时为:
R total (S)= - (C core (S)+C comm (S)+C area (S))+R r (s)
其中,S表示映射状态,R total (S)表示全部分配完成时的映射收益,C core (S)表示所有计算核心的内部代价,C comm (S)表示所有计算核心的通信代价,C area (S)表示计算核心所占区域的几何面积,R r (s)表示是否满足约束条件的收益,r表示当某一个神经元不满足约束时,对应产生r的代价,R r (s)为所有的约束代价之和。
6.根据权利要求3所述的基于强化学习的神经网络的片上核心编译映射方法,其特征在于:所述脉冲包中包括目标计算核心空间位置和携带的脉冲数据信息。
7.根据权利要求3所述的基于强化学习的神经网络的片上核心编译映射方法,其特征在于:所述脉冲包在片上的传递路径,是指路由算法确定的脉冲包在片上网络的计算核心通道间所经过的路线,芯片的片上路由算法采用GXY算法,任意两个计算核心的坐标(x i ,y i )、(x j ,y j )之间的通信代价为| x i - x j ,|+| y i - y j |,总的通信代价则是所有计算核心间通信代价总和。
8.根据权利要求1所述的基于强化学习的神经网络的片上核心编译映射方法,其特征在于:所述计算核心在片上网络的空间位置为计算核心坐标(x,y)与该计算核心的地址(a)拼接而成的三维向量(x,y,a)。
9.根据权利要求1所述的基于强化学习的神经网络的片上核心编译映射方法,其特征在于:所述步骤S2中的计算核心为具有数字存储空间和计算功能的硬件单元,描述信息还包括计算核心的规格,规格包括计算核心具有的数字存储空间和支持的神经元数量。
10.一种基于强化学习的神经网络的片上核心编译映射装置,其特征在于:包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述一个或多个处理器执行所述可执行代码时,用于实现权利要求1-9中任一项所述的基于强化学习的神经网络的片上核心编译映射方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210407390.9A CN114492782B (zh) | 2022-04-19 | 2022-04-19 | 基于强化学习的神经网络的片上核心编译映射方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210407390.9A CN114492782B (zh) | 2022-04-19 | 2022-04-19 | 基于强化学习的神经网络的片上核心编译映射方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114492782A true CN114492782A (zh) | 2022-05-13 |
CN114492782B CN114492782B (zh) | 2022-09-16 |
Family
ID=81489437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210407390.9A Active CN114492782B (zh) | 2022-04-19 | 2022-04-19 | 基于强化学习的神经网络的片上核心编译映射方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114492782B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168281A (zh) * | 2022-09-09 | 2022-10-11 | 之江实验室 | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 |
CN115392443A (zh) * | 2022-10-27 | 2022-11-25 | 之江实验室 | 类脑计算机操作系统的脉冲神经网络应用表示方法及装置 |
CN115904394A (zh) * | 2023-03-02 | 2023-04-04 | 之江实验室 | 一种面向众核架构的神经网络增量编译方法和装置 |
CN116070682A (zh) * | 2023-04-06 | 2023-05-05 | 浙江大学 | 神经元计算机操作系统的snn模型动态映射方法及装置 |
CN117688992A (zh) * | 2024-02-01 | 2024-03-12 | 之江实验室 | 神经元计算机操作系统的资源映射方法和装置 |
CN118569155A (zh) * | 2024-07-30 | 2024-08-30 | 清华大学 | 一种类脑芯片的编译方法和编译系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372720A (zh) * | 2015-07-23 | 2017-02-01 | 应用智慧研究公司 | 一种用于实现深度脉冲神经网络的方法和系统 |
CN110070181A (zh) * | 2019-04-30 | 2019-07-30 | 深圳朴生智能科技有限公司 | 一种用于边缘计算设备的深度学习的优化方法 |
CN110850861A (zh) * | 2018-07-27 | 2020-02-28 | 通用汽车环球科技运作有限责任公司 | 基于注意的分层变道深度强化学习 |
US20200153535A1 (en) * | 2018-11-09 | 2020-05-14 | Bluecom Systems and Consulting LLC | Reinforcement learning based cognitive anti-jamming communications system and method |
CN113988283A (zh) * | 2021-10-28 | 2022-01-28 | 清华大学 | 逻辑节点的映射方法、装置、电子设备及存储介质 |
CN114091663A (zh) * | 2021-11-28 | 2022-02-25 | 重庆大学 | 基于脉冲神经网络的轻量级片上学习方法、系统及处理器 |
-
2022
- 2022-04-19 CN CN202210407390.9A patent/CN114492782B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106372720A (zh) * | 2015-07-23 | 2017-02-01 | 应用智慧研究公司 | 一种用于实现深度脉冲神经网络的方法和系统 |
CN110850861A (zh) * | 2018-07-27 | 2020-02-28 | 通用汽车环球科技运作有限责任公司 | 基于注意的分层变道深度强化学习 |
US20200153535A1 (en) * | 2018-11-09 | 2020-05-14 | Bluecom Systems and Consulting LLC | Reinforcement learning based cognitive anti-jamming communications system and method |
CN110070181A (zh) * | 2019-04-30 | 2019-07-30 | 深圳朴生智能科技有限公司 | 一种用于边缘计算设备的深度学习的优化方法 |
CN113988283A (zh) * | 2021-10-28 | 2022-01-28 | 清华大学 | 逻辑节点的映射方法、装置、电子设备及存储介质 |
CN114091663A (zh) * | 2021-11-28 | 2022-02-25 | 重庆大学 | 基于脉冲神经网络的轻量级片上学习方法、系统及处理器 |
Non-Patent Citations (2)
Title |
---|
NURETTIN BÖLÜCÜ ET AL.: ""Q-Learning-based Routing Algorithm for 3D Network-on-Chips"", 《2021 24TH INTERNATIONAL SYMPOSIUM ON DESIGN AND DIAGNOSTICS OF ELECTRONIC CIRCUITS & SYSTEMS (DDECS)》 * |
张国平 等: ""无监督深度学习移动边缘计算卸载资源分配"", 《安庆师范大学学报》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115168281A (zh) * | 2022-09-09 | 2022-10-11 | 之江实验室 | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 |
WO2024051388A1 (zh) * | 2022-09-09 | 2024-03-14 | 之江实验室 | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 |
CN115392443A (zh) * | 2022-10-27 | 2022-11-25 | 之江实验室 | 类脑计算机操作系统的脉冲神经网络应用表示方法及装置 |
CN115392443B (zh) * | 2022-10-27 | 2023-03-10 | 之江实验室 | 类脑计算机操作系统的脉冲神经网络应用表示方法及装置 |
CN115904394A (zh) * | 2023-03-02 | 2023-04-04 | 之江实验室 | 一种面向众核架构的神经网络增量编译方法和装置 |
CN115904394B (zh) * | 2023-03-02 | 2023-07-04 | 之江实验室 | 一种面向众核架构的神经网络增量编译方法和装置 |
CN116070682A (zh) * | 2023-04-06 | 2023-05-05 | 浙江大学 | 神经元计算机操作系统的snn模型动态映射方法及装置 |
CN116070682B (zh) * | 2023-04-06 | 2023-08-15 | 浙江大学 | 神经元计算机操作系统的snn模型动态映射方法及装置 |
CN117688992A (zh) * | 2024-02-01 | 2024-03-12 | 之江实验室 | 神经元计算机操作系统的资源映射方法和装置 |
CN117688992B (zh) * | 2024-02-01 | 2024-06-04 | 之江实验室 | 神经元计算机操作系统的资源映射方法和装置 |
CN118569155A (zh) * | 2024-07-30 | 2024-08-30 | 清华大学 | 一种类脑芯片的编译方法和编译系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114492782B (zh) | 2022-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114492782B (zh) | 基于强化学习的神经网络的片上核心编译映射方法及装置 | |
US20230236888A1 (en) | Memory allocation method, related device, and computer-readable storage medium | |
CN112132287B (zh) | 一种分布式的量子计算仿真方法和装置 | |
Bellman et al. | Mathematical aspects of scheduling and applications: modern applied mathematics and computer science | |
Ghosh et al. | Mapping neural networks onto message-passing multicomputers | |
CN104463324A (zh) | 一种基于大规模高性能集群的卷积神经网络并行处理方法 | |
CN112084038A (zh) | 神经网络的内存分配方法及装置 | |
CN115186821B (zh) | 面向芯粒的神经网络推理开销估计方法及装置、电子设备 | |
CN114492770B (zh) | 一种面向循环脉冲神经网络的类脑计算芯片映射方法 | |
CN107239824A (zh) | 用于实现稀疏卷积神经网络加速器的装置和方法 | |
CN115168281B (zh) | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 | |
CN112084037A (zh) | 神经网络的内存分配方法及装置 | |
CN112163601A (zh) | 图像分类方法、系统、计算机设备及存储介质 | |
CN116070682B (zh) | 神经元计算机操作系统的snn模型动态映射方法及装置 | |
CN110059793A (zh) | 生成式对抗神经网络的逐步修改 | |
CN107392307A (zh) | 并行化时序数据的预测方法 | |
CN115421897A (zh) | 一种面向芯粒的深度神经网络流水线并行调度方法及装置 | |
CN113609802A (zh) | 基于强化学习的集成电路中的路由连接 | |
Vinay Kumar et al. | Multi-culture diversity based self adaptive particle swarm optimization for optimal floorplanning | |
von Kirchbach et al. | Efficient process-to-node mapping algorithms for stencil computations | |
CN113033812A (zh) | 量子操作执行方法、装置及量子操作芯片 | |
Dazzi et al. | 5 parallel prism: A topology for pipelined implementations of convolutional neural networks using computational memory | |
CN115001978B (zh) | 一种基于强化学习模型的云租户虚拟网络智能映射方法 | |
US11687831B1 (en) | Method, product, and apparatus for a multidimensional processing array for hardware acceleration of convolutional neural network inference | |
Miller et al. | Embedding-based placement of processing element networks on FPGAs for physical model simulation |
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 |