CN107430704A - 基于与神经网络算法关联的元数据在神经突触基底上实现神经网络算法 - Google Patents
基于与神经网络算法关联的元数据在神经突触基底上实现神经网络算法 Download PDFInfo
- Publication number
- CN107430704A CN107430704A CN201680015986.7A CN201680015986A CN107430704A CN 107430704 A CN107430704 A CN 107430704A CN 201680015986 A CN201680015986 A CN 201680015986A CN 107430704 A CN107430704 A CN 107430704A
- Authority
- CN
- China
- Prior art keywords
- substrate
- neuron
- matrix
- nerve synapse
- storehouse
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/061—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using biological neurons, e.g. biological neurons connected to an integrated circuit
-
- 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
-
- 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
-
- 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural 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/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
Abstract
本发明的一个实施例提供一种用于将神经网络映射到神经突触基底上的系统。所述系统包括:元数据分析单元,用于分析与神经网络的邻接矩阵表示的一个或多个部分关联的元数据信息;和映射单元,用于基于元数据信息将矩阵表示的所述一个或多个部分映射到神经突触基底上。
Description
技术领域
本发明涉及神经形态和神经突触计算,并且具体地讲,涉及基于与神经网络算法关联的元数据在神经突触基底上实现神经网络算法。
神经形态和神经突触计算(也被称为人工神经网络)是由生物大脑启示的计算系统。例如,神经形态和神经突触计算可包括各种电子电路和/或在由生物大脑的神经元启示的处理元件之间创建连接。
背景技术
在生物系统中,神经元的轴突和另一神经元上的树突之间的接触点被称为突触,并且相对于突触,所述两个神经元分别被称为突触前和突触后。我们的个体经验的本质被存储在突触的传导中。根据尖峰时间相关可塑性(STDP),突触传导作为突触前神经元和突触后神经元的相对尖峰时间的函数随着时间而变化。如果突触的突触后神经元在突触的突触前神经元激发之后激发,则STDP规则增加突触的传导,并且如果所述两种激发的次序颠倒,则STDP规则减小突触的传导。
发明内容
本发明的一个实施例提供一种用于将神经网络映射到神经突触基底上的系统。所述系统包括:元数据分析单元,用于分析与神经网络的邻接矩阵表示的一个或多个部分关联的元数据信息;和映射单元,用于基于元数据信息将矩阵表示的所述一个或多个部分映射到神经突触基底上。
本发明的另一个实施例提供一种用于将神经网络映射到神经突触基底上的方法。所述方法包括:分析与神经网络的邻接矩阵表示的一个或多个部分关联的元数据信息;以及基于元数据信息将矩阵表示的所述一个或多个部分映射到神经突触基底上。
参照下面的描述、所附权利要求和附图,将会理解本发明的这些和其它特征、方面和优点。
附图说明
现在将参照附图仅作为示例描述本发明的实施例,其中:
图1表示根据本发明的实施例的示例性神经突触核心电路(“核心电路”);
图2表示根据本发明的实施例的示例性框架;
图3表示根据本发明的实施例的示例性邻接矩阵;
图4表示根据本发明的实施例的图3中的示例性邻接矩阵的详细示图;
图5表示根据本发明的实施例的示例性重新排序图;
图6表示根据本发明的实施例的示例性重新排序图,该重新排序图具有分割器和合并器以允许提取子矩阵作为可映射块;
图7表示根据本发明的实施例的提取的子矩阵的示例性映射;
图8表示根据本发明的实施例的将块标记为映射;
图9表示根据本发明的实施例的在去除映射的块之后的另一个重新排序图;
图10表示根据本发明的实施例的用于在神经突触基底上实现神经网络算法的示例性处理的流程图;
图11表示根据本发明的实施例的用于对输入图进行重新排序的示例性群集方法;
图12表示根据本发明的实施例的用于对输入图进行重新排序的示例性权重下降分块算法;
图13表示根据本发明的实施例的用于基于权重下降分块算法对输入图进行重新排序的示例性处理的流程图;
图14表示根据本发明的实施例的基于成对质心距离最小化对输入图进行重新排序;
图15表示根据本发明的实施例的用于基于权重下降分块算法对输入图进行重新排序的示例性处理的流程图;
图16表示根据本发明的实施例的示例性分割表;
图17表示根据本发明的实施例的示例性合并表;
图18表示根据本发明的实施例的用于使用元数据提供增强的示例性框架;和
图19是显示有助于实现本发明的一个实施例的信息处理系统的高层次方框图。
具体实施方式
本发明的实施例涉及神经形态和神经突触计算,并且具体地讲,涉及基于与神经网络算法关联的元数据在神经突触基底上实现神经网络算法。本发明的一个实施例提供一种用于将神经网络映射到神经突触基底上的系统。所述系统包括:元数据分析单元,用于分析与神经网络的邻接矩阵表示的一个或多个部分关联的元数据信息;和映射单元,用于基于元数据信息将矩阵表示的所述一个或多个部分映射到神经突触基底上。
本发明的另一个实施例提供一种用于将神经网络映射到神经突触基底上的方法。所述方法包括:分析与神经网络的邻接矩阵表示的一个或多个部分关联的元数据信息;以及基于元数据信息将矩阵表示的所述一个或多个部分映射到神经突触基底上。
如这里所使用的,术语“电子神经元”代表被配置为模拟生物神经元的框架。电子神经元在处理元件之间创建连接,处理元件大体在功能上等同于生物大脑的神经元。如此,根据本发明的实施例的包括电子神经元的神经形态和神经突触计算可包括对生物神经元进行建模的各种电子电路。另外,根据本发明的实施例的包括电子神经元的神经形态和神经突触计算可包括对生物神经元进行建模的各种处理元件(包括计算机模拟)。虽然这里使用包括数字电路的电子神经元描述本发明的某些说明性实施例,但本发明不限于电子电路。根据本发明的实施例的神经形态和神经突触计算能够被实现为包括电路的神经形态和神经突触框架,并且另外能够被实现为计算机模拟。实际上,本发明的实施例能够采用完全硬件实施例、完全软件实施例或者既包含硬件元件又包含软件元件的实施例的形式。
如这里所使用的,术语“神经突触程序”代表神经突触网络。神经突触程序构成与下面的内容相关的信息:确定电子神经元对输入尖峰的响应的神经元性质和动态(例如,阈值参数、泄漏参数、延迟参数、重置参数等)、神经元的突触连接(例如,经由突触交叉条实现的突触连接)、轴突性质(例如,轴突类型)和神经元的输出尖峰应该被传送到的一个或多个目的地(例如,目标轴突)。
如这里所使用的,术语“神经突触网络”代表神经突触程序的实例化。神经突触网络可被实例化为硬件、仿真或二者。例如,神经突触程序可引起神经突触网络的一个或多个实例,其中所述实例可位于单个核、多个核或多个芯片上。
脉冲神经网络可被用来比传统系统更高效地解决计算。神经网络算法代表可按照包括多个节点和多个边的图的形式表示的脉冲神经网络,其中每个节点代表神经元,并且其中每个边代表突触连接。能够使用图表示各种网络和算法,包括信号处理、分类、模式识别、对象识别、机器学习、布尔和逻辑运算、时间联想记忆、控制系统、决策系统、预测模型、认知系统等。然而,神经突触计算与通常由传统(冯·诺依曼)处理器执行的那些计算的不同之处在于:它们是大规模并行异步(事件驱动)的,并且必须高度可伸缩以高效地执行大型图模型。
可在神经突触基底上更高效地执行采用图模型的形式的神经网络算法。基底是单独的或组合的硬件、软件、固件或计算的任何其它方式的结构,所述结构被优化以实现、支持或能够实现神经网络算法的高效执行。通过在能够执行的图模型上合并一个或多个约束来实现效率。
当在给定神经突触基底上实现任意神经网络算法时,本发明的实施例考虑一个或多个约束。例如,如果给定神经突触基底包括软件元件,则可考虑基底的一个或多个软件相关约束。通过非限制性示例,这些可包括系统存储器、数字表示的精度和类型(例如,字节的数量、32位/64位、有符号/无符号、固定/浮点)、处理器的类型(例如,CPU、CPU+GPU、CPU+FPGA)、数据结构或阵列大小、多处理器环境中的消息发送协议(例如,MPI)、系统线程的数量、卡的数量、查询表的数量(Lust)等。作为另一个非限制性示例,如果给定神经突触基底包括硬件元件,则可考虑基底的一个或多个硬件相关约束,诸如与神经元特性(例如,基于线性阈函数的神经元活性、基于S形阈函数的神经元活性)、突触权重(例如,二进制突触权重、整数突触权重、实值突触权重、突触权重的数量、突触权重的动态范围)和/或神经元扇入/扇出(即,任何给定神经元能够连接到的神经元的最大数量)相关的约束。
用于将代表神经网络算法的图映射在给定神经突触基底上的传统技术是重要的、手动的、繁琐的并且容易出错,并且不保证满足基底的约束(例如,软件相关和/或硬件相关)的基底兼容实现方式。另外,传统技术也不允许与映射进行用户交互以便进行折衷。这些问题对神经突触基底的采用提出很大的障碍。
本发明的实施例提供一种用于将神经网络算法映射在硬件神经突触基底上的系统和方法,所述系统和方法导致满足基底的一个或多个硬件相关约束的基底兼容实现方式。本发明的实施例还提供一种保证的可执行神经网络算法映射,所述映射允许与映射进行用户交互(例如,反馈、支持和引导),以便在准确性和基底资源利用率之间进行折衷。
在本说明书中,假设G表示代表脉冲神经网络的图。可根据以下提供的方程(1)来表示图G:
G=(V,f,E,w) (1),
其中,V表示代表神经元的一组节点,其中f表示节点到一组神经元类型的映射,其中E表示代表突触连接的一组边,并且其中w表示从所述一组边E到实值的映射。突触权重和神经元扇出可不受约束。
图1表示根据本发明的实施例的示例性神经突触核心电路(“核心电路”)10。核心电路10是用于神经网络算法的快速、高效、低功率实现方式的示例性硬件神经突触基底。核心电路10包括多个电子神经元(“神经元”)11和多个电子轴突(“轴突”)15。神经元11和轴突15经由m x n个交叉条12互连,交叉条12包括多个核心内电子突触装置(“突触”)31、多个行/轴突路径26和多个列/树突路径34,其中“x”代表乘法,并且m和n是正整数。
每个突触31在轴突15和神经元11之间传送尖峰事件(即,激发事件)。具体地讲,每个突触31位于轴突路径26和树突路径34之间的交叉点结,从而通过突触31实现轴突路径26和树突路径34之间的连接。每个轴突15连接到轴突路径26,并且将尖峰事件发送给连接的轴突路径26。每个神经元11连接到树突路径34,并且从连接的树突路径34接收尖峰事件。因此,每个突触31将轴突15互连到神经元11,其中,相对于突触31,轴突15和神经元11分别代表突触前神经元的轴突和突触后神经元的树突。
每个突触31和每个神经元11具有可配置工作参数。在一个实施例中,核心电路10是单向核心,其中核心电路10的神经元11和轴突15分别被布置为单个神经元阵列和单个轴突阵列。在另一个实施例中,核心电路10是双向核心,其中核心电路10的神经元11和轴突15分别被布置为两个神经元阵列和两个轴突阵列。例如,双向核心电路10可具有水平神经元阵列、垂直神经元阵列、水平轴突阵列和垂直轴突阵列,其中交叉条12分别将水平神经元阵列和垂直神经元阵列与垂直轴突阵列和水平轴突阵列互连。
响应于接收到的尖峰事件,每个神经元11根据神经元激活函数产生尖峰事件。神经元激活函数的优选实施例可以是泄漏整合与激发。
外部双向通信环境可提供传感器输入并且消耗电机输出。使用互补金属氧化物半导体(CMOS)逻辑门实现神经元11和轴突15,所述CMOS逻辑门接收尖峰事件并且根据神经元激活函数产生尖峰事件。在一个实施例中,神经元11和轴突15包括根据神经元激活函数产生尖峰事件的比较器电路。在一个实施例中,使用1位静态随机存取存储器(SRAM)基元实现突触31。一次选择一个产生尖峰事件的神经元11,并且尖峰事件被传送给目标轴突15,其中目标轴突15可位于同一核心电路10中,或位于具有许多核心电路10的更大系统中的别的某个地方。
如图1中所示,核心电路10还包括地址事件接收器(核心-轴突)4、地址事件发送器(神经元-核心)5和用作全局状态机(GSM)的控制器6。地址事件接收器4接收尖峰事件并且将它们发送给目标轴突15。地址事件发送器5将由神经元11产生的尖峰事件发送给包括目标轴突15的核心电路10。
控制器6在时间步长内对事件活动进行排序。控制器6将每个时间步长划分成核心电路10中的操作阶段以用于神经元更新等。在一个实施例中,在时间步长内,分别在读阶段和写阶段中顺序地处理多个神经元更新和突触更新。另外,可使用可变时间步长,其中每当前一个时间步长的神经元/突触操作完成时,可使用握手信号触发下一个时间步长的开始。对于外部通信,可使用流水线操作,其中对负载输入、神经元/突触操作和发送输出执行流水线操作(这有效地隐藏输入/输出操作延时)。
如图1中所示,核心电路10还包括一个或多个包路由系统70。每个包路由系统70被配置为在多个核心电路10之间选择性地对尖峰事件进行路由。在一个实施例中,每个包路由系统70包括地址查询表(LUT)模块57、包创建器(PB)模块58、头删除(HD)模块53和核心-核心包交换机(PSw)55。LUT 57是被配置为为由核心电路10中的神经元11产生的尖峰事件确定目标轴突15的N地址路由表。目标轴突15可以是同一核心电路10或其它核心电路10中的轴突15。LUT 57检索信息,诸如目标距离、方向、地址和传送时间(例如,大约19位/包x 4包/神经元)。LUT 57将由神经元11产生的尖峰事件转换成目标轴突15的转发地址。
PB 58将由LUT 57检索到的路由信息打包成输出地址事件包。核心-核心PSw 55是上下左右网状路由器,所述网状路由器被配置为将输出地址事件包引导至包含目标轴突15的核心电路10。核心-核心PSw 55还被配置为从核心电路10接收输入地址事件包。HD 53从输入地址事件包去除路由信息,以将它作为带有时间戳的尖峰事件传送给地址事件接收器4。
在一个示例性实现方式中,核心电路10可包括256个神经元11。交叉条12可以是256x 256超密交叉条阵列,所述交叉条阵列具有处于大约0.1nm到10μm的范围中的间距。核心电路10的LUT 57可包括256个地址条目,每个条目具有长度32位。
在一个实施例中,使用地址事件(例如,地址事件表示(AER))实现核心电路10中的软连接。
虽然这里使用包括电子电路的突触描述本发明的某些说明性实施例,但本发明不限于电子电路。
图2表示根据本发明的实施例的示例性框架500。框架500包括用于在神经突触基底520上实现由输入单元510以图G的形式提供的神经网络算法的系统600。在一个实施例中,神经突触基底520可仅包括硬件元件。在另一个实施例中,神经突触基底520可仅包括软件元件。在另一个实施例中,神经突触基底520可既包括硬件元件又包括软件元件。
在神经突触基底520包括硬件元件的一个示例性实现方式中,神经突触基底520可包括图1中的核心电路10。在神经突触基底520包括硬件元件的其它示例性实现方式中,神经突触基底520可包括一个或多个其它神经形态核心架构。包括硬件元件的神经突触基底520可具有关于突触权重(例如,在它们的值、不同权重的数量或权重的动态范围方面)、扇入和扇出(例如,任何神经元能够具有的连接的最大数量)、神经元参数和行为的一个或多个硬件相关约束。
在一个实施例中,系统600包括重新排序单元610、映射单元620、细化单元630、选择、分割和合并(SSM)单元640、标记单元641、评估单元642和输出单元650。图G可在概念上被表示为邻接矩阵100(图4),邻接矩阵100包括多个行120(图4)和多个列110(图4)。重新排序单元610被配置用于将矩阵100的行120和列110分组成多个块150(图5),从而产生重新排序矩阵130(图5)。每个块150代表重新排序矩阵130的子矩阵。映射单元620被配置用于将块150映射到神经突触基底520上。标记单元641将每个映射的块150标记为映射。
本发明的实施例提供这样的能力:根据与成本(例如,在功率和神经形态资源方面)和/或准确性相关的一个或多个用户定义的评估度量混合适合于将代表神经网络算法的任何图G映射到神经突触基底520上的方式。在一个示例性实现方式中,系统600提供用于将由输入单元510提供的图G映射在神经突触基底520上的一组方式M。假设m表示属于所述一组方式M的方式。基于一组特性C区分每个方式。所述一组特性C可包括各种特性,诸如所获得的权重准确性、动态范围(通信)准确性、神经突触资源利用率(例如,神经元、轴突、突触)等。可基于图G的特定性质(诸如,稀疏/密度、突触权重(例如,实数、整数、二进制)和/或任何其它图理论度量)评估所述特性。
对于每个块150,SSM单元640被配置用于选择和应用最适合于将块150映射在神经突触基底520上的方式m。系统600以迭代/递归方式执行映射,直至图G的所有区域已被映射到神经突触基底520上。
细化单元630被配置用于方便与映射进行用户交互。评估单元642反复地在逐块或总体基础上评估结果,以使结果符合经由细化单元630接收的用户定义的准则/评估度量(例如,成本、准确性)。
在一个实施例中,输出单元650被配置用于提供代表基底映射神经网络的输出文件(即,模型文件)。神经突触基底520可根据输出文件而被编程。输出单元650还可提供另外的输出,诸如针对每个度量的映射的神经网络的评估结果(总体上或在逐块基础上)、使重新排序矩阵100中的行和列的最后位置与它们在原始矩阵100中的原始位置相关的矩阵或置换向量、和/或由块形成和映射方式引入的延迟的描述。
图3表示根据本发明的实施例的代表神经网络算法的图G的示例性矩阵表示100。图4表示根据本发明的实施例的图3中的示例性矩阵表示100的详细示图。如上所述,代表神经网络算法的图G可在概念上被表示为包括多个行120和多个列110的邻接矩阵100。可根据图G的一组节点V标记行120和列110,其中每个节点基于映射f被映射到一组神经元类型。
在一个实施例中,行120代表源并且列110代表目标。在一个实施例中,矩阵100中在特定行i和特定列j处的条目与由行i表示的源和由列j表示的目标之间的突触连接相关。在一个示例性实现方式中,所述条目是二进制值。在另一个示例性实现方式中,所述条目是与突触连接对应的突触权重wi,j。
图G的扇入是在任何列110中出现的条目的最大数量。图G的扇出是在任何行120中出现的条目的最大数量。
图5表示根据本发明的实施例的示例性重新排序矩阵130。系统600的重新排序单元610将神经网络算法的矩阵表示100的行120和列110重新布置为具有多个块150的重新排序矩阵130。例如,如图5中所示,重新排序单元610提供重新排序矩阵130,重新排序矩阵130包括多个块150,诸如块A、B、C、D、E、F和G。图5中示出的块150具有不同密度(灰度阴影在图5中被用来表示块150的平均密度;具有较浓阴影的块150比具有较淡阴影的块150更密)。
如这里稍后详细所述的,重新排序单元610被配置为应用不同重新排序方法,结合特定映射方式,所述不同重新排序方法可尤其有益。可基于在多个映射方式之中提供最好的辨别的属性执行重新排序(例如,在二进制权重矩阵中将非零条目聚类、在实值矩阵中将类似值聚类)。
图6表示根据本发明的实施例的示例性重新排序图130,重新排序图130具有分割器160和合并器170以允许提取子矩阵作为可映射块。如这里所使用的,术语“分割”表示将行添加到代表神经网络算法的图G的邻接矩阵表示。在一个示例性实现方式中,行的添加代表源(诸如,神经元)的添加。如这里所使用的,术语“合并”表示将列添加到代表神经网络算法的图G的邻接矩阵表示。在一个示例性实现方式中,列的添加代表目标(诸如,轴突)的添加。分割和合并允许以最有效方式映射图G的邻接矩阵表示内的块或子矩阵的有效分离。在一个实施例中,分割器160是被配置用于接收共同轴突上的输入尖峰、复制输入尖峰并且将复制品发送给多个目标的神经元11。分割器160可被用来增加有效扇出。当预期扇出超过给定神经突触基底520的维数(例如,超过核心电路10的交叉条12的维数)时,SSM单元640可在将神经网络算法映射在基底520上时实现多级分割以满足预期扇出。
在另一个实施例中,合并器170是被配置用于接收多个轴突上的输入尖峰并且将合并函数(例如,OR、AND和SUM)应用于输入尖峰的神经元11。合并器170可被用来增加有效扇入。当预期扇入超过给定神经突触基底520的维数(例如,超过核心电路10的交叉条12的维数)时,SSM单元640可在将神经网络算法映射在基底520上时实现多级合并以满足预期扇入。
分割器160通常是神经元限制的,需要比轴突更多数量的神经元。相比之下,合并器170是轴突限制的,需要比神经元更多的轴突。本发明的实施例在将神经网络算法映射在基底520上时组合合适数量的分割器160和合并器170,由此提高神经突触资源的利用率。
在一个实施例中,SSM单元640保持神经网络算法的矩阵表示100的每个行120和每个列110的对应索引信息。对于每个行120,SSM单元640基于行120的对应索引信息确定行120参与的映射的块150的数量,其中SSM单元640用来实现行120的多级分割的分割器160的数量是基于行120参与的映射的块150的数量的。类似地,对于每个列110,SSM单元640基于列110的对应索引信息确定列110参与的映射的块150的数量,其中SSM单元640用来实现列110的多级合并的合并器170的数量是基于列110参与的映射的块150的数量的。
在一个实施例中,需要分割器160和/或合并器170的行120和列110可产生具有延迟的输出。如果代表神经网络算法的图G的实现方式需要映射的基底神经元输出之间的同步性,则延迟被添加到这样的映射的基底神经元:不需要分割或合并,或者具有比必须与其保持同步性的那些基底神经元更少的分割/合并。
图7表示根据本发明的实施例的不同示例性映射方式。如上所述,对于重新排序矩阵130的每个块150,系统600的SSM单元640被配置用于选择和应用最适合于将块150映射在神经突触基底520上的方式m。映射单元620基于由SSM单元640为块150选择的方式m将块150映射在神经突触基底520上。
系统600被配置为应用不同映射方式,其中结果(例如,在效率和准确性方面)可根据代表神经网络算法的给定图G的特定性质而变化。如这里所使用的,术语“映射”表示将代表神经网络算法的图G的全部或一部分从初始/不受约束结构变换为受约束/基底兼容结构的处理。另外,不同映射方式可或多或少适合于图G的不同区域,其中可能受益于同一映射方式的那些区域可能不在图G本身内相邻或明显关联。
例如,如图7中所示,系统600可对图5中的重新排序矩阵130的块A应用第一映射方式mi,对图5中的重新排序矩阵130的块B应用第二映射方式mj,并且对图5中的重新排序矩阵130的块D应用第三映射方式mk。图7中另外示出的块A’、B’和D’分别表示块A、B和D的映射结构或基底兼容结构。
本发明的实施例提供这样的方法:管理多个映射方式的输入、选择、应用和评估的有益分组,以保证合理并且可能最佳的神经网络算法映射处理的结果。在一个实施例中,系统600针对一组特性C中所包含的每个度量评估一组方式M中的每个可用方式m以获得向量v(m),其中向量v(m)的长度等于所述一组特性C中的评估度量的数量。向量v(m)的每个元素表示根据度量的特定方式m的得分。
对于将要被映射的重新排序矩阵130的每个块150,系统600在向量v(u)中指定将要被应用于每个度量的权重,其中向量v(u)的长度等于评估度量的数量。特定度量对于块150的重要性越高,在向量v(u)中指定的对应权重越大。系统600随后选择使内积<v(m),v(u)>最大化的方式m。
如果特定块150实现已知功能(诸如,分割、合并等),则块150的向量v(u)的选择可被预定义。向量v(u)的元素可被设置为默认值。可由所述方式的用户指定默认值,经由统计技术学习默认值,或基于应用于图G的任何图理论度量来查询默认值。向量v(u)的选择还可受到构成块150的神经元类型影响。
在一个实施例中,重新排序矩阵130的块150的向量v(u)的元素可被反复地如下调整:(1)选择向量v(u),(2)使用使内积<v(m),v(u)>最大化的方式m来映射块150,(3)针对每个度量来评估块150的所获得的基底映射神经网络,和(4)如果与一个或多个评估度量对应的误差超过预定义阈值,则修改向量v(u)并且再次映射块150;否则,将块150标记为映射。
在一个实施例中,基于用户输入准确性和资源利用率参数,系统600被配置为识别并且重新映射子矩阵以针对资源利用率(在神经元、轴突、突触、功率、面积或以下列出的其它准则方面)对准确性(在权重和/或动态范围方面)进行折衷。例如,如果在每个块基础上超过用户输入误差准则,则可对于任何这种块增加向量u中的对应元素以使映射偏向于更大的准确性。作为另一个示例,如果在逐块基础上超过用户输入资源利用率准则,则能够对于任何这种块增加向量u中的对应元素以使映射偏向于更低的资源利用率。
在一个实施例中,还可执行用于减小资源利用率的重新排序和/或算法级迭代(例如,通过调整所有向量u,或通过基于灵敏度分析或替换策略来识别特定块)。
图8表示根据本发明的实施例的映射的块150的示例性标记。在一个实施例中,为了将重新排序矩阵130的每个块150标记为映射,系统600利用零来替换映射的块150的每个条目,从而产生具有零条目的重新排序矩阵130的区域200。例如,当图5中的重新排序矩阵130的块A、B和D被映射时,系统600利用零来替换每个映射的块A、B和D的每个条目,从而产生具有零条目的区域200,如图8中所示。
图9表示根据本发明的实施例的另一个示例性重新排序矩阵130。系统600继续以迭代/递归方式将代表神经网络算法的图G的不同区域映射在神经突触基底520上,直至图G的所有区域已被映射在基底520上。例如,在图5中的重新排序矩阵130的块A、B和D被映射并且被利用零条目替换之后,系统600产生如图9中所示的另一个重新排序矩阵130,其具有不同密度的块(诸如,块H、I、L、O、P和Q)。
图10表示根据本发明的实施例的用于在硬件神经突触基底上映射神经网络算法的示例性处理700的流程图。在处理块701中,所述处理开始。在处理块702中,将代表神经网络算法的图G的矩阵表示的行和列重新排序为多个块。在处理块703中,选择多个块Bi。在处理块704中,对于每个块Bi,估计应用于块Bi的方式mk的特性Cj。在处理块705中,将基于估计的特性选择的方式m应用于块Bi,从而产生映射的块Bi’。对于在处理块703中选择的所述多个块Bi中的每个块Bi,重复处理块704和705。在处理块706中,在图G的矩阵表示内将所有块Bi标记为映射。在处理块707中,确定是否存在图G的任何未标记的子图。
如果存在任何未标记的子图,则返回到处理块702。如果不存在未标记的子图,则前进至处理块708。
在处理块708中,产生最后输出。在处理块709中,所述处理结束。
图11表示根据本发明的实施例的用于对神经网络算法的矩阵表示100进行重新排序的示例性重新排序方法。示例性重新排序方法可以是如Association for ComputingMachinery’s Special Interest Group on Knowledge Discovery and Data Mining(ACMSIGKDD)International Conference on Knowledge Discovery and Data Mining(关于知识发现和数据挖掘的国际会议),2014年公开的Chakrabarti,D.等人的标题为“FullyAutomatic Cross-Associations(全自动交叉关联)”的公开中所述的交叉关联方法。交叉关联方法对矩阵表示100的密集区域和稀疏区域进行共同聚类。交叉关联方法不需要对块150的数量或尺寸的预先指定。
如上所述,系统600以迭代/递归方式将矩阵表示100的不同区域映射在神经突触基底520上,直至矩阵表示100的所有区域已被映射在基底520上。如图11中所示,在每次迭代期间,交叉关联方法将矩阵表示100的剩余密集区域和稀疏区域共同聚类到重新排序矩阵130中。通常,在部分映射已完成之后,任何重新排序方法可被反复地或以递归方式应用。
图12表示根据本发明的实施例的用于对代表神经网络算法的图G的矩阵表示100进行重新排序的另一个示例性重新排序方法。在一个示例性实现方式中,系统600基于权重下降分块方法对代表神经网络算法的图G的矩阵表示100进行重新排序。权重下降分块方法允许创建指定尺寸的块150。
在一个实施例中,系统600以迭代/递归方式将矩阵表示100的不同区域映射在神经突触基底520上,直至预定离开准则。在每次迭代期间,权重下降分块方法对矩阵表示100的剩余区域进行重新排序,以创建维度N x M的高权重块150。当块150被映射时,块150内的条目被利用零替换。系统600以这种迭代方式继续进行,直至满足预定离开准则。例如,如图12中所示,系统600在第一迭代期间创建第一高权重块,在第二迭代期间创建第二高权重块B,并且在第三迭代期间创建第三高权重块C。
在一个实施例中,权重下降分块方法通过选择使由块150的条目表示的权重之和最大化的块150的行和列来创建维度N x M的高权重块150。在一个示例性实现方式中,权重下降分块方法被实现如下:在每次迭代期间,系统600按照降低Si次序对行120进行排序,其中根据以下提供的方程(2)计算Si:
Si=Σj=1,…,Mwi,j (2)。
系统600还按照降低Tj次序对列进行排序,其中根据以下提供的方程(3)计算Tj:
Tj=Σi=1,…,Nwi,j (3)。
在每次迭代的末尾,系统600根据以下提供的方程(4)计算表示由高权重块150的条目表示的权重之和的值R:
R=Σj=1,…,MΣi=1,…,Nwi,j (4),
其中当R小于预定义阈值ε时满足离开准则。在一个实施例中,可使权重离散化。
在一个实施例中,所述预定义离开准则可以是下面的准则之一:当矩阵表示100仅具有零条目时、当矩阵表示100的预定义百分比具有零条目时、当矩阵表示100的最大元素小于预定义阈值时、当由矩阵表示100的条目表示的权重之和小于预定义阈值时等。
在一个实施例中,对于在每次迭代期间创建的维度N x M的每个高权重块150,权重下降分块方法利用零来替换块150的至少min(M,N)个非零条目。这保证:神经网络算法在神经突触基底520上的映射将会结束于不超过K/min(N,M)个块150的输出,其中K表示矩阵表示100中的非零条目的数量。
在另一个实施例中,系统600基于其它重新排序方法/算法对代表神经网络算法的图G的矩阵表示100进行重新排序。
图13表示根据本发明的实施例的用于基于权重下降分块算法对代表神经网络算法的图G的矩阵表示进行重新排序的示例性处理800的流程图。在处理块801中,所述处理开始。在处理块802中,对矩阵表示的行和列进行重新排序以创建高权重N x M块。在处理块803中,将所述块映射到硬件神经突触基底。在处理块804中,利用零来替换所述块的一个或多个条目。在处理块805中,确定是否已满足预定义离开准则。
如果未满足离开准则,则返回到处理块802。如果满足离开准则,则前进至所述处理结束的处理块806。
图14表示根据本发明的实施例的用于对代表神经网络算法的图G的矩阵表示100进行重新排序的另一个示例性重新排序方法。在一个实施例中,系统600基于成对质心距离最小化方法对代表神经网络算法的图G的矩阵表示100进行重新排序。成对质心距离最小化方法仅创建一个维度n x m的高权重块150。
在一个示例性实现方式中,成对质心距离最小化方法被实现如下:首先,系统600根据如上所述的方程(2)-(4)对矩阵表示100的行和列进行重新排序以产生重新排序矩阵130。其次,系统600将重新排序矩阵130划分成群集/组。具体地讲,系统600将重新排序矩阵130的行划分成两个行群集,诸如大小n的第一行群集(行群集1)和包括剩余行的第二行群集(行群集2)。系统600也将重新排序矩阵130的列划分成两个列群集,诸如大小m的第一列群集(列群集1)和包括剩余列的第二列群集(列群集2)。
再次,系统600开始包括下面的步骤的循环:(1)计算每个行群集和每个列群集的群集质心,(2)对于每个行,确定哪个群集质心最靠近所述行;类似地,对于每个列,确定哪个群集质心最靠近所述列,(3)创建具有与行群集一样多的节点的行图,其中如果在群集i中存在优选地位于群集j中的行(即,群集质心j最靠近所述行),则存在从群集质心i到群集质心j的边;类似地,创建具有与列群集一样多的节点的列图,其中如果在群集i中存在优选地位于群集j中的列(即,群集质心j最靠近所述列),则存在从群集质心i到群集质心j的边,和(4)通过来回移动行来去除行图中的所有周期,从而将会在行图中仅存在2个周期,因为仅存在两个行群集和两个列群集;类似地,通过来回移动列来去除列图中的所有周期,从而将会在列图中仅存在2个周期,因为仅存在两个行群集和两个列群集。当满足预定义离开准则时,所述循环结束。系统600输出另一个重新排序矩阵130,可从所述另一个重新排序矩阵130提取维度n x m的高权重块150。
在一个实施例中,当群集中的任何行/列和另一个群集的群集质心之间的最大距离小于预定义阈值或收敛至预定义下限值时,满足所述预定义离开准则。
图15表示根据本发明的实施例的用于基于成对质心距离最小化算法对代表神经网络算法的图G的矩阵表示进行重新排序的示例性处理900的流程图。在处理块901中,处理900开始。在处理块902中,对矩阵表示的行和列进行重新排序。在处理块903中,将重新排序的矩阵表示的行和列分组成群集。在处理块904中,计算每个行群集和每个列群集的群集质心。在处理块905中,确定每个行和每个列的最靠近的群集质心,并且交换。在处理块906中,确定是否已满足预定义离开准则。
如果未满足离开准则,则返回到处理块904。如果满足离开准则,则前进至所述处理结束的处理块907。
图16表示根据本发明的实施例的用于实现多级分割的示例性表400。表400包括代表神经网络算法的图G的矩阵表示100的每个行120的对应索引信息。对于每个行120,系统600基于行120的对应索引信息确定行120参与的映射的块150的数量,其中系统600用来实现行120的多级分割的分割器160的数量是基于行120参与的映射的块150的数量的。
图17表示根据本发明的实施例的用于实现多级合并的示例性表450。表450包括代表神经网络算法的图G的矩阵表示100的每个列110的对应索引信息。对于每个列110,系统600基于列110的对应索引信息确定列110参与的映射的块150的数量,其中系统600用来实现列110的多级合并的合并器170的数量是基于列110参与的映射的块150的数量的。
如上所述,系统600被配置为应用不同映射方式。
示例性映射方式是分割-置换-合并方式。在一个实施例中,当将代表神经网络算法的加权二部图G映射在神经突触基底520上时,系统600应用分割-置换-合并方式。根据分割-置换-合并方式,系统600为图G的每个边分配一个分割器160和一个合并器170。可使用突触权重和分离器神经元的阈值以及与接收合并轴突关联的权重来实现实值权重。在根据需要应用分离器和合并器以实现给定二部图的扇入和扇出之后,排列变为尖峰源的集合S和目标的集合T之间的简单的1-1映射,从而S中的每个源连接到T中的正好一个目标。
存在于神经突触基底520上的轴突类型的数量可受到约束。在一个实施例中,当将代表神经网络算法的图G的实值权重矩阵表示100映射在神经突触基底520上时,系统600应用期望最大化算法。
假设A表示代表神经网络算法的图G的实值权重矩阵表示100,其中矩阵A具有m个行和n个列。假设b表示整数值。假设G(i)表示矩阵A的第i行被聚类到的桶。系统600将矩阵A的行聚类到b个桶中,从而第i行被聚类到桶G(i)={1,2,…,b}中。对于每个列j,计算与每个桶对应的b个权重选择每个i和j的二进制值w(ij),从而对于距离测量值d(a,b)=(a-b)2,使总和最小化。
在本发明的一个实施例中,系统600提供用于增加总体效用并且适用于不同状况和情况的增强和扩展。
在一个实施例中,系统600提供使块尺寸与神经突触基底的突触交叉条的维度相关的增强。对于使用突触交叉条的神经突触基底,系统600可选择适应于突触交叉条的指定交叉条尺寸的重新排序方法。例如,系统600可选择或配置重新排序方法,以产生与指定交叉条尺寸最好地匹配的指定尺寸的块。系统600还可利用分割器聚合较小的块和/或打破较大的块,以最高效地使用指定交叉条尺寸。
在一个实施例中,系统600使用元数据提供增强。图18表示根据本发明的实施例的用于使用元数据提供增强的系统600的示例性框架950。神经网络可被表示为五位字节G=(V,f,E,w,D),其中V是所述一组节点,其中f是节点到神经元类型的映射,其中E是所述一组边,其中w是从所述一组边到实值的映射,并且其中D是一组元数据条目。每个元数据条目可识别神经网络的邻接矩阵表示的特定块/子矩阵和一组对应参数。如以下详细所述,与块/子矩阵关联的一组参数可包括指定特定映射方式的元数据信息、识别可针对其查询库元件的电路的类型的元数据信息、限制重新排序方法不对块/子矩阵内的某些行和列进行重新排序的元数据信息、为在选择映射方式时使用的不同评估度量指定权重的元数据信息、或用于管理同步、定时和任何延迟的元数据信息。框架950包括用于分析每个元数据条目的元数据单元960。
在一个示例性实现方式中,元数据单元960分析元数据条目,元数据条目包括指定特定映射方式的元数据信息。用户(例如,算法设计者)可指定一个或多个元数据条目,所述一个或多个元数据条目指定系统600可用来产生最好结果的特定映射方式或一类方式。系统600还可为在迭代/递归映射处理期间添加的分割器160和合并器170指定专用映射方式,由此平衡一个或多个核心电路10上的分配以用于更高效的资源利用率。
在一个示例性实现方式中,元数据单元960分析元数据条目,所述元数据条目包括在开头指定邻接矩阵表示的哪些行和列应该被映射和/或不需要被重新排序(即,混洗)的元数据信息。例如,用户可在开头为不需要或不应该被重新排序的邻接矩阵表示的行和列的特定子集指定元数据条目/标签。基于元数据条目/标签,系统600将不会在映射到基底520时对行和列的所述子集进行重新排序(即,元数据条目/标签限制重新排序方法不对行和列的所述子集进行重新排序)。这种特定增强适用于必须在映射处理期间保留邻接矩阵表示的行和列的特定次序的情况。
在一个示例性实现方式中,元数据单元960分析元数据条目,所述元数据条目包括为由系统600在选择映射方式时使用的不同评估度量指定权重的元数据信息。用户(例如,算法设计者)可指定元数据条目,所述元数据条目包括适合于特定神经网络算法的一个或多个评估函数和约束。例如,如果特定神经网络算法代表卷积网络,则用户可指定所有滤波器必须具有相同权重。系统600可使用为驱动映射方式的选择或影响选择的映射方式的行为而指定的评估函数和约束。
在一个示例性实现方式中,元数据单元960分析元数据条目,所述元数据条目包括指定定时、同步或其它时间约束的元数据信息。神经网络的输入可具有操作的不同编码方案、或神经元、输入和/或输出的组之间的指定时间关系。可指定包括编码、时间信息和时间约束的一个或多个元数据条目。系统600可在映射处理期间将延迟添加到映射的基底神经元以满足这种时间约束。
例如,如果神经网络包括必须同时接收输入信号的输入神经元的指定集合S,则输入信号必须在它们到达映射基底神经元之前具有相同延时。如果在映射处理期间添加分割器,则延时可能在映射之后不是一致的。为了满足对一致延时的要求,系统600可计算集合S中的每个输入神经元上的延时,确定哪个输入神经元具有最大延时,并且沿着集合S中的其它输入神经元的输入路径添加延迟以与最大延时匹配。延迟的添加由此确保输入集合S中的所有输入神经元具有相同延时。
作为另一个示例,神经网络可包括输入神经元的两个不同组,在所述两个组之间具有指定的相对延迟。系统600可将延迟添加到两个组以确保每个组内的一致延时,并且在所述组之间保持所述指定的相对延迟。
作为另一个示例,元数据条目可指定时间相关的尖峰编码方案(例如,时间-尖峰编码)。系统600可添加延迟或者在对应时间产生触发或重置信号以在映射处理期间添加,从而在基底上实现尖峰编码方案。根据使用的神经突触基底的架构或类型,触发或重置信号的添加可能需要另外的轴突、神经元或突触的分配,和/或设置核心或神经元参数(例如,设置合适的突触权重以将轴突重置)。例如,如果基底需要用于重置信号的轴突线,则重置信号可在映射之前以一个或多个另外的重置神经元的形式被添加到神经网络的对应邻接矩阵表示。如果输入神经元被映射到多个基底神经元,则对应重置信号可被分配给一些或全部基底神经元。
在映射不能被加强以满足一个或多个指定时间约束的情况下,系统600可警告用户不满足哪些时间约束。
在一个示例性实现方式中,元数据单元960分析元数据条目,所述元数据条目包括识别可针对其查询库元件的神经电路的元数据信息。在一个实施例中,框架950还包括保持多个库元件的库970。每个库元件包括能够重新使用并且能够构造的神经电路。能够重新使用并且能够构造的神经电路可包括单个基底兼容神经元、或多个基底兼容神经元的组合。
在一个实施例中,库970包括代表不同神经元功能的库元件,其中每个神经元功能可由具有一个或多个可配置性质(例如,阈值、权重等)的能够重新使用并且能够构造的神经电路实现。例如,库970可支持各种计算功能(例如,算术、控制、数据产生、逻辑、存储器、经典神经元行为、信号处理和概率计算)和神经代码(例如,速度、填充、二进制和时间-尖峰)。系统600可仅适应在库970内具有代表性实现方式的神经元功能的映射。对于邻接矩阵表示中的一个或多个计算节点,系统600可从库970选择复制计算节点的行为/功能的、具有关联的突触连接性的一个或多个能够重新使用并且能够构造的神经电路。系统600可基于计算节点的元数据条目对库970进行索引。所述元数据条目可包括描述计算节点的行为/功能的元数据信息。
在一个示例中,选择的每个能够重新使用并且能够构造的神经电路可被视为微电路并且直接映射到神经突触基底。在另一个示例中,选择的每个能够重新使用并且能够构造的神经电路可在映射到神经突触基底之前被扩展、弄平、并且经受重新排序。在另一个示例中,选择的每个能够重新使用并且能够构造的神经电路可在映射到神经突触基底之前被扩展、弄平、并且标记为不重新排序以便保持邻接。
在一个实施例中,库970包括库元件,库元件代表可由高效神经突触程序实现方式实现的常用循环结构(例如,网络连接模式)。例如,元数据单元960可分析元数据条目以确定连接模式,并且针对库970搜索代表性实现方式。例如,如果利用指示节点的子集是具有代表托普利兹(Toeplitz)模式的连接模式的卷积网络的一部分的元数据条目/标签来标记所述子集,则系统600可对库970进行索引并且调用用于代表所述子集的代表性实现方式。
图19是显示有助于实现本发明的一个实施例的信息处理系统300的高层次方框图。计算机系统包括一个或多个处理器,诸如处理器302。处理器302连接到通信基础设施304(例如,通信总线、交叉条或网络)。
计算机系统能够包括显示接口306,显示接口306转发来自通信基础设施304(或来自未示出的帧缓冲器)的图形、文本和其它数据以显示在显示单元308上。计算机系统还包括主存储器310(优选地,随机存取存储器(RAM)),并且还可包括辅助存储器312。辅助存储器312可包括例如硬盘驱动器314和/或代表例如软盘驱动器、磁带驱动器或光盘驱动器的可移动存储器驱动器316。可移动存储器驱动器316以本领域普通技术人员公知的方式读可移动存储单元318和/或写可移动存储单元318。可移动存储单元318代表例如由可移动存储器驱动器316读和写的软盘、压缩盘、磁带或光盘等。将会理解,可移动存储单元318包括其中存储有计算机软件和/或数据的计算机可读介质。
在替代实施例中,辅助存储器312可包括用于允许计算机程序或其它指令被加载到计算机系统中的其它类似装置。这种装置可包括例如可移动存储单元320和接口322。这种装置的示例可包括程序包和包接口(诸如,在视频游戏装置中找到的程序包和包接口)、可移动存储芯片(诸如,EPROM或PROM)和关联的插座、以及允许软件和数据从可移动存储单元320传送给计算机系统的其它可移动存储单元320和接口322。
计算机系统还可包括通信接口324。通信接口324允许在计算机系统和外部装置之间传送软件和数据。通信接口324的示例可包括调制解调器、网络接口(诸如,以太网卡)、通信端口或PCMCIA槽和卡等。经由通信接口324传送的软件和数据具有信号的形式,所述信号可以是例如电子信号、电磁信号、光学信号或能够由通信接口324接收的其它信号。这些信号经由通信路径(即,信道)326被提供给通信接口324。这个通信路径326传送信号,并且可使用电线或线缆、光纤、电话线、蜂窝电话链路、RF链路和/或其它通信信道来实现。
在这个文档中,术语“计算机程序介质”、“计算机可用介质”和“计算机可读介质”用来通常表示诸如主存储器310和辅助存储器312、可移动存储器驱动器316和安装在硬盘驱动器314中的硬盘的介质。
计算机程序(也被称为计算机控制逻辑)存储在主存储器310和/或辅助存储器312中。还可经由通信接口324接收计算机程序。当运行这种计算机程序时,这种计算机程序使计算机系统能够执行如这里所讨论的本发明的特征。特别地,当运行计算机程序时,计算机程序使处理器302能够执行计算机系统的特征。因此,这种计算机程序代表计算机系统的控制器。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
Claims (23)
1.一种用于将神经网络映射到神经突触基底上的系统,包括:
元数据分析单元,用于分析与神经网络的邻接矩阵表示的一个或多个部分关联的元数据信息;和
映射单元,用于基于所述元数据信息将矩阵表示的所述一个或多个部分映射到神经突触基底上。
2.如权利要求1所述的系统,其中所述元数据信息指定用于将矩阵表示的所述一个或多个部分映射到神经突触基底上的特定映射方式。
3.如权利要求1所述的系统,其中所述元数据信息在矩阵表示内指定在映射之前阻止重新排序方法对其进行重新排序的一个或多个维度。
4.如权利要求1所述的系统,其中所述元数据信息为在选择用于将矩阵表示的所述一个或多个部分映射到神经突触基底上的映射方式时使用的不同评估度量指定权重。
5.如权利要求1所述的系统,其中所述元数据信息指定一个或多个时间约束。
6.如权利要求5所述的系统,其中在映射期间添加一个或多个延迟以满足时间约束。
7.如权利要求5所述的系统,其中一个或多个触发信号或重置信号在映射期间被添加到神经网络以满足时间约束。
8.如权利要求1所述的系统,还包括:
库,保持多个库元件,其中每个库元件包括能够重新使用并且能够构造的神经电路;
其中每个能够重新使用并且能够构造的神经电路包括单个基底适应神经元、或多个基底适应神经元的组合;以及
其中元数据信息被用来识别能针对其查询库元件的神经电路。
9.如权利要求8所述的系统,其中至少一个库元件代表能由能够重新使用、能够配置并且能够构造的神经电路实现的神经元功能。
10.如权利要求9所述的系统,其中所述库支持不同计算功能和神经代码。
11.如权利要求10所述的系统,其中:
所述元数据信息指定神经网络的一个或多个计算节点;以及
对于每个计算节点,映射单元从库中选择复制计算节点的神经元功能的、具有关联的突触连接性的能够重新使用并且能够构造的神经电路。
12.如权利要求11所述的系统,其中选择的每个能够重新使用并且能够构造的神经电路被直接映射到神经突触基底。
13.如权利要求11所述的系统,其中选择的每个能够重新使用并且能够构造的神经电路在映射到神经突触基底之前被扩展、弄平、并且经受重新排序。
14.如权利要求11所述的系统,其中选择的每个能够重新使用并且能够构造的神经电路在映射到神经突触基底之前被扩展、弄平、并且标记为不重新排序以便保持邻接。
15.如权利要求8所述的系统,其中至少一个库元件代表能由高效神经突触程序实现方式实现的常用循环结构。
16.如权利要求15所述的系统,其中所述库支持不同网络连接模式。
17.如权利要求16所述的系统,其中:
所述元数据信息指定特定网络连接模式;以及
映射单元从库中选择复制所述特定网络连接模式的能够重新使用并且能够构造的神经电路。
18.一种用于将神经网络映射到神经突触基底上的方法,包括:
分析与神经网络的邻接矩阵表示的一个或多个部分关联的元数据信息;以及
基于所述元数据信息将矩阵表示的所述一个或多个部分映射到神经突触基底上。
19.如权利要求18所述的方法,其中所述元数据信息指定用于将矩阵表示的所述一个或多个部分映射到神经突触基底上的特定映射方式。
20.如权利要求18所述的方法,其中所述元数据信息在矩阵表示内指定在映射之前阻止重新排序方法对其进行重新排序的一个或多个维度。
21.如权利要求18所述的方法,其中所述元数据信息为在选择用于将矩阵表示的所述一个或多个部分映射到神经突触基底上的映射方式时使用的不同评估度量指定权重。
22.如权利要求18所述的方法,其中所述元数据信息指定一个或多个时间约束。
23.如权利要求18所述的方法,还包括:
保持库,所述库包括多个库元件,其中每个库元件包括能够重新使用并且能够构造的神经电路;
其中每个能够重新使用并且能够构造的神经电路包括单个基底适应神经元、或多个基底适应神经元的组合;
其中元数据信息被用来识别能针对其查询库元件的神经电路;以及
其中至少一个库元件代表下面各项之一:能由能够重新使用并且能够构造的神经电路实现的神经元功能、或能由高效神经突触程序实现方式实现的常用循环结构。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/662,115 | 2015-03-18 | ||
US14/662,115 US9971965B2 (en) | 2015-03-18 | 2015-03-18 | Implementing a neural network algorithm on a neurosynaptic substrate based on metadata associated with the neural network algorithm |
PCT/EP2016/051334 WO2016146278A1 (en) | 2015-03-18 | 2016-01-22 | Implementing a neural network algorithm on a neurosynaptic substrate based on metadata associated with the neural network algorithm |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107430704A true CN107430704A (zh) | 2017-12-01 |
CN107430704B CN107430704B (zh) | 2020-12-15 |
Family
ID=55182346
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680015986.7A Active CN107430704B (zh) | 2015-03-18 | 2016-01-22 | 基于与神经网络算法关联的元数据在神经突触基底上实现神经网络算法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9971965B2 (zh) |
CN (1) | CN107430704B (zh) |
GB (1) | GB2553451A (zh) |
WO (1) | WO2016146278A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110633795A (zh) * | 2018-06-22 | 2019-12-31 | 国际商业机器公司 | 利用脉冲神经网络管理认知存储系统的数据集 |
CN112041857A (zh) * | 2018-03-27 | 2020-12-04 | 巴伊兰大学 | 光学神经网络单元以及光学神经网络配置 |
CN112149815A (zh) * | 2020-09-28 | 2020-12-29 | 复旦大学 | 用于大规模类脑计算网络的种群聚类及种群路由方法 |
CN113792858A (zh) * | 2021-09-13 | 2021-12-14 | 江南大学 | 耦合神经网络有界同步及其分布式控制方法 |
CN113892092A (zh) * | 2019-02-06 | 2022-01-04 | 瀚博控股公司 | 卷积模型硬件加速器的方法和系统 |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9262712B2 (en) | 2013-03-08 | 2016-02-16 | International Business Machines Corporation | Structural descriptions for neurosynaptic networks |
US9412063B2 (en) * | 2013-12-27 | 2016-08-09 | International Business Machines Corporation | Transform architecture for multiple neurosynaptic core circuits |
US9406015B2 (en) * | 2013-12-27 | 2016-08-02 | International Business Machines Corporation | Transform for a neurosynaptic core circuit |
US10198691B2 (en) | 2014-06-19 | 2019-02-05 | University Of Florida Research Foundation, Inc. | Memristive nanofiber neural networks |
US9852370B2 (en) | 2014-10-30 | 2017-12-26 | International Business Machines Corporation | Mapping graphs onto core-based neuromorphic architectures |
US9971965B2 (en) * | 2015-03-18 | 2018-05-15 | International Business Machines Corporation | Implementing a neural network algorithm on a neurosynaptic substrate based on metadata associated with the neural network algorithm |
US9984323B2 (en) | 2015-03-26 | 2018-05-29 | International Business Machines Corporation | Compositional prototypes for scalable neurosynaptic networks |
US20170169358A1 (en) * | 2015-12-09 | 2017-06-15 | Samsung Electronics Co., Ltd. | In-storage computing apparatus and method for decentralized machine learning |
KR20180075913A (ko) * | 2016-12-27 | 2018-07-05 | 삼성전자주식회사 | 신경망 연산을 이용한 입력 처리 방법 및 이를 위한 장치 |
US10565492B2 (en) * | 2016-12-31 | 2020-02-18 | Via Alliance Semiconductor Co., Ltd. | Neural network unit with segmentable array width rotator |
KR20200009044A (ko) * | 2017-05-22 | 2020-01-29 | 유니버시티 오브 플로리다 리서치 파운데이션, 인크. | 이분 멤리스티브 네트워크의 심층 학습 |
CN114819119A (zh) * | 2017-06-30 | 2022-07-29 | 华为技术有限公司 | 信号处理的系统和方法 |
US11636327B2 (en) * | 2017-12-29 | 2023-04-25 | Intel Corporation | Machine learning sparse computation mechanism for arbitrary neural networks, arithmetic compute microarchitecture, and sparsity for training mechanism |
US11599785B2 (en) | 2018-11-13 | 2023-03-07 | International Business Machines Corporation | Inference focus for offline training of SRAM inference engine in binary neural network |
US11900239B2 (en) * | 2019-07-01 | 2024-02-13 | Alibaba Group Holding Limited | Systems and methods for accelerating sparse neural network execution |
US11934946B2 (en) * | 2019-08-01 | 2024-03-19 | International Business Machines Corporation | Learning and recall in spiking neural networks |
US11727252B2 (en) * | 2019-08-30 | 2023-08-15 | International Business Machines Corporation | Adaptive neuromorphic neuron apparatus for artificial neural networks |
US11200948B1 (en) * | 2020-08-27 | 2021-12-14 | Hewlett Packard Enterprise Development Lp | System for a flexible conductance crossbar |
US20220121910A1 (en) * | 2020-10-21 | 2022-04-21 | International Business Machines Corporation | Neural apparatus for a neural network system |
US11599360B2 (en) * | 2020-12-14 | 2023-03-07 | Cognitive Science & Solutions, Inc. | AI synaptic coprocessor |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6463438B1 (en) | 1994-06-03 | 2002-10-08 | Urocor, Inc. | Neural network for cell image analysis for identification of abnormal cells |
US6269353B1 (en) | 1997-11-26 | 2001-07-31 | Ishwar K. Sethi | System for constructing decision tree classifiers using structure-driven induction |
US6622135B1 (en) | 1998-12-29 | 2003-09-16 | International Business Machines Corporation | Method for detecting and classifying anomalies using artificial neural networks |
US7016887B2 (en) | 2001-01-03 | 2006-03-21 | Accelrys Software Inc. | Methods and systems of classifying multiple properties simultaneously using a decision tree |
US6990444B2 (en) | 2001-01-17 | 2006-01-24 | International Business Machines Corporation | Methods, systems, and computer program products for securely transforming an audio stream to encoded text |
US7089592B2 (en) | 2001-03-15 | 2006-08-08 | Brighterion, Inc. | Systems and methods for dynamic detection and prevention of electronic fraud |
US8464214B2 (en) | 2005-09-15 | 2013-06-11 | Ca, Inc. | Apparatus, method and system for building software by composition |
US7904398B1 (en) | 2005-10-26 | 2011-03-08 | Dominic John Repici | Artificial synapse component using multiple distinct learning means with distinct predetermined learning acquisition times |
US7953221B2 (en) | 2006-12-28 | 2011-05-31 | Intel Corporation | Method for processing multiple operations |
WO2009075694A1 (en) | 2007-12-05 | 2009-06-18 | Hewlett-Packard Development Company, L.P. | Hybrid microscale-nanoscale neuromorphic integrated circuit |
US7814038B1 (en) | 2007-12-06 | 2010-10-12 | Dominic John Repici | Feedback-tolerant method and device producing weight-adjustment factors for pre-synaptic neurons in artificial neural networks |
US20110004579A1 (en) | 2008-03-14 | 2011-01-06 | Greg Snider | Neuromorphic Circuit |
US7904870B2 (en) | 2008-04-30 | 2011-03-08 | International Business Machines Corporation | Method and apparatus for integrated circuit design model performance evaluation using basic block vector clustering and fly-by vector clustering |
US9164737B2 (en) | 2008-05-16 | 2015-10-20 | Microsoft Technology Licensing, Llc | Augmenting programming languages with a type system |
US8812418B2 (en) | 2009-06-22 | 2014-08-19 | Hewlett-Packard Development Company, L.P. | Memristive adaptive resonance networks |
US8429107B2 (en) | 2009-11-04 | 2013-04-23 | International Business Machines Corporation | System for address-event-representation network simulation |
WO2011100048A1 (en) | 2010-02-09 | 2011-08-18 | Thomson Licensing | Watermark detection using a propagation map |
US9665822B2 (en) * | 2010-06-30 | 2017-05-30 | International Business Machines Corporation | Canonical spiking neuron network for spatiotemporal associative memory |
US8683216B2 (en) | 2010-07-13 | 2014-03-25 | F-Secure Corporation | Identifying polymorphic malware |
US9269042B2 (en) | 2010-09-30 | 2016-02-23 | International Business Machines Corporation | Producing spike-timing dependent plasticity in a neuromorphic network utilizing phase change synaptic devices |
US8515885B2 (en) | 2010-10-29 | 2013-08-20 | International Business Machines Corporation | Neuromorphic and synaptronic spiking neural network with synaptic weights learned using simulation |
US8812414B2 (en) | 2011-05-31 | 2014-08-19 | International Business Machines Corporation | Low-power event-driven neural computing architecture in neural networks |
US8843425B2 (en) | 2011-07-29 | 2014-09-23 | International Business Machines Corporation | Hierarchical routing for two-way information flow and structural plasticity in neural networks |
US9460387B2 (en) | 2011-09-21 | 2016-10-04 | Qualcomm Technologies Inc. | Apparatus and methods for implementing event-based updates in neuron networks |
US8712941B2 (en) | 2011-09-21 | 2014-04-29 | Brain Corporation | Elementary network description for efficient link between neuronal models and neuromorphic systems |
US8725658B2 (en) | 2011-09-21 | 2014-05-13 | Brain Corporation | Elementary network description for efficient memory management in neuromorphic systems |
US9104973B2 (en) | 2011-09-21 | 2015-08-11 | Qualcomm Technologies Inc. | Elementary network description for neuromorphic systems with plurality of doublets wherein doublet events rules are executed in parallel |
US20130232430A1 (en) | 2011-08-26 | 2013-09-05 | Reincloud Corporation | Interactive user interface |
EP2748732A4 (en) | 2011-08-26 | 2015-09-23 | Hewlett Packard Development Co | MULTIDIMENSIONAL CLUSTERS FOR DATA PARTITIONING |
US8909576B2 (en) | 2011-09-16 | 2014-12-09 | International Business Machines Corporation | Neuromorphic event-driven neural computing architecture in a scalable neural network |
US8738554B2 (en) * | 2011-09-16 | 2014-05-27 | International Business Machines Corporation | Event-driven universal neural network circuit |
US8712939B2 (en) | 2011-09-21 | 2014-04-29 | Brain Corporation | Tag-based apparatus and methods for neural networks |
US9117176B2 (en) | 2011-09-21 | 2015-08-25 | Qualcomm Technologies Inc. | Round-trip engineering apparatus and methods for neural networks |
US8799199B2 (en) * | 2011-12-14 | 2014-08-05 | International Business Machines Corporation | Universal, online learning in multi-modal perception-action semilattices |
US8626684B2 (en) * | 2011-12-14 | 2014-01-07 | International Business Machines Corporation | Multi-modal neural network for universal, online learning |
US8996430B2 (en) | 2012-01-27 | 2015-03-31 | International Business Machines Corporation | Hierarchical scalable neuromorphic synaptronic system for synaptic and structural plasticity |
US8977583B2 (en) | 2012-03-29 | 2015-03-10 | International Business Machines Corporation | Synaptic, dendritic, somatic, and axonal plasticity in a network of neural cores using a plastic multi-stage crossbar switching |
US8868477B2 (en) | 2012-03-29 | 2014-10-21 | International Business Machines Coproration | Multi-compartment neurons with neural cores |
US9177246B2 (en) | 2012-06-01 | 2015-11-03 | Qualcomm Technologies Inc. | Intelligent modular robotic apparatus and methods |
US9563841B2 (en) * | 2012-07-31 | 2017-02-07 | International Business Machines Corporation | Globally asynchronous and locally synchronous (GALS) neuromorphic network |
KR101425857B1 (ko) | 2012-09-06 | 2014-07-31 | 서울대학교산학협력단 | 시냅스 모방 반도체 소자 및 그 동작방법 |
US9020867B2 (en) | 2012-11-06 | 2015-04-28 | International Business Machines Corporation | Cortical simulator for object-oriented simulation of a neural network |
US8990130B2 (en) | 2012-11-21 | 2015-03-24 | International Business Machines Corporation | Consolidating multiple neurosynaptic cores into one memory |
US9152485B2 (en) | 2012-12-05 | 2015-10-06 | International Business Machines Corporation | Evaluating service degradation risk for a service provided by data processing resources |
US9373073B2 (en) * | 2012-12-21 | 2016-06-21 | International Business Machines Corporation | Time-division multiplexed neurosynaptic module with implicit memory addressing for implementing a universal substrate of adaptation |
US9239984B2 (en) | 2012-12-21 | 2016-01-19 | International Business Machines Corporation | Time-division multiplexed neurosynaptic module with implicit memory addressing for implementing a neural network |
US9412063B2 (en) * | 2013-12-27 | 2016-08-09 | International Business Machines Corporation | Transform architecture for multiple neurosynaptic core circuits |
US9852006B2 (en) * | 2014-03-28 | 2017-12-26 | International Business Machines Corporation | Consolidating multiple neurosynaptic core circuits into one reconfigurable memory block maintaining neuronal information for the core circuits |
US9798972B2 (en) * | 2014-07-02 | 2017-10-24 | International Business Machines Corporation | Feature extraction using a neurosynaptic system for object classification |
US9747545B2 (en) * | 2014-09-19 | 2017-08-29 | International Business Machines Corporation | Self-timed, event-driven neurosynaptic core controller |
US9852370B2 (en) * | 2014-10-30 | 2017-12-26 | International Business Machines Corporation | Mapping graphs onto core-based neuromorphic architectures |
US9704094B2 (en) * | 2015-02-19 | 2017-07-11 | International Business Machines Corporation | Mapping of algorithms to neurosynaptic hardware |
US10204301B2 (en) | 2015-03-18 | 2019-02-12 | International Business Machines Corporation | Implementing a neural network algorithm on a neurosynaptic substrate based on criteria related to the neurosynaptic substrate |
US9971965B2 (en) | 2015-03-18 | 2018-05-15 | International Business Machines Corporation | Implementing a neural network algorithm on a neurosynaptic substrate based on metadata associated with the neural network algorithm |
US9984323B2 (en) | 2015-03-26 | 2018-05-29 | International Business Machines Corporation | Compositional prototypes for scalable neurosynaptic networks |
-
2015
- 2015-03-18 US US14/662,115 patent/US9971965B2/en active Active
-
2016
- 2016-01-22 WO PCT/EP2016/051334 patent/WO2016146278A1/en active Application Filing
- 2016-01-22 GB GB1716188.6A patent/GB2553451A/en not_active Withdrawn
- 2016-01-22 CN CN201680015986.7A patent/CN107430704B/zh active Active
-
2018
- 2018-02-28 US US15/908,415 patent/US10832125B2/en active Active
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112041857A (zh) * | 2018-03-27 | 2020-12-04 | 巴伊兰大学 | 光学神经网络单元以及光学神经网络配置 |
CN110633795A (zh) * | 2018-06-22 | 2019-12-31 | 国际商业机器公司 | 利用脉冲神经网络管理认知存储系统的数据集 |
US11823038B2 (en) | 2018-06-22 | 2023-11-21 | International Business Machines Corporation | Managing datasets of a cognitive storage system with a spiking neural network |
CN113892092A (zh) * | 2019-02-06 | 2022-01-04 | 瀚博控股公司 | 卷积模型硬件加速器的方法和系统 |
CN112149815A (zh) * | 2020-09-28 | 2020-12-29 | 复旦大学 | 用于大规模类脑计算网络的种群聚类及种群路由方法 |
CN112149815B (zh) * | 2020-09-28 | 2023-04-18 | 复旦大学 | 用于大规模类脑计算网络的种群聚类及种群路由方法 |
CN113792858A (zh) * | 2021-09-13 | 2021-12-14 | 江南大学 | 耦合神经网络有界同步及其分布式控制方法 |
CN113792858B (zh) * | 2021-09-13 | 2024-03-01 | 江南大学 | 耦合神经网络有界同步及其分布式控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107430704B (zh) | 2020-12-15 |
US10832125B2 (en) | 2020-11-10 |
US20180189637A1 (en) | 2018-07-05 |
GB201716188D0 (en) | 2017-11-15 |
US20160275395A1 (en) | 2016-09-22 |
WO2016146278A1 (en) | 2016-09-22 |
US9971965B2 (en) | 2018-05-15 |
GB2553451A (en) | 2018-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107430704A (zh) | 基于与神经网络算法关联的元数据在神经突触基底上实现神经网络算法 | |
CN105989408B (zh) | 用于将神经网络映射到神经突触基板上的系统和方法 | |
Ahmed et al. | Cat swarm optimization algorithm: a survey and performance evaluation | |
Jiang et al. | Efficient network architecture search via multiobjective particle swarm optimization based on decomposition | |
Bhatele et al. | Identifying the culprits behind network congestion | |
Wu et al. | A novel sparrow search algorithm for the traveling salesman problem | |
Cai et al. | A clustering-ranking method for many-objective optimization | |
Zhou et al. | Multiobjective biogeography based optimization algorithm with decomposition for community detection in dynamic networks | |
Liu et al. | MapReduce-based backpropagation neural network over large scale mobile data | |
Guo et al. | A hybrid multi-objective PSO algorithm with local search strategy for VLSI partitioning | |
Zhang et al. | DECAL: Decomposition-based coevolutionary algorithm for many-objective optimization | |
CN110532417A (zh) | 基于深度哈希的图像检索方法、装置及终端设备 | |
CN106022469A (zh) | 用于可伸缩神经突触网络的方法 | |
WO2018134248A1 (en) | Classifying data | |
Venturelli et al. | A Kriging-assisted multiobjective evolutionary algorithm | |
Li et al. | A novel multiobjective particle swarm optimization algorithm for signed network community detection | |
Li et al. | A comparative study of pre-screening strategies within a surrogate-assisted multi-objective algorithm framework for computationally expensive problems | |
Li et al. | A community clustering algorithm based on genetic algorithm with novel coding scheme | |
Cuevas et al. | Recent metaheuristics algorithms for parameter identification | |
Su et al. | Comparing the Performance of Evolutionary Algorithms for Sparse Multi-Objective Optimization via a Comprehensive Indicator [Research Frontier] | |
Alba et al. | Evolutionary algorithms | |
Feng et al. | Precise mobility intervention for epidemic control using unobservable information via deep reinforcement learning | |
Jin et al. | Ant colony optimization with markov random walk for community detection in graphs | |
Bernardino et al. | Swarm optimisation algorithms applied to large balanced communication networks | |
Panwar et al. | Brief survey of soft computing techniques used for optimization of TSP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |