Neuromorphic visual scene understanding with resonator networks

基于共振网络的神经形态视觉场景理解https://arxiv.org/pdf/2208.12880

https://codeocean.com/capsule/1211768/tree/v1

虽然Loihi速度较慢,但其能效高出几个数量级(图6A和B)。对于最大的网络规模,Loihi在能耗延迟乘积(EDP)方面效率高出171倍(图6C),并且随着网络规模的增加,其扩展性比CPU更好,这可能是由于稀疏的、基于事件的矩阵乘法[54]。

四个理念。

第一个理念是开发数据编码方案和生成模型,使绑定成为变化因素(如图像平移)的等变算子。

第二个理念是通过共振器网络在生成模型中计算推理,该网络通过在叠加中计算高效地搜索解空间[28]。

第三个理念解决了存在多个非交换变化因素的问题,如平移与图像旋转和缩放。借鉴图像配准的经典方法,傅里叶-梅林变换[56-58],我们提出了一种新颖的分层共振器网络,其中绑定在一个分区内是平移的等变操作,在另一个分区内是旋转和缩放的等变操作。

第四个理念是在神经形态硬件上使用多室神经元模型实现网络的尖峰时序编码。避免使用速率编码的神经形态计算的低效率[59],我们的神经形态实现采用了尖峰相位编码,这在效率上超越了在CPU上的实现。然而,这里展示的实现更多是一个概念验证。模型的制定是灵活的,可以针对特定的神经形态和其他边缘AI硬件实现进一步优化。

摘要:

分析视觉场景通常涉及到推断一个生成模型的配置,这被广泛认为是场景理解中最灵活和最通用的方法。然而,一个主要问题是推理过程的计算挑战,这涉及到对象身份和姿态的组合搜索。在这里,我们提出了一个利用三个关键概念的神经形态解决方案:

(1)基于具有复值向量的向量符号架构(VSA)的计算框架;

(2)设计分层共振器网络(HRN)来分解视觉场景中非交换变换的平移和旋转;

(3)设计多室尖峰相位神经元模型,以在神经形态硬件上实现复值共振器网络。VSA框架使用向量绑定操作形成生成图像模型,其中绑定作为几何变换的等变操作。因此,场景可以被描述为向量积的和,然后可以被共振器网络有效分解,以推断对象及其姿态。HRN具有分区架构,其中向量绑定在一个分区内对水平和垂直平移是等变的,而在另一个分区内对旋转和缩放是等变的。尖峰神经元模型允许将共振器网络映射到高效且低功耗的神经形态硬件上。我们的方法在由简单2D形状组成的合成场景上进行了演示,这些形状经历了刚性几何变换和颜色变化。一篇配套论文演示了相同的方法在机器视觉和机器人技术的实际应用场景中。

介绍:

视觉场景理解是机器视觉和人工智能中一个长期存在的问题。将场景对象解耦为其各自的属性是有希望的,但也是一个非常困难且大部分未解决的计算问题,因为它需要搜索可能的配置空间,这些配置描述了对象如何结合以及在姿态、颜色、照明和其他特征上的变化[1–3]。已经提出了使用卷积神经网络(CNN)的方法,这种方法通常需要大量的训练数据和额外的增强来处理姿态或风格的变体。结果的性能通常是脆弱的[4, 5],并且容易被欺骗[6, 7]。此外,CNN的操作是不透明的,场景信息纠缠在它们的参数中,这使得追踪信息流和修复失败模式变得困难。

长期以来,人们一直认为大脑通过“通过合成分析”来解决视觉场景理解问题,即利用生成模型来推断最能解释视觉输入的场景组成部分[8–10]。然而,这种类型的推理带来了高昂的计算成本,这阻碍了这一策略的广泛部署。最近的工作表明,对于需要反复迭代计算的工作负载,比如生成模型中的推理,神经形态计算可以大大超越基于CPU和GPU的方法[11]。具体来说,定制的基于尖峰的神经形态芯片[11–15]通过它们的并行性、内存中处理[16]、稀疏性和基于事件[17]的特性,加速了计算时间并降低了功耗。

