CN115104107A - 构造和操作人工循环神经网络 - Google Patents

构造和操作人工循环神经网络 Download PDF

Info

Publication number
CN115104107A
CN115104107A CN202080096252.2A CN202080096252A CN115104107A CN 115104107 A CN115104107 A CN 115104107A CN 202080096252 A CN202080096252 A CN 202080096252A CN 115104107 A CN115104107 A CN 115104107A
Authority
CN
China
Prior art keywords
topology
elements
neural network
topological
recurrent neural
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.)
Pending
Application number
CN202080096252.2A
Other languages
English (en)
Inventor
H·马克莱姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inet Co ltd
Original Assignee
Inet Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inet Co ltd filed Critical Inet Co ltd
Publication of CN115104107A publication Critical patent/CN115104107A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/10Interfaces, programming languages or software development kits, e.g. for simulating neural networks
    • G06N3/105Shells for specifying net layout
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
    • G06N3/065Analogue means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

用于构造和操作循环人工神经网络的方法、系统和装置——包括编码在计算机存储介质上的计算机程序。在一方面,一种方法用于读取包括多个节点和边缘的人工循环神经网络的输出,所述边缘连接所述节点。该方法包括:识别一个或多个相对复杂的根拓扑元素,每个根拓扑元素包括人工循环神经网络中的节点和边缘的一个子集;识别多个相对较简单的拓扑元素,每个相对较简单的拓扑元素包括人工循环神经网络中的节点和边缘的一个子集,其中识别的相对较简单的拓扑元素与相对复杂的根拓扑元素中的至少一个处于层级关系;生成数字的集合,其中数字中的每个表示相对复杂的根拓扑元素和相对较简单的拓扑元素中的一个相应的拓扑元素在一个窗期间是否是有效的;以及输出数字的集合。

Description

