CN115168281A - 一种基于禁忌搜索算法的神经网络片上映射方法和装置 - Google Patents
一种基于禁忌搜索算法的神经网络片上映射方法和装置 Download PDFInfo
- Publication number
- CN115168281A CN115168281A CN202211098597.9A CN202211098597A CN115168281A CN 115168281 A CN115168281 A CN 115168281A CN 202211098597 A CN202211098597 A CN 202211098597A CN 115168281 A CN115168281 A CN 115168281A
- Authority
- CN
- China
- Prior art keywords
- neuron
- chip
- core
- neural network
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 56
- 238000013507 mapping Methods 0.000 title claims abstract description 56
- 238000010845 search algorithm Methods 0.000 title claims abstract description 35
- 238000004891 communication Methods 0.000 claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 9
- 210000002569 neuron Anatomy 0.000 claims description 237
- 230000006870 function Effects 0.000 claims description 52
- 238000004422 calculation algorithm Methods 0.000 claims description 20
- 238000010187 selection method Methods 0.000 claims description 12
- 210000000225 synapse Anatomy 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 9
- 230000000946 synaptic effect Effects 0.000 claims description 7
- 238000012421 spiking Methods 0.000 claims description 4
- 230000001174 ascending effect Effects 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 230000017105 transposition Effects 0.000 claims description 2
- 239000012141 concentrate Substances 0.000 claims 1
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000010276 construction Methods 0.000 abstract description 3
- 238000003062 neural network model Methods 0.000 abstract description 3
- 230000000875 corresponding effect Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 239000011159 matrix material Substances 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000006399 behavior Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection 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/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/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Computer Hardware Design (AREA)
- Neurology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及计算机高性能计算领域,尤其涉及一种基于禁忌搜索算法的神经网络片上映射方法和装置,该方法构造禁忌搜索表并使用基于启发式的迭代搜索过程,选取局部的片上网络的计算核心作为候选对象,建立整数规划模型并求解最优解,循环迭代不断降低映射解的目标代价函数,最后获得近似最优的部署方案;本发明方法给出的基于最近邻的构造策略和禁忌搜索算法的搜索策略,降低了神经网络模型映射后的目标机器的整体功耗和通信距离总和,极大提高了数据在片上网络的传输效率及整体计算速度。
Description
技术领域
本发明涉及计算机高性能计算领域,尤其涉及一种基于禁忌搜索算法的神经网络片上映射方法和装置。
背景技术
脉冲神经网络的模型结构复杂,成百上千万的神经元间通过突触互联,利用发放脉冲的方式实现信息传递,共同完成。脉冲可被抽象为类似网络通信的数据包,由于神经元行为的区别以及模型支持的任务种类不同,神经元间脉冲收发的频率也大相径庭,某些神经元及相连的突触保存了更多的任务求解信息,更加频繁地发放脉冲,因此也产生了更密集的通信代价。
随着芯片规模的不但增大,支持复杂计算的同构计算核心阵列的大小也逐渐扩大。支持脉冲神经网络的大规模计算核心阵列通过使用片上网络内置的路由算法进行核心间的信息通信,通信的代价直接和相关核心间的距离正相关。因此在分配不同核心的计算任务时,相互间通信密集的计算任务被认为相关度更高,更倾向于被分配在距离更近的核心上。
Intel公司针对脉冲神经网络以及其公司独立研发的Loihi多核加速芯片,设计了解决分配映射问题的编译器LCompiler。Loihi架构包含多个核心,均具有独立的计算和存储功能,所有核心通过片上网络实现互联,可互相发放接收数据包,实现等价与脉冲神经网络的神经元间脉冲发放。LCompiler支持对网络完成分割和重分配,映射至Loihi的计算核心上,通过降低输入映射效率比指标,降低分割产生的冗余带宽,同时根据已分配部分的最大扇出决定映射目标核心位置。
然而,基于贪心算法的映射优化方法并没有充分考虑神经网络的全局连接关系。复杂神经网络的内部可能具有高比例的不规则稀疏连接,并且不同神经元间的通信密度不同,对总代价函数的贡献不同,该算法仅考虑了边的连接关系,无法结合动态的脉冲收发频率进行映射优化,所获得的编译结果的计算效率和能耗都存在较大的浪费。因此亟需设计提供一种改进的片上网络核心映射算法。
发明内容
为了解决现有技术中存在的上述技术问题,本发明提出了一种基于禁忌搜索算法的神经网络片上映射方法和装置,通过禁忌搜索和局部整数规划求解,对全局代价函数进行优化,避免搜索过程陷入局部最优,其具体技术方案如下:
一种基于禁忌搜索算法的神经网络片上映射方法,包括以下步骤:
步骤一:获取待部署的脉冲神经网络的拓扑结构和参数信息,以及目标机器片上网络计算核心的约束信息;
步骤二:将脉冲神经网络转换为有向无环图,并根据图中的拓扑排序确定待分配的神经元序列;
步骤三:在片上网络,从预先规定的起始计算核心开始,将神经元序列按簇为单位依次分配,使用最近邻算法逐一映射放置于片上网络的计算核心上,以构造映射初始解;
步骤四:定义并初始化禁忌搜索表和计时器,计算所有计算核心的代价函数,并根据代价函数构选候选计算核心,构建候选集;
步骤五:对所选取构建的候选集建立整数规划模型并求得最优解,根据最优解调换每个神经元群的核心位置,完成局部搜索优化;
步骤六:迭代计时器,检查并更新禁忌搜索表,不断迭代重复步骤四至步骤六直至到达迭代上限,最终输出神经元群到计算核心的映射结果,完成映射。
进一步的,所述步骤一中,脉冲神经网络包含了突触和以神经元群为节点的连接结构,神经元群中包含了若干神经元,所使用的拓扑结构是一种由节点和边表示的图数据结构或者是包含了尺寸形状信息的网络结构,同时提供神经元行为参数及突触连接中的连接参数;
所述计算核心为包括存储空间和计算功能的硬件单元,获取计算核心的存储空间大小,片上网络上的二维空间位置坐标,以及计算核心间的连接关系。
进一步的,所述步骤二具体为:
对以神经元群为节点,突触连接为边所表示的计算图进行转换,依据脉冲神经网络的模型输入节点为源,模型输出节点为目标,突触连接的方向为有向边构造完整的有向无环图DAG,称为网络DAG;
然后对所述有向无环图使用拓扑排序方法确定神经元群的顺序,所述拓扑排序方法为:统计有向无环图中所有节点入度并维护一个以节点入度升序排序的优先队列,弹出优先队列中的下一个节点,并将有向无环图中该节点为输出的边依次删除,更新优先队列中剩余节点的入度,重复该步骤直到优先队列为空;
最后,根据神经元群节点从优先队列弹出的先后顺序即被标记为所对应的拓扑排序,该拓扑排序的序号即为神经元群内所有神经元的序号。
进一步的,所述步骤三具体为:根据获取的片上网络的二维网格信息,从预先规定的起始的计算核心开始分配,若未做规定则以二维网格的左上角计算核心为起始核心;
将神经元序列按簇为单位,依据拓扑序号依次分配至计算核心,统计当前神经元群与片上已分配神经元群之间的突触连接数量,依次尝试使用片上网络所有可用的未被分配的计算核心资源,分别计算局部的代价函数,并使用最近邻算法选取代价函数最小的片上网络的计算核心作为下一个分配的目标核心;
其中,在开始分配一个神经元群内的所有神经元前,由于均具有相同的拓扑序号,则对所有神经元节点入度进行统计,依据神经元节点入度从大到小依次分配,分配直至当前计算核心的存储空间充满,或者该神经元群的所有神经元全部分配完毕;若仍有剩余神经元未分配,则将其归为一个新的神经元群并进行分配;当所有神经元均被分配完毕后,返回神经元序号和计算核心的对应关系,作为完成构造的映射初始解;
同时每个计算核心内的所有神经元重新构成了一个新的神经元群,并生成一个以该神经元群为节点新的DAG,称为物理DAG。
进一步的,所述步骤四具体包括:
对于第个神经元群,,定义禁忌搜索表中的禁忌时刻,表示若当前时刻即当前的优化轮次,该神经元群不允许被选入候选集,仅当时刻满足时,该神经元群被选入候选集;当第个神经元群在时刻被选入候选集,则该神经元群在禁忌搜索表中时间将被更新为;
步骤4.3,计算物理DAG中神经元群之间的代价函数,以及在片上网络的全局代价函数,采用基于无向图的广度优先搜索的选取方法或基于全局代价函数和Prim最小生成树算法的选取方法来搜索候选集。
进一步的,所述步骤4.3具体为:
所述的计算物理DAG中神经元群之间的代价函数即计算两个神经元群之间的脉冲包通信密度:从神经网络所使用的输入数据集中随机选取一个子集,并依次输入神经网络,统计神经元群发放至神经元群的脉冲包个数,该计数值即为对应通信密度,可表示为神经元群和神经元群之间的通信密度;
所述基于无向图的广度优先搜索的选取方法为:将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为起点,使用广度优先搜索算法进行遍历,依次将访问的不在禁忌范围内的神经元群加入候选集,直至候选集中达到所需神经元群个数;
所述基于全局代价函数和Prim最小生成树算法的选取方法为:将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为端点,计算所有与之相连的神经元群的全局代价并进行排序,从中选择全局代价最大的神经元群加入候选集中,考察候选集中当前所有的神经元群可以访问的所有边,寻找不在候选集中的边全局代价最大的不在禁忌搜索表范围内的神经元群并再次加入候选集,重复该过程直至候选集中达到所需神经元群个数。
进一步的,所述步骤五中的建立整数规划模型具体为:
设候选集中有个神经元群,其中的神经元群和, 所在的计算核心的编号分别为和,设0-1变量为神经元群在计算核心上的存在状态,若为1则表示神经元群被映射在计算核心上,为0则表示未被映射上,建立整数规划模型,表达式为:
一种基于禁忌搜索算法的神经网络片上映射装置,包括一个或多个处理器,用于实现所述的基于禁忌搜索算法的神经网络片上映射方法。
一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现所述的基于禁忌搜索算法的神经网络片上映射方法。
有益效果:
本发明方法给出的基于最近邻的构造策略和禁忌搜索算法的搜索策略,降低了神经网络模型映射后的目标机器的整体功耗和通信距离总和,极大提高了数据在片上网络的传输效率及整体计算速度。
附图说明
图1是本发明的一种基于禁忌搜索算法的神经网络片上映射方法整体流程示意图;
图2是本发明的一种基于禁忌搜索算法的神经网络片上映射方法的具体流程框架图;
图3是本发明施例的脉冲神经网络的网络层有向无环图和对应的物理层有向无环图;
图4是本发明实施例的使用最近邻算法构造映射初始解的示意图;
图5a是本发明实施例的不同时刻神经元群状态示意图;
图5b是本发明实施例的基于图5a中的神经元群完成禁忌搜索表构造和维护的示意图;
图6a是本发明的实施例中代价函数值所记录在的二维变量网格代价矩阵的定义示意图;
图6b是本发明的实施例中代价函数值所记录在的二维变量网络代价矩阵的定义示意图;
图7是本发明的实施例中根据选取候选集及对应定义的整数规划模型中的0-1变量矩阵示意图;
图8是本发明的实施例的一种基于禁忌搜索算法的神经网络片上映射装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和技术效果更加清楚明白,以下结合说明书附图和实施例,对本发明作进一步详细说明。
如图1和图2所示,本发明的一种基于禁忌搜索算法的神经网络片上映射方法,构造禁忌搜索表并使用基于启发式的迭代搜索过程,选取局部核心作为候选对象,建立整数规划模型并求解最优解,循环迭代不断降低映射解的目标代价函数,最后获得近似最优的部署方案,具体包括以下步骤:
步骤一:获取待部署的脉冲神经网络的拓扑结构和参数信息,以及目标机器片上网络计算核心的约束信息。
具体的,所述脉冲神经网络包含了神经元群和突触连接结构,神经元群中包含了若干神经元,所使用的拓扑结构是一种由节点和边表示的图数据结构,或者是包含了尺寸形状信息的网络结构,同时提供神经元行为参数及突触连接中的连接参数构成。
获取目标机器片上网络的计算核心的约束信息,所述计算核心包括存储空间和计算功能的硬件单元,获取计算核心的存储空间大小,在片上网络上的二维空间位置坐标,以及计算核心间的连接关系。
步骤二:将脉冲神经网络转换为有向无环图,并根据图中的拓扑排序确定待分配的神经元序列。
具体的,如图3所示,对于以神经元群为节点,突触连接为边所表示的计算图进行转换,依据脉冲神经网络的模型输入节点为源,模型输出节点为目标,突触连接的方向为有向边构造完整的有向无环图(DAG),称为网络DAG。
然后对所述有向无环图使用拓扑排序方法确定神经元群的顺序,所述拓扑排序方法为:统计有向无环图中所有节点入度并维护一个以节点入度升序排序的优先队列,弹出优先队列中的下一个节点,并将有向无环图中该节点为输出的边依次删除,更新优先队列中剩余节点的入度,重复该步骤直到优先队列为空。
最后,根据神经元群节点从优先队列弹出的先后顺序即被标记为所对应的拓扑排序,该拓扑排序的序号也即神经元群内所有神经元的序号。
步骤三:在片上网络,从预先规定的起始计算核心开始,将神经元序列按簇为单位依次分配,使用最近邻算法逐一映射放置于片上网络的计算核心上构造映射初始解。
具体的,如图4所示,根据获取的片上网络的二维网格信息,从预先规定的起始的计算核心开始分配,若未做规定则默认以二维网格的左上角计算核心为起始核心。
将神经元序列按簇为单位,依据拓扑序号依次分配至当前核心,统计当前神经元群与片上已分配神经元群之间的突触连接数量,依次尝试使用片上网络所有可用的未被分配的计算核心资源,分别计算局部的代价函数,并使用最近邻算法选取代价函数最小的片上网络的计算核心作为下一个分配的目标核心。
其中,在开始分配一个神经元群内的所有神经元前,由于均具有相同的拓扑序号,需要对所有神经元节点入度进行统计,依据神经元节点入度从大到小依次分配,分配直至当前计算核心的存储空间充满,或者该神经元群的所有神经元全部分配完毕;若仍有剩余神经元未分配,则将其归为一个新的神经元群并以前述相同的步骤进行分配;当所有神经元均被分配完毕后,返回神经元序号和计算核心的对应关系,作为完成构造的映射初始解,并认为此时每个计算核心内的所有神经元重新构成了一个新的神经元群,并生成一个以该神经元群为节点新的DAG,称为物理DAG。
步骤四:定义并初始化禁忌搜索表和计时器,计算所有计算核心的代价函数,并根据代价函数构选取候选核心构建候选集。具体包括以下子步骤:
对于第个神经元群,,定义禁忌搜索表中的禁忌时刻,表示若当前时刻即当前的优化轮次,该神经元群不允许被选入候选集,仅当时刻满足时,该神经元群被选入候选集;当第个神经元群在时刻被选入候选集,则该神经元群在禁忌搜索表中时间将被更新为,如图5a和图5b所示,在本实施例中,取值为2。
步骤4.3,计算物理DAG中神经元群之间的代价函数,以及在片上网络的全局代价函数,采用基于无向图的广度优先搜索的选取方法或基于全局代价函数和Prim最小生成树算法的选取方法来搜索候选集。具体如下:
如图6a所示,将片上网络计算核心按顺序编号,并将两两核心间在二维网格下的代价函数值记录在一个二维变量网格代价矩阵GCM(grid cost matrix)内,其中表示编号的计算核心与编号的计算核心之间的代价函数值。
如图6b所示,将片上网络计算核心内的神经元群也依次编号,并将两两神经元群之间的神经连接代价函数值记录在一个二维变量网络代价矩阵NCM(network costmatrix)内,其中表示编号的计算核心内的神经元群与编号的计算核心内的神经元群之间的代价函数值。
该通信密度的一种计算方法是,从神经网络所使用的输入数据集中随机选取一个子集,并依次输入神经网络,统计神经元群发放至神经元群的脉冲包个数,该计数值即为对应通信密度。注意,这里的神经元群为物理DAG中的概念,需查询原网络DAG中的等价神经元群并进行统计。
提出两种神经元群候选集的选取方法来构建候选集:
基于无向图的广度优先搜索的选取方法;将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为起点,使用广度优先搜索算法进行遍历,依次将访问的不在禁忌范围内的神经元群加入候选集,直至候选集中有个神经元群,返回该候选集。
基于全局代价函数和Prim最小生成树算法的选取方法;将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为端点,计算所有与之相连的神经元群的全局代价并进行排序,从中选择全局代价最大的神经元群加入候选集中。考察候选集中当前所有的神经元群可以访问的所有边,寻找不在候选集中的边全局代价最大的不在禁忌范围内的神经元群并再次加入候选集。重复该过程直到候选集中有个神经元群,返回该候选集。
步骤五:对所选取构建的候选集建立整数规划模型并求得最优解,根据最优解调换每个神经元群的核心位置,完成局部搜索优化。
对获得的个神经元群和当前所在的个计算核心建立带约束的整数规划模型。如图7所示,设神经元群和, 所在的计算核心的编号分别为和,设0-1变量为神经元群在计算核心上的存在状态,若为1则表示神经元群被映射在计算核心上,为0则表示未被映射上。建立如下的整数规划模型:
其中目标函数由两部分组成,为K个神经元群及所在计算核心之间的总通信代价,为个神经元群与不在候选集内的其他神经元群之间的总通信代价,与个允许调整的神经元群位置对应的自由变量不同,对于所有其他不在候选集内的神经元群所映射的计算核心的位置在当前优化过程中均固定,因此该项仅保留。
所述整数规划模型为一个典型的0-1整数非线性规划的模型,使用扩展的割平面法等求解算法求解即可获得该模型的最优解。查找所有的满足即可获得所有K个神经元群互换后的位置,且新的神经元群位置对应的代价函数的值相对更低。由于神经网络模型的所有N个神经元群的总代价函数可分解为候选集和非候选集分别的代价函数之和,而非候选集之间由于没有改变位置,代价不变,因此总的代价函数由于候选集里神经元群的代价降低而得到优化降低。
步骤六:迭代计时器,按步骤4.2中所述方法检查并更新禁忌搜索表,不断迭代重复步骤四至步骤六直至到达迭代上限,最终输出神经元群到计算核心的映射结果,完成映射。
与前述基于禁忌搜索算法的神经网络片上映射方法的实施例相对应,本发明还提供了基于禁忌搜索算法的神经网络片上映射装置的实施例。
参见图8,本发明实施例提供的一种基于禁忌搜索算法的神经网络片上映射装置,包括一个或多个处理器,用于实现上述实施例中的基于禁忌搜索算法的神经网络片上映射方法。
本发明基于禁忌搜索算法的神经网络片上映射装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图8所示,为本发明基于禁忌搜索算法的神经网络片上映射装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图8所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的基于禁忌搜索算法的神经网络片上映射装置。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上所述,仅为本发明的优选实施案例,并非对本发明做任何形式上的限制。虽然前文对本发明的实施过程进行了详细说明,对于熟悉本领域的人员来说,其依然可以对前述各实例记载的技术方案进行修改,或者对其中部分技术特征进行同等替换。凡在本发明精神和原则之内所做修改、同等替换等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,包括以下步骤:
步骤一:获取待部署的脉冲神经网络的拓扑结构和参数信息,以及目标机器片上网络计算核心的约束信息;
步骤二:将脉冲神经网络转换为有向无环图,并根据图中的拓扑排序确定待分配的神经元序列;
步骤三:在片上网络,从预先规定的起始计算核心开始,将神经元序列按簇为单位依次分配,使用最近邻算法逐一映射放置于片上网络的计算核心上,以构造映射初始解;
步骤四:定义并初始化禁忌搜索表和计时器,计算所有计算核心的代价函数,并根据代价函数构选候选计算核心,构建候选集;
步骤五:对所选取构建的候选集建立整数规划模型并求得最优解,根据最优解调换每个神经元群的核心位置,完成局部搜索优化;
步骤六:迭代计时器,检查并更新禁忌搜索表,不断迭代重复步骤四至步骤六直至到达迭代上限,最终输出神经元群到计算核心的映射结果,完成映射。
2.如权利要求1所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤一中,脉冲神经网络包含了突触和以神经元群为节点的连接结构,神经元群中包含了若干神经元,所使用的拓扑结构是一种由节点和边表示的图数据结构或者是包含了尺寸形状信息的网络结构,同时提供神经元行为参数及突触连接中的连接参数;
所述计算核心为包括存储空间和计算功能的硬件单元,获取计算核心的存储空间大小,片上网络上的二维空间位置坐标,以及计算核心间的连接关系。
3.如权利要求2所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤二具体为:
对以神经元群为节点,突触连接为边所表示的计算图进行转换,依据脉冲神经网络的模型输入节点为源,模型输出节点为目标,突触连接的方向为有向边构造完整的有向无环图DAG,称为网络DAG;
然后对所述有向无环图使用拓扑排序方法确定神经元群的顺序,所述拓扑排序方法为:统计有向无环图中所有节点入度并维护一个以节点入度升序排序的优先队列,弹出优先队列中的下一个节点,并将有向无环图中该节点为输出的边依次删除,更新优先队列中剩余节点的入度,重复该步骤直到优先队列为空;
最后,根据神经元群节点从优先队列弹出的先后顺序即被标记为所对应的拓扑排序,该拓扑排序的序号即为神经元群内所有神经元的序号。
4.如权利要求3所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤三具体为:根据获取的片上网络的二维网格信息,从预先规定的起始的计算核心开始分配,若未做规定则以二维网格的左上角计算核心为起始核心;
将神经元序列按簇为单位,依据拓扑序号依次分配至计算核心,统计当前神经元群与片上已分配神经元群之间的突触连接数量,依次尝试使用片上网络所有可用的未被分配的计算核心资源,分别计算局部的代价函数,并使用最近邻算法选取代价函数最小的片上网络的计算核心作为下一个分配的目标核心;
其中,在开始分配一个神经元群内的所有神经元前,由于均具有相同的拓扑序号,则对所有神经元节点入度进行统计,依据神经元节点入度从大到小依次分配,分配直至当前计算核心的存储空间充满,或者该神经元群的所有神经元全部分配完毕;若仍有剩余神经元未分配,则将其归为一个新的神经元群并进行分配;当所有神经元均被分配完毕后,返回神经元序号和计算核心的对应关系,作为完成构造的映射初始解;
同时每个计算核心内的所有神经元重新构成了一个新的神经元群,并生成一个以该神经元群为节点新的DAG,称为物理DAG。
5.如权利要求4所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤四具体包括:
对于第个神经元群,,定义禁忌搜索表中的禁忌时刻,表示若当前时刻即当前的优化轮次,该神经元群不允许被选入候选集,仅当时刻满足时,该神经元群被选入候选集;当第个神经元群在时刻被选入候选集,则该神经元群在禁忌搜索表中时间将被更新为;
步骤4.3,计算物理DAG中神经元群之间的代价函数,以及在片上网络的全局代价函数,采用基于无向图的广度优先搜索的选取方法或基于全局代价函数和Prim最小生成树算法的选取方法来搜索候选集。
6.如权利要求5所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤4.3具体为:
所述的计算物理DAG中神经元群之间的代价函数即计算两个神经元群之间的脉冲包通信密度:从神经网络所使用的输入数据集中随机选取一个子集,并依次输入神经网络,统计神经元群发放至神经元群的脉冲包个数,该计数值即为对应通信密度,可表示为神经元群和神经元群之间的通信密度;
所述基于无向图的广度优先搜索的选取方法为:将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为起点,使用广度优先搜索算法进行遍历,依次将访问的不在禁忌范围内的神经元群加入候选集,直至候选集中达到所需神经元群个数;
所述基于全局代价函数和Prim最小生成树算法的选取方法为:将物理DAG转化为无向图,随机选择一个神经元群构建初始候选集,并在无向图中以该神经元群为端点,计算所有与之相连的神经元群的全局代价并进行排序,从中选择全局代价最大的神经元群加入候选集中,考察候选集中当前所有的神经元群可以访问的所有边,寻找不在候选集中的边全局代价最大的不在禁忌搜索表范围内的神经元群并再次加入候选集,重复该过程直至候选集中达到所需神经元群个数。
7.如权利要求6所述的一种基于禁忌搜索算法的神经网络片上映射方法,其特征在于,所述步骤五中的建立整数规划模型具体为:
设候选集中有个神经元群,其中的神经元群和, 所在的计算核心的编号分别为和,设0-1变量为神经元群在计算核心上的存在状态,若为1则表示神经元群被映射在计算核心上,为0则表示未被映射上,建立整数规划模型,表达式为:
9.一种基于禁忌搜索算法的神经网络片上映射装置,其特征在于,包括一个或多个处理器,用于实现权利要求1-8中任一项所述的基于禁忌搜索算法的神经网络片上映射方法。
10.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,实现权利要求1-8中任一项所述的基于禁忌搜索算法的神经网络片上映射方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211098597.9A CN115168281B (zh) | 2022-09-09 | 2022-09-09 | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 |
PCT/CN2023/110115 WO2024051388A1 (zh) | 2022-09-09 | 2023-07-31 | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 |
EP23790535.1A EP4375844A1 (en) | 2022-09-09 | 2023-07-31 | Neural network on-chip mapping method and device based on tabu search algorithm |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211098597.9A CN115168281B (zh) | 2022-09-09 | 2022-09-09 | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115168281A true CN115168281A (zh) | 2022-10-11 |
CN115168281B CN115168281B (zh) | 2023-01-03 |
Family
ID=83482425
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211098597.9A Active CN115168281B (zh) | 2022-09-09 | 2022-09-09 | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP4375844A1 (zh) |
CN (1) | CN115168281B (zh) |
WO (1) | WO2024051388A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116389284A (zh) * | 2023-03-17 | 2023-07-04 | 南通大学 | 一种分布式量子计算中基于依赖图的传输代价优化方法 |
WO2024051388A1 (zh) * | 2022-09-09 | 2024-03-14 | 之江实验室 | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118172381B (zh) * | 2024-05-14 | 2024-07-26 | 华芯程(杭州)科技有限公司 | 光掩模图案拆分方法、装置、电子设备及存储介质 |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030088320A1 (en) * | 2000-06-10 | 2003-05-08 | Sale Mark Edward | Unsupervised machine learning-based mathematical model selection |
US20070087756A1 (en) * | 2005-10-04 | 2007-04-19 | Hoffberg Steven M | Multifactorial optimization system and method |
US20080151811A1 (en) * | 2006-12-20 | 2008-06-26 | Hersham El-Damhougy | Interplanetary communications network, interplanetary communications network backbone and method of managing interplanetary communications network |
CN101271407A (zh) * | 2008-05-13 | 2008-09-24 | 武汉理工大学 | 一种基于能量优化的网格调度方法 |
CN102065019A (zh) * | 2011-01-21 | 2011-05-18 | 西安电子科技大学 | 基于区域划分的片上网络快速ip核映射方法 |
US20150088795A1 (en) * | 2013-09-23 | 2015-03-26 | Oracle International Corporation | Minimizing Global Error in an Artificial Neural Network |
US9015093B1 (en) * | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
CN105469143A (zh) * | 2015-11-13 | 2016-04-06 | 清华大学 | 基于神经网络动态特征的片上网络资源映射方法 |
CN106227851A (zh) * | 2016-07-29 | 2016-12-14 | 汤平 | 基于深度卷积神经网络端对端的通过分层深度搜索的图像检索方法 |
CN107563409A (zh) * | 2017-08-04 | 2018-01-09 | 汕头大学 | 一种基于区域图像特征关注网络与最近邻排序的描述方法 |
CN108833295A (zh) * | 2018-06-25 | 2018-11-16 | 西安交通大学 | 面向sdn的基于禁忌搜索的虚拟网络重配置方法 |
CN110221170A (zh) * | 2019-06-05 | 2019-09-10 | 贵州电网有限责任公司 | 一种基于禁忌搜索优化rbf网络的小电流接地选线方法 |
CN110782031A (zh) * | 2019-09-27 | 2020-02-11 | 北京计算机技术及应用研究所 | 多框架卷积神经网络模型结构可视化以及网络重建方法 |
CN113988286A (zh) * | 2021-11-11 | 2022-01-28 | 中山大学 | 一种应用于片上网络ip核映射问题的映射方法 |
CN114492782A (zh) * | 2022-04-19 | 2022-05-13 | 之江实验室 | 基于强化学习的神经网络的片上核心编译映射方法及装置 |
CN114492770A (zh) * | 2022-01-28 | 2022-05-13 | 浙江大学 | 一种面向循环脉冲神经网络的类脑计算芯片映射方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107851024A (zh) * | 2015-05-15 | 2018-03-27 | 考科斯汽车有限公司 | 用于解空间分割的并行处理 |
CN109726479B (zh) * | 2018-12-29 | 2023-05-09 | 南京宁麒智能计算芯片研究院有限公司 | 一种三维片上网络垂直通道的部署方法 |
US11721085B2 (en) * | 2020-12-20 | 2023-08-08 | Tianzhi Yang | Generating and evaluating mappings between spatial point sets in multi-levels |
CN115168281B (zh) * | 2022-09-09 | 2023-01-03 | 之江实验室 | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 |
-
2022
- 2022-09-09 CN CN202211098597.9A patent/CN115168281B/zh active Active
-
2023
- 2023-07-31 WO PCT/CN2023/110115 patent/WO2024051388A1/zh unknown
- 2023-07-31 EP EP23790535.1A patent/EP4375844A1/en active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030088320A1 (en) * | 2000-06-10 | 2003-05-08 | Sale Mark Edward | Unsupervised machine learning-based mathematical model selection |
US20070087756A1 (en) * | 2005-10-04 | 2007-04-19 | Hoffberg Steven M | Multifactorial optimization system and method |
US20080151811A1 (en) * | 2006-12-20 | 2008-06-26 | Hersham El-Damhougy | Interplanetary communications network, interplanetary communications network backbone and method of managing interplanetary communications network |
CN101271407A (zh) * | 2008-05-13 | 2008-09-24 | 武汉理工大学 | 一种基于能量优化的网格调度方法 |
US9015093B1 (en) * | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
CN102065019A (zh) * | 2011-01-21 | 2011-05-18 | 西安电子科技大学 | 基于区域划分的片上网络快速ip核映射方法 |
US20150088795A1 (en) * | 2013-09-23 | 2015-03-26 | Oracle International Corporation | Minimizing Global Error in an Artificial Neural Network |
CN105469143A (zh) * | 2015-11-13 | 2016-04-06 | 清华大学 | 基于神经网络动态特征的片上网络资源映射方法 |
CN106227851A (zh) * | 2016-07-29 | 2016-12-14 | 汤平 | 基于深度卷积神经网络端对端的通过分层深度搜索的图像检索方法 |
CN107563409A (zh) * | 2017-08-04 | 2018-01-09 | 汕头大学 | 一种基于区域图像特征关注网络与最近邻排序的描述方法 |
CN108833295A (zh) * | 2018-06-25 | 2018-11-16 | 西安交通大学 | 面向sdn的基于禁忌搜索的虚拟网络重配置方法 |
CN110221170A (zh) * | 2019-06-05 | 2019-09-10 | 贵州电网有限责任公司 | 一种基于禁忌搜索优化rbf网络的小电流接地选线方法 |
CN110782031A (zh) * | 2019-09-27 | 2020-02-11 | 北京计算机技术及应用研究所 | 多框架卷积神经网络模型结构可视化以及网络重建方法 |
CN113988286A (zh) * | 2021-11-11 | 2022-01-28 | 中山大学 | 一种应用于片上网络ip核映射问题的映射方法 |
CN114492770A (zh) * | 2022-01-28 | 2022-05-13 | 浙江大学 | 一种面向循环脉冲神经网络的类脑计算芯片映射方法 |
CN114492782A (zh) * | 2022-04-19 | 2022-05-13 | 之江实验室 | 基于强化学习的神经网络的片上核心编译映射方法及装置 |
Non-Patent Citations (6)
Title |
---|
常政威等: "片上网络映射问题的改进禁忌搜索算法", 《计算机辅助设计与图形学学报》 * |
张江涛等: "一种基于代数算法的RBF神经网络优化方法", 《计算机工程与应用》 * |
怀丽波: "最优化理论与方法在人工神经网络中的应用", 《科技创新导报》 * |
薛青松: "《基于改进粒子群算法的模糊神经网络研究》", 《万方数据》 * |
邱恋等: "一种基于禁忌搜索算法的设站问题解决方案", 《通信技术》 * |
高海兵等: "广义粒子群优化模型", 《计算机学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024051388A1 (zh) * | 2022-09-09 | 2024-03-14 | 之江实验室 | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 |
CN116389284A (zh) * | 2023-03-17 | 2023-07-04 | 南通大学 | 一种分布式量子计算中基于依赖图的传输代价优化方法 |
CN116389284B (zh) * | 2023-03-17 | 2023-11-07 | 南通大学 | 一种分布式量子计算中基于依赖图的传输代价优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115168281B (zh) | 2023-01-03 |
WO2024051388A1 (zh) | 2024-03-14 |
EP4375844A1 (en) | 2024-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115168281B (zh) | 一种基于禁忌搜索算法的神经网络片上映射方法和装置 | |
WO2022048280A1 (zh) | 一种分布式的量子计算仿真方法和装置 | |
US11960934B2 (en) | Systems and methods for improved neural network execution | |
Sudholt | Parallel evolutionary algorithms | |
WO2022068663A1 (zh) | 内存分配方法、相关设备及计算机可读存储介质 | |
JP2019522850A (ja) | ディープニューラルネットワーク用のアクセラレータ | |
Schulz | High quality graph partitioning | |
CN114492782B (zh) | 基于强化学习的神经网络的片上核心编译映射方法及装置 | |
CN111400555B (zh) | 图数据查询任务处理方法、装置、计算机设备和存储介质 | |
Schlag et al. | Scalable edge partitioning | |
Wang et al. | A message-passing multi-softcore architecture on FPGA for breadth-first search | |
CN116070682B (zh) | 神经元计算机操作系统的snn模型动态映射方法及装置 | |
Loni et al. | ADONN: adaptive design of optimized deep neural networks for embedded systems | |
Mohiz et al. | Application mapping using cuckoo search optimization with Lévy flight for NoC-based system | |
Zou et al. | Massively simulating adiabatic bifurcations with FPGA to solve combinatorial optimization | |
CN110175172B (zh) | 基于稀疏二分图的极大二分团并行枚举方法 | |
von Kirchbach et al. | Efficient process-to-node mapping algorithms for stencil computations | |
Vidal et al. | Solving the DNA fragment assembly problem with a parallel discrete firefly algorithm implemented on GPU | |
CN112100446B (zh) | 搜索方法、可读存储介质和电子设备 | |
Li | Fast Hough Transform for multidimensional signal processing | |
Borges | AlexNet deep neural network on a many core platform | |
JP2008299641A (ja) | 連立一次方程式の並列求解方法およびノード順序付け方法 | |
CN117688992B (zh) | 神经元计算机操作系统的资源映射方法和装置 | |
Guo et al. | Parallel graph partitioning framework for solving the maximum clique problem using Hadoop | |
Sheng et al. | Distributed evolution strategies using tpus for meta-learning |
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 |