我们的神经形态场景分析方法采用了一种来自认知科学编程框架,该框架将信息表示为高维向量,然后通过显式的代数运算在这些表示上进行计算[18–20]。这个框架,被称为向量符号架构(VSAs)[21]或超维计算(HC)[22],提供了一个显式的绑定操作,解决了传统人工神经网络中所谓的特征绑定问题[23–25]。在这里,我们利用VSA的最新发展来为场景分析设计神经形态算法[26]:

1)一个数学框架,将VSA扩展为表示连续变量和函数[27],以及

2)一个共振器网络,有效解决VSA中的多因素向量分解[28, 29]。第一个发展使我们能够将图像编码为VSA表示,使得绑定作为特定几何变换的等变操作[27],而第二个发展使得通过向量分解推断对象及其变换变得可行[28, 29]。

所提出的方法属于更广泛的多元模型家族,用于在生成图像模型的背景下推断对象形状及其变换。这些包括Pitts & McCulloch (1947)[30]和Hinton (1981)[31]早期关于将感官信息重新映射到规范参考框架的提议,神经生物学模型如动态路由[32]、寻找地图电路[33, 34],以及学习解耦形式与运动(或“风格”与“内容”)的双线性模型[35–39]。

在这里,我们首先描述如何使用VSA表示对图像进行编码,使得绑定操作是平移的等变操作。使用相同的编码方案,我们然后制定由平移模板形状组成的场景的生成模型,并展示共振器网络[28]如何推断出生成给定图像的平移和对象模板。扩展这种方法,我们开发了一个算法,采用新的分层共振器网络来分析由形状模板的任意刚性变换组成的场景。最后,我们展示了如何在Intel的神经形态研究芯片Loihi[40]上实现分层共振器网络的基本组件,利用高效的尖峰时序编码。

用超向量表示图像

高维随机向量近似正交,即向量对的内积很可能很小。VSAs 利用这种分离性,通过在 N 维空间中用随机向量(如 a, b 等)表示单个符号【18, 22】。VSAs 通常提供两种互补的二元向量操作来形成复合数据结构,保持向量维度:叠加和绑定。在计算过程中,表示原子和复合数据结构的 N 维向量称为超向量。最近,VSAs 已推广为矢量函数架构(VFAs)【27】,不仅可以在超向量中表示离散符号的数据结构,还可以表示实值量【41, 42】和函数【27】。在 VFAs 的计算过程中,向量操作的执行与解析/解码和错误校正交替进行,利用存储在所谓代码簿中的可解释超向量的基于相似性的访问,例如通过最近邻搜索或自联想内容可寻址存储器【43, 44】。

在这里,我们使用基于傅里叶全息简约表示(FHRR)【18, 45】的VFA,一种 VSA,其原子超向量由相位器组成,即具有单位振幅的复值变量。两个 FHRR 超向量之间的相似性通过归一化内积的实部来衡量,1/N ℜ(a†b),其中 a† 是复共轭向量转置。FHRR 中的绑定操作是 Hadamard 积或元素级乘法 ⊙,绑定为 a ⊙ b,解绑为 a ⊙ b*,其中 b* 是复共轭。叠加操作是向量求和,a + b。

要将图像编码为超向量,VFA 索引向量用于编码像素位置。我们选择两个固定的复值 FHRR 向量 h 和 v,分别用于水平和垂直位置,其元素是单位振幅的复相位器(即,)并随机分配相位(φj ∼ U[0, 2π],其中 U[0, 2π] 是均匀分布)。位于笛卡尔图像坐标 x, y 处的像素表示为索引向量 hx ⊙ vy。将向量 h 和 v 指数化,实质上是使每个元素 j 的相位与 φj 的值成比例地旋转。

按照【27】,图像 Im(x, y) 作为像素空间上的函数通过其对应的图像像素值加权的索引向量的叠加来编码,。这种编码类似于离散傅里叶变换,但频率是随机选择的【46】而不是规则间隔。有趣的是,傅里叶变换的重要性质,如卷积定理,即使在频率随机化时仍然有效。反复绑定(hx)目前也常用于 transformer 中的位置编码【47】。此外,三个随机向量索引颜色通道红、绿和蓝,。彩色图像的超向量表示则为:

其中 Gc 表示代表颜色通道的向量。(1)右侧的定义明确了图像的超向量编码是线性投影,其中是作为向量重塑的图像,而 是每个索引配置 {x, y, c} 的超向量代码本矩阵。相反地,从超向量解码图像使用共轭转置作为线性变换,。由于代码本条目仅近似正交,解码在图像重建中引入了小量的噪声,这可以量化并减轻[48]。在这种情况下,这些噪声效应是最小的。重要的是,使用(1)进行图像编码使得绑定作为图像平移的等变向量操作。

同时,请注意图像平移对于 ∆x, ∆y 的连续值是定义良好的,允许识别形状被平移了像素的分数部分。

为了便于理解本节及后续章节中使用的符号和符号,我们提供补充表I作为参考。

使用VSA向量运算的场景生成模型

我们在由对象模板组成的简单合成图像上演示场景理解,在我们的例子中,是字母,它们被平移并赋予了7种颜色之一。场景理解任务是从输入图像中提取对象的身份、颜色和位置。

在VFA框架中,合成图像的生成模型可以如下制定。对齐字母的图像模板(见方法)并写成矩阵,其中 D = 26 是不同模板的数量。和(1)一样,字母模板由超向量表示。

共振器网络的推理

生成模型(4)原则上可以通过推断最佳解释数据的原因因素来理解给定的输入图像。然而,生成模型中的推理在计算上是昂贵的[50],因为它涉及在所有可能的姿态下对所有模板进行全面搜索。

VSA公式(4)允许快速并行实现此搜索。要分析的给定图像首先通过方程(1)转换为超向量s。然后,图像内容的推理涉及通过模型中包含的最佳匹配模板和变换来拟合输入向量s。特别是,(4)中的总和的每一项代表一个图像组件,推断其属性需要将相应的项分解为特定的超向量。

向量分解问题是VSA算法中的常见问题,共振器网络可以高效解决[28, 29]。共振器网络由模块组成,每个模块对应生成模型中的一个变化因素,并且是递归相互连接的。

共振器网络模块包含三个阶段:

VSA绑定阶段、

线性自联想记忆用于表示一个因素的码向量[51],

以及逐元素饱和函数或归一化(图1B)。共振器网络(5)动态地解决推理问题。从随机种子开始,在每次迭代中,一个模块通过从所有其他模块中解绑定它的估计来解码其自身的因素估计。然后,将解码的向量与模块的代码本进行比较。基于向量相似性,自联想记忆将解码的向量清理,使其类似于一个或多个有效代码本向量的叠加。在应用转移函数f后,这个新的估计被发送到其他模块。共振器网络在(4)中进行推理的完整动态方程式为:

公式 (5) 的动态依次改进了所有因素的联合估计(图 1C)。重要的是,各个模块不会立即定格在某个因素的单一估计值上。在早期的迭代步骤中,它们会产生多个可能因素的叠加,这使得能够并行搜索解决方案的组合。在后期迭代中,模块之间的交互将搜索范围缩小到单个场景组件的身份、姿势和颜色的估计值,并使网络收敛(图 1D, E)。

对于具有多个组件的场景进行解析时,在之前识别出的图像组件从 s s 中减去作为外部循环的一部分后,分析过程重复进行。这种减法类似于“解释消除”或“通缩”[52]。另外,也可以通过多实例共振器并行运行来分析多个对象,即多头共振器(见补充信息和补充图 8)。

为了评估模型性能,我们设计了用于不变字母识别的基准任务。图 1F 显示了在场景中分类单个字母的准确率结果(见方法)。对于包含所有26个字母的识别任务,无论颜色或平移如何,网络在识别字母模板时的准确率为98%(N = 10,000);关于多字母场景的分析,请参见补充信息和补充图 7。

具有旋转和缩放对象的场景

具有刚性、非交换变换的场景

上排显示了分解过程,揭示了字母“k”,而下排显示了第二个分解过程,揭示了字母“m”。注意,在早期迭代步骤中,所有因素的估计都是未决定且模糊的,并在迭代过程中突然变得清晰。相反,图 4 显示了一个不成功的推理例子。在这种情况下,第一次分解错误地将“m”的拱形部分解释为旋转后的“s”。减去“s”后,“m”仍有部分残留,第二次分解运行将其错误地解释为“a”。

我们进行了另一组刚性变换的基准实验。任务被简化为10个字母的子集和大约一半(±89°)的旋转,以减少复杂性和模糊场景的数量,因为许多模糊性是由于180°旋转对称性造成的。在我们的基准实验中,系统以84%的准确率识别出正确的字母(图 4D)。

当网络失败时,它通常会收敛到由生成因素的复杂混合组成的虚假解决方案。尽管这些例子没有恢复出真实的生成因素,虚假解决方案仍与输入有显著的相关性(图 4E)。在方法中,我们描述了一些对共振器网络动态的修改,以减少这些错误,例如鼓励稀疏解的非线性。然而,这些修改无法完全消除这个问题,这在其他用于场景分析的生成模型方法中也有报道 [33]。

使用脉冲时间的神经形态实现

图6展示了Loihi和CPU在能耗和延迟方面的比较。虽然Loihi速度较慢,但其能效高出几个数量级(图6A和B)。对于最大的网络规模,Loihi在能耗延迟乘积(EDP)方面效率高出171倍(图6C),并且随着网络规模的增加,其扩展性比CPU更好,这可能是由于稀疏的、基于事件的矩阵乘法[54]。

我们描述了一种新的网络架构,用于在生成模型中进行推理,并在现代尖峰神经形态硬件上用高效的尖峰时序编码进行了神经形态实现[53][40]。这种网络架构在分析合成视觉场景的问题上得到了验证,我们的配套论文展示了一个应用于现实世界任务的例子,即机器人视觉里程计[55]。

生成模型中的推理——也称为“通过合成分析”——是一种强大的不变模式分析方法,但众所周知,它在计算上非常昂贵[50]。我们提出的方法使其变得可行,

关键在于四个理念。

第一个理念是开发数据编码方案和生成模型,使绑定成为变化因素(如图像平移)的等变算子。

第二个理念是通过共振器网络在生成模型中计算推理,该网络通过在叠加中计算高效地搜索解空间[28]。

第三个理念解决了存在多个非交换变化因素的问题,如平移与图像旋转和缩放。借鉴图像配准的经典方法,傅里叶-梅林变换[56-58],我们提出了一种新颖的分层共振器网络,其中绑定在一个分区内是平移的等变操作,在另一个分区内是旋转和缩放的等变操作。

第四个理念是在神经形态硬件上使用多室神经元模型实现网络的尖峰时序编码。避免使用速率编码的神经形态计算的低效率[59],我们的神经形态实现采用了尖峰相位编码,这在效率上超越了在CPU上的实现。然而,这里展示的实现更多是一个概念验证。模型的制定是灵活的,可以针对特定的神经形态和其他边缘AI硬件实现进一步优化。

在人工智能领域,对解释性因式化或“解缠”的表示形式引起了兴趣 [60, 61],特别是关注从数据中学习因式化表示 [39, 61–63]。然而,现有方法依赖于通用的神经网络架构,没有明确地适应因式化所需的计算。还有人指出,这些学习到的表示中完全等变的泛化能力有限且“脆弱” [64],甚至有人推测在没有归纳偏差的情况下,即没有工程化的泛化机制(即嵌入到网络中或“增强”训练数据集中的机制)学习到真正解缠的表示是“不可能的” [65, 66]。

在这里,我们专注于场景分析的基本计算原理 - 即因式化和推理,而不是单纯的学习。通过将感知视为生成模型中推理问题的方法,我们避免了纯粹依赖学习表示的模型的缺点,例如快捷学习 [68, 69]、缺乏超出分布的泛化能力 [70–72] 和外推能力 [73, 74]。此外,我们还通过直接将解缠与向量因式化 [75] 相关联来提供对解缠表示的有意义定义,这一理解迄今为止一直缺乏。

在对简单合成场景进行评估时,该模型大多数时候能够成功,但也会因为多种原因而失败,这些原因大多数也适用于其他生成模型方法。导致错误的主要原因是通过对称性产生的虚假匹配,例如,“p” 与旋转后的 “d”,或生成因素的复杂混合。这些虚假匹配能够以高质量重建输入,正确捕捉位置和颜色,但使用错误类别的形状基元。为防止通过复杂对象混合来解释对象,我们探索了在共振器动态中添加稀疏机制的方法,以鼓励简单的场景解释,以及进一步的对齐和退火过程,并观察到了改善的性能(见方法和补充表 II)。未来更好的选择可能是在模型中简洁地包含因素先验。

所提出的结果表明,神经形态硬件与最近发展的 VSA 技术结合,通过生成模型提供了一种可行的场景分析方法。采用分层共振器网络的方法可能不仅限于我们基准测试中使用的合成场景。例如,我们目前正在探索的一个方向是使用稀疏特征而不是完整字母模板来描述生成模型中更多种类的视觉对象。对于自主代理有用的自然场景的神经形态分析之路,将需要进一步修正生成模型(7),例如添加先验、3D 形状模型与3D 变换 [76],以及遮挡效应 [77] 的影响。

最后但同样重要的是,这项工作还对神经科学有重要意义。神经科学中的特征绑定问题 [78] 通过向量绑定无缝解决,这正是这种场景理解模型的核心。我们的神经形态场景理解实现对振荡和脉冲相位锁定功能做出了预测,这些预测与先前有关绑定信息如何通过同步 [79] 或异步 [80] 的节律性脉冲编码来表示的提议完全不同。

方法

仿真实验的详细信息

使用共振器网络的仿真实验是使用Python中的Numpy和PyTorch实现的。用于基准测试实验的向量维度分别为平移任务的N = 10,000,笛卡尔模块的N = 16,384,以及刚性变换任务分层共振器的对数极坐标模块的N = 22,680。

共振器网络被初始化为随机状态,或者每个因素被初始化为其所有代码本向量的平均值(从而带来稍微更可靠的性能)。

Hierarchical Resonator Network(分层共振网络)是平移共振网络(5)和旋转/缩放网络(6)的结合体。图3A中的对数极坐标分区位于右侧模块列,包括“自上而下”桥接模块(8)和来自(6)的模块。自上而下桥接模块(8)生成ˆl,即旋转和缩放后的形状的估计,转换为笛卡尔坐标系。笛卡尔分区位于图3A中的左侧模块列,包括来自(5)的模块,但输出ˆd的模块被“自下而上”桥接模块(9)替换。ˆd的先前输入被自上而下信号ˆl替换。自下而上桥接单元(9)生成ˆp,将输入的中心化版本转换为对数极坐标。这实际上替代了(6)的输入。

我们称图3A中的这种架构为分层共振网络,因为根据Felleman和Van Essen的定义[81],这些双向连接的分区承担了不同的层次结构。笛卡尔分区接收较低层次的直接输入,而对数极坐标分区则相对于感官输入更高一个层次。对数极坐标分区还在内存中保存离散的形状模板,这可能是图像组成中最抽象的部分。

在分层谐振器网络中,旋转作为一种操作必须具有正确的拓扑结构,以便其表示——即,旋转360度结果得到相同的图像。这是通过确保表示向量r也具有圆形拓扑结构来实现的。圆形拓扑结构是通过为表示r定义一个周期性核来编码的,其中r的元素随机相位是从离散概率分布中采样的[27]。具体来说,相位圆被划分为Lr个离散样本,r的每个元素是这些样本之一,ri ∈ {e i2πk/Lr ∀k ∈ {1, ..., Lr}}。

请注意,我们对绑定作为图像平移等变操作的定义(2)在考虑图像边缘时需要一些宽松度。如果我们假设图像具有环形拓扑结构,并且位置向量h和v也具有上述正确的拓扑结构,那么该定义严格成立。还要注意,复指数是多值的,即(e iφj ) x = e x(iφj+2πn) ∀n ∈ Z,但我们定义该操作仅返回主值n = 0。

除了方程(10)中描述的动力学之外,我们还进行了一些修改以提高性能。一种修改是更新动力学中的滞后现象,其中一部分过去的状态被包含在下一次更新中,即:

性能基准测试的详细信息

为了对模型进行基准测试,创建了包含特定数量字母的图像。字母、位置和旋转是随机选择的。对于平移任务,字母是随机从英文字母表的26个字母中选取的;对于旋转任务,则从字母表的前10个字母中选取。我们使用字体 'TlwgTypewriter-Oblique',字体大小为26,图像大小为64x64像素。字母通过 scipy.ndimage.shift 进行移动,移动量是一个在-19到+19之间均匀分布的随机浮点数,即,从边缘到字母有13像素的边界,以避免字母被裁剪。

为了避免字母之间的重叠,在将一个字母添加到图像后,会将新图像与旧图像进行比较。如果在至少一个像素上出现重叠,则重新进行新添加字母的垂直和水平平移的随机选择。如果在20次重复此过程后仍未找到不重叠的图像,则第20次重复时的图像(有重叠)将被使用。

请注意,即使字母的颜色不重叠,如红色和绿色,字母看起来仍可能重叠。

场景分析问题的复杂性可以通过系统必须搜索的总组合数来量化。在基准测试中,有26个字母、7种颜色以及覆盖39x39像素的平移范围,提供了一个组合空间达到276,822种。这个数量远低于共振器网络预期几乎有100%准确度的操作容量(对于N = 12,000大约是1亿)[28]。请注意,随着6个变异因素的存在,组合空间已扩展到超过1亿种组合,网络必须搜索,这意味着问题更具挑战性。重要的是要注意,在共振器中测量的操作容量是针对不相关向量的,而在场景分析中的性能会因生成对象之间的相关性而有所不同。白化过程在字母处于默认位置时去除了相关性,但在它们处于任意相对位置时则没有。

为了对不同模型变体进行基准测试,我们报告了基于字母身份正确分类百分比的准确度度量。我们选择这种度量方法,因为它易于计算和比较,并且正确获取字母身份通常也意味着其他因素估计得很好(反之则不成立)。共振器的字母输出是状态读出的argmax(字母因素代码本和因素状态的乘积)。

对于输入图像中有多个字母的任务,如果字母输出对应图像中的任何字母,则分类被视为正确。然后从列表中移除一个正确猜测的字母实例,以便下一次通过必须正确猜测剩余字母中的一个才能被视为正确分类。

为了找到不同模型变体的最佳参数,我们执行超参数搜索。从手动调整的网络开始,我们分别对每个参数执行扫描。以这种方式优化的参数包括噪声方差(σ)、每组状态的状态更新比率(γ)和多项式指数(k)。超参数搜索使用不同的随机种子进行,即不同的数据集和不同的随机代码本,而测试种子仅用于在给定数量的样本上测试网络。

硬件实现的详细信息

我们在Intel的神经形态研究芯片Loihi[40]上实现了一个较小的模型,该模型解决了28x28x3的分解任务。这个较小的版本是在USB形式因子系统“Kapoho Bay”上实现的,该系统拥有两个Loihi芯片,共有256个神经核心,在这些核心上可以实施总计262,144个神经元和高达2.6亿个突触。嵌入式x86处理器用于监控和发送输入尖峰。

在尖峰网络中使用相位器使得在硬件上可以进行复向量的乘法和加法。相位器可以通过共振和发射神经元实现,或者通过添加特定的约束条件,使用普通的积分和发射神经元[53]。在这项工作中,我们使用的I&F神经元在T=16个时间步的周期内发射单个尖峰,这使我们能够表示单位幅度和离散(4位)相位的复数。每个高维向量的复数元素在硬件上作为一个神经元实现。

FHRR中的绑定操作是复向量之间的哈达玛德积(逐元素乘法)。单位复数的乘法只是它们相位的加法。我们将复数的相位表示为尖峰时序,因此,绑定是尖峰时序的偏移。为了实现正确的尖峰时序偏移,我们设计了一个与Loihi 1兼容的4室I&F神经元。该神经元的结构在图5B中显示,机制在图5C中说明。

两个室,“aux”和“soma”,通过简单地整合一个恒定值(例如,1),并在达到阈值时重置,从而像时钟一样以周期时间T运行(例如,达到16个时间步长以实现周期T=16)。第一个输入(s)到“soma”室会重置“soma”的时钟。

第二个输入尖峰到“trig”室会打开一个从“aux”到“dend”室的门。当门打开时,aux状态(对应于第二个输入尖峰的(负)相位)会被加到soma状态上,延迟soma达到尖峰阈值,从而推迟输出尖峰的时间(如图5C所示)。请注意,这种多室实现相位加法是特定于Loihi 1硬件的;以下方程描述了使用离散时间I&F机制的绑定模块,该机制独立于硬件,用于单个神经元(向量元素):

