CN112352248A - 用于利用表征神经网络连接的参数基因组作为构建块来构造具有前馈和反馈路径的神经网络的装置和方法 - Google Patents
用于利用表征神经网络连接的参数基因组作为构建块来构造具有前馈和反馈路径的神经网络的装置和方法 Download PDFInfo
- Publication number
- CN112352248A CN112352248A CN201980041421.XA CN201980041421A CN112352248A CN 112352248 A CN112352248 A CN 112352248A CN 201980041421 A CN201980041421 A CN 201980041421A CN 112352248 A CN112352248 A CN 112352248A
- Authority
- CN
- China
- Prior art keywords
- neural network
- neurons
- parameter
- parameters
- connections
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/086—Learning methods using evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- 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/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/049—Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/10—Interfaces, programming languages or software development kits, e.g. for simulating neural networks
- G06N3/105—Shells for specifying net layout
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Physiology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Image Analysis (AREA)
Abstract
形成神经网络的方法包括指定神经网络神经元层。参数基因组是利用数值参数定义的,这些数值参数表征神经网络神经元层中的神经网络神经元之间的连接,其中从当前层中的神经元到一组相邻层中的神经元定义连接,并且参数基因组具有由数千字节的数值参数表征的唯一表示。参数基因组被组合成连接组,该连接组表征连接组中所有神经网络神经元之间的所有连接,其中连接组具有超过数百万个神经网络神经元和神经网络神经元之间的数十亿个连接。
Description
相关申请的交叉引用
本申请要求于2018年6月19日提交的美国临时专利申请序列号62/687,179和于2019年2月22日提交的美国临时专利申请序列号62/809,297的优先权,每个所指定的专利申请的内容都通过引用并入本文。
技术领域
本发明一般而言涉及人工神经网络。更特别地,本发明涉及使用表征神经网络连接的参数基因组作为构建块来构造具有前馈和反馈路径的神经网络的处理和工具。
背景技术
现有的多层、紧密连接的深度神经网络(deep neural network)与真正的生物神经网络并不十分相似。它们只是具有大量参数(静态连接权重)的大型数学函数,经由反向传播和迭代调整的变体(如梯度下降)来适应大量数据。即使利用时间序列数据工作的递归神经网络(recurrent neural network)也仍然只能将数据拟合到函数。与生物大脑相比,现有的深度神经网络在它们能够解决的问题的深度和广度方面非常有限。
真正的大脑会从信号经过大脑的事实中在复杂的、时间依赖的电路中大量获得它们的计算、感觉处理和身体控制能力,这些复杂的、时间依赖的电路能够处理空间和时间数据,将信息存储在短期存储器中,对其进行操作,并且甚至具有反馈回路以形成如计时器或振荡器之类的电路、或者在可重复的级联模式中激活以发送特定的时间依赖的控制信号模式例如来控制肌肉群的神经学电路。这些网络还通过直接加强反复发射(fire)的神经元之间的连接来学习。它们还被组织,使得这在神经网络中产生有用的学习和训练。期望在人工神经元(及其网络)中捕获一些这种复杂性,而不必完全对真实生物神经元中的所有电化学过程进行建模,但仍能产生给予生物大脑比我们当今在深度学习神经网络中所拥有的更多效用的一些新颖的、时间依赖的信号处理能力。
尖峰神经网络(spiking neural network)是具有更类似于大脑的操作的人工神经网络,其具有沿着连接移动并集成在神经元和突触处的时空信号或尖峰,从而使其与传统的深度学习神经网络相比,能够进行更高级的计算。利用尖峰神经网络工作并训练尖峰神经网络以进行特定任务是具有挑战性的。因此,需要用于设计、训练和演进尖峰神经网络的工具、方法和处理,其子集也可以用于深度学习网络。
发明内容
形成神经网络的方法包括指定神经网络神经元层。参数基因组是利用表征神经网络神经元层中的神经网络神经元之间的连接的数值参数定义的,其中从当前层中的神经元到一组相邻层中的神经元定义连接,并且其中参数基因组具有由数千字节的数值参数表征的唯一表示。参数基因组被组合成连接组(connectome),其表征连接组中所有神经网络神经元之间的所有连接,其中连接组具有超过数百万个神经网络神经元和神经网络神经元之间的数十亿个连接。
附图说明
结合以下详细描述连同附图更充分地理解本发明,其中:
图1图示了根据本发明的实施例配置的系统。
图2图示了根据本发明的实施例执行的处理操作。
图3是用于显示可以根据本发明的实施例配置的神经元层的图形用户界面。
图4图示了用于通过指定输入到数学算法以生成二维图(two-dimensional map)的参数来生成到其它层的神经元连接的概率图(probability map)的图形用户界面。
图5图示了使用图4中的界面和方法通过参考图4中生成的概率图来建立一个神经元层中的神经元与相邻神经元层上的其它神经元之间的连接。
图6图示了根据本发明的实施例的相互连接以彼此训练的互补网络。
图7图示了根据本发明的实施例的两个网络之间的连接,使得这两个网络可以在反馈回路中交换信息并且彼此交互。
图8图示了根据本发明的实施例杂交的参数基因组。
图9图示了在中央网络中相遇的几个神经网络,一些神经网络将输入馈送到中央网络中,其它神经网络携带来自中央网络的输出。
贯穿附图的几个视图,相似的参考标记指代对应的部分。
具体实施方式
本发明属于人工神经网络领域,人工神经网络包括以软件或硬件模拟的人工神经元,这些人工神经元集成输入信号并经由模拟连接将信号发送到其它神经元。从每个神经元到其它周围神经元可以有数千个连接,其中沿着每个连接的突触修改神经元之间的信号,而突触又会通过信号的传递、学习而被修改。这些神经元的所有几何形状以及连接的连接性和突触的属性的描述被称为连接组,它完全地表征了神经网络。公开了用于利用紧凑参数基因组表征连接组以及利用新颖反馈架构训练尖峰神经网络的新颖方法,使用两者进行高效的遗传算法来将尖峰神经网络演进为特定目的。遗传算法依赖于生物学启发的算子,诸如变异、交叉和选择。
公开了一种用于将神经网络设计、连接、训练和演进为特定功能的处理。为此,我们将人工神经网络构造为层的组,并定义数字的组,称为参数基因组,它可以完全地表征这些层中所有神经元之间的所有连接。该处理从基因组中取得小组参数、将其输入到过程算法中以生成定义到层的连接如何在该层的平面中分布的二维(2D)概率图。另外,针对有多少连接通往给定神经元层上方和下方的各层分配权重,从而当与每个层的2D概率图结合时渲染连接的3D分布。当给定随机种子时,结合对该3D概率分布的随机采样,这允许在算法上计算来自源神经元的连接映射到哪个目标神经元,以及经由该处理确定性地将这些分布扩展成针对整个神经网络的大得多的连接组。遗传算法用于搜索扩展成完整的神经网络连接组的参数基因组的小空间,神经网络连接组被训练、评估并且选择它们的哪些基因组要杂交用于下一次迭代,从而允许对大型人工神经网络(多达数十亿个神经元和数万亿个连接(并且更多))进行模拟演进,以使它们专注于最佳执行某些任务。为了训练尖峰神经网络,我们利用由两个互补的尖峰神经网络组成的反馈回路,这两个互补的尖峰神经网络具有相反的功能和信号方向,它们以允许它们针对任务进行训练的方式向彼此发送信号。满足训练和性能指标的最佳反馈学习连接组被演进作为该整个处理的结果。
图1图示了根据本发明的实施例配置的系统100。系统100包括经由网络106连接到服务器104的客户端机器102,该网络106可以是有线和无线网络的任何组合。客户端机器102包括经由总线114连接的处理器(即,中央处理单元)110和输入/输出设备112。输入/输出设备可以包括键盘、鼠标、触摸板等。网络接口电路116也连接到总线114以提供到网络106的连接性。存储器120也连接到总线114。存储器120存储由处理器110执行以实现本文公开的客户端或最终用户操作的指令。例如,存储器120可以存储客户端模块122,客户端模块122与服务器104通信以接收图形用户界面来协调本文公开的操作。下面提供了这样的图形用户界面的示例。图形用户界面有助于构造本文公开的神经网络。
服务器104包括处理器132、输入/输出设备132、总线134和网络接口电路136。存储器140连接到总线134。存储器140存储具有由处理器130执行以实现本文公开的操作的指令的主神经网络构造模块142。主神经网络构造模块142协调由一组从属神经网络构造机器150_1至150_N执行的操作。
每个从属神经网络构造机器150包括处理器151、输入/输出设备152、总线154和网络接口电路156。存储器160连接到总线154。存储器160存储具有由处理器151执行的指令的从属神经网络构造模块162。
系统100是可以用于公开本文公开的操作的系统的示例。也可以使用许多替代的网络配置。重要的是本发明的操作,而不是用于实现操作的特定计算机架构。
主神经网络模块142和从属神经网络模块162构成向客户端机器102提供用于设计诸如尖峰神经网络之类的神经网络的图形用户界面的软件工具。公开了允许用户进行如下操作的技术:对神经网络神经元的层进行布局,利用参数化过程图系统在算法上使它们连接,使它们进行杂交和变异以生成一群类似的神经网络,然后对它们运行模拟,训练它们,剔除性能欠佳者,并且然后使性能最高的设计进行杂交并继续遗传算法,直到出现满足由设计师设置的性能标准的设计。
这一处理在图2中表征。最初,指定神经网络神经元的层200。例如,用户在诸如图3和图4中所示的图形用户界面中手动创作“N”个神经网络。这些图形用户界面可以由服务器104上的主神经网络模块142提供给客户端机器102。在一个实施例中,执行以下步骤:
a.布局神经元的层
b.连接层
c.训练神经网
d.评估网络性能
e.选择-重复直到创建N个网络
f.将它们的基因组繁殖为N×N个新基因组
2)在从属机器150_1至150_N中进行分布式训练和评估
a.将N×N个基因组的实例分发到服务器
b.将那些基因组连接成连接组
c.在服务器实例上训练每个网络
d.评估每个网络实例
e.选择居于首位的N个网络
f.将它们的基因组繁殖为N×N个新基因组
g.重复步骤a-f,直到网络在评估中获得足够高的分数。
在一个实施例中,首先的N个网络由对图形用户界面的输入指定。替代地,可以从文件加载参数。首先的N个网络被杂交成N×N个网络。遗传算法可以用于在几代上演进它们,同时仅选择针对选择标准表现最佳的网络来继续进行并杂交每一代。这些操作在图2的其余操作中指定。
图3图示了具有神经元302的层的图形用户界面300。用户设置神经元的层的数量,并针对以网格布局的每个层,指定X和Y中的神经元的数量,指定用于该层的特定神经元模拟模型,以及指定层的其它参数。这可以由用户或以编程方式完成。这些参数按层填写。在一个实施例中,当存在较少的神经元时,层中的神经元间隔得更远,从而使其更稀疏,因此层的范围始终相同,以便使它们之间的连接的几何形状可管理。
返回图2,下一个操作是定义参数基因组202。这是通过表达表征不同层上的神经元之间的连接的参数来完成的。图4的图形用户界面可以用于促进该操作。
图4图示了连接对话框界面400,其允许指定当前层中的神经元如何连接到其它目标层中的神经元。用户输入将从当前层中的每个神经元延伸的连接的数量以及每个目标层的百分比权重,该百分比权重确定那些连接中有多少连接通往每个目标层。在这个示例中,连接的范围可以从当前层上方的目标层-3到当前层下方的+4,从而允许网络中新颖的前馈和反馈行为。
在一个实施例中,每个目标层还具有分配给它的二维(2D)灰度图(grayscalemap),该灰度图是使用如高斯或噪声生成或其组合之类的函数从参数通过算法生成的。图4图示了可以与连接相关联的二维高斯图402。每个连接可以具有相关联的权重。
在这种情况下,生成2D图的数学函数是2D高斯函数(400),并且输入的参数为:
A-高斯的振幅(亮度或Z)
SigmaX-高斯的X中的宽度
SigmaY-高斯的Y中的宽度
这些参数是参数基因组的子组,并且对于每个图,针对每个层到层连接,还有附加的参数组,当它们全部与层布局的数值参数以及整体模拟参数和超参数组合时,唯一地定义了用于神经网络的参数基因组。
图5图示了在用户界面400和402中设置参数之后表征第一层502和第二层504之间的指定连接500的图形用户界面。在这个示例中,在目标层502上使用了二维高斯分布,因此它最有可能连接到层504上的在它正上方的神经元,而不太可能连接得更远,如图5所示。
因此,被称为参数基因组的一小组数值参数被用于以算法方式生成一组过程二维灰度图,其进而描述一层的神经元如何与另一层中的神经元连接的二维概率分布以及与每个目标层的权重一起定义神经元层之间的连接的三维概率分布。参数基因组是紧凑的基本构建块,当通过一组数学操作进行扩展时,它唯一且确定性地定义了最终神经网络的连接组(所有连接的描述)。
在模拟中利用随机初始化的突触权重运行这些连接的网络可以允许它们学习和进步,然后在设置的时间后,根据性能指标来衡量其行为。只有针对该指标具有最佳性能的居于首位的网络被保留。遗传算法随后被用于通过随机组合成功网络的特性并添加变异来杂交成功网络的源基因组,从而创建然后可以被扩展成网络、训练和评估的新基因组,并且仅选择居于首位的网络用于进一步的杂交。
在一种实现方式中,在每个杂交操作中,我们赋予通过添加更多层和更多神经元来使它们在处理中略微成长的随机机会,并在迭代处理中针对逐渐更困难和复杂的性能指标测试它们,目标是演进出具有更大能力的高级得多的网络,其仅受计算能力和性能指标质量限制。
参数基因组是完整神经网络的连接组的较大结构的紧凑表示。紧凑的基因组数据结构可以进行杂交和变异,以更轻松地用于遗传算法,因为它的参数比连接组少几个数量级。因此,图2中所示的下一个操作是使参数基因组进行杂交204。由于小基因组变化具有网络结构的更大且更可测量的变化,因此该操作加速了演进。
优化可以是在每个阶段通过不重新访问过去的优化来偏置变异以偏向于变化到较新的神经结构,允许演进更快地收敛。这类似于人类大脑的发展方式,其中约8000个基因的基因组确定1000亿个神经元的大脑结构,并且更深、更原始的结构在动物大脑演进中更早成熟,并在此后保持相对固定,并且较新的结构更新近地形成和成熟。
在该处理中,每个基因或参数基因组表示包括许多神经元及其连接的神经结构。我们还可以通过将多个基因组组合在一起并使用宏基因(macro-gene)定义它们的空间和拓扑连接以及它们的输入和输出连接的位置来创建神经网的复合宏结构。然后,在演进这些宏网络时,仍可以通过演进处理以及正在杂交的宏基因对每个单个网络的基因进行杂交和整形,宏基因定义了由这些构建块组成的宏网络的宏结构和拓扑。演进处理将在改组(shuffling)和变异宏基因的组合(以及因此宏结构)以及然后杂交和变异表示子网络结构的特定基因组(其以不同模态影响整个较大的宏结构)之间进行交替。可以演进出定义非常专门的神经形态子处理器的特定基因。同样,一旦大型网络由基因所定义的子单元构造,则对该基因的任何修改都会影响该子单元的每个实例,从而通过小的微调修改整个网络的宏观性质。
如果我们有用于输入和输出的网络,我们可以从小处入手,然后演进它们以执行简单的任务,例如演进为学习婴儿简单抽认卡上的视觉。然后,可以使用针对婴儿、儿童、青少年…的认知IQ测试来训练和演进以这些网络为输入的认知或综合网络,并在扩展像视觉这样的输入系统之前,利用这些简单的输入获得认知功能,以与更复杂的真实世界输入一起工作。通过在不同时间推进不同子网络的训练、成长和演进,并利用简化的一些输入和输出来训练整个网络,我们可以加快开发像这样的高级宏网络或人工大脑的总体进度。
在杂交处理期间,还可以从每个亲本(parent)将额外的基因拼接到宏基因中,从而使子网络成为两个亲本的大得多的杂交体。如果这种结构为新网络提供了优势,那么它将继续传播,并且如此迅速的成长加快了训练处理。
返回图2,将参数基因组扩展成连接组206。更特别地,使参数基因组经过一组数学阶段以形成连接组。连接组表征神经网络的连接组中所有神经元之间的所有连接。神经网络连接组对每个神经元可以有数千量级的连接,并包含数十亿个或更多的神经元。根据具有确定性数学模型的算法处理,将参数基因组扩展成连接组。在一个实施例中,确定性数学处理接收数值参数以生成二维灰度图。然后可以将多个二维灰度图组合以产生最终的灰度图。
灰度图的这种组合是将两个图的输入像素变换成目的地图的输出像素的数学运算。示例是乘法,这是两个输入像素逐像素相乘以获得输出像素,它是针对图中的每个像素完成的。在许多用于数字艺术和视觉效果的2D和3D绘图和建模软件程序中,通常会使用过程图(procedural map)的生成并在数学运算中组合它们,但是我们示出了它们新颖的用法以将参数扩展到图,并使用这些操作来合成那些图以产生概率图,从而定义从一层中的神经元到另一层中的神经元的连接。
然后,如上所述,训练连接组208。然后,选择最佳聚合的神经网络连接组210,并针对设计标准进行测试212。如果不满足设计标准(212-否),那么控制返回到框204-212。如果满足设计标准(212-是),那么部署最终的神经网络。
返回图5,可以认识到的是,所公开的技术允许利用混合操作将将几个图组合以创建唯一的图,该唯一的图然后被应用于在源神经元上方居中的目标层,并被用作概率分布来计算目标层中的哪些神经元从源神经元接收连接。
这允许针对不同的应用仔细整形连接图案(connection pattern),例如当前神经元正上方的小圆斑,如图5中所示。因此,可以将不同的图案用于不同的功能,诸如视觉、声音、语音、认知或电机控制,就像人类大脑对每个功能具有唯一的神经几何形状一样。这也允许通过这种灵活的连接组方案将一个神经架构及对该架构的描述专门用于许多任务和功能。
连接组是对神经网中所有神经元之间的所有连接的完整描述。该公开的参数基因组允许利用唯一表示连接组的相对少量(例如,几千字节)的数值参数来完全地指定非常大的连接组(数十亿个神经元,每个神经元具有数千个连接)的神经连接配置。从相同的随机种子开始,每个小参数基因组每次都将确定性地再现完全相同的大连接组。参数以及它们之间的内插值的平滑变化也会导致2D图以及所得到的连接组的平滑变化,连接组也进行内插。这对于快速收敛的遗传算法而言是无价的。
为了训练连接组208,可以在尖峰神经网架构中使用双向反馈回路。该反馈回路具有两个单独网络,这两个单独网络具有互补功能。例如,如果一个网络获取图像或视频并将其压缩为紧凑的、机器可读的表示,那么另一个网络会将这个紧凑的表示解压缩回去以匹配完整的输入数据。这一处理在图6中绘出。
通过以正确的方式相互连接并彼此反馈,这些网络彼此训练以实现其互补功能。例如,压缩网络的层N将反馈到在输出旁边的层0中,而解压缩网络的层N将反馈到层0,从而向输入进行添加,并在它们匹配得越多时对其进行放大,得到使网络收敛以进行训练并实现其功能的正反馈。
图7图示了来自第一层的神经元700经由路径702将信息传递到第二层的神经元704。类似地,第二层的神经元706经由路径708将信息传递到第一层的神经元710。
图9图示了反馈神经网络902a、902b和902c被馈送到中央神经网络901中。例如,图6和图7中所示的神经网络被用于处理不同模态的输入(例如,视频、声音、传感器…)。中央神经网络901使用专门的尖峰神经网络或深度学习网络、强化学习或其它常规决策处理基于该输入进行处理、规划、决策和其它操作。然后,中央神经网络901产生抽象的输出给其它反馈神经网络903a、903b,这些其它反馈神经网络903a、903b然后将这些抽象的输出扩展成诸如用于机器人的电机控制或用于读出的显示控制之类的输出或任何其它输出状态。这是由宏基因形成的宏网络的一种实现方式,它组合由其基因形成的不同的单个网络并定义它们在空间和拓扑上如何连接,在这种情况下是将输入和输出网络连接到中央处理网络。
在训练循环结束时,利用测试输入对神经网络进行评估,并将来自网络的输出与预期输出进行比较。基于网络对预期输出再现得有多好,为网络给出数值分数,例如每个输入帧的被平均或数值加权的相关值。
选择经训练和测试的居于首位的N个网络作为遗传算法的基础,以在要训练的下一代网络中使用。在一个实施例中,来自居于首位的N个网络中的每一个网络的参数基因组被杂交以获得NxN个新的参数基因组。其实施例在图8中示出。
在一个实施例中,这种杂交是通过从每对基因组中随机选择参数或参数的组在基因组自身内完成的,诸如:
杂种操作可以接受两个参数基因组结构作为输入,并用结果填充该参数基因组结构的成员,这或者是通过从亲本基因组之一中随机选择每个参数:
或者是通过使用两个参数内插进行杂交:
t=rand()/RAND_MAX
A=t*parameterGenome1.A+(1-t)*parameterGenome2.A;
或者是通过使用两个参数内插/外推进行杂交,其中结果可以在其内插空间之外:
t=(l+ext)*rand()/RAND_MAX-(0.5*ext)
diff=parameterGenome2.A-parameterGenome1.A;
A=parameterGenome1.A+1*diff;
此外,还可以将比例随机变异添加到最终值以创建更多变化:
m=rand()/RAND_MAX
A+=(m-0.5)*mutationScale*A;
利用几百个参数的小组,可以拥有唯一的数字基因,该基因可以在数百万种可能性中唯一地生成一个连接组。这促进了遗传算法的使用,在遗传算法中,可以利用上述简单数学对这些参数集进行杂交,从而给出一个能够快速生成各种各样的连接组方案的参数的新基因。
二维图随参数的变化而平滑变化,因此连接组也随参数基因组的变化而平滑变化。彼此接近的参数基因组在数值上产生也彼此接近的连接组,并且可以在它们之间平滑地内插。这些性质对于进行遗传算法至关重要,在遗传算法中,两个基因组被杂交或混合以生成新的基因组,然后新的基因组被扩展为新的连接组以进行训练和评估。如果没有基因组和连接组一起平滑变化并且按比例内插的这些性质,遗传算法将不会收敛到有用的解。
主神经网络模块142可以通过繁殖N个输入网络基因组来创建N×N个基因组,并且将它们发送到机器150_1至150_N作为N×N个实例(每个具有不同的基因组参数文件)。对每个实例的处理可以包括:
a.从上述杂交操作加载唯一的参数基因组。
b.通过将基因组扩展到网络连接组来连接网络。
c.利用来自公共数据服务器的输入数据训练所有实例。
d.相对性能标准评估测试网络。
e.基于上述分数,从所有经训练的模拟中选择居于首位的“N”个网络候选者。
f.将其参数基因组杂交以获得N×N个新的候选基因组。
g.重复,直到已演进出满足性能标准的网络。
通过演进多代神经网络并在每一代选取最佳神经网络(基于特定的选择标准),可以从非常通用的神经网络开始,并通过选取特定的训练数据集和选择标准以在那个方向推动它们来将其演进为特定的功能,例如视觉、视频压缩、语音识别、自然语言处理和控制算法。
还可以从更简单的神经网络和选择标准开始,并在演进期间逐渐增加神经网的大小和复杂性,同时使性能标准更加复杂,并且每一代都测试更大复杂性和功能深度。这使得能够从更简单的根基演进出能够实现复合功能的非常复杂的网络。
还可以利用更多新数据一直更新数据服务器,并随着数据被添加而一直再演进(re-evolve)神经网络。对于分散的汽车车队来说,可以做到这一点,其中数据从所有汽车的传感系统不断进入并集中存储。然后,这些数据将用于定期训练、演进和更新人工智能,然后将其发送出去以更新整个车队。
被正确设置的遗传算法是找到非常复杂的问题的解的非常强大的方法,这些非常复杂的问题是普通数学优化方法难以解决的。但是,设置遗传算法可能很棘手。如果构建了具有十亿个连接的一百万个神经元的网络(连接组),并制作了它的100个副本,每个副本具有使用算法逐一修改的稍微不同的连接,那么使用对连接组的改变作为繁殖基础应用遗传算法,它将永远无法工作。我们正在试图搜索的十亿个连接的空间太大,即使具有无限的计算能力,也无法收敛在有用的神经网络上。
这就是为什么紧凑的参数基因组是用于所有繁殖操作的基础组的原因。当对每个新基因组进行扩展/解包/解压缩以获得唯一的连接组时,这是有意义的。需要将可靠地重建相同连接组的小基因。它还必须以确定性的方式这样做,以便可以始终再现它。基因组的轻微变化也应产生彼此接近的连接组,否则遗传算法将无法很好地工作。
在一个实施例中,每个神经元具有至少1000个连接,并且在每一片中有数百万个神经元。基于随机种子和在空间上确定神经元可能连接的位置的过程概率图,有概率性方式来伪随机地连接神经元。这在某种程度上遵循了生物神经元通过生长并遵循在大脑中具有某种空间分布的化学痕迹或梯度进行连接的原理。通过使用为此合成的过程图,可以从一组数值参数开始,这组数值参数被选择来完全描述所得的过程图像的样子。利用所有图的这些程序参数,混合参数和每个目标层的权重就变成用于连接组或连接方案的基因组,可以完全从几个参数和随机种子来再现它。
因此,从参数基因组开始,在一组操作中应用二维算法和二维概率图以及每层权重来产生连接组。在该处理中可以使用诸如图5中所示的用户界面。考虑在层502的中心中的神经元的情况,如图5中所示。确定它将连接到层504中的哪些神经元。可以使用在层504上在神经元正上方居中的二维高斯分布,因此它最有可能连接到它正上方的神经元,而不太可能连接得更远。替代地,可以使用过程分形(procedural fractal),该过程分形具有能够在层504上的宽区域中连接但遵循特定图案的神经元。对于二维数学、分形和过程图有上千种公开可用的算法,并且它们的每个参数都可以广泛变化,以产生同族中的图的无限变化。
如图4所示,设计人员可以将当前层中的神经元连接到当前层上方和下方的所有层,甚至是当前层自身,从而手动控制与每个层的连接的权重。这样可以很好地控制网络的前馈和反馈行为。所引用的图控制每个层的这些连接的分布。
如图4中所示,对于连接画面中的每个神经元层,具有:
1)在这个示例中,它可以连接到的所有其它层的列表(-3,...0,...+4)
2)对于神经元可以连接到的每一层,具有:
a.控制进入该层的连接的百分比的权重
b.控制到该层中的神经元的连接的二维空间分布的概率图。
c.该图是参数基因组到二维过程映射的结果
一般而言,这是非常灵活且强大的技术,用于使用一小组参数生成过程或数学二维概率图来指定连接方案,并用于将其合成以进一步局部化和修改它们。利用一小组的几十个参数,可以具有唯一的数值基因,该数值基因可以在数百万种可能性中唯一地指定一个连接组。这促进了遗传算法的使用,在遗传算法中,可以对这些参数在数学上进行杂交,从而生成可以快速生成各种各样的连接组方案的参数的新基因。
尖峰神经网络是对真实神经元、神经网络、感觉系统和智能如何工作的更真实的模拟,其具有在神经元之间及时传播的尖峰信号以及在神经元和突触中对这些信号的复杂处理和集成。与深度学习的较简单的前馈神经网络相比,它们具有明显的优势。
在真实的生物神经网络中:
·神经元体(neuronal body)集成从树突进入它的输入
·集成空间和时间二者中的传入信号
·一些树突激发,一些抑制,从而增加或减少电位
·当跨细胞壁达到动作电位(-55mv)时,神经元体会“发射”
·当神经元体发射时,尖峰串(spike train)沿着轴突向下传输
·沿着轴突、分支传输,并在途中被放大(和修改)
·携带比简单的振幅更多信息的时间和空间信号
·尖峰信号在突触处被进一步修改
·轴突尖峰串刺激神经递质从突触前侧释放
·神经递质跨突触漂移、通过周围神经化学修改
·突触后侧上的受体集成化学信号,在阈值处发射
·尖峰串沿着树突向下传播到下一个神经元
·如果突触前和突触后神经元两者彼此接近地发射,那么突触加强
传统深度神经网络中使用的前馈模型非常简单,没有时间信号,仅在连接上具有静态标量值。深度学习神经元是静态的,具有简单的标量求和,然后是传递函数,或者以离散的时间步长,例如最多是伪时间的递归神经网络。
尖峰神经网络经由沿着树突和轴突训练的尖峰传输丰富的信息,并且信号在神经元体内和突触处经历空间和时间中的集成和处理。因为从一个神经元发射至到下一个神经元存在延迟,因此信号通过网络行进,具有时域行为,其中多个信号组合以创建复杂的进行基于时间的处理的神经电路,这可以产生反馈、回路或创建用于电机控制或语音应用的定时和同步脉冲链。一般而言,它们比深度学习神经元和神经网络具有更丰富、更强大的行为。
虽然尖峰神经网络本身是追溯到1955年的现有技术,但至今仍没有令人满意的解决方案来训练它们,这使它们无法被用于实际任务。常规的深度神经网络可以通过反向传播来训练—包括将信息馈送到网络中并将实际输出与(预定)预期输出进行比较,计算它们之间的误差,以及以被称为反向传播的非常特定的数学操作将该误差通过网络反向馈送,以及使用特定的数学方法来在迭代的循环中调整连接的权重,这需要大量的计算资源。
但是,由于尖峰神经网络的时间依赖本质,因此无法通过这种方法来训练尖峰神经网络。尖峰被神经元不可逆地处理、发射到连接(轴突)上,然后被突触不可逆地处理,并且然后被馈送到突触后神经元中并且再次被不可逆地处理,从而继续循环。可以存在反馈、回路和其它新颖的电路,所有这些都阻止了简单的数学反向传播与它们一起工作。
我们提出使用一种新颖的架构来训练尖峰神经网络,使用两个互补网络通过在它们之间交换信息来相互训练,如图6中所示。具体而言,有一个网络将输入数据变换成输出数据,通常从原始输入(或输出)格式变成更紧凑的机器学习的表示,对它进行编码。然后有类似构造的第二个互补网络,不同之处在于信号沿着相反的方向流动,并且它进行相反的变换,将抽象的机器学习的表示解码回原始输入格式。这对互补网络构成自动编码器,其经训练以将输入编码和解码回相同的格式和数据。
这两个网络以如下方式相互连接:使得来自一个网络的信号影响另一个网络中的神经活动,如图7中所绘出的。一个所提出的配置是其中每个网络的输出反馈到另一个网络的输入中,从而在它们之间创建反馈环路。另外,也可能存在在中间层之间传递的信息,以增强该反馈回路。
由于人类对如何最佳地实际构造这些反馈回路没有直觉或知识,而且设计空间非常大,因此,如我们在本文其它地方所描述的,我们将使用遗传算法来探索最佳配置,在跨越可能解空间的一些候选网络中进行馈送,然后在给出我们的训练数据和性能标准的情况下,使其利用最准确、最有效的反馈机制演进出最佳网络配置。
返回图6,应该认识到的是,所公开的构成自动编码器的一对互补网络可以与包括另一自动编码器的另一对互补网络组合,使得它们在表示机器学习的紧凑数据的端被结合。例如,由图6的这组互补网络处理的输入产生抽象编码,诸如将视频中的图像序列编码为压缩数据格式,如我们上面的自动编码器示例中那样。第二组互补网络可以自动编码不同模态的数据,例如带有语音的声音,其已被预处理为2D频谱瀑布显示,然后在中心层处被编码为相同的机器学习的编码格式,该中心层被共享作为两个互补网络之间的接口。就像我们的自动编码器示例一样,这允许以下结果:两种不同模态的输入被同时馈送到每一端,并编码为相同的机器学习的表示,并且从公共抽象表示形式解码回原始输入。现在的关键不同在于,存在公共的、紧凑的、编码的抽象表示,我们可以在一端以一种格式(例如,视频)馈送一种模态的输入、将其编码为公共的紧凑表示,并且然后使另一个网络上的解码器在另一端将其解码为其它格式(例如,语音)。在示例中,该网络可以观看对象的视频、听其口头名称,并学习将视频和音频输入自动编码为相同的内部格式,并学习将它们关联。一旦经过训练,您就可以向它显示视频剪辑,它将把它编码为公共格式、将其解码为相关联的音频,并说出与该对象相关联的名称。这是非常强大的,因为这些双模态自动编码器学习如何再现相反模态的输入的互补操作,从而通过听来学习说、通过观看来学习创建视频。这在人工智能中具有巨大的用途。
这些自动编码器通常将从具有许多神经元的密集层变为具有较少神经元的稀疏层,以便促进数据的压紧。这方面的一个进步是将放置如上所述的双模态自动编码器,但每个自动编码器的稀疏端插入到中间的层的块的相对侧,在那里它再次变得密集,并且其中部分反馈回路将信号从其每一端馈送回该块。利用正确配置的内部连接,它变成可以具有反馈回路的计算引擎,该反馈回路保持短期记忆、处理对它进行的操作并从输入产生比上面简单的双自动编码器更有用得多的输出。我们可以训练它去做更高级的认知伟业,并拥有其可以进行演进以满足的更高级的性能标准。
实际上,这是种子AI的示例,其中输入、输出和计算实施在神经架构中。通过将其演进为变得更大、增加更多输入和输出模态、以及更大的认知“核心”,我们可以逐步产生更高级的人工“大脑”,就像我们关于图9中的宏基因表示和演进所描述的一样。同样,对于这些大脑能够变得多大、多复杂和多高级没有理论限制,并且它们仅受可用计算资源以及设计者在提出分阶段性能标准方面的聪明才智的限制,这些分阶段性能标准随着大脑的成长和演进而逐渐变得更高级和具有挑战性,并允许它们演进和训练为多产的目标。
本发明的实施例利用简化的神经元的计算机软件(或硬件)模拟,其具有花费时间在神经元之间行进(迟延)的信号,具有神经元与神经形态体之间的突触,神经元集成传入信号、修改它们并在传输它们之前延迟它们,神经形态体对传入时域信号进行采样和集成并计算何时发射“轴突的”时间依赖信号和如何对其进行整形。每当信号通过时,这些人工突触也将修改其集成功能,并基于任一侧上的两个神经元是否在特定时间间隔内一起发射来增强或减弱突触的“连接”。这产生了更像大脑的神经网络,其可以产生复杂的行进信号并进行学习。这些集成操作和时间依赖的信号行为都可以被改变,以产生具有不同特性、行为和效率的人工神经元。这些神经元的网络将表现出行进信号、波、反馈回路以及更多类似大脑的复杂处理。
本发明的实施例涉及一种具有计算机可读存储介质的计算机存储产品,该计算机可读存储介质上具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是出于本发明的目的而专门设计和构造的那些,或者它们可以是计算机软件领域的技术人员众所周知和可用的那些代码。计算机可读介质的示例包括但不限于:磁性介质,诸如硬盘、软盘和磁带;光学介质,诸如CD-ROM、DVD和全息设备;磁光介质;以及专门被配置用于存储和执行程序代码的硬件设备,诸如专用集成电路(“ASIC”)、可编程逻辑设备(“PLD”)以及ROM和RAM设备。计算机代码的示例包括诸如由编译器产生的机器代码,以及包含由计算机使用解释器执行的更高级代码的文件。例如,可以使用C++或其它面向对象编程语言和开发工具来实现本发明的实施例。代替机器可执行软件指令或与机器可执行软件指令结合,本发明的另一个实施例可以在硬连线电路系统中实现。
为了说明的目的,前面的描述使用特定的术语来提供对本发明的透彻理解。但是,对于本领域的技术人员将清楚的是,不需要特定细节以便实践本发明。因此,出于说明和描述的目的而给出了本发明的具体实施例的前述描述。它们并不旨在穷举或将本发明限制为所公开的精确形式;显然,鉴于以上教导,许多修改和变化是可能的。选择和描述实施例是为了最好地解释本发明的原理及其实际应用,因此它们使本领域的其它技术人员能够最好地利用本发明以及具有各种修改的各种实施例,这些修改适合于预想的特定用途。意图是以下权利要求及其等同形式限定本发明的范围。
Claims (20)
1.一种形成神经网络的方法,包括:
指定神经网络神经元层,
利用数值参数定义参数基因组,所述数值参数表征神经网络神经元层中的神经网络神经元之间的连接,其中从当前层中的神经元到一组相邻层中的神经元定义所述连接,其中参数基因组具有由数千字节的数值参数表征的唯一表示,以及
将参数基因组组合成连接组,所述连接组表征连接组中的所有神经网络神经元之间的所有连接,其中连接组具有超过数百万个神经网络神经元和神经网络神经元之间的数十亿个连接。
2.如权利要求1所述的方法,其中参数基因组的参数是从图形用户界面接收的。
3.如权利要求1所述的方法,其中参数基因组的参数是从文件加载的。
4.如权利要求1所述的方法,其中参数基因组的参数是从算法数学地计算的。
5.如权利要求4所述的方法,其中参数基因组的参数是从两个其它完整参数基因组的组合计算的。
6.如权利要求5所述的方法,其中参数基因组的参数是通过单独地从第一源基因组或第二源基因组随机选取每个参数直到所有参数被填充来杂交的。
7.如权利要求5所述的方法,其中参数基因组的参数是通过在第一源基因组和第二源基因组的参数之间内插或从第一源基因组和第二源基因组的参数外推直到所有参数被填充来杂交的。
8.如权利要求5所述的方法,其中参数基因组的参数包括创建变化的随机性。
9.如权利要求1所述的方法,其中将参数基因组组合成连接组包括根据确定性数学处理组合参数基因组。
10.如权利要求9所述的方法,其中确定性数学处理接收数值参数以生成二维灰度图。
11.如权利要求10所述的方法,还包括在数学处理中组合多个二维灰度图以产生最终的灰度图。
12.如权利要求11所述的方法,其中最终的灰度图表示源神经网络神经元层上的神经元将连接到相邻的目标神经网络神经元层上的神经元的二维空间概率。
13.如权利要求1所述的方法,还包括:
杂交基因组以形成聚合的基因组,
将聚合的基因组扩展为神经网络连接组,
利用训练来训练神经网络连接组,以及
收集所选择的聚合的神经网络连接组,以通过组合其基因组并扩展所得到的基因组来形成最终的复合神经网络。
14.如权利要求13所述的方法,其中训练聚合的神经网络连接组包括将数据应用于神经网络的端层并在迭代处理中调整连接权重。
15.如权利要求14所述的方法,还包括:
第一尖峰神经网络处理输入信息以形成紧凑格式,
第二尖峰神经网络处理紧凑格式以形成所述输入信息,
其中第一尖峰神经网络和第二尖峰神经网络之间存在用于交换信息的连接,以及
其中第一尖峰神经网络的输出被输入到第二尖峰神经网络,并且来自第二网络的输出被输入到第一神经网络,以建立反馈回路。
16.如权利要求15所述的方法,其中第一尖峰神经网络从一端接收第一模态输入并在中心层形成紧凑格式,并且第二尖峰神经网络从另一端接收第二模态输入并在中心层形成紧凑格式。
17.如权利要求15所述的方法,其中使用多个神经网络来接受不同的输入模态,以将每个模态约简为紧凑抽象,所述紧凑抽象被馈送到中央人工智能处理网络,所述中央人工智能处理网络然后处理每个输入的紧凑抽象并产生紧凑的抽象的输出,然后所述紧凑的抽象的输出各自通过反馈网络进行扩展,以产生用于外部系统的详细输出。
18.如权利要求13所述的方法,其中对每个网络进行评估以赋予其数值分数,以对聚合的神经网络连接组进行排名,其中所选择的聚合的神经网络连接组具有最高的N个数值分数。
19.如权利要求18所述的方法,其中数值分数是通过向神经网络连接组提供输入、获得输出以及针对预期输出衡量所述输出来获得的。
20.如权利要求13所述的方法,还包括确认最终的复合神经网络满足指定的设计标准。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862687179P | 2018-06-19 | 2018-06-19 | |
US62/687,179 | 2018-06-19 | ||
PCT/US2019/037758 WO2019246116A1 (en) | 2018-06-19 | 2019-06-18 | Apparatus and method for utilizing a parameter genome characterizing neural network connections as a building block to construct a neural network with feedforward and feedback paths |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112352248A true CN112352248A (zh) | 2021-02-09 |
Family
ID=68984184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980041421.XA Pending CN112352248A (zh) | 2018-06-19 | 2019-06-18 | 用于利用表征神经网络连接的参数基因组作为构建块来构造具有前馈和反馈路径的神经网络的装置和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112352248A (zh) |
WO (1) | WO2019246116A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673688A (zh) * | 2021-08-24 | 2021-11-19 | 北京灵汐科技有限公司 | 权重生成方法、数据处理方法及装置、电子设备、介质 |
US11514327B2 (en) | 2018-06-19 | 2022-11-29 | Orbai Technologies, Inc. | Apparatus and method for utilizing a parameter genome characterizing neural network connections as a building block to construct a neural network with feedforward and feedback paths |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007504576A (ja) * | 2003-01-17 | 2007-03-01 | アヤラ,フランシスコ,ジェイ | 人工知能を開発するためのシステム及び方法 |
EP1901212A3 (en) * | 2006-09-11 | 2010-12-08 | Eörs Szathmáry | Evolutionary neural network and method of generating an evolutionary neural network |
US10318882B2 (en) * | 2014-09-11 | 2019-06-11 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
-
2019
- 2019-06-18 CN CN201980041421.XA patent/CN112352248A/zh active Pending
- 2019-06-18 WO PCT/US2019/037758 patent/WO2019246116A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11514327B2 (en) | 2018-06-19 | 2022-11-29 | Orbai Technologies, Inc. | Apparatus and method for utilizing a parameter genome characterizing neural network connections as a building block to construct a neural network with feedforward and feedback paths |
CN113673688A (zh) * | 2021-08-24 | 2021-11-19 | 北京灵汐科技有限公司 | 权重生成方法、数据处理方法及装置、电子设备、介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2019246116A1 (en) | 2019-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11514327B2 (en) | Apparatus and method for utilizing a parameter genome characterizing neural network connections as a building block to construct a neural network with feedforward and feedback paths | |
Auerbach et al. | Environmental influence on the evolution of morphological complexity in machines | |
US10929745B2 (en) | Method and apparatus for constructing a neuroscience-inspired artificial neural network with visualization of neural pathways | |
Schuman et al. | An evolutionary optimization framework for neural networks and neuromorphic architectures | |
de Castro | Fundamentals of natural computing: an overview | |
Upegui et al. | An FPGA platform for on-line topology exploration of spiking neural networks | |
Risi et al. | A unified approach to evolving plasticity and neural geometry | |
WO2012170876A2 (en) | Agent-based brain model and related methods | |
JP6327926B2 (ja) | 階層型ニューラルネットワークの学習システム及び方法 | |
JP2023519770A (ja) | マルチタスク向けの予めトレーニング言語モデルの自動圧縮方法及びプラットフォーム | |
CN109344969B (zh) | 神经网络系统及其训练方法以及计算机可读介质 | |
Liapis et al. | Sentient World: Human-Based Procedural Cartography: An Experiment in Interactive Sketching and Iterative Refining | |
CN112352248A (zh) | 用于利用表征神经网络连接的参数基因组作为构建块来构造具有前馈和反馈路径的神经网络的装置和方法 | |
Elbrecht et al. | Neuroevolution of spiking neural networks using compositional pattern producing networks | |
CN115374790A (zh) | 基于因果图神经网络的学习者情感演化分析方法与系统 | |
Lin et al. | An efficient hybrid Taguchi-genetic algorithm for protein folding simulation | |
US11379731B2 (en) | Relating complex data | |
Townsend et al. | Artificial development of biologically plausible neural-symbolic networks | |
Portegys | Training sensory–motor behavior in the connectome of an artificial C. elegans | |
EP3614314A1 (en) | Method and apparatus for generating chemical structure using neural network | |
La Cava et al. | Behavioral search drivers and the role of elitism in soft robotics | |
Hourdakis et al. | Computational modeling of cortical pathways involved in action execution and action observation | |
Byrne | Symphony from synapses: Neocortex as a universal dynamical systems modeller using hierarchical temporal memory | |
Early | Reducing catastrophic forgetting when evolving neural networks | |
Reynard | Reinforcement learning in the Minecraft gaming environment |
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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40042816 Country of ref document: HK |