构造和操作人工循环神经网络
优先权要求
本申请要求享有2019年12月11日提交的第62/946,733号美国专利申请的优先权,该美国专利申请的全部内容通过引用并入本文。
技术领域
本说明书涉及用于构造和操作充当“神经突触计算机(neurosynapticcomputer)”的循环人工神经网络的方法和过程。神经突触计算机基于模仿大脑中的计算的计算范例。神经突触计算机可以使用符号计算机语言,该符号计算机语言将信息处理为由一组层级决策组成的认知算法。神经突触计算机可以接受广泛的数据类型的输入、将该数据转换为二进制代码以用于输入、将该二进制代码编码为感觉代码(sensory code)、通过使用大脑处理单元模拟对该感觉输入的响应来处理该感觉代码、对在神经代码中做出的决策进行编码、以及对该神经代码进行解码以生成目标输出。描述了一个用于计算的范例以及适配(adapt)此新的范例以用于循环人工神经网络的构造和操作的方法和过程。计算范例基于神经代码——一种符号计算机语言。该神经代码对由大脑处理单元做出的一组决策进行编码,并且可以被用来表示认知算法的结果。神经突触计算机可以以在常规数字计算机上运行的软件来实施,并且可以以在神经形态计算架构上运行的硬件来实施。神经突触计算机可以被用于计算、存储和通信,并且适用于开发广泛的科学、工程和商业应用。
发明内容
本说明书描述了与构造和操作循环人工神经网络相关的技术。
一般而言,在本说明书中所描述的主题的一个创新方面可以被体现在读取包括多个节点和边缘的人工循环神经网络的输出的方法,所述边缘连接所述节点,所述方法包括:识别一个或多个相对复杂的根拓扑元素(rot topological element),每个所述相对复杂的根拓扑元素包括所述人工循环神经网络中的所述节点和边缘的一个子集;识别多个相对较简单的拓扑元素,每个所述相对较简单的拓扑元素包括所述人工循环神经网络中的所述节点和边缘的一个子集,其中识别的相对较简单的拓扑元素与所述相对复杂的根拓扑元素中的至少一个处于层级关系(hierarchical relationship);生成数字的集合,其中所述数字中的每个表示所述相对复杂的根拓扑元素和所述相对较简单的拓扑元素中的一个相应的拓扑元素在一个窗(window)期间是否是有效的(active,活动的);以及输出所述数字的集合。
这种以及其他一般方法和系统可以包括以下特征中的一个或多个。识别所述相对复杂的根拓扑元素可以包括:当所述循环神经网络在对输入作出响应时,确定所述相对复杂的根拓扑元素是有效的。识别与所述相对复杂的根拓扑元素处于层级关系的所述相对较简单的拓扑元素可以包括:将输入数据集输入到所述循环神经网络中;以及确定所述相对较简单的拓扑元素的活动或不活动与所述相对复杂的根拓扑元素的活动相关。所述方法还可以包括定义用于确定一个拓扑元素是否是有效的标准。用于确定所述拓扑元素是否是有效的标准可以基于包括在所述拓扑元素中的节点或边缘的活动。所述方法还可以包括定义用于确定所述人工循环神经网络中的边缘是否是有效的标准。识别与所述相对复杂的根拓扑元素处于层级关系的所述相对较简单的拓扑元素可以包括:将所述相对复杂的根拓扑元素分解为拓扑元素的集合。识别与所述相对复杂的根拓扑元素处于层级关系的所述相对较简单的拓扑元素可以包括:形成所述相对复杂的根拓扑元素被分解成的拓扑元素的列表;将所述列表从所述拓扑元素中的最复杂的拓扑元素到所述拓扑元素中的最不复杂的拓扑元素排序(sort);以及从所述拓扑元素中的最复杂的拓扑元素开始,基于关于所述相对复杂的根拓扑元素的信息内容,从所述列表中选择用于在所述数字的集合中表示的所述相对较简单的拓扑元素。
从所述列表中选择用于在所述数字的集合中表示的所述拓扑元素中的更复杂的拓扑元素可以包括:确定从所述列表中选择的所述相对较简单的拓扑元素是否足以确定所述相对复杂的根拓扑元素;以及响应于确定从所述列表中选择的所述相对较简单的拓扑元素足以确定所述相对复杂的根拓扑元素,不从所述列表中选择另外的相对较简单的拓扑元素。
一般而言,在本说明书中所描述的主题的另一个创新方面可以被体现在读取包括多个节点和边缘的人工循环神经网络的输出的方法,所述边缘形成所述节点之间的连接。所述方法可以包括:定义待要从所述人工循环神经网络读取的计算结果。定义所述计算结果可以包括:定义用于确定所述人工循环神经网络中的所述边缘是否是有效的标准,以及定义多个拓扑元素,每个所述拓扑元素包括所述人工循环神经网络中的所述边缘的一个真子集,以及定义用于确定所定义的拓扑元素中的每个是否是有效的标准。用于确定所定义的拓扑元素中的每个是否是有效的所述标准基于包括在所定义的拓扑元素中的相应的拓扑元素中的边缘的活动。一个有效的拓扑元素指示已完成一个对应的计算结果。
这种以及其他一般方法和系统可以包括以下特征中的一个或多个。所述方法还可以包括:从所述人工循环神经网络读取完成的计算结果。所述方法还可以包括:从所述人工循环神经网络读取未完成的计算结果。读取一个未完成的计算结果可以包括读取包括在所述拓扑元素中的一个对应的拓扑元素中的所述边缘的活动,其中所述边缘的所述活动不满足用于确定所述拓扑元素中的所述对应的拓扑元素是有效的标准。所述方法还可以包括:估计一个计算结果的完成百分比,其中估计所述完成百分比包括确定包括在所述拓扑元素中的一个对应的拓扑元素中的所述边缘的有效分数。用于确定所述人工循环神经网络中的所述边缘是否是有效的所述标准包括:对于一个给定的边缘要求:由连接到该边缘的一个节点生成的一个尖峰;所述尖峰由所述边缘传输到一个接收节点;以及所述接收节点生成对传输的尖峰的响应。
用于确定所述人工循环神经网络中的所述边缘是否是有效的所述标准包括一个时间窗,在所述时间窗中将生成和传输所述尖峰并且所述接收节点将生成所述响应。用于确定所述人工循环神经网络中的所述边缘是否是有效的所述标准包括一个时间窗,在所述时间窗中,两个节点通过边缘尖峰连接,而不管所述两个节点中哪个首先出现尖峰。用于确定所述人工循环神经网络中的所述边缘是否是有效的不同标准可以被应用于所述边缘中的不同的边缘。定义待要从所述人工循环神经网络读取的计算结果还可以包括构造所述人工循环神经网络的功能图表,包括:定义时间箱(time bin)的集合;创建所述人工循环神经网络的多个功能图表,其中每个功能图表仅包括在所述时间箱中的一个相应的时间箱内有效的节点;以及基于所述人工循环神经网络的所述功能图表中的所述边缘中的有效边缘来定义所述多个拓扑元素。
该还可以包括:将在所述功能图表中的第一功能图表中定义的第一拓扑元素与在所述功能图表中的第二功能图表中定义的第二拓扑元素组合。所述功能图表中的所述第一功能图表和所述第二功能图表可以包括在所述时间箱中的不同时间箱内有效的节点。所述方法还可以包括:在所述计算结果中包括一个或多个全局图表度量(global graphmetrics)或元信息(meta information)。定义待要从所述人工循环神经网络读取的所述计算结果可以包括:基于每个拓扑元素在处理单个输入期间和跨一个输入数据集是有效的次数,选择待要从所述人工循环神经网络读取的所述多个拓扑元素的一个真子集。选择所述多个拓扑元素的所述真子集可以包括:选择所述拓扑元素中的对于仅所述输入数据集的一小部分是有效的第一拓扑元素,并且将所述拓扑元素中的所述第一拓扑元素指定为指示异常。选择所述多个拓扑元素的所述真子集可以包括:选择拓扑元素以确保所述真子集包括对于所述输入数据集的不同小部分是有效的拓扑元素的一个预定义分布。定义待要从所述人工循环神经网络读取的所述计算结果还可以包括:基于所述拓扑元素的层级布置,选择待要从所述人工循环神经网络读取的所述多个拓扑元素的一个真子集,其中所述拓扑元素中的第一拓扑元素被识别为根拓扑元素,并且对所述根拓扑元素有贡献的拓扑元素被选择用于所述真子集。该还可以包括:识别多个根拓扑元素并且选择对所述根拓扑元素有贡献的拓扑元素用于所述真子集。
一般而言,在本说明书中所描述的主题的另一个创新方面可以被体现在用于选择循环神经网络中形成认知过程的一组元素的方法。这些方法可以包括:识别所述循环神经网络中的与相对简单的拓扑模式相称的活动;使用识别的相对简单的拓扑模式作为约束以识别所述循环神经网络中的活动的相对更复杂的拓扑模式;使用识别的相对更复杂的拓扑模式作为约束以识别所述循环神经网络中的活动的相对又更复杂的拓扑模式;以及输出对在所述循环神经网络中已经发生的活动的拓扑模式的识别。
这种以及其他一般方法和系统可以包括以下特征中的一个或多个。所述循环神经网络中的识别的活动可以反映已经做出决策的概率。可以输出对所述概率的描述。可以基于一个神经元群组中的正出现尖峰的一小部分神经元来确定所述概率。所述方法还可以包括:在识别活动的拓扑模式时,输出描述所述循环神经网络的状态的元数据(metadata)。
一般而言,在本说明书中所描述的主题的另一个创新方面可以被体现在一种人工神经网络系统中,所述人工神经网络系统包括:用于生成数据环境的装置,其中所述用于生成数据环境的装置被配置为选择数据以用于输入到循环神经网络中;用于编码的装置,其用于对由所述用于生成数据环境的装置选择的用于输入到人工循环神经网络中的所述数据进行编码;人工循环神经网络,其被耦合以从所述用于编码的装置接收编码的数据,其中所述人工循环神经网络对生物大脑的一定程度的结构进行建模;输出编码器,其被耦合以识别由所述人工循环神经网络做出的决策并且将那些决策编译成输出代码;以及用于将所述输出代码转化为动作的装置。
这种以及其他一般方法和系统可以包括以下特征中的一个或多个。所述的人工神经网络系统还可以包括:用于学习的装置,其被配置为改变所述人工神经网络系统中的参数以实现期望的结果。所述用于生成数据环境的装置还可以包括以下中的一个或多个:搜索引擎,其被配置为搜索一个或多个数据库并且输出搜索结果;数据选择管理器,其被配置为选择从所述搜索引擎输出的所述结果的一个子集;以及数据预处理器,其被配置为对从所述搜索引擎输出的所述结果的所选择的子集进行预处理。
所述数据预处理器可以被配置为:调整所述结果的所选择的子集的大小或维度,或创建所述结果的所选择的子集的分辨率(resolution)版本的层级结构;或对所述结果的所选择的子集进行过滤;创建所述结果的所选择的子集的统计变体。
所述数据预处理器可以被配置为通过引入统计噪声、改变图像的定向、裁剪图像或将剪辑蒙版(mask,遮罩)应用于图像来创建所述结果的所选择的子集的统计变体。所述数据预处理器可以被配置为将多个不同的过滤函数应用于一个图像以生成多个经不同地过滤的图像。所述人工循环神经网络可以被耦合以同时接收所述经不同地过滤的图像。
所述数据预处理器可以被配置为通过经由机器学习模型处理一个图像的背景来对图像进行上下文过滤,以形成经上下文过滤的图像。所述数据预处理器可以被配置为通过对所述图像进行分割来对所述图像进行感知过滤以获得对象的特征并且形成经感知过滤的图像。所述数据预处理器可以被配置为对所述图像进行注意力过滤,以识别所述图像中的显著(salient)信息并且形成经注意力过滤的图像。所述人工循环神经网络可以被耦合以同时接收所述经上下文过滤的图像、经感知过滤的图像和经注意力过滤的图像。
用于对数据进行编码的装置可以包括以下中的一个或多个:时间安排编码器(timing encoder),其被配置为以用于输入到所述人工循环神经网络的神经元和/或突触中的脉冲位置调制信号对所选择的数据进行编码;或统计编码器,其被配置为以所述人工循环神经网络中的神经元和/或突触的激活的统计概率对所选择的数据进行编码;或字节振幅编码器,其被配置为以所述人工循环神经网络中的神经元和/或突触的比例扰动对所选择的数据进行编码;或频率编码器,其被配置为以所述人工循环神经网络中的神经元和/或突触的激活的频率对所选择的数据进行编码;或噪声编码器,其被配置为以所述人工循环神经网络中的神经元和/或突触中的随机过程的噪声水平的比例扰动对所选择的数据进行编码;或字节突触自发事件编码器,其被配置为以所述人工循环神经网络中的神经元和/或突触中的自发事件的设定频率或概率对所选择的数据进行编码。
所述用于编码的装置可以被配置为将一个字节中的位的顺序映射到一个事件时间序列中的一个顺序时间点,其中ON位产生所述人工循环神经网络中的神经元和/或突触的正激活,并且OFF位不产生所述人工循环神经网络中的神经元和/或突触的激活。神经元和/或突触的所述正激活可以增加所述神经元和/或突触中的事件的频率或概率。
所述用于编码的装置可以被配置为将一个字节中的位的顺序映射到一个事件时间序列中的一个顺序时间点,其中ON位产生所述人工循环神经网络中的神经元和/或突触的正激活,并且OFF位产生所述人工循环神经网络中的神经元和/或突触的负激活。神经元和/或突触的所述正激活增加所述神经元和/或突触中的事件的频率或概率,并且神经元和/或突触的所述负激活降低所述神经元和/或突触中的事件的频率或概率。所述用于编码的装置可以被配置为将一个字节中的位的顺序映射到一个事件时间序列中的一个顺序时间点,其中ON位激活所述人工循环神经网络中的兴奋性神经元和/或突触,并且OFF位激活所述人工循环神经网络中的抑制性神经元和/或突触。所述人工神经网络系统的用于编码的装置可以包括目标生成器,所述目标生成器被配置为确定所述人工循环神经网络中的哪些神经元和/或突触将接收所选择的数据中的至少一些。所述目标生成器可以基于以下中的一个或多个来确定哪些神经元和/或突触将接收所选择的数据:所述人工循环神经网络的一个区域;或所述人工循环神经网络的一个区域内的一个层或簇(cluster);或所述人工循环神经网络的一个区域内的神经元和/或突触的一个特定体素位置(voxel location);或所述人工循环神经网络内的神经元和/或突触的类型。所述人工循环神经网络可以是尖峰循环神经网络(spiking recurrent neural network,脉冲循环神经网络)。
一般而言,在本说明书中所描述的主题的另一个创新方面可以被体现在一种用于构造模仿目标大脑组织的人工循环神经网络的节点的方法。所述方法可以包括:设置所述人工循环神经网络中的节点的总数目;设置所述人工循环神经网络中的所述节点的种类和子种类的数目;设置每个种类和子种类中的节点的结构属性,其中当所述节点组合输入时,所述结构属性将计算的时间和空间整合(integration)确定为时间的函数;设置每个种类和子种类中的节点的功能属性,其中所述功能属性将激活、整合和响应函数确定为时间的函数;设置每个种类和子种类的节点中的节点的数目;设置每个种类和子种类的节点中的每个节点的结构多样性水平以及每个种类和子种类的节点中的每个节点的功能多样性水平;设置每个节点的定向;以及设置所述人工循环神经网络中的每个节点的空间布置,其中所述空间布置确定在所述人工循环神经网络中哪些节点处于通信中。
这种以及其他一般方法和系统可以包括以下特征中的一个或多个。所述人工循环神经网络中的节点和连接的总数目模仿所述目标大脑组织的一个同等大小的部分的神经元的总数目。节点的所述结构属性包括所述节点的分支形态和在所述节点内信号的振幅和形状,其中信号的所述振幅和形状是根据接收突触在所述分支形态上的位置设置的。节点的所述功能属性可以包括所述节点的阈下(subthreshold)和阈上(suprathreshold)尖峰行为。所述人工循环神经网络中的所述节点的种类和子种类的数目可以模仿所述目标大脑组织中的神经元的种类和子种类的数目。
所述人工循环神经网络中的每个种类和子种类的节点中的节点的数目可以模仿所述目标大脑组织中的神经元的种类和子种类的比例。所述人工循环神经网络中的每个节点的所述结构多样性水平和所述功能多样性水平可以模仿所述目标大脑组织中的神经元的多样性。所述人工循环神经网络中的每个节点的所述定向可以模仿所述目标大脑组织中的神经元的定向。所述人工循环神经网络中的每个节点的空间布置可以模仿所述目标大脑组织中的神经元的空间布置。
设置所述空间布置可以包括:设置节点的层和/或设置不同种类或子种类的节点的聚类。设置所述空间布置可以包括:设置用于所述人工循环神经网络的不同区域之间的通信的节点。所述区域中的第一区域可以被指定用于上下文数据的输入、所述区域中的第二区域可以被指定用于直接输入、并且所述区域中的第三区域可以被指定用于注意力输入。
一般而言,在本说明书中所描述的主题的另一个创新方面可以被体现在一种用于构造模仿目标大脑组织的人工循环神经网络的节点之间的连接的方法。所述方法可以包括:设置所述人工循环神经网络中的所述节点之间的连接的总数目;设置所述人工循环神经网络中的子连接的数目,其中子连接的集合形成不同类型的节点之间的单个连接;设置所述人工循环神经网络中的所述节点之间的连接性的水平;设置所述人工循环神经网络中的所述节点之间的信息传输的方向;设置所述人工循环神经网络中的所述节点之间的所述连接的权重;设置所述节点之间的所述连接中的响应波形,其中响应是由一个发送节点中的单个尖峰引起的;设置所述节点之间的所述连接中的传输动态,其中所述传输动态表征在来自一个发送节点的一系列尖峰期间各个连接的变化的响应振幅;设置所述节点之间的所述连接中的传输概率,其中所述传输概率表征考虑到一个发送神经元中的一个尖峰由形成一个给定的连接的所述子连接生成一个响应的可能性;以及设置所述节点之间的所述连接中的自发传输概率。
这种以及其他一般方法和系统可以包括以下特征中的一个或多个。所述人工循环神经网络中的连接的所述总数目可以模仿所述目标大脑组织的一个同等大小的部分的突触的总数目。子连接的所述数目可以模仿被用来形成所述目标大脑组织中的不同类型的神经元之间的单个连接的突触的数目。所述人工循环神经网络中的所述节点之间的连接性的水平可以模仿所述目标大脑组织的神经元之间的特定突触连接性。所述方法所述人工循环神经网络中的所述节点之间的信息传输的方向可以模仿通过所述目标大脑组织的突触连接进行的突触传输的方向性。所述节点之间的所述连接的权重的分布可以模仿所述目标大脑组织中的节点之间的突触连接的权重分布。所述方法可以包括:改变所述节点中的所选择的节点之间的连接中的所选择的连接的权重。所述方法可以包括:瞬时地转变或改变所述节点之间的所述连接的权重的总体分布。所述响应波形可以模仿在所述目标大脑组织的一个对应的类型的神经元中生成的位置相关的突触响应形状。所述方法可以包括:改变所述节点中的所选择的节点之间的连接中的所选择的连接中的所述响应波形。所述方法可以包括:瞬时地改变所述节点之间的所述连接中的所述响应波形的分布。所述方法可以包括:改变确定所述节点中的所选择的节点之间的连接中的所选择的连接中的所述传输动态的一个函数的参数。所述方法可以包括:瞬时地改变确定所述节点之间的所述连接中的所述传输动态的多个函数的参数的分布。所述方法可以包括:改变节点之间的所述连接中的所选择的连接中的所述传输概率中的所选择的传输概率。所述方法可以包括:瞬时地改变节点之间的所述连接中的所述传输概率。所述方法可以包括:改变节点之间的所述连接中的所选择的连接中的所述自发传输概率中的所选择的自发传输概率。所述方法可以包括:瞬时地改变节点之间的所述连接中的所述自发传输概率。
一般而言,在本说明书中所描述的主题的另一个创新方面可以被体现在一种改进人工循环神经网络的响应的方法中。所述方法可以包括:训练所述人工循环神经网络以增加在输入期间所述人工循环神经网络中的所有节点的总响应。
一般而言,在本说明书中所描述的主题的另一个创新方面可以被体现在一种改进人工循环神经网络的响应的方法中。所述方法可以包括:训练所述人工循环神经网络以增加所述人工循环神经网络的与活动的拓扑模式相称的响应。
一般而言,在本说明书中所描述的主题的另一个创新方面可以被体现在一种改进人工循环神经网络的响应的方法中。所述方法包括:训练所述人工循环神经网络以增加在所述人工循环神经网络中存储的信息的量,其中存储的信息表征先前输入到所述人工循环神经网络中的一个时间序列中的时间点或数据文件。
一般而言,在本说明书中所描述的主题的另一个创新方面可以被体现在一种改进人工循环神经网络的响应的方法。所述方法可以包括:训练所述人工循环神经网络以增加所述人工循环神经网络的后续输入被正确地预测的可能性,其中所述后续输入能够是一个时间序列中的时间点或数据文件。
至少一种计算机可读存储介质可以被编码有可执行指令,所述可执行指令在由至少一个处理器执行时使所述至少一个处理器执行包括上述方法中的任何一种的操作。
可以实施在本说明书中所描述的主题的具体实施方案以实现以下优点中的一个或多个。一种信息处理系统可以同时处理不同类型和组合的数据,从而对数据执行任意复杂的数学运算,以神经代码的形式对大脑操作进行编码,以及对神经代码进行解码以生成任意复杂的输出。神经代码包括一组值(二进制的和/或模拟的),该组值构成符号计算机语言,该符号计算语言简化了任意复杂的信息的表示和计算操纵。用这样的循环人工神经网络生成的神经代码提供用于数据存储、通信和计算的一类新的技术。
这样的循环人工神经网络可以以多种不同的方式被使用。例如,神经代码可以被设计为以高度压缩的(有损的和无损的)形式对数据进行编码,该形式也是加密的。通过在神经代码中加密数据,可以安全地分析数据,而无需首先解密数据。神经代码可以被设计为对电信信号进行编码,所述电信信号不仅是高度压缩的并且加密的,而且还显示全息属性,以允许鲁棒的、快速的和高度安全的数据传输。神经代码可以被设计为表示一系列认知功能,所述认知功能对数据执行一系列任意复杂的数学和/或逻辑运算,从而提供通用计算。神经代码也可以被设计为表示任意复杂的认知功能的一组任意复杂的决策,从而提供用于人工智能和通用人工智能的一类新的技术。
可以通过构造和解构纠缠决策的层级结构来处理信息,以创建任意复杂的认知算法。通过采用二进制和/或模拟符号来表示由大脑的模型做出的决策的完成性状态,这可以适于在经典的数字和/或神经形态计算架构上操作。在一些实施方式中,可以通过比其他神经网络更接近地对大脑进行建模来增加计算能力。换言之,与现代数字计算机和AI系统相比,本文所描述的循环人工神经网络通过向大脑的结构和功能架构的细节和复杂度迈进,将计算机和AI系统置于相反的发展道路上。此计算架构可以适于在经典数字计算机上、在模拟神经形态计算系统上操作,并且可以为量子计算机提供一种将量子态映射到信息的新的方法。
在附图和下文的描述中阐述了本说明书中所描述的主题的一个或多个实施方案的细节。根据说明书、附图和权利要求书,所述主题的其他特征、方面和优点将变得明显。
附图说明
图1是神经突触计算机系统的示意性例示。
图2是诸如图1中所示出的数据环境生成器的数据环境生成器的示意性表示。
图3是诸如图1中所示出的感觉编码器的感觉编码器的示意性表示。
图4是用于构造诸如图1中所示出的大脑处理单元的大脑处理单元的过程的流程图。
图5是用于构造诸如图1中所示出的大脑处理单元的大脑处理单元的节点的过程的流程图。
图6是用于构造诸如图1中所示出的大脑处理单元的大脑处理单元的节点的连接的过程的流程图。
图7是用于升级诸如图1中所示出的大脑处理单元的大脑处理单元的过程的示意性表示。
图8是用于构造诸如图1中所示出的认知编码器的认知编码器的过程的流程图。
图9是已经由神经网络中的节点和节点的组合构造的神经拓扑元素的示意性表示。
图10是已经由神经网络的不同部件的组合构造的神经拓扑元素的示意性表示。
图11是用于定义拓扑元素并且使拓扑单元与计算相关联的过程的流程图。
图12是认知内决策的层级组织的示意性表示。
图13是用于构造神经代码的过程的流程图。
图14是用于构造层级神经代码的过程的示意性表示。
图15是用于将神经代码解码为其目标输出的过程的一个示例。
图16是诸如图1中所示出的学习适配器的学习适配器的示意性表示。
各个附图中的相同的参考数字和名称指示相同的元件。
具体实施方式
神经突触计算机根据模仿大脑如何运行而建模的认知计算范例对信息进行编码、处理和解码。此范例基于如下关键概念,即认知由通过大脑中的任意元素的任意组合而做出并且相互纠缠的决策的任意复杂的层级结构产生。神经突触计算机系统的中央处理单元(CPU)是尖峰循环神经网络,在一些实施方式中,该尖峰循环神经网络可以模仿大脑组织的结构和功能架构的各方面。
此计算范例的其他关键特征包括:
1.生成一系列计算的循环神经网络或等同实施方式,该一系列计算与一系列决策同义。
2.认知计算能力由建立决策的不同组合的任意复杂的层级结构的能力产生,所述决策是由大脑的任何类型和数目的元素在它们对输入做出反应时做出的。
3.认知计算不需要知道由神经元件执行的特定计算以达到决策;确切地说,它仅需要将每个计算的阶段表示为决策的状态。
4.认知计算利用总体决策中的一个子集的决策的状态的纠缠。
5.认知计算从根本上仅由大脑的元素可以做出的该一系列决策的性质限制。
在此范例中,认知计算机的大脑处理单元通过构造一大范围的决策并且将这些决策组织成多层次的层级结构来对输入起作用。决策被识别为由大脑处理中的元素执行的计算。不需要对计算的确切性质的理解。相反,计算的完成阶段被用来对决策的状态进行编码。执行可以在数学上被精确地表示的计算的元素被称为拓扑元素。不同的认知算法由决策的不同组合以及这些决策在层级结构中被网络化在一起的方式产生。输出是由一组决策组成的符号计算机语言。
图1是神经突触计算机系统100的示意性例示。在所例示的实施方式中,神经突触计算机系统100包括数据环境生成器105、感觉编码器110、循环人工神经网络大脑处理单元(BPU)115、认知编码器120、动作生成器125和学习适配器130,该学习适配器管理在这些部件中的每个内和之间的学习和优化。
数据环境生成器105收集和组织数据以供由诸如BPU 115的大脑处理单元进行处理。数据环境生成器105可以包括处理部件,诸如数据和/或数据流搜索引擎、数据选择管理器、用于加载数据的模块(一起充当计算机科学中的经典提取、变换、加载(即,ETL)过程)、构造数据、数据集和/或数据流的环境的生成器以及根据计算要求执行数据增强(dataaugmentation,数据扩充)的预处理器。
感觉编码器110以循环人工神经网络大脑处理单元可以处理的格式对数据进行编码。感觉编码器110可以包括感觉预处理器、感觉编码器、感觉分解器、时间管理器和输入管理器。
循环人工神经网络大脑处理单元(BPU)115通过模拟网络对输入的响应来处理数据。BPU 115可以包括具有最低限度的一组特定结构和功能架构要求的尖峰人工循环神经网络。在一些实施方式中,BPU的目标架构可以模仿以准确的细节捕获的、真实大脑的架构。
认知编码器120解释BPU 115中的活动并且用神经代码将该活动编码。认知编码器120包括识别的由BPU做出的整合式(unitary,整体式)决策的一组子部件,根据这些决策编译神经代码,以及组合神经代码以形成任意复杂的认知过程。
如下文进一步讨论的,神经突触计算机系统在不同层次组织决策以构造任意复杂的认知算法。换言之,基本(elementary)决策可以被组织成整合式决策、认知操作和认知功能以产生一个认知算法。基本决策被纠缠以捕获由神经突触计算机系统执行的计算的复杂度的范围。例如,基本决策被纠缠以构造整合式决策。整合式决策被纠缠以在决策的层级结构和任意复杂的认知算法中构造相继地更高的层次。认知编码器120可以在层级结构的不同层次对这些决策进行识别和用神经代码对其进行编码。
动作生成器125包括被设计为将神经代码解码成它们的目标输出的解码器。所述解码器读取和转化神经代码以执行它们编码的认知功能。
学习适配器130管理这些部件中的每个内和之间的学习和优化。学习适配器130被配置为设置用于优化和学习系统的每个部件的超参数的过程。学习适配器130可以包括前馈学习适配器135和反馈学习适配器。前馈学习适配器135可以基于例如来自数据环境生成器105的监督或其他信号145、来自感觉编码器110的信号150、来自BPU 115的信号155和/或来自认知编码器120的信号160来优化超参数以改进感觉编码器110、BPU 115、认知编码器120和/或动作生成器125中的一个或多个的操作。反馈学习适配器135可以基于例如来自动作生成器125的奖励或其他信号165、来自认知编码器120的信号170、来自BPU 115的信号175和/或来自感觉编码器110的信号180来优化超参数以改进环境生成器105、感觉编码器110、BPU 115和/或认知编码器120中的一个或多个的操作。
在操作中,神经突触计算机系统100通过遵循每个部件的一系列操作和部件之间的自适应学习交互来操作。神经突触计算机的编程范例对于每个部件的参数配置允许不同的模型。不同的编程模型允许不同的方式来利用决策的符号表示。因此,各种编程模型可以被实施以为特定类型的计算操作定制神经突触计算机。神经突触计算机还可以自优化和学习最佳编程模型以匹配目标种类的计算操作。用神经突触计算机设计软件和硬件应用程序涉及设置系统的每个部件的参数和允许部件对样本输入数据进行优化以产生期望的计算能力。
图2是诸如数据环境生成器105(图1)的数据环境生成器的示意性表示。如上文所讨论的,数据环境生成器准备数据和/或数据流的环境以供由BPU进行处理。数据环境生成器105的所例示的实施方案包括搜索引擎205、数据选择管理器210、数据预处理器215和数据框架生成器220。
搜索引擎205被配置为接收手动输入的或自动的查询并且搜索数据。例如,可以执行在线(因特网)或离线(本地数据库)的语义搜索。搜索引擎205也可以返回搜索的结果。
数据选择管理器210被配置为处理搜索查询并且基于用神经突触计算机系统开发应用程序的要求来选择相关的搜索结果。数据选择管理器210还可以被配置为检索在搜索结果中引用的数据。
数据预处理器215被配置为预处理数据。例如,在一些实施方式中,数据预处理器215可以改变数据的大小和维度、创建数据的分辨率版本的层级结构、以及根据用神经突触计算机系统开发应用程序的要求创建数据的统计变体。示例数据增强技术包括统计和数学过滤以及机器学习操作。用于创建数据的统计变体的示例技术包括引入统计噪声、定向平移、裁剪、应用剪辑蒙版以及其他。用于创建数据的多分辨率版本的示例技术包括用于下采样和降维的各种数学方法。
在一些实施方式中,由数据预处理器215执行的预处理可以包括过滤操作。例如,预处理可以包括同时过滤,在同时过滤中同时呈现任何特定输入的多个不同版本。例如,多个过滤器函数可以被应用于图像,并且可以与由机器学习模型寻找的过滤器的输出一起被呈现。这允许其他机器学习方法成为神经突触计算的起点。
作为另一个示例,预处理可以包括认知过滤。例如,可以通过机器学习模型处理图像的背景,以获得与该图像的上下文相关的特征(即,上下文过滤器)。另一个机器学习模型可以分割图像并且获得对象的可以被呈现为感知过滤器的特征。另外,可以针对图像中的最显著的信息对图像进行预处理,以构造注意力过滤器。可以同时处理经感知、上下文和注意力过滤的图像。可以由神经突触计算机系统同时处理认知过滤的结果。
作为另一个示例,预处理可以包括统计过滤。例如,一个图像的像素值可以与该图像的统计测量结果(例如,各种分布)一起被处理。原始数据和原始数据的统计分析结果都可以被同时呈现给神经突触计算机系统并且由其处理。
数据框架生成器220被配置为基于用神经突触计算机系统开发应用程序的计算要求来确定数据、数据集或数据流的组织框架。框架生成器220可以被配置为从诸如一维向量、二维矩阵、三维或更高维矩阵以及知识图表(knowledge graph)的各种组织框架中选择,以为待被处理的数据创建空间。
诸如学习适配器130的一部分的学习适配器还可以管理数据环境生成器105的部件内和之间的学习和优化。例如,部分学习适配器130可以被配置为设置用于优化和学习数据环境生成器105的每个部件的超参数的过程,例如,基于,例如:
-来自数据环境生成器105外部(例如,来自感觉编码器110、来自BPU 115和/或来自认知编码器120)的监督、奖励或其他信号,或
-来自数据环境生成器105内的监督、奖励或其他信号。
例如,学习适配器130可以包括前馈学习适配器135和反馈学习适配器。前馈学习适配器135可以基于例如来自搜索引擎205的监督或其他信号225、来自数据选择管理器210的信号230和/或来自数据预处理器215的信号235来优化超参数以改进数据选择管理器210、数据预处理器215和数据框架生成器220中的一个或多个的操作。反馈学习适配器135可以基于例如来自数据框架生成器220的奖励或其他信号245、来自数据预处理器215的信号245和/或来自数据选择管理器210的信号250来优化超参数以改进搜索引擎205、数据选择管理器210和数据预处理器215中的一个或多个的操作。
图3是诸如感觉编码器110(图1)的感觉编码器的示意性表示。如上文所讨论的,感觉编码器将数据文件变换为用于输入到BPU中的感觉代码。感觉编码器110的所例示的实施方案包括感觉预处理器305、感测编码器(sense encoder)310、包生成器315、目标生成器320和时间管理器325。
感觉预处理器305被配置为将数据文件转换为二进制代码格式。
感测编码器310被配置为从感觉预处理器305读取二进制代码并且应用编码方案中的一个或组合来将位和/或字节转换为感觉输入信号以供由BPU进行处理。感测编码器310被配置为通过例如以下方式转换二进制代码中的每个字节值:
-将每个字节值转换为用于激活BPU中的神经元和/或突触的一个不同的时间点(字节时间编码),
-将每个字节值转换为用于激活BPU中的神经元和/或突触的统计概率(字节概率编码),
-将每个字节值转换为BPU中的不同的神经元和/或突触的比例扰动(字节振幅编码),
-将每个字节值转换为神经元和/或突触的数目的比例扰动(字节群体编码(population encoding)方案),
-将每个字节值转换为神经元和/或突触的激活的频率(字节频率编码),应用一系列激活作为标准化振荡波输入的直接频率或振幅和/或频率调制(字节频率编码),
-将每个字节值转换为神经元和/或突触中的随机过程的噪声水平的比例扰动(字节噪声编码),
-将每个字节值转换为自发突触事件,作为自发突触事件的设置频率或概率(字节突触自发事件编码),
-将一个字节中的一个位的顺序映射到一个事件时间序列中的一个顺序时间点。一个字节中的一个位的顺序可以以各种方式被映射到一个事件时间序列中的一个顺序时间点,所述各种方式包括例如:
-ON位标记神经元和/或突触的正激活,并且OFF位不产生激活,
-ON位标记神经元的正激活(施加正振幅)和/或突触的正激活(突触事件的频率或概率的增加),并且OFF位标记神经元的负激活(施加负振幅)和/或突触的负激活(突触事件的频率或概率的降低),或
-ON位激活BPU中的兴奋性节点,并且OFF位激活BPU中的抑制性节点,其中兴奋性节点和抑制性节点是随机选择的,或是根据它们在网络中如何相互连接选择的。
包生成器315被配置为将感觉信号分离成所要求的大小的包以匹配BPU的处理能力。
目标生成器320被配置为确定BPU的哪些部件将接收感觉输入的哪些方面。例如,一个图像中的一个像素可以被映射到一个特定节点或边缘,其中用于文件中的每个像素/字节/位位置的模式和/或边缘的选择基于例如BPU的区域、一个区域内的层或簇(cluster)、一个区域、层或簇内的神经元和/或突触的特定XYZ体素位置、神经元和/或突触的特定类型、特定神经元和突触、或这些的组合。
时间管理器325被配置为确定一时间序列或顺序的包中的数据包之间的时间间隔。
图4是用于构造诸如例如BPU 115(图1)的大脑处理单元的过程400的流程图。过程400可以由执行数据处理活动的一个或多个数据处理设备执行。可以根据一组机器可读指令、一硬件组件或这些和/或其他指令的组合的逻辑来执行过程400的活动。
在405处,执行过程400的设备构造大脑处理单元的节点。在410处,执行过程400的设备构造大脑处理单元的节点之间的连接。可选地,在415处,执行过程400的设备针对待要在给定的应用程序中执行的计算定制大脑处理单元。
更详细地,在神经突触计算机的一个实施方式中,大脑处理单元是模仿大脑组织(即任何动物物种的部分或整个大脑)的解剖和生理架构而建模的尖峰循环神经网络。可以根据待要执行的计算的复杂度来选择大脑处理单元模仿大脑的架构的程度。作为一般原则,一个网络的节点的结构和功能属性的任何改变都影响大脑处理单元的整合式计算(种类、子种类和其内的变体)的数目和多样性。连接的结构和功能属性的任何改变都影响计算(种类、子种类和其内的变体)纠缠状态的数目和多样性。结构属性的任何改变都确定对于大脑处理单元可能的整合式计算和纠缠状态的数目和多样性,而功能属性的任何改变都影响对输入的模拟期间实现的整合式计算和纠缠的数目和多样性。然而,节点或连接的功能属性的改变也可以改变整合式计算和纠缠状态的数目和多样性。
此外,可以针对待要在给定的应用程序中执行的计算可选地定制或“升级”大脑处理单元。存在实现这一点的若干方式,包括,例如,被模仿的目标大脑组织的(重新)选择、该目标大脑组织的状态的(重新)选择、以及大脑处理单元的响应属性的(重新)选择。下文更详细地讨论了示例。
图5是用于构造诸如例如BPU 115(图1)的大脑处理单元的节点的过程500的流程图。过程500可以由一个或多个数据处理设备任意地根据一组机器可读指令、一硬件组件或这些和/或其他指令的组合的逻辑而被执行。可以例如在过程400(图4)中的405处执行过程500。
在505处,执行过程500的设备设置节点的数目。在一些实施方式中,待要在大脑处理单元中使用的节点的总数目可以模仿目标大脑组织的神经元的总数目。此外,节点的数目可以确定大脑处理单元在任何时刻可以执行的整合式计算的种类和子种类的数目的上限。
在510处,执行过程500的设备设置节点的结构属性。当节点组合输入时,节点的结构属性将节点的计算的时间和空间整合确定为时间的函数。这确定由节点执行的整合式计算的种类。节点的结构属性还包括节点的部件以及其相互作用的性质。在一些实施方式中,结构属性可以模仿目标大脑组织的神经元的形态学种类的效果。例如,通过以下方式一个分支状(branch-like)形态是适用于从其他节点接收的信息的传递函数的决定性因素:当从网络中的其他节点接收输入时,并且根据分支形态中的接收突触的位置,设置节点内的信号的振幅和形状。
在515处,执行过程500的设备设置节点的功能属性。节点的功能属性将激活、整合和响应函数确定为时间的函数,并且因此确定对于节点可能的整合式计算。在一些实施方式中,在构造大脑处理单元中所使用的节点的功能属性可以模仿目标大脑组织的不同种类的神经元的生理行为(即它们的阈下和阈上尖峰行为)的类型。
在520处,执行过程500的设备设置节点的种类和子种类的数目。结构-功能多样性确定整合式计算的种类和子种类的数目。在一些实施方式中,在构造大脑处理单元中所使用的结构-功能类型属性组合的数目可以模仿目标大脑组织的神经元的形态学-生理学组合的数目。
在525处,执行过程500的设备设置节点的每种类型(种类和子种类)中的节点的副本的数目。一个给定类型的节点的数目确定相同种类的副本的数目和执行相同类型的整合式计算的节点的数目。在一些实施方式中,大脑处理单元中的具有相同结构和功能属性的节点的数目可以模仿在目标大脑组织中形成每个形态学-生理学类型的神经元的数目。
在530处,执行过程500的设备设置每个节点的结构和功能多样性。节点的结构和功能多样性确定每个种类和子种类的节点内的整合式计算的变体的准连续体。在一些实施方式中,一个给定类型的每个节点与相同副本偏离的程度可以模仿目标大脑组织中的一个给定类型的神经元内的神经元的形态学-生理学多样性。
在535处,执行过程500的设备设置节点的定向。每个节点的定向可以包括节点部件的空间布置,节点定向确定大脑处理单元的纠缠状态的潜在种类。在一些实施方式中,在构造大脑处理单元中所使用的每个节点的定向可以模仿目标大脑组织中的神经元的形态学类型的分支结构的定向。形态学定向是哪些神经元可以从任何一个神经元向任何其他神经元发送和接收信息的决定性因素,并且因此确定网络中的连接性。
在540处,执行过程500的设备设置节点的空间布置。该空间布置确定哪些神经元可以从任何一个神经元向任何其他神经元发送和接收信息,并且因此是网络中的连接性的决定性因素,并且因此是大脑处理单元的纠缠状态的多样性的决定性因素。节点的空间布置可以包括不同类型的节点的分层和/或聚类。在一些实施方式中,用来构造大脑处理单元的每种类型的节点的空间布置可以模仿目标大脑组织的每种形态学-生理学类型的神经元的空间布置。
空间布置还允许用来自其他子区域的读数来寻址大脑处理单元的子区域,从而在不同区域之间定义输入-输出寻址系统。寻址系统例如可以被用来将数据输入到一个子区域中并且在另一个子区域中进行采样。例如,多种类型的输入——诸如上下文(记忆)数据——可以被输入到一个子区域,直接输入(感知)可以寻址到另一个子区域,以及大脑处理单元应给予更多关注(注意)的输入可以被寻址到一个不同的子区域。这允许将各自为了不同的认知过程而定制的大脑处理子单元被网络化。在一些实施方式中,这可以模仿大脑的神经元回路和大脑区域被连接在一起的方式。
图6是用于构造诸如例如BPU 115(图1)的大脑处理单元的节点的连接的过程600的流程图。过程600可以由一个或多个数据处理设备任意地根据一组机器可读指令、一硬件组件或这些和/或其他指令的组合的逻辑而被执行。可以例如在过程400(图4)中的410处执行过程600。
在605处,执行过程600的设备设置连接的数目。连接的数目确定大脑处理单元的纠缠状态的可能种类的数目。在一些实施方式中,节点之间的连接的总数目可以模仿目标大脑组织的突触的总数目。
在610处,执行过程600的设备设置子连接的数目。形成连接的子连接的数目确定纠缠状态的每个种类内的变体。在一些实施方式中,在不同类型的节点之间形成单个连接的并行子连接的数目可以模仿被用来在不同类型的神经元之间形成单个连接的突触的数目。
在615处,执行过程600的设备设置所有节点之间的连接性。节点之间的连接性确定节点的图表的结构拓扑。结构拓扑设置大脑处理单元可以生成的纠缠状态的数目和多样性。在一些实施方式中,不同节点类型之间和各个节点之间的连接性可以模仿目标大脑组织的神经元类型和各个神经元之间的特定突触连接性,或至少模仿该连接性的关键属性。
在620处,执行过程600的设备设置信息传输的方向。连接的方向性确定信息流动的方向,并且因此确定在对输入进行处理期间的功能拓扑。该功能拓扑确定神经拓扑结构的数目和多样性,因此确定有效的拓扑元素的数目和多样性,并且因此确定整合式计算的数目和多样性以及它们的纠缠状态的数目和多样性。在一些实施方式中,在连接处的信息流动的方向性可以模仿通过目标大脑组织的突触连接进行的突触传输的方向性。
在625处,执行过程600的设备设置连接权重。每种类型的突触连接(在任何两种类型的节点之间)的权重设置确定用于整合式计算的输入变量以及在输入期间激活的神经拓扑结构的数目和多样性,并且因此确定在输入期间有效的整合式计算的数目和多样性以及它们的纠缠状态的数目和多样性。在一些实施方式中,用来确定对由节点之间的不同类型的连接介导(mediate)的节点中的尖峰的响应的振幅的权重设置的分布可以模仿目标大脑组织中的不同类型的神经元之间的突触连接的权重分布。
在一些实施方式中,执行过程600的设备添加用于改变大脑处理单元中的各个连接处的权重的机制。改变连接处的权重允许大脑处理单元学习生成的种类的整合式计算和特定的纠缠状态,并且因此学习针对给定的输入的目标输出函数。在一些实施方式中,所添加的用于改变各个连接处的权重的机制可以模仿目标大脑组织的突触可塑性的机制。
在一些实施方式中,执行过程600的设备将用于瞬时地转变或改变不同类型的连接的总体权重分布的机制添加到被构造的大脑处理单元。权重分布的瞬时改变瞬时地改变整合式计算的种类和纠缠状态的种类。在一些实施方式中,用于瞬时地转变或改变不同类型的连接的总体权重分布的机制可以模仿通过目标大脑组织的神经化学物质对不同类型的突触连接进行神经调制的机制。
在630处,执行过程600的设备设置节点响应波形。在一些实施方式中,由一个发送节点中的单个尖峰引起的响应的特定波形可以模仿在目标大脑组织中具有给定的膜电阻和电容的一个对应类型的神经元中生成的突触响应的位置相关的形状。
在一些实施方式中,执行过程600的设备可以将用于改变由各个连接引起的响应波形的机制添加到被构造的大脑处理单元。在一些实施方式中,用于改变由各个连接引起的响应波形的机制可以模仿改变目标大脑组织的节点的功能属性(膜电阻和/或电容和/或节点中的有效机制)的机制。
在一些实施方式中,执行过程600的设备将用于瞬时地改变突触响应的波形分布的机制添加到被构造的大脑处理单元。在一些实施方式中,用于瞬时地改变突触响应的波形分布的机制可以模仿通过目标大脑组织的神经化学物质对不同类型的神经元进行神经调制的机制。
在635处,执行过程600的设备设置传输动态。在一些实施方式中,在来自一个发送节点的一系列尖峰期间一个单独的连接的动态改变的响应振幅可以模仿目标大脑组织的突触连接的动态改变的突触振幅。
在一些实施方式中,执行过程600的设备设置不同类型的传输动态。在一些实施方式中,在尖峰序列期间连接处的动态类型可以模仿在目标大脑组织的不同类型的神经元之间的突触连接处的动态突触传输的类型。
在一些实施方式中,执行过程600的设备添加用于改变确定传输动态的类型的函数的参数的机制。在一些实施方式中,用于改变确定传输动态的类型的函数的参数的机制可以模仿目标大脑组织的突触的突触可塑性的机制。
在一些实施方式中,执行过程600的设备添加用于瞬时地改变每种类型的传输动态的每个参数的分布的机制。在一些实施方式中,用于瞬时地改变每种类型的传输动态的每个参数的分布的机制可以模仿通过目标大脑组织的神经化学物质对不同类型的突触连接进行神经调制的机制。
在640处,执行过程600的设备设置传输概率。传输概率可以体现一个连接处的信息流动的概率,并且可以确定整合式计算的种类,例如,诸如允许在大脑处理单元中进行随机和贝叶斯计算。在一些实施方式中,考虑到一个发送节点中的一个尖峰,由形成任何单个连接的子连接生成响应的概率可以模仿响应于来自目标大脑组织的一个发送神经元的尖峰而由一个突触释放神经递质的概率。
在一些实施方式中,执行过程600的设备添加用于改变单个、单独的连接处的传输的概率的机制。用于改变单个连接处的传输的概率的机制模仿目标大脑组织的突触连接的突触可塑性的机制。
在一些实施方式中,执行过程600的设备添加用于改变不同类型的连接的概率分布的机制。在一些实施方式中,用于改变不同类型的连接的概率分布的机制可以模仿通过目标大脑组织的神经化学物质对不同类型的突触连接进行神经调制的机制。
在645处,执行过程600的设备设置连接的自发传输统计。自发传输是信息跨连接的自发(即,非尖峰引起的)流动。自发传输可以被实施为大脑处理单元中的连接固有的随机过程,并且向计算添加噪声。自发传输可以对信息处理构成障碍,必须克服该障碍才可验证由大脑处理单元执行的操作的重要性,从而使得大脑处理单元能够执行对输入中的噪声鲁棒的不变信息处理。在一些实施方式中,用于在连接处的自发、非尖峰引起的信息流动的设置可以模仿在目标大脑组织的突触处的神经递质释放的自发释放统计。
在一些实施方式中,执行过程600的设备添加用于改变各个连接处的自发传输统计的机制。用于改变各个连接处的自发传输统计的机制模仿目标大脑组织的突触连接的突触可塑性的机制。改变各个连接处的自发传输统计允许大脑处理单元的连接单独地调整由连接处理的信息的信噪比。
在一些实施方式中,执行过程600的设备添加用于改变在每种类型的连接处的自发传输统计分布的机制。在不同类型的连接处的自发传输分布的瞬时和微分改变允许大脑处理单元动态地调整通过大脑处理单元的每种类型的连接进行的信息处理的信噪比。在一些实施方式中,用于改变在每种类型的连接处的自发传输统计分布的机制可以模仿通过目标大脑组织的神经化学物质对不同类型的突触连接进行神经调制的机制。
图7是用于升级大脑处理单元的过程700的示意性表示。如上文所讨论的,大脑处理单元可以针对待要在给定的应用程序中执行的计算而被定制或升级。
过程700可以由一个或多个数据处理设备任意地根据一组机器可读指令、一硬件组件或这些和/或其他指令的组合的逻辑而被执行。可以例如结合过程400(图4)——或紧随其后或在大脑处理单元操作某一时间之后——执行过程700。
在705处,执行过程700的设备接收对给定的应用程序的计算要求的描述。对应用程序的计算要求可以以许多方式来表征,所述方式包括例如待要执行的计算的复杂度、待要执行的计算的速度以及计算对某些数据的敏感度。此外,在一些情况下,计算要求可以随时间而变化。例如,即使正在进行的过程具有相当稳定的计算要求,这些计算要求也可以在某些时间或在某些事件发生时改变。在这样的情况下,大脑处理单元可以被瞬时地升级以满足需求,并且然后在需求已经减弱之后被返回。
在710处,执行过程700的设备确定大脑处理单元的当前状况是否满足计算要求。不匹配可以沿着计算的一个或多个特性(例如,复杂度、速度或敏感度)在任一方向(即,大脑处理单元可能具有不足的或过多的计算能力)发生。
响应于确定满足计算要求,在715处可以在当前状况下使大脑处理单元运行。响应于确定不满足计算要求,执行过程700的设备可以针对待要执行的计算定制或升级大脑处理单元。
例如,在一些实施方式中,执行过程700的设备可以通过在720处(重新)选择被模仿的目标大脑组织来定制或升级大脑处理单元。例如,在一些实施方式中,可以(重新)选择不同动物或处于不同发育阶段的大脑组织。大脑的认知计算能力取决于大脑的种属和年龄。可以选择模仿不同动物的和处于不同发育阶段的大脑的神经网络来实现期望的认知计算能力。
作为另一个示例,在一些实施方式中,可以(重新)选择大脑的一个不同部分的大脑组织。大脑的不同部分的认知计算能力专门用于不同的认知功能。可以选择模仿大脑的不同部分的神经网络来实现期望的认知计算能力。
作为又一个示例,在一些实施方式中,可以(重新)选择大脑的一部分的大脑组织的量。一个大脑区域的认知计算能力取决于使用了多少子回路以及它们如何互连。可以选择逐渐地模仿大脑的更大部分的神经网络来实现期望的认知计算能力。
作为另一个示例,在一些实施方式中,执行过程700的设备可以通过在725处(重新)选择大脑处理单元的状态来定制或升级大脑处理单元。可以(重新)选择大脑处理单元的神经网络的状态的不同方面。例如,可以(重新)选择网络自发显示的突现(emergent)属性。作为另一个示例,可以(重新)选择网络响应于输入而显示的突现属性。对大脑处理单元的神经网络的状态的(重新)选择可以对大脑处理单元的操作具有各种影响。例如,网络可能响应于输入而适度地或非常强烈地作出响应。作为另一个示例,网络可以根据状态以一定的频率的振荡作出响应。网络可以执行的计算的范围也可能取决于网络的状态。
例如,在一些实施方式中,执行过程700的设备可以通过调制确定突触连接的振幅和动态的参数来(重新)选择大脑处理单元的状态。确定网络的特定类型的节点之间的突触连接的振幅和动态的突触参数可以被差异化地改变,以模仿通过神经调制物(诸如乙酰胆碱、去甲肾上腺素、多巴胺、组胺、血清素以及许多其他)对大脑中的突触的调制。这些控制机制允许模仿诸如警觉、注意、奖励、惩罚和其他大脑状态的状态。每个状态导致大脑处理单元生成具有特定属性的计算。每组属性允许不同的认知计算种类。
作为另一个示例,在一些实施方式中,执行过程700的设备可以通过差异化地更改不同类型的神经元的响应活动来(重新)选择大脑处理单元的状态。这可以调制网络的状态并且控制认知计算种类。
作为又一个示例,在一些实施方式中,执行过程700的设备可以通过在730处定制大脑处理单元的响应来(重新)选择大脑处理单元的状态。大脑处理单元的节点和突触在处理信息时对刺激作出响应。通用的响应可以满足许多任务的需要。然而,专门的任务可能要求特别的响应,诸如特定的振荡形式或所有节点和突触被激活的不同程度。
大脑处理单元的响应属性可以例如:
-在群体水平上被优化,使得优化功能是在输入期间所有神经元的总响应,
-在拓扑水平上被优化,使得优化功能寻求使认知编码器(例如,认知编码器120(图1))构造神经代码所要求的计算的特定种类,
-针对特定任务而被优化,使得优化功能是由认知编码器使用来自动作生成器(例如,动作生成器125(图1))的反馈信号产生的认知算法的性能,
–针对存储器中的信息存储而被优化,使得优化功能将使系统在存储器中保存的关于任何先前输入(例如,一时间序列中的先前时间点或先前数据文件)的信息的量最大化,和/或
–针对预测而被优化,使得优化功能将使对正确预测的后续输入(例如,输入的一时间序列中的后续输入或后续数据文件)的响应最大化。
在针对待要执行的计算定制或升级大脑处理单元之后,执行过程700的设备可以返回到710并且确定大脑处理单元的当前状况是否满足计算要求。响应于确定满足计算要求,在715处可以在当前状况下使大脑处理单元运行。响应于确定不满足计算要求,执行过程700的设备可以进一步定制或升级大脑处理单元。
图8是用于构造诸如例如认知编码器120(图1)的认知编码器的过程800的流程图。过程800可以由执行数据处理活动的一个或多个数据处理设备执行。可以根据一组机器可读指令、一硬件组件或这些和/或其他指令的组合的逻辑来执行过程800的活动。
如上文所讨论的,神经突触计算机系统以不同层级层次组织决策以构造任意复杂的认知算法。认知编码器可以在不同层次处对这些决策进行识别和用神经代码对其进行编码。
更详细地,大脑处理单元使输入经受多种多样的任意复杂的计算,每个所述计算通过每个计算的参数中的任何一个或全部而变得纠缠。这导致具有多维相互依赖性的一系列计算。认知编码器通过设置由拓扑元素执行的计算的期望的属性来构造认知过程,并且寻找一个纠缠计算子集以形成表示目标认知算法的层级神经代码。计算的多维范围由执行基本计算、整合式计算和高阶计算的拓扑元素以及通过设置用于评估这些计算的标准来定义。通过模仿由大脑处理单元的循环网络执行的纠缠过程来实现在总体计算中寻找执行认知功能的该纠缠计算子集。然后该纠缠计算子集被格式化为可以被用于数据存储、传输和计算的层级神经代码。过程800是用于构造这样的认知编码器的过程。
在805处,执行过程800的设备定义认知编码器的拓扑元素。如本文所使用的,拓扑元素是执行计算的大脑处理单元的所选择的离散部件。这些计算可以通过元素之间的拓扑关系在数学上被精确地表示。在稍微简化的情况下,拓扑元素是单个元素,例如单个分子或细胞。单个分子或细胞可以执行可以在数学上表示的计算。例如,一个分子可以在特定位置被释放,或一个细胞可以去极化。释放或去极化可以指示计算的完成并且可以被用来对决策的状态进行编码。
然而,一般而言,拓扑元素是部件的群组,例如,分子网络、所选择的细胞子群组、细胞网络、以及甚至这些群组的群组。例如,互相具有定义的拓扑关系的多个细胞网络可以形成一个拓扑元素。再一次,由这样的群组执行的计算可以通过元素之间的拓扑关系在数学上被表示。例如,一个分子网络的一个模式可以被释放,或一个细胞网络可以以与一个拓扑模式相称的模式去极化。释放或去极化可以指示计算的完成并且可以被用于对决策的状态进行编码。
图9是已经由神经网络中的一个节点和节点组合构造的神经拓扑元素的示意性表示。具体地,在最简单的情况下,单个节点905被定义为神经拓扑元素930。节点905的输出(例如,去极化事件)——并且因此神经拓扑元素930的输出——是整合式决策。
在其他情况下,多个节点的群组910、915、920、925被定义为相应的神经拓扑元素935、940、945.950。每个群组910、915、920、925中的节点可以示出与一个拓扑模式相称的活动(例如,去极化事件)。这样的活动的发生是一个整合式决策,并且指示计算的结果。
在一些情况下,计算的结果(即,神经拓扑元素930、935、940、945、950的输出)是指示已经达到或尚未达到决策的二进制值。在其他情况下,输出可以具有指示决策未完成的中间值。例如,部分值可以指示与一个拓扑模式相称的活动的某一部分已经发生而其他部分尚未发生。仅活动的一部分的发生可以指示由神经拓扑元素表示的计算未完成。
图10是已经由神经网络的不同部件的组合构造的神经拓扑元素的示意性表示。在该示意性表示中,部件1005是神经网络的一个或多个分子的示意性表示。部件1010是神经网络的一个或多个突触的示意性表示。部件1015是神经网络的一个或多个节点的示意性表示。部件1020是神经网络的一个或多个节点回路的示意性表示。
神经拓扑元素1025已经被定义为仅包括分子部件1005。相反,神经拓扑元素1030已经被定义为既包括分子部件1005又包括突触部件1010。神经拓扑元素1035已经被定义为包括突触部件1010、节点部件1015和节点回路部件1020。神经拓扑元素1040已经被定义为包括分子部件1005、突触部件1010、节点部件1015和节点回路部件1020。
不管它们如何被定义,每个神经拓扑元素1025、1030、1035、1040都输出整合式决策,该决策由神经拓扑元素的部件元素做出的层级嵌入决策确定。部件元素的层级嵌入决策可以通过例如释放到一个位置、一个突触处的抑制或兴奋、一个神经元中的活动或一个回路中的活动的一个模式来证明。证明这些决策的活动可以与一个拓扑模式相称。这样的活动的发生是一个整合式决策,并且指示计算的结果。随着一个神经拓扑元素中的部件的复杂度增加,该神经拓扑元素的复杂度增加,并且偶然或无意地(例如,由于自发传输)达成决策的可能性降低。例如,与包括单个节点部件1020的神经拓扑元素相比,包括节点回路部件1020的神经拓扑元素指示不太可能是无意的更复杂的决策和计算。
如之前所述,在一些情况下,计算的结果是指示已经达成或尚未达成决策的二进制值。在其他情况下,输出可以具有指示决策未完成的中间值。
返回到过程800(图8)中的805,在定义拓扑元素时,执行过程800的设备可以为拓扑元素选择大脑处理单元的部件。作为神经突触计算机的一个实施方式的一个示例,大脑处理单元与如下图表相关联:该图表具有与大脑处理单元中的神经元和突触连接相同数目的节点和边缘。如果在两个节点之间存在一个突触连接,该图表中的一个边缘被称为结构边缘。一个边缘的方向由从一个节点到下一个节点的突触传输方向给出。如果一个发送节点根据给定的标准将信息传输到一个接收节点,一个边缘被称为有效边缘。如下文更详细地解释的,所述标准可以被定制以识别用于一个给定的应用程序的中间范围的有效边缘。在任何时刻网络中的有效边缘的子集被一起考虑,以形成功能图表的一时间序列。任何单独的边缘或不止一个边缘的任何组合都可以构成单个拓扑元素。拓扑元素的拓扑结构由边缘的图表关系描述。当根据用于识别有效边缘的标准拓扑元素的构成边缘是有效的时,这些拓扑元素被称为有效的。如下文更详细地解释的,拓扑元素的拓扑结构可以针对用于给定的应用程序的计算的复杂度而被定制。
在810处,执行过程800的设备使这些拓扑单元与计算相关联。如上文所描述的,基本计算的类型和分辨率取决于如何定义有效边缘和拓扑结构。可以通过在符号表示(例如,一系列0、1和中间值)中表征拓扑结构的活动来使由这些拓扑结构定义的拓扑单元与不同的计算相关联。
图11是用于定义拓扑元素(例如,在图8中的805处)和使拓扑单元与计算相关联(例如,在图8中的810处)的过程1100的流程图。过程1100可以由执行数据处理活动的一个或多个数据处理设备执行。可以根据一组机器可读指令、一硬件组件或这些和/或其他指令的组合的逻辑来执行过程1100的活动。
在1105处,执行过程1100的设备设置用于识别有效边缘的标准。一个有效边缘反映一个任意复杂的基本计算的完成以及该结果到一个特定目标节点的通信。
由于响应于来自网络中的其他节点的多个输入而由传输节点生成有效边缘——并且来自所述其他节点的此输入进而是对来自另外其他节点的输入的响应(以此类推)——由每一个有效边缘执行的每一个基本计算原则上是整个网络中的活动的函数。
如上文所讨论的,如果从一个发送节点到一个接收节点的信息传输满足一个或多个标准,一个边缘被称为是有效的。所述标准可以被定制,使得识别中间数目的有效边缘。更详细地,如果用于识别有效边缘的标准过于严格,则没有边缘将被识别为有效的。相反,如果用于识别有效边缘的标准过于宽松,则太多边缘将被识别为有效的。因此,可以针对大脑处理单元的其他参数和待要执行的操作来定制所述标准。实际上,在一些实施方式中,所述标准的设置是一个交互过程。例如,可以响应于指示太少或太多边缘被识别为有效边缘的反馈而随时间调整所述标准。
在1110处,执行过程1100的设备设置用于拓扑元素的拓扑结构。当形成单个拓扑元素的所有边缘都是有效的时,由该拓扑元素执行的整合式计算是完成的。然而,如果仅构成该拓扑元素的边缘的一小部分是有效的,整合式计算是部分完成的。如果一个拓扑元素的所有边缘都不是有效的,整合式计算尚未开始。可以响应于输入而变得有效的该组拓扑元素中的边缘的特定组合定义已完成、部分完成和未开始的整合式计算的范围。因此,整合式计算是由边缘执行的基本计算的函数,并且如上文所讨论的,整合式计算的分辨率通过定制用于将边缘定义为有效边缘的标准来控制。
可以定义各种不同的拓扑结构。可以通过选择构成一个拓扑元素的拓扑结构来控制整合式计算的类型。例如,被定义为单个有效边缘的一个拓扑元素产生一个最低限度地复杂的整合式计算。相反,将拓扑元素定义为一个由一个具有多个有效边缘的节点网络组成的拓扑结构产生一个更复杂的整合式计算。将拓扑元素定义为一个由多个节点网络组成的拓扑结构产生一个又更复杂的整合式计算。
此外,定义的拓扑结构的多样性控制可以从大脑处理单元读取的整合式计算的多样性。例如,如果所有拓扑元素被定义为单个边缘,可能的整合式计算倾向于一致地最低限度的复杂度。另一方面,如果拓扑元素被定义为不同的拓扑结构的混合物,整合式计算的范围变为更加多样的,并且包含异构类型的整合式计算。
在1115处,执行过程1100的设备从大脑处理单元中的边缘接收信号。在1120处,执行过程1100的设备识别其中没有、一些或所有边缘是有效边缘的拓扑元素。在1125处,执行过程1100的设备将拓扑元素的计算指定为已完成、部分完成或未开始。在1130处,执行过程1100的设备输出整合式计算的完成状态的符号描述。
在一些实施方式中,执行过程1100的设备可以输出拓扑元素的列表以及它们的相应的整合式计算的完成状态的相关联的描述。例如,已完成的整合式计算可以被映射到“1”,部分完成的整合式计算可以被映射到在“1”和“0”之间的值——取决于形成拓扑元素的有效边缘的分数,以及尚未被执行的整合式计算可以被映射到“0”。根据此示例映射协定,至大脑处理的输入生成总体整合式计算,并且这些计算中的所选择的计算由从范围为“0”到“1”的值表示。
其他符号可以被映射到计算的完成状态。例如,可以使用一种不同的符号方案来单独地追踪由被用来定义拓扑元素的边缘的特定组合定义的、每种类型的整合式计算的完成。在任何情况下,拓扑单元与计算的关联允许神经突触计算机可以追踪由一组拓扑元素对一组输入数据执行的整合式计算的完成状态。
在815处,执行过程800的设备使这些计算与认知相关联。不同的认知算法由不同的决策组合和这些决策的纠缠产生。因此,与不同的拓扑单元相关联的计算可以被用来组装不同的决策组合的任意复杂的层级结构。此外,这些决策的结果可以以包括一组决策的符号计算机语言的形式被输出。
形成整合式认知操作的一组整合式决策中的整合式决策是相互依赖的。每个整合式决策是有效边缘的一个特定组合的函数。有效边缘各自是大脑处理单元的整个网络的活动的唯一函数。由于由有效边缘执行的基本计算和由拓扑元素执行的整合式计算具有任意复杂度,因此在形成一个整合式认知操作的整合式决策之间存在任意大量的依赖性。在处理输入期间出现的特定依赖性定义整合式决策的特定纠缠状态。如下文进一步讨论的,决策的多个组合或层级层次也是可能的。在处理输入期间在一个层次上的决策之间出现的依赖性具有一个纠缠状态,该纠缠状态定义一个更高层次上的决策。
不必知道由有效边缘执行的基本计算的确切性质,也不必知道由拓扑元素执行的整合式计算。相反,追踪拓扑元素的整合式计算的完成状态和基本计算就足够了。因此,对输入执行的计算是整合式计算的完成状态的一个特定组合。此外,整合式计算的完成状态可以被映射到认知计算的完成状态。可以使用以下设计逻辑来使拓扑元素的整合式计算与认知计算相关联。
一个有效边缘——其定义一个基本计算——还定义由大脑处理单元中的网络达成的一个基本决策。一个基本决策被认为是一个决策的一个基本单元。定义一个整合式计算的一个拓扑元素的有效边缘的一个特定组合也定义一个整合式决策。因此,一个整合式决策由一组基本决策组成。
一个基本决策的状态是一个二进制状态,因为边缘或是有效的,或不是有效的。然而,与一个包括多个部件的神经拓扑元素相关联的一个整合式决策的状态的范围是从0到1,因为它可以取决于神经拓扑元素的部件的基本二进制状态(即,一组“0”和“1”)的分数和组合。
认知的一个单元或一个整合式认知操作被定义为一组整合式决策,即,与一组拓扑元素相关联的一组整合式计算。整合式认知操作的类型由其组成的整合式决策的数目和组合定义。例如,在整合式决策被捕获在拓扑元素的列表和它们相应的整合式计算的完成状态的相关联的描述中的情况下,一个整合式认知操作可以通过组成的整合式决策的一组范围从0到1的值来示意(signal)。
在一些情况下,整合式认知操作可以被量化并且被表征为完成的或未完成的。具体地,未完成的整合式计算(即,以其他方式由在0和1之间的值表征的整合式计算)可以被设置为“0”(例如,被视为未开始)。仅排他地包括已完成的整合式计算(即,排他地包括“1”)的认知操作可以被认为已完成的。
此外,决策的附加组合或层级层次也是可能的。例如,一组整合式认知操作可以定义一个认知功能,并且一组认知功能可以定义系统认知。实际上,在整合式认知操作之间设计的关系定义认知功能的类型,并且在认知功能之间设计的关系定义认知计算的类型。附加组合或层级层次也是可能的。
图12是认知内决策的层级组织1200的示意性表示。强调的是,层级组织1200是一个示例。更多或更少的层次是可能的。此外,计算可以跨层次纠缠。然而,层级组织1200是认知内决策层次的一个例示性示例。
层级组织1200包括基本决策1205、整合式决策1210、基本认知操作1215、整合式认知操作1220、基本认知功能1225、整合式认知功能1230和认知算法1235。
如上文所讨论的,认知编码器可以不同层次处对决策进行识别和以神经代码对其进行编码。神经代码的设计逻辑创建基本决策1205(例如,由有效边缘做出)之间的依赖性,以形成整合式决策1210(由有效的拓扑元素做出)。基本决策1205之间的依赖性可以被称为定义整合式决策1210的纠缠状态。其他纠缠状态定义整合式决策1210之间的依赖性。这些纠缠状态形成基本认知操作1215。其他纠缠状态定义基本认知操作1215之间的依赖性。这些纠缠状态形成整合式认知操作1220。还有其他纠缠状态可以定义整合式认知操作1220之间的依赖性。这些纠缠状态形成基本认知功能1225。还有其他纠缠状态可以定义基本认知功能1225之间的依赖性。这些纠缠状态形成整合式认知功能1230。还有其他纠缠状态可以定义整合式认知功能1230之间的依赖性。这些纠缠状态形成认知算法1235。随着沿着层级结构向上移动得更高,被达成的决策的复杂度增加。
因此,在神经突触计算中,纠缠创建每个层次处的依赖性,即,对紧接较低处理层次的直接依赖性和对所有其他较低层次的间接依赖性。例如,整合式认知功能1230由对基本认知功能1225的直接依赖和对整合式认知操作1220、基本认知操作1215、整合式决策1210,以及在最低层次处、在由有效边缘做出的基本决策1205之间的间接依赖形成。
在整合式决策1210被量化使得“1”示意完成的决策并且“0”示意部分和/或不存在的决策的情况下,单组“0”和“1”可以表示完成的认知算法1235。这样的单组“0”和“1”形成一神经代码符号语言,该神经代码符号语言示意在多个层次内和跨多个层次的计算的完成状态以及纠缠状态。
图13是用于构造神经代码的过程1300的流程图。过程1300可以由执行数据处理活动的一个或多个数据处理设备执行。可以根据一组机器可读指令、一硬件组件或这些和/或其他指令的组合的逻辑来执行过程1300的活动。
在1305处,执行过程1300的设备计算并且分析表示大脑处理单元的结构的结构图表。例如,可以通过在大脑处理单元中的任何两个互连节点之间分配一个双向边缘来构造一个无向图表(undirected graph)。可以将边缘的方向看作是任何两个节点之间的传输方向来构造一个有向图表(directed graph)。在不存在输入的情况下,大脑处理单元中的所有边缘都被考虑,并且该图表被称为结构图表。可以分析结构图表以计算存在于结构有向图表中的所有有向单纯形以及结构有向图表的单纯复形(simplicial complex)。如果需要,可以计算其他拓扑结构、拓扑度量和一般图表度量。拓扑结构的示例包括最大单纯形、循环、立方体等。拓扑度量的示例包括欧拉示性数(Euler characteristic)。一般图表度量的示例包括入度和出度、聚类、集线器(hub)、社区等。
在1310处,执行过程1300的设备定义有效边缘。如上文所讨论的,被用来定义有效边缘的特定标准设置形成基本决策的计算的类型和精度。这进而设置构造神经代码的计算中包含的计算类型。
可以被用来定义有效边缘的一类标准是因果关系标准(causality criteria)。因果关系标准的一个示例要求——对于一个待被认为是有效的边缘——由一个节点生成一个尖峰,信号被传输到一个接收节点,并且在该接收节点中成功生成一个响应。在该接收节点中生成的响应可以是例如不生成尖峰的阈下响应和/或确实生成尖峰的阈上响应的存在。这样的因果关系标准可以具有附加的要求。例如,可以设置在其内响应必须发生的时间窗。这样的时间窗控制包括在由一个有效边缘示意的基本决策中的计算的复杂度。如果用于因果关系的时间窗减小,由接收节点执行的计算被限制于接收节点执行其计算的较短时间。相反,较长的时间窗允许节点接收和处理来自其他发送节点的更多输入,并且有更多时间对输入执行计算。因此,时间窗变得越长,具有较长的时间窗的计算——和所达到的决策——就倾向于是越复杂的。
可以被用来定义有效边缘的另一类标准是巧合标准(coincidence criteria)。巧合标准的一个示例要求——对于一个被认为是有效的边缘——发送节点和接收节点都必须在一个给定的时间窗内出现尖峰,而不限制哪个节点首先出现尖峰。用于识别巧合接收节点尖峰的时间窗的时间安排(timing)和持续时间设置巧合标准的严格性。在发送节点的尖峰之后立即发生的短时间窗表示用于将尖峰认为巧合的相对严格的条件。实际上,满足巧合标准的有效边缘指示该网络正在由时间窗的持续时间给定的频带内振荡。
可以被用来定义有效边缘的另一类标准是振荡标准。振荡标准的一个示例要求——对于一个被认为是有效的边缘——由不同的边缘或不同类型的边缘满足多个巧合标准。有效边缘之间的此联合行为(joint behavior)指示该网络正在以由时间窗定义的频带振荡。
在一些实施方式中,不同的因果关系标准、巧合标准和振荡标准可以被应用于不同的边缘和/或不同种类和类型的边缘。
在1315处,执行过程1300的设备分配符号以表示有效的拓扑元素。例如,如果拓扑元素的所有边缘都是有效的,可以将“1”分配给一个拓扑元素,如果没有任何边缘是有效的,可以分配“0”,并且可以分配在1和0之间的一个分数以指示有效边缘的分数。替代地,对于部分有效的拓扑元素,可以分配一个指示有效边缘的特定组合的数字。例如,可以使用二进制系统为一序列有效边缘/非有效边缘(例如“01101011”)分配一个值)。
在一些实施方式中,有效的拓扑元素的表示可以被量化。例如,只有当拓扑元素中的所有部件都是有效的时,才能够将一个“1”分配给一个拓扑元素。如果没有或只有一些部件是有效的,分配一个“0”。
在1320处,执行过程1300的设备构造大脑处理单元的功能图表。例如,可以通过将大脑处理单元响应于输入的操作划分为时间箱来构造功能图表。使用结构图表,只能在每个时间箱中具有有效边缘的节点才可以被连接,从而创建功能图表的一个时间序列。对于每个这样的功能图表,可以对结构图表执行在1305处执行的相同拓扑分析。在一些实施方式中,拓扑元素可以跨时间统一。在一些实施方式中,对使用以上方案指导计算有用的全局图表度量或元信息可以与功能图表相关联。
在任何情况下,使用这样的功能图表,可以输出表示有效的和非有效的神经拓扑结构的符号的集合(例如,“1”和“0”——具有或不具有中间实数以指示部分有效的神经拓扑结构)。在一些实施方式中,输出也可以包括图表的拓扑结构的全局度量和关于构造功能图表的方式的元数据。
在1325处,执行过程1300的设备可以使大脑处理单元的整合式决策纠缠。一般而言,大脑处理单元将是如此之大以至于它达到大量的决策。对这些决策的单独考虑通常将证明是棘手的。决策的纠缠选择在输入数据的处理中涉及最多的决策的一个子集。
一般而言,执行过程1300的设备将选择用于纠缠的决策的一个子集。所选择的子集将包括与一个特定输入数据集的处理和待要实现的认知最相关的决策。在一个数据集中的每个文件的输入期间,可以根据相关的决策的激活模式来选择相关的决策。例如,一个拓扑元素在单个输入的处理期间和跨一个输入数据集有效的次数是该拓扑元素的相关性的指示。可以构造不同的决策的激活频率的直方图,并且可以基于这些频率选择决策。例如,可以在构造用于异常检测的认知算法中使用仅对于该数据集的一小部分有效的决策。
作为另一个示例,可以基于层级结构或激活频率的分箱(binning)来选择决策。例如,可以选择在跨数据集的一个频率箱中变得有效的决策(例如,10%的整合式决策对于一个输入数据集中的95%的输入是有效的,20%的整合式决策对于一个输入数据集中的70%%的输入是有效的,50%的整合式决策对于一个输入数据集中的50%的输入是有效的)。
作为另一个示例,可以基于全局图表度量来选择决策。例如,如果选择由熵优化目标驱动,则仅选择跨输入50%有效的决策。作为另一个示例,可以检测和选择在特定时刻有效的决策,其为一特定模式,诸如贝蒂数的模式。
在对用于纠缠的决策的子集进行任何选择之后,执行过程1300的设备可以使这些决策纠缠。具体地,可以在层级结构中的每个层次处选择所选择的决策的另一些子集。
例如,在一些实施方式中,纠缠可以将认知算法分解为从最高层次到最低层次的功能和操作的层级结构。每个功能和操作可以被进一步分解为子功能和子操作的层级结构。不管特定层次的细节,整合式决策的分解开始于层级结构的最高层次,向下进行到层级结构的最低层次。
为了分解认知算法,执行过程1300的设备可以选择决策的层级结构中的最高目标层次。例如,当如图12中所示出的那样组织层级结构时,可以选择认知算法的已完成的决策(例如,图12,1235)。向下的下一个层次的每个整合式决策(例如,图12中的每个认知功能1230)在层级结构中的最高目标层次中就其关于此决策的信息内容被单独评估。可以构造一个决策列表并且将其从最高信息内容到最低信息内容进行排序。可以为最高目标层次中的其他决策构造其他排序列表。
执行过程1300的设备然后可以通过从所述列表中选择整合式决策并且测试它们在层级结构中的最高目标层次中的决策上的集体性能来将向下的下一个层次的整合式决策决策添加到另一个子集。当向下的下一个层次的每个整合式决策的性能增加降低到低水平时(即,当每个附加的整合式决策的性能的改变降低时),不需要向子集添加另一些整合式决策。
已经为决策的层级结构中的此第一最高目标层次找到的向下的下一个层次的整合式决策然后作为输入被提供,以约束对在向下的下一个层次中的决策的进一步选择,并且构造层级结构的第二目标层次。在就关于此第二目标层次的信息内容进行评估之后,可以选择来自第二目标层次的附加的整合式决策。因此,为层级结构的第一目标层次和第二目标层次找到的整合式决策的子集被用作初始子集,该初始子集约束为层级结构的第三层次选择整合式决策的另一个子集。这继续直到已经为决策的层级结构的所有层次选择了整合式决策。
在图12的层级结构的上下文中,可以重复使整合式决策纠缠的过程以使基本认知功能1225、整合式认知操作1220以及基本认知操作1215和整合式决策1210纠缠。在整合式决策是二进制的的情况下,在层级结构的每个层次处的整合式决策的子集是数目增加以形成认知算法的一个位集合。决策的子集被称为神经代码。
在一些实施方式中,可以在每个层次处对子集的顺序做出二进制决策,以产生对认知算法进行编码的较小的最终位子集。
图14是用于在图12中所示出的层级组织1200的上下文中构造层级神经代码的过程的示意性表示。选择认知算法1235作为初始最高目标层次。在整合式认知功能1230的层次处的整合式决策是基于它们的相对于所选择的认知算法1235的信息内容选择的。在整合式认知功能1230的层次处的这些整合式决策然后形成目标层次,并且在基本认知功能1225的层次处的整合式决策是基于它们的相对于在整合式认知功能1230的层次处的整合式决策的信息内容选择的。此过程继续,直到选择在整合式决策1210的层次处的整合式决策。
图15是用于将神经代码解码为其目标输出的过程1500的一个示例。过程1500可以由执行数据处理活动的一个或多个数据处理设备执行。可以根据一组机器可读指令、一硬件组件或这些和/或其他指令的组合的逻辑来执行过程1500的活动。例如,过程1500可以由作为动作生成器125(图1)的动作生成器执行以读取和转化神经代码,使得可以执行由神经代码编码的认知功能。
执行过程1500的动作生成器或其他设备被构造为反转被用来构造层级神经代码的纠缠算法并且使由大脑处理单元做出的决策的层级结构解纠缠。解纠缠中的每个步骤可以由任何数目的机器学习模型执行或在一些情况下可以由分析公式执行。
如所示出的,神经代码1505被接收并且在1510处被输入到机器学习模型1515、1520、1525、1530、1535中,每个机器学习模型已经被训练以处理神经代码的一个相关的层级层次H1、H2、H3、H4的符号。在层级组织1200(图12)的上下文中,机器学习模型1515、1520、1525、1530、1535中的每个可以被训练以处理整合式决策1210、基本认知操作1215、整合式认知操作1220、基本认知功能1225、整合式认知功能1230或认知算法1235中的相应的一个。在一些实施方式中,来自在一个层级层次(例如,较低层次)处的机器学习模型的输出可以向在另一个层级层次(例如,较高层次)处的机器学习模型提供输入。这样的输入由互连1515、1520、1525、1530、1535的虚线示意性地表示。
在所例示的实施方式中,神经代码1505被示出为二进制“1”和“0”的集合,二进制“1”和“0”各自表示一个神经拓扑结构是有效的还是非有效的。在其他实施方式中,可以使用符号或实数。
此外,不是机器学习模型的集合,而是大脑处理单元的网络可以被用来将神经代码解码为其目标输出。
在另外的其他实施方式中,神经代码的层级元素可以被映射到一个图表,并且图表信号处理方法可以被应用以将神经代码解码为其目标输出。这样的图表信号处理方法的示例包括图表卷积神经网络。例如,解纠缠可以被实施为一个图表,其中节点是机器学习模型并且边缘是从其他机器学习模型接收的输入。
由执行过程1500的动作生成器或其他设备提供的解码可以是原始输入数据的无损重新构造或期望水平的压缩的有损重新构造。解码还可以提供各种程度的加密,其中安全水平可以通过输出中的冲突概率来量化。这样的动作生成器或其他设备也可以被设计为对输入数据执行任意复杂的数学运算,并且为人工智能应用提供一系列认知输出。
图16是诸如学习适配器130(图1)的学习适配器1600的示意性表示。如上文所讨论的,学习适配器生成器被配置为优化神经突触计算机的部件中的每个的超参数。学习适配器从所述部件中的每个接收超参数,使用特定于部件的学习算法来优化超参数,并且将超参数返回到该部件。
学习适配器1600的所例示的示例包括数据学习器1605、感觉学习器1610、大脑处理单元学习器1615、认知学习器1620和动作学习器1625。数据学习器1605被配置为在数据被发送到感觉编码器之前由环境生成器优化对数据的搜索、预处理和组织。感觉学习器1610被配置为教导感觉编码器改变数据的编码以适应计算任务并且削弱一些输入信道并且加强其他输入信道。大脑处理单元学习器1615被配置为允许大脑处理单元通过引导突触对输入最佳地作出响应来学习执行计算任务。大脑处理单元学习器1615还可以在内部校准大脑处理单元的突触和神经元设置,以改进大脑处理单元的对未来输入的预测。例如,大脑处理单元学习器1615可以构造待要由大脑处理单元执行的一系列期望的计算。认知学习器1620被配置为允许大脑处理单元通过适配提供认知算法所要求的最相关的一组计算/决策的算法来学习执行计算任务。动作学习器1625被配置为允许动作生成器自动搜索新的图表配置,以用于使用于认知算法的计算/决策纠缠。数据学习器1605、感觉学习器1610、大脑处理单元学习器1615、认知学习器1620和动作学习器1625中的每个的中央设计属性是生成对未来结果的预测的能力。
数据学习器1605、感觉学习器1610、大脑处理单元学习器1615、认知学习器1620和动作学习器1625中的每个输出一个用于优化神经突触计算机的相关部件的超参数的相应的信号1630。数据学习器1605、感觉学习器1610、大脑处理单元学习器1615、认知学习器1620和动作学习器1625中的每个接收来自其他部件的超参数1635作为输入,以用于优化相关部件的超参数。
在操作中,学习适配器1600可以被赋予各种目标功能,诸如,例如,使神经代码中的位的数目最小化以进行最佳数据压缩,实现高水平的加密,实现无损压缩,实现数据的特定数学变换,或实现特定的认知目标输出。
神经突触计算机的操作因此可以包括设置神经突触计算机的每个部件的超参数。这样的超参数设置在神经突触计算机中执行如下功能:该功能类似于由常规计算中的编程范例和模型执行的功能。此外,可以针对需要被执行以操作神经突触计算机的多样的计算来专门优化硬件基础设施和软件。
如上文所讨论的,一系列步骤和部件可以是神经突触计算机的一部分。这些包括:用于将数据录入到神经突触计算机(类似于感觉系统)内的编码方案、可以产生大并且多样的总体计算的架构(例如,循环人工神经网络BPU)、用以选择和连接这些计算的一个子集以构造认知过程的过程(认知系统)、用以解释经编码的认知过程的过程(动作系统)和用以提供优化和自学习的系统(学习系统)。循环人工神经网络大脑处理单元在神经网络的对输入的响应期间生成一系列计算。大脑处理单元可以是尖峰或非尖峰循环神经网络,并且可以被实施在数字计算机上或被实施在专用硬件中。原则上,神经突触计算机可以被用作通用计算机或任何数目的不同专用计算机,诸如人工智能(AI)计算机或人工通用智能(AGI)计算机。
神经突触计算机的计算范例使用基本决策的层级结构,该层级结构被组织成整合式决策的层级结构、认知操作的层级结构和认知功能的层级结构以产生认知算法。该过程开始于被纠缠以捕获由拓扑元素执行的基本计算的基本决策。使基本决策纠缠以构造整合式决策。在相继的层级结构中使整合式决策纠缠以构造任意复杂的认知算法。
原则上,可以在可以从大脑计算单元的最小的部件(例如分子)到更大的部件(例如神经元、小神经元群组)到甚至更大的部件(例如形成大脑计算单元的区、大脑计算单元的区或完整的大脑计算单元的大神经元群组)定义拓扑元素的任何层次处做出整合式决策。计算范例的最简单版本是拓扑元素被定义为相同类型的部件(例如神经元)的网络的情况,而范例的最复杂版本是拓扑元素被定义为不同部件(例如分子、神经元、神经元群组、不同大小的神经元群组)的网络的情况。拓扑元素之间的连接允许驱动称为纠缠的过程的关联。拓扑元素之间的循环连接性(例如,在最简单情况下在神经元之间以及在更复杂情况下在分子、神经元和神经元群组之间)指定它们的关联,并且因此指定如何可以使整合式决策纠缠以形成认知过程以及如何可以使这些整合式认知过程纠缠。
整合式决策是由任何拓扑元素执行的计算的任何可测量的输出。例如,在整合多个阈下输入(例如,突触响应)之后生成的阈上二进制尖峰(即,动作电位)是可测量的输出。因此,一个尖峰可以被认为是一个整合式决策。任何一个神经元群组的任何一个尖峰组合也可以被认为是一个整合式决策。
拓扑元素——由输入直接激活和/或由其他响应拓扑元素间接激活——在处理输入时产生作为时间的函数的一系列计算。该一系列计算的最大大小由拓扑元素的数目确定。任何一个神经网络都生成从一致的到最大多样的变动的一系列计算。如果由拓扑元素执行的计算是相同的,该一系列计算被称为是一致的。另一方面,如果由每个拓扑元素执行的计算是不同的,该一系列被称为是多样的。由一个拓扑元素执行的计算的复杂度由其结构和功能属性的复杂度确定。例如,具有复杂的树突分枝并在其分枝上具有一个给定的非线性离子信道组合的神经元节点执行相对复杂的计算。另一方面,具有最小限度的树突分枝和仅生成尖峰所要求的非线性离子信道的神经元节点执行较简单的计算。
由拓扑元素执行的计算的复杂度还取决于时间。一般而言,据说任何一个整合式计算的复杂度作为拓扑元素的部件交互所允许的时间的函数朝向峰值复杂度演进,该时间的函数进而是部件类型、它们的交互的性质和它们的交互的时间常数的函数。可以在计算复杂度的此演进的任何一个阶段处做出决策,从而终止在形成整合式决策中所涉及的计算的复杂度的进一步演进。
在拓扑元素的结构和功能属性定量地变化的情况下,据说它们在相同种类的计算中产生计算的变体。另一方面,在拓扑元素的结构和功能属性定性地变化的情况下,据说它们产生不同种类的计算。一系列计算的性质可以在如下过程中被设计:该过程包括通过选择具有定性地不同的结构和功能属性的拓扑元素来选择计算种类的数目、通过引入相同种类的拓扑元素的多个表示来设置每个种类的大小、通过选择相同种类内的拓扑元素的变体来在一个种类的计算内引入计算中的变体、以及通过选择每个种类内的拓扑元素的多个代表来设置一个种类内的多样性。
神经突触计算不依赖于知识或甚至不依赖于得到由拓扑元素执行的计算的性质的能力。相反,神经突触计算基于如下前提,即以此方式定义的计算足够精确以形成整合式决策。然后由此断定,一系列计算等同于响应于输入而做出的一系列整合式决策。
任何一个整合式决策的性质只能通过其与其他整合式决策的关联来定义。拓扑元素、整合式计算和整合式决策通过网络的循环连接性相关联。关联定义由拓扑元素执行的计算可以变得与由其他拓扑元素执行的其他计算纠缠的所有方式——即,一个拓扑元素的可能纠缠状态的数目。变得纠缠相当于从由另一个拓扑元素执行的计算中开发一个因变量输入。依赖性可以是任意复杂的。任何一个拓扑元素的纠缠状态在处理输入期间做出决策的每一个时刻都被定义,并且在决策之间纠缠状态是未定义的、不确定的。任何一个拓扑元素的不同纠缠状态的数目都是非常大的,因为在循环网络的环路特性中存在大量环路。纠缠状态的数目也是达到整合式决策所要求的时间(例如,在一个拓扑元素被定义为单个神经元的情况下,神经元在输入之后出现尖峰所花费的时间,或在一个拓扑元素被定义为一个神经元群组的情况下出现一个特定尖峰序列所花费的时间)的函数。
一旦一个拓扑元素已经做出一个决策,据说计算已经完成。计算达到完成的时间被称为整合式决策时刻。在做出一组整合式决策时,正对输入作出响应的大脑处理单元做出整合决策。做出一组整合式决策的这样的时间可以被称为整合式认知时刻。认知时刻定义在对神经网络的模拟期间对输入的认知处理。
当做出一个整合式决策时,一个拓扑元素的纠缠状态被定义。一个拓扑元素的可能纠缠状态的种类也受网络中的一个拓扑元素的位置约束,其中该位置由一个拓扑元素与该网络中的所有其他拓扑元素的连接性定义。如果每个拓扑元素唯一地连接到所有其他拓扑元素,拓扑元素的位置——并且因此拓扑元素的纠缠状态的种类——据说是最大限度地多样性的。连接性趋于一致的简单的网络拓扑因此产生具有趋于一致的纠缠状态种类的拓扑元素,而更复杂的网络拓扑产生具有更多样的纠缠状态种类的网络。
计算范围的大小和多样性以及纠缠状态的种类的数目确定神经突触计算机的计算能力。假设计算范围是足够大的并且计算种类和纠缠状态种类是足够多样的,存在可以模仿任何认知过程并且因此实现通用认知计算的纠缠状态和计算的子集。
选择形成认知过程的拓扑元素的集合的过程是优化功能,该优化功能寻找在认知过程中所涉及的一个小决策子集。优化功能通过寻找形成整合式认知过程的正在做出的小决策子集开始。寻找到的拓扑元素然后被用作选择附加的拓扑元素以构造认知过程中的层级约束,并且此拓扑元素集合进而被用作选择仿效认知过程的又一个拓扑元素子集的约束。此纠缠过程可以被称为拓扑纠缠算法。
为了实际地利用此理论进行计算,由拓扑元素做出的整合式决策被分配一个符号值。在最简单的实施方式中,单个位被用来指示是(“1”)否(“0”)已经做出一个整合式决策。这些位可以被称为神经位(nBit)。可以从总体nBit中选择一个nBit集合以表示整合式认知过程。最终的层级nBit集合被称为用于进行认知的神经代码。在其他实施方式中,整合式决策由实数(nNum)表示,以指示由拓扑元素做出决策时的程度和/或置信度。例如,可以分配在被选择作为一个拓扑元素的一个神经元群组中出现尖峰的神经元的分数,以反映做出一个决策的概率。在另一个实施方式中,神经代码由表示所做出的决策的nBit和nNum的混合物组成。并且在另一个实施方式中,一组元数据值(诸如描述反映跨网络决策的全局特征的全局图表属性的元数据值)被用作约束来指导对做出相关决策并且因此在构造神经代码中的拓扑元素的层级选择。元数据也可以被添加到神经代码,以便于一组认知过程、整合式认知过程和整合式决策的解纠缠。
可以通过概括纠缠算法来使神经代码解纠缠以产生输出或动作。在一个实施方式中,一组机器学习模型(第一层次模型)被应用于神经代码并且被训练以对整合式认知过程进行解码,然后另一组机器学习模型(第二层次模型)被应用于神经代码并且第一层次模型的输出也被用来对认知过程进行解码,并且然后另一组机器学习模型(第三层次模型)被应用于神经代码,第一层次模型和第二层次模型的输出被附加地用来对认知过程进行解码。此解纠缠可以被实施为一个图表,其中节点是机器学习模型并且边缘是从其他机器学习模型接收的输入。这允许任意复杂的解纠缠算法。一个替代实施方式是学习被用于使神经代码解纠缠的图表。另一个实施方式是将分析公式应用于解纠缠的每个阶段的情况。输出被称为动作,并且由原始输入的重新构造、原始输入的任何数目的数学变换函数的构造以及任何数目的认知输出组成。
本说明书中所描述操作和主题的实施方案可以模拟、数字或混合信号电子电路实施,或以计算机软件、固件或硬件——包括本说明书中所公开的结构以及其结构等同物——实施,或以它们中的一个或多个的组合实施。本说明书中所描述的主题的实施方案可以被实施为一个或多个计算机程序,即,计算机程序指令的一个或多个模块,所述一个或多个计算机程序被编码在计算机存储介质上以用于由数据处理装置执行或以控制数据处理装置的操作。可选地或附加地,程序指令可以被编码在人工生成的传播信号(例如,机器生成的电信号、光信号或电磁信号)上,所述传播信号被生成以编码信息以用于传输到合适的接收器装置以用于由数据处理装置执行。计算机存储介质可以是计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备或它们中的一个或多个的组合或被包括在其中。此外,虽然计算机存储介质不是传播信号,但是计算机存储介质可以是被编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质还可以是一个或多个单独的物理部件或介质(例如,多个CD、盘(disk)或其他存储设备)或被包括在其中。
本说明书中所描述的操作可以被实施为数据处理装置对存储在一个或多个计算机可读存储设备上的或从其他源接收的数据执行的操作。
术语“数据处理装置”包含用于处理数据的所有种类的装置、设备和机器,通过示例的方式包括可编程处理器、计算机、片上系统或前述中的多个或前述的组合。该装置可以包括模拟电路、混合信号电路或专用逻辑电路,例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路)。除硬件之外,该装置还可以包括为所讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或它们中的一个或多个的组合的代码。该装置和执行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。
计算机程序(也被称为程序、软件、软件应用程序、脚本或代码)可以任何形式的编程语言——包括编译或解释语言、声明性或过程性语言——编写,并且它可以任何形式被部署,包括作为独立的程序或作为模块、部件、子例程、对象或适合在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序可以被存储在保存其他程序或数据的文件的一部分(例如,存储在标记语言文档中的一个或多个脚本)、专用于所讨论的程序的单个文件或多个协调文件(例如,存储一个或多个模块、子程序或代码的部分的文件)中。
计算机程序可以被部署以在一个计算机上被执行或在位于一个站点或分布在多个站点并且通过通信网络互连的多个计算机上被执行。
本说明书中所描述的过程和逻辑流可以由一个或多个可编程处理器执行,所述一个或多个可编程处理器执行一个或多个计算机程序以通过对输入数据操作并且生成输出来执行动作。过程和逻辑流也可以由专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))执行,并且装置也可以被实施为专用逻辑电路(例如,FPGA(现场可编程门阵列)或ASIC(专用集成电路))。
适合于执行计算机程序的处理器通过示例的方式包括通用和专用微处理器二者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器和用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘),或被操作性地耦合以从用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)接收数据,或将数据传送到用于存储数据的一个或多个大容量存储设备(例如,磁盘、磁光盘或光盘)或二者。然而,计算机不必具有这样的设备。此外,计算机可以被嵌入在另一个设备(例如,移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或便携式存储设备(例如,通用串行总线(USB)闪盘驱动器)中,仅举几例。适合于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,通过示例的方式包括半导体存储器设备,例如,EPROM、EEPROM和闪存设备;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;和CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,本文所描述的主题的实施方案可以在具有用于向用户显示信息的显示设备(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)和用户可以向计算机提供输入所通过的键盘和定点设备(例如,鼠标或追踪球)的计算机上实施。也可以使用其他种类的设备来允许与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且可以任何形式接收来自用户的输入,包括声学、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从网络浏览器接收的请求而向用户的客户端设备上的网络浏览器发送网页。
尽管本说明书包含许多具体实施细节,但是这些细节不应被解释为对任何发明或可能要求保护的内容的范围的限制,而是应被理解为对特定于具体实施方案的特征的描述。在单独的实施方案的上下文中描述的某些特征也可以在单个实施方案中组合实施。相反地,在单个实施方案的上下文中描述的多个特征也可以在多个实施方案中单独地或以任何合适的子组合实施。此外,尽管上文可以将特征描述为以某些组合起作用并且甚至这样最初要求保护,但是在一些情况下可以从组合删除来自所要求保护的组合的一个或多个特征,并且所要求保护的组合可以指向子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描述了操作,但是这不应被理解为要求以所示出的特定顺序或以连续顺序执行这样的操作,或要求执行所有所例示的操作以获得期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上文所描述的实施方案中的多种系统部件的分离不应被理解为在所有实施方案中都要求这样的分离,并且应理解,所描述的程序部件和系统通常可以在单个软件产品中集成在一起或被打包成多个软件产品。
因此,已经描述了主题的具体实施方案。其他实施方案在随附的权利要求书的范围内。

Claims (25)

1.一种读取包括多个节点和边缘的人工循环神经网络的输出的方法,所述边缘连接所述节点,所述方法包括:
识别一个或多个相对复杂的根拓扑元素,每个所述相对复杂的根拓扑元素包括所述人工循环神经网络中的所述节点和边缘的一个子集;
识别多个相对较简单的拓扑元素,每个所述相对较简单的拓扑元素包括所述人工循环神经网络中的所述节点和边缘的一个子集,其中识别的相对较简单的拓扑元素与所述相对复杂的根拓扑元素中的至少一个处于层级关系;
生成数字的集合,其中所述数字中的每个表示所述相对复杂的根拓扑元素和所述相对较简单的拓扑元素中的一个相应的拓扑元素在一个窗期间是否是有效的;以及
输出所述数字的集合。
2.根据权利要求1所述的方法,其中识别所述相对复杂的根拓扑元素包括:
当所述循环神经网络在对输入作出响应时,确定所述相对复杂的根拓扑元素是有效的。
3.根据权利要求1或2所述的方法,其中识别与所述相对复杂的根拓扑元素处于层级关系的所述相对较简单的拓扑元素包括:
将输入数据集输入到所述循环神经网络中;以及
确定所述相对较简单的拓扑元素的活动或不活动与所述相对复杂的根拓扑元素的活动相关。
4.根据权利要求1至3中任一项所述的方法,还包括定义用于确定一个拓扑元素是否是有效的标准,其中用于确定所述拓扑元素是否是有效的标准基于包括在所述拓扑元素中的节点或边缘的活动。
5.根据权利要求1至4中任一项所述的方法,还包括定义用于确定所述人工循环神经网络中的边缘是否是有效的标准。
6.根据权利要求1至5中任一项所述的方法,其中识别与所述相对复杂的根拓扑元素处于层级关系的所述相对较简单的拓扑元素包括:将所述相对复杂的根拓扑元素分解为拓扑元素的集合。
7.根据权利要求6所述的方法,其中识别与所述相对复杂的根拓扑元素处于层级关系的所述相对较简单的拓扑元素包括:
形成所述相对复杂的根拓扑元素被分解成的拓扑元素的列表;以及
将所述列表从所述拓扑元素中的最复杂的拓扑元素到所述拓扑元素中的最不复杂的拓扑元素排序;以及
从所述拓扑元素中的最复杂的拓扑元素开始,基于关于所述相对复杂的根拓扑元素的信息内容,从所述列表中选择用于在所述数字的集合中表示的所述相对较简单的拓扑元素。
8.根据权利要求7所述的方法,其中从所述列表中选择用于在所述数字的集合中表示的所述拓扑元素中的更复杂的拓扑元素包括:
确定从所述列表中选择的所述相对较简单的拓扑元素是否足以确定所述相对复杂的根拓扑元素;以及
响应于确定从所述列表中选择的所述相对较简单的拓扑元素足以确定所述相对复杂的根拓扑元素,不从所述列表中选择另外的相对较简单的拓扑元素。
9.至少一种计算机可读存储介质,其被编码有可执行指令,所述可执行指令在由至少一个处理器执行时使所述至少一个处理器执行包括根据权利要求1至8中任一项所述的方法的操作。
10.一种读取包括多个节点和边缘的人工循环神经网络的输出的方法,所述边缘形成所述节点之间的连接,所述方法包括:
定义待要从所述人工循环神经网络读取的计算结果,其中定义所述计算结果包括:
定义用于确定所述人工循环神经网络中的所述边缘是否是有效的标准,以及
定义多个拓扑元素,每个所述拓扑元素包括所述人工循环神经网络中的所述边缘的一个真子集,以及
定义用于确定所定义的拓扑元素中的每个是否是有效的标准,其中用于确定所定义的拓扑元素中的每个是否是有效的所述标准基于包括在所定义的拓扑元素中的相应的拓扑元素中的边缘的活动,
其中一个有效的拓扑元素指示已完成一个对应的计算结果。
11.根据权利要求10所述的方法,还包括:从所述人工循环神经网络读取完成的计算结果。
12.根据权利要求11所述的方法,还包括:从所述人工循环神经网络读取未完成的计算结果,其中读取一个未完成的计算结果包括读取包括在所述拓扑元素中的一个对应的拓扑元素中的所述边缘的活动,其中所述边缘的所述活动不满足用于确定所述拓扑元素中的所述对应的拓扑元素是有效的标准。
13.根据权利要求11或12所述的方法,还包括:估计一个计算结果的完成百分比,其中估计所述完成百分比包括确定包括在所述拓扑元素中的一个对应的拓扑元素中的所述边缘的有效分数。
14.根据权利要求10至13中任一项所述的方法,其中用于确定所述人工循环神经网络中的所述边缘是否是有效的所述标准包括:对于一个给定的边缘要求:
由连接到该边缘的一个节点生成的一个尖峰;
所述尖峰由所述边缘传输到一个接收节点;以及
所述接收节点生成对传输的尖峰的响应。
15.根据权利要求14所述的方法,其中用于确定所述人工循环神经网络中的所述边缘是否是有效的所述标准包括一个时间窗,在所述时间窗中将生成和传输所述尖峰并且所述接收节点将生成所述响应。
16.根据权利要求10至13中任一项所述的方法,其中用于确定所述人工循环神经网络中的所述边缘是否是有效的所述标准包括一个时间窗,在所述时间窗中,两个节点通过边缘尖峰连接,而不管所述两个节点中哪个首先出现尖峰。
17.根据权利要求10至16中任一项所述的方法,其中用于确定所述人工循环神经网络中的所述边缘是否是有效的不同标准被应用于所述边缘中的不同的边缘。
18.根据权利要求10至17中任一项所述的方法,其中定义待要从所述人工循环神经网络读取的计算结果包括构造所述人工循环神经网络的功能图表,包括:
定义时间箱的集合;
创建所述人工循环神经网络的多个功能图表,其中每个功能图表仅包括在所述时间箱中的一个相应的时间箱内有效的节点;
基于所述人工循环神经网络的所述功能图表中的所述边缘中的有效边缘来定义所述多个拓扑元素。
19.根据权利要求18所述的方法,还包括:将在所述功能图表中的第一功能图表中定义的第一拓扑元素与在所述功能图表中的第二功能图表中定义的第二拓扑元素组合,其中所述功能图表中的所述第一功能图表和所述第二功能图表包括在所述时间箱中的不同时间箱内有效的节点。
20.根据权利要求18或19所述的方法,还包括:在所述计算结果中包括一个或多个全局图表度量或元信息。
21.根据权利要求10至20中任一项所述的方法,其中定义待要从所述人工循环神经网络读取的所述计算结果包括:
基于每个拓扑元素在处理单个输入期间和跨一个输入数据集是有效的次数,选择待要从所述人工循环神经网络读取的所述多个拓扑元素的一个真子集。
22.根据权利要求21所述的方法,其中选择所述多个拓扑元素的所述真子集包括:选择所述拓扑元素中的对于仅所述输入数据集的一小部分是有效的第一拓扑元素,并且将所述拓扑元素中的所述第一拓扑元素指定为指示异常。
23.根据权利要求21所述的方法,其中选择所述多个拓扑元素的所述真子集包括:选择拓扑元素以确保所述真子集包括对于所述输入数据集的不同小部分是有效的拓扑元素的一个预定义分布。
24.根据权利要求10至20中任一项所述的方法,其中定义待要从所述人工循环神经网络读取的所述计算结果包括:
基于所述拓扑元素的层级布置,选择待要从所述人工循环神经网络读取的所述多个拓扑元素的一个真子集,其中所述拓扑元素中的第一拓扑元素被识别为根拓扑元素,并且对所述根拓扑元素有贡献的拓扑元素被选择用于所述真子集。
25.根据权利要求24所述的方法,还包括:识别多个根拓扑元素并且选择对所述根拓扑元素有贡献的拓扑元素用于所述真子集。
CN202080096252.2A 2019-12-11 2020-12-11 构造和操作人工循环神经网络 Pending CN115104107A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962946733P 2019-12-11 2019-12-11
US62/946,733 2019-12-11
PCT/EP2020/085716 WO2021116379A1 (en) 2019-12-11 2020-12-11 Constructing and operating an artificial recurrent neural network

Publications (1)

Publication Number Publication Date
CN115104107A true CN115104107A (zh) 2022-09-23

Family

ID=73835604

Family Applications (4)

Application Number Title Priority Date Filing Date
CN202080096251.8A Pending CN115104106A (zh) 2019-12-11 2020-12-11 构造和操作人工循环神经网络
CN202080096270.0A Pending CN115066696A (zh) 2019-12-11 2020-12-11 构造和操作人工循环神经网络
CN202080096252.2A Pending CN115104107A (zh) 2019-12-11 2020-12-11 构造和操作人工循环神经网络
CN202080096276.8A Pending CN115136153A (zh) 2019-12-11 2020-12-11 构造和操作人工循环神经网络

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN202080096251.8A Pending CN115104106A (zh) 2019-12-11 2020-12-11 构造和操作人工循环神经网络
CN202080096270.0A Pending CN115066696A (zh) 2019-12-11 2020-12-11 构造和操作人工循环神经网络

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080096276.8A Pending CN115136153A (zh) 2019-12-11 2020-12-11 构造和操作人工循环神经网络

Country Status (6)

Country Link
US (4) US20230028511A1 (zh)
EP (4) EP4073709A1 (zh)
KR (4) KR20220107301A (zh)
CN (4) CN115104106A (zh)
TW (1) TWI779418B (zh)
WO (4) WO2021116404A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11615285B2 (en) 2017-01-06 2023-03-28 Ecole Polytechnique Federale De Lausanne (Epfl) Generating and identifying functional subnetworks within structural networks
US11663478B2 (en) 2018-06-11 2023-05-30 Inait Sa Characterizing activity in a recurrent artificial neural network
US11893471B2 (en) 2018-06-11 2024-02-06 Inait Sa Encoding and decoding information and artificial neural networks
US11972343B2 (en) 2018-06-11 2024-04-30 Inait Sa Encoding and decoding information
US11569978B2 (en) 2019-03-18 2023-01-31 Inait Sa Encrypting and decrypting information
US11652603B2 (en) 2019-03-18 2023-05-16 Inait Sa Homomorphic encryption
US11797827B2 (en) 2019-12-11 2023-10-24 Inait Sa Input into a neural network
US11580401B2 (en) 2019-12-11 2023-02-14 Inait Sa Distance metrics and clustering in recurrent neural networks
US11816553B2 (en) 2019-12-11 2023-11-14 Inait Sa Output from a recurrent neural network
US11651210B2 (en) 2019-12-11 2023-05-16 Inait Sa Interpreting and improving the processing results of recurrent neural networks
US20220207354A1 (en) * 2020-12-31 2022-06-30 X Development Llc Analog circuits for implementing brain emulation neural networks
US20220202348A1 (en) * 2020-12-31 2022-06-30 X Development Llc Implementing brain emulation neural networks on user devices
US20230196541A1 (en) * 2021-12-22 2023-06-22 X Development Llc Defect detection using neural networks based on biological connectivity

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AR097974A1 (es) * 2013-10-11 2016-04-20 Element Inc Sistema y método para autenticación biométrica en conexión con dispositivos equipados con cámara
US9195903B2 (en) * 2014-04-29 2015-11-24 International Business Machines Corporation Extracting salient features from video using a neurosynaptic system
US9373058B2 (en) * 2014-05-29 2016-06-21 International Business Machines Corporation Scene understanding using a neurosynaptic system
RU2703343C2 (ru) * 2015-03-20 2019-10-16 Фраунхофер-Гезелльшафт Цур Фердерунг Дер Ангевандтен Форшунг Е.Ф. Назначение оценки релевантности для искусственных нейронных сетей
US10885425B2 (en) * 2016-12-20 2021-01-05 Intel Corporation Network traversal using neuromorphic instantiations of spike-time-dependent plasticity
TWI640933B (zh) * 2017-12-26 2018-11-11 中華電信股份有限公司 基於類神經網路之兩段式特徵抽取系統及其方法
US20190378000A1 (en) * 2018-06-11 2019-12-12 Inait Sa Characterizing activity in a recurrent artificial neural network

Also Published As

Publication number Publication date
TW202137072A (zh) 2021-10-01
US20230024925A1 (en) 2023-01-26
CN115136153A (zh) 2022-09-30
KR20220107303A (ko) 2022-08-02
CN115104106A (zh) 2022-09-23
WO2021116402A1 (en) 2021-06-17
WO2021116404A1 (en) 2021-06-17
US20230024152A1 (en) 2023-01-26
WO2021116407A1 (en) 2021-06-17
CN115066696A (zh) 2022-09-16
EP4073717A1 (en) 2022-10-19
EP4073710A1 (en) 2022-10-19
EP4073716A1 (en) 2022-10-19
US20230028511A1 (en) 2023-01-26
US20230019839A1 (en) 2023-01-19
WO2021116379A1 (en) 2021-06-17
TWI779418B (zh) 2022-10-01
KR20220110297A (ko) 2022-08-05
KR20220107301A (ko) 2022-08-02
KR20220107300A (ko) 2022-08-02
EP4073709A1 (en) 2022-10-19

Similar Documents

Publication Publication Date Title
TWI779418B (zh) 讀取一人工循環神經網路之輸出之方法及其電腦可讀取儲存媒體
Worden et al. Natural computing for mechanical systems research: A tutorial overview
US20140324747A1 (en) Artificial continuously recombinant neural fiber network
US11651216B2 (en) Automatic XAI (autoXAI) with evolutionary NAS techniques and model discovery and refinement
Gibert et al. Choosing the right data mining technique: classification of methods and intelligent recommendation
Kedziora et al. Autonoml: Towards an integrated framework for autonomous machine learning
Vazquez et al. Training spiking neural models using artificial bee colony
Meilong et al. An approach to semantic and structural features learning for software defect prediction
Bihl et al. Artificial neural networks and data science
US20200394508A1 (en) Categorical electronic health records imputation with generative adversarial networks
US11775408B2 (en) Sparse intent clustering through deep context encoders
Schwabe et al. Modeling the adaptive visual system: a survey of principled approaches
Varsou The DeepProbCEP system for Neuro-Symbolic Complex Event Recognition
Atitallah Intelligent Microservices-based Approach to Support Data Analytics for IoT Applications
Zhou et al. Harmonizing Program Induction with Rate-Distortion Theory
Wightman Analytic Case Study Using Unsupervised Event Detection in Multivariate Time Series Data
White et al. A Comparison Between Statistical and Symbolic Learning Approaches for Generative Policy Models
Cossu Towards Real-World Data Streams for Deep Continual Learning
Yang Spatio-temporal Graph Representation Learning
Kulakov Efficient Data Management in Wireless Sensor Networks using Artificial Neural Networks
Swayne et al. Choosing the Right Data Mining Technique: Classification of Methods and Intelligent Recommendation
Ramazzotti Archeologia e Calcolatori, Supplemento 6, 2014. ARCHEOSEMA. Artificial Adaptive Systems for the Analysis of Complex Phenomena. Collected Papers in Honour of David Leonard Clarke
Gaikwad-Patil A Survey on Analysis of Evolving User Behavior Profile for Predicting Masquerades

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