膜电位v(t)对应于“体细胞”隔室的状态,时钟c(t)对应于“辅助”隔室的状态。当它们达到阈值vThr = T时,这两个状态都会重置为0,并且“体细胞”隔室会发送一个输出尖峰。s0(t)和s1(t)代表输入尖峰序列,在尖峰时刻值为1,在其他地方为0。s0信号确定每个神经元的参考相位,s1信号代表改变绑定相位的输入。这种机制在每个额外的输入尖峰(当两个以上的向量绑定在一起时变得相关)之后最多需要一个周期,然后神经元才能稳定到正确的输出相位。输出尖峰时间可以通过转换为相应的复数。

注意,绑定电路有两个版本,一个用于绑定,一个用于解绑。在FHRR中,解绑是逐元素乘以复共轭(在方程中表示为),即相位相减而不是相加。在绑定电路中,“辅助”隔室从0倒数到-T;在解绑电路中,它从-T数到0。在绑定模块之后,尖峰通过一个清理模块发送,该模块执行与自联想矩阵的矩阵乘法,例如HH†。如图5所示,每个通过清理矩阵的尖峰都会引发一个负电流脉冲和一个正电流脉冲。使用Loihi的突触延迟设置延迟脉冲,延迟基于复权重的相位,如[53]所述。这导致每个I&F神经元膜电位中近似正弦波振荡,当它们相加时,实现复点积。为了协调网络的定时,清理模块后面有一个门。门模块由长度为N的I&F神经元阵列组成,这些神经元以1:1的方式从清理模块连接到绑定模块。默认情况下,神经元受到抑制,只有在控制输入去极化时也允许尖峰传递。门的突触延迟被调整以确保绑定模块和清理模块保持同步。此外,门允许清理模块在将尖峰转发到绑定模块之前迭代三个周期。门还确保每个周期只有一个尖峰被路由到绑定模块。为了更好地收敛,清理模块具有循环的1:1连通性,即每个神经元在一个周期T的延迟下连接回自身。这导致谐振器状态在迭代过程中的演化速度较慢,类似于滞后过程(11)。

由于芯片上每个核心允许离开神经元的连接数(扇出数)是有限的,我们在芯片上的多个核心上分布了神经元,并从清理矩阵中剪枝了权重最低的一半突触。密集的清理矩阵是架构中最限制性的部分。另一种选择是将清理矩阵分割成它的两个组成部分,在大多数情况下大大减少了突触的数量。然而,连接两次矩阵乘法的层不能使用单位幅度的尖峰相位器表示。下一代Loihi芯片上的分级尖峰可以用来实现具有幅度的相位器。

Loihi 1芯片的功耗测量是使用NxSDK版本0.9.9在Nahuku32板上远程获得的,板子编号为ncl-ghrd-01。Loihi板与一个系统相连,该系统配备了Intel Xeon CPU E5-2670 @ 2.60GHz和128GiB的RAM,运行Ubuntu 20.04.4 LTS。Intel实验室提供了软件API和硬件。除能量探头外,所有探头,包括输出探头,均已停用。能量是在20次共振器迭代中平均计算的。CPU的测量数据是使用Intel SoC Watch在一个配备有Intel Core i9-7920X CPU @ 2.9GHz和128GiB RAM的系统上获得的,该系统运行Ubuntu 20.04 LTS。仿真是使用Python 3.8.10和NumPy 1.23.1运行的。该进程被限制使用12个线程,因为我们发现这能提供最佳的能耗延迟乘积测量。未包括DRAM的能耗。延迟和能量是在10000次迭代中平均计算的。动态能量是通过减去在相同时间内运行系统而不带负载时使用静态能量来测量的。因此,动态能量是与计算相关的能耗,并排除了漏能。比较时在Loihi和CPU上都使用了完整的NxN自联想矩阵进行清理。对于少量符号,首先与解码矩阵(例如,H†)相乘,然后再与编码矩阵(H)相乘,在计算上是有利的。然而,中间结果不能在没有幅度的相位器编码中表示。我们正在研究一种能够在下一代Loihi芯片Loihi 2上表示幅度的编码方式,这将提高架构的可扩展性。

配套论文: