前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >矢量符号架构作为纳米级硬件的计算框架

矢量符号架构作为纳米级硬件的计算框架

作者头像
CreateAMind
发布2023-09-01 08:27:51
3250
发布2023-09-01 08:27:51
举报
文章被收录于专栏:CreateAMind

Abstract—This article reviews recent progress in the develop- ment of the computing framework Vector Symbolic Architectures(also known as Hyperdimensional Computing). This framework is well suited for implementation in stochastic, nanoscale hard- ware and it naturally expresses the types of cognitive operations required for Artificial Intelligence (AI). We demonstrate in this article that the ring-like algebraic structure of Vector Symbolic Architectures offers simple but powerful operations on high- dimensional vectors that can support all data structures and manipulations relevant in modern computing. In addition, we illustrate the distinguishing feature of Vector Symbolic Archi- tectures, “computing in superposition,” which sets it apart from conventional computing. This latter property opens the door to efficient solutions to the difficult combinatorial search problems inherent in AI applications. Vector Symbolic Architectures are Turing complete, as we show, and we see them acting as a framework for computing with distributed representations in myriad AI settings. This paper serves as a reference for computer architects by illustrating techniques and philosophy of VSAs for distributed computing and relevance to emerging computing hardware, such as neuromorphic computing.

Index Terms—computing framework, hyperdimensional computing, vector symbolic architectures, nanoscale hardware, distributed representations, data structures, Turing completeness, computing in superposition

矢量符号架构作为纳米级硬件的计算框架

本文回顾了计算框架矢量符号架构(也称为超维计算)的开发最新进展。该框架非常适合在随机纳米级硬件中实现,并且自然地表达了人工智能 (AI) 所需的认知操作类型。我们在本文中证明,矢量符号体系结构的环形代数结构提供了对高维矢量的简单但强大的运算,可以支持现代计算中相关的所有数据结构和操作。此外,我们还说明了矢量符号体系结构的显着特征,即“叠加计算”,这使其与传统计算不同。后一个特性为人工智能应用中固有的困难组合搜索问题的有效解决方案打开了大门。正如我们所展示的,矢量符号架构是图灵完备的,我们看到它们充当在无数人工智能设置中使用分布式表示进行计算的框架。本文通过说明分布式计算的 VSA 技术和原理以及与新兴计算硬件(例如神经形态计算)的相关性,为计算机架构师提供参考。

https://arxiv.org/pdf/2106.05268

I.介绍

计算的需求正在发生变化。首先,人工智能(AI)和其他新颖的应用提出了大量的计算问题,这些问题需要在可能的解决方案的巨大空间中进行搜索,有许多近似正确的答案,但很少有一个正确的答案。第二,未来的纳米级硬件平台在超低电压下运行,以降低能耗并支持持续的工艺升级,注定会有噪声,因此运行是随机的[Jaeger, 2020].这些观察揭示了对计算框架的需求,该计算框架既支持存在噪声时的确定性计算,又支持人工智能算法的近似和并行性质。

对于纳米级硬件,我们指的是高度并行、以超小规模制造、利用新型组件和/或在超低电压下运行的新硬件设计的大类,因此由不可靠的随机计算元素组成

传统的(冯·诺依曼)计算架构并不能很好地适应这些需求,因为它的设计假设了精确的计算元素,并适用于需要精确答案的任务。传统的计算架构将继续在技术中发挥重要作用,但新的计算设计可以更好地满足越来越多的计算需求。因此,硬件工程师一直在寻找分布式和神经形态计算来满足这些需求。

许多新兴的计算需求来自人工智能领域的认知或感知应用,如图像识别、计算机视觉和文本分析。事实上,大规模深度学习神经网络建模主导了关于现代计算技术的讨论,将硬件设计的创新推向了并行、分布式处理[Ben-Nun and Hoefler, 2019].虽然被广泛使用,但深度学习神经网络仍然有局限性,例如学习表示的透明性和执行符号计算的困难。为了支持更复杂的符号计算,研究人员已经在神经网络模型中嵌入了传统的数据结构,如图形和键值对[Kipf and Welling, 2017], [Scarselli et al., 2008], [Vaswani et al., 2017].然而,目前尚不清楚子符号模式识别和深度神经网络的扩展学习能力是否具有可以处理现有计算框架的丰富的控制流、抽象、符号操作和递归。

开发纳米级计算硬件的工作正在加速进行。有许多展示案例演示Lin et al.,2018], [Pei et al., 2019], [Imam and Cleland, 2020], [Davieset al., 2021]但到目前为止:

•这些演示大多缺乏一个能够带来足够的可组合性、可解释性和通用性的统一理论框架;

•许多演示仍然依赖于容易出错的手工制作的元件;

•大多数演示实际上都是子符号的,并且求助于传统计算机体系结构的支持来实现符号和流控制元素。

虽然这些观点总的来说是正确的,但也有一些例外,我们将在第一节中讨论V-E。然而,所有这些都激发了对统一计算框架的需求,该框架可以作为硬件和所需功能之间的抽象层。理想情况下,这种框架应该足够灵活,以便为具有各种功能的纳米级硬件提供接口,例如随机组件、异步脉冲通信或具有模拟元件的设备。

出于以下原因,我们提出了向量符号架构(VSA)Gayler, 2003]或者,同义地,超维度计算[Kanerva, 2009]作为这样的计算框架。首先,VSA可以表示和操作分布式向量空间中的符号和数字数据结构,以解决例如认知[Eliasmith et al., 2012], [Rachkovskij and Slipchenko, 2012], [Emruli et al., 2013]或机器学习[Ge and Parhi, 2020]任务。VSAs是一个适合与神经网络计算集成的框架,用于解决人工智能中的问题,并作为一种能够用分布式表示执行符号操作的方法,扩展到典型的人工智能任务之外。第二,VSAs的设计灵感来自大脑,适合在纳米计算技术中实现[Karunaratne et al., 2020]因为它对单个设备的变化非常鲁棒。第三,VSA是一个具有两个接口的框架,一个面向计算和算法,另一个面向实现和表示(参见图。1).有不同的VSA模型,它们都提供相同的操作原语,但在这些原语的实现方面略有不同。例如,VSA模型使用二元、双极、连续实数和连续复数向量进行计算。因此,VSA概念可以灵活地连接到多种不同的硬件类型,例如模拟内存计算架构的二进制值[Karunaratne et al., 2020]或用于尖峰神经元架构的复值VSAsFrady and Sommer,2019].

本文提供了三个主要贡献。首先,我们回顾VSA的原理,以及它们如何为实现传统数据结构和确定性算法的原语提供通用计算框架。其次,我们强调了VSA非传统计算模式“叠加计算”的利弊可以利用分布式表示和并行性来有效地解决计算困难的问题。最后,我们通过使用VSA来表示一个已知为图灵完备的系统来证明VSA的普遍性(参见附录A 两个提案的详细内容)。

Guide to the article

The article is written with both newcomers to VSAs and seasoned readers in mind. Section II provides motivation for using VSAs in the context of nanoscale computing hardware. This section sets up the context for the article. Section III offers a deep dive into the fundamentals of VSAs, recom- mended primarily to readers not yet familiar with the frame- work. Section IV explains different aspects of computing with VSAs, including a survey of the representation primitives for numerous data structures (Section IV-A), possible realizations of VSA models in different types of hardware (Section IV-B), and a tutorial on computing in superposition (Section IV-C). Section V provides discussion and covers related work. Fi- nally, Appendix A describes two proposals for demonstrating the universality of VSAs.

I.动机

大数据和人工智能应用的指数级增长暴露了传统计算框架的根本局限性。一个问题是能源效率停滞不前Andrae and Edler, 2015]–为自然语言处理应用程序训练和微调神经网络消耗相当于几十万美元的能量和计算资源[Strubell et al., 2019]或更多[Rogers, 2019].传统的计算硬件也非常容易出错,并且试图保持低错误率会浪费能量。

数据密集型应用说明了问题的规模,并使能源效率成为计算机工程的巨大挑战。为了解决这一挑战,需要能够与不精确和不可靠的计算元素一起工作的替代硬件[Jaeger, 2020].使用容易出错的随机器件在超低电压下工作,有可能大大提高计算能力和效率。

例如,最近在材料科学和设备制造方面的进展使得设计适应生物大脑的计算原理或利用衬底材料的物理特性的计算硬件成为可能。对于某些类别的问题,计算硬件如神经形态处理器[Merolla et al.,2014], [Davies et al., 2018], [Frady et al., 2020c]和内存计算架构[Karunaratne et al., 2020]与当前相比,仅消耗一小部分能量的技术。对于某些任务,现有的神经形态平台可以节能1000倍[Davies et al., 2018]比传统的。

目前的焦点是在纳米计算硬件中实现人工智能能力[Frady et al., 2020c],目的是为选定类别的人工智能功能(主要是神经网络)提供高能效的实现。然而,我们看到了计算框架在范围上超越神经网络的机会,这可能会在纳米计算技术上实现前所未有的突破。首先,虽然神经网络算法非常好地服务于相当小的计算问题子集,但是它们不能解决需要传统算法和数据结构的大类问题。一个比神经网络应用范围更广的计算框架可以将纳米计算的应用提高几个数量级。第二,尽管纳米尺度的计算硬件有许多有前途的应用,但任何新功能的编程都绝非易事。纳米计算硬件目前缺乏一个整体的软件架构,这将简化新功能的开发。当前的开发策略类似于汇编编程,从提出算法思想到设计由中央处理器执行的实际机器指令,整个工作都留给了开发人员。因此,最近令人印象深刻的纳米级硬件发展[Karunaratneet al., 2020], [Li et al., 2016]需要辅之以为这种硬件创建计算框架,能够抽象和简化新功能的实现,包括程序的设计。最后但同样重要的是,大多数纳米级硬件与传统计算机和神经网络加速器硬件的根本不同之处在于,所实现的计算是不可靠的和随机的。因此,需要一种计算框架,其中实现了纠错和错误鲁棒性。

有大量的工作证明,VSA拥有丰富的计算表达能力,从神经网络的功能[Kleyko et al., 2019], [Kleyko et al., 2020a], [Kleyko et al., 2020], [Frady et al., 2018b]到机器学习任务[Recchia et al., 2015], [Rasanen and Saarinen, 2016], [Kleyko et al., 2018b], [Rahimi et al., 2019]和认知建模[Slipchenko and Rachkovskij, 2009], [Rachkovskijet al., 2013], [Eliasmith, 2013], [Rachkovskij and Slipchenko,2012], [Emruli et al., 2013], [Kleyko et al., 2015].此外,VSA可以表达常规算法,例如,有限状态自动机[Osipov et al., 2017], [Yerxa et al., 2018]和上下文无关语法[beim Graben et al., 2020].

在这篇文章中,我们探索VSA是否可以作为一个计算框架,将纳米计算带到下一关。我们认为VSA提供了一个框架来形式化和模块化算法,同时在Marr的框架中连接计算和实现层[Marr, 1982]用于信息处理系统(见图。1).我们的提议概括了早期的建议,将VSA应用于在纳米级硬件上实现特定的机器学习算法Rahimi et al., 2017], [Kanerva,2019].

I.VSA基础

VSA [Gayler, 2003]是一系列用于在高维空间中表示和操作数据的模型。它最初是在认知心理学和认知神经科学中作为符号推理的联结主义模型提出的Plate, 1994b].在VSA中,信息由高维(但是固定的)向量N来表示,有时被称为超向量或HD向量。符号由超矢量表示,编码信息分布在超矢量的所有组件中。这种分布式表示[Hinton et al., 1986]不同于地方主义和半地方主义的表现[Thorpe, 2003],其中单个组件或组件子集编码单独的独立特征。

分布式表示本身并不是全部。如所述Fodor and Pylyshyn, 1988],分布式表示必须是多产的和系统的。生产力指的是由简单的原语产生的大量表达,而系统性意味着表示对编码对象的结构敏感。这些需求是发展VSA的动力之一。VSA作为Marr体系中算法层的一个主要优势(图。1)的一个优点是它包含分布式表示,这对于局部噪声是鲁棒的。

用随机超向量而不是布尔或数字标量作为基本对象进行计算的想法已经由Kussul开发为联想投影神经网络[Kussul and Rachkovskij, 1991], [Kussul et al., 1991a], [Kussul et al., 1991b]并独立地在开创性的工作中对全息还原再现进行了制版[Plate, 1994a].VSA可以用不同类型的向量来表述,即包含实数、复数或二进制项的向量,以及几何代数的多元向量。这些VSA风味有许多不同的名字:全息简化再现(HRR Holographic Reduced Representation )Plate, 1995a], [Plate, 2003],乘-加-置换(映射Multiply-Add-Permute)[Gayler, 1998],二元飞溅代码Binary Spatter Codes[Kanerva, 1997],稀疏二进制分布式表示(SBDR Sparse Binary Distributed Representa- tions) [Rachkovskij and Kussul, 2001], [Rachkovskij,2001],稀疏分组码[Laiho et al., 2015], [Frady et al.,2020b],加法术语的矩阵绑定(MBAT) [Gallantand Okaywe, 2013],全息简化表示的几何模拟(GAHRR) [Aerts et al., 2009】等。所有这些不同的模型都有相似的计算特性–参见[Frady et al., 2018b]和[Schlegel et al., 2020].为了清楚起见,我们将在本文的剩余部分使用乘加置换模型

A.VSA的基本元素

1)高维空间:VSA需要一个高维空间。维度的适当选择N多少取决于问题,但是有简单的经验法则(例如,N > 1,000),更重要的是特定数据的表示给定问题中的结构。如上所述,存在为不同类型的空间定义的VSA模型(参见第IV-B了解更多详情)。已证明有用的操作和属性如下所示(附录B提供概要)。这里值得指出的是,超矢量上的VSA操作(第III-B)远远超出了传统的“向量空间”所规定的(向量加法运算、一个标量乘法运算和8个相关公理)。也就是说,我们包括一个乘法运算两个向量和一个互补的置换运算。对于使用阈值的VSA,向量加法甚至不是精确线性的。虽然VSA有时会利用向量上的线性运算,但我们提到的“向量空间”并不是严格意义上的线性代数,而是更丰富的东西。

2)伪正交性:通过使用随机向量作为代表

表示,VSA可以利用集中测度现象[Ledoux, 2001], [Gorban and Tyukin, 2018],这暗示了随机向量在高维向量空间中变得几乎正交。这种现象有时也称为渐进精度[Alaghi and Hayes,2018]或维度的祝福[Gorban and Tyukin,2018],确保不同对象的表示自动不同。在VSA文献中,不同的表示由各种形容词来描述,例如不相关的、不相关的、近似正交的或伪正交的。与精确正交性不同,维数N不是可以创建的伪正交向量数量的硬性限制

3)相似性度量:VSA的推理是基于超向量之间的相似性。VSA中常见的相似性度量是点(标量、内部)积、余弦相似性、重叠和汉明距离。这里我们使用点积(表示为,)作为相似性度量。

4)种子超向量:设计VSA算法时为了解决问题,通常为给定的问题定义一组最基本的概念/符号,并为它们分配超向量。这种种子超向量被定义为不可约概念的表示。因此,在计算过程中出现的所有其他超向量都是可约的,也就是说,它们由种子超向量组成。这里,我们将关注符号结构,即来自某个字母的大小为D的符号,它们由种子超向量表示。通常(但不总是)通过i.i.d .随机生成载体来分配种子超载体的过程被称为映射、编码、投影或嵌入。我们重申,VSA算法中的表示不需要总是伪正交的。例如,为了表示实值变量,可以使用局部保持表示方案,其中相似值的表示是系统相关的,而不是伪正交的[Rachkovskij et al., 2005], [Weisset al., 2016], [Komer et al., 2019],或者学习超向量的地方[Recchia et al., 2015], [Sutor et al., 2018].因此,人们应该记住,独立身份随机性不是设计种子表示的唯一工具。

5)项目内存:种子超向量存储在所谓的项目内存(或清除内存)中,这是一种内容可寻址内存,可以是矩阵或联想内存[Gritsenko et al., 2017]将超向量存储为点吸引子

B.VSA运算和复合表示

种子超向量是复合VSA表示的构建块,它是由对种子向量执行的操作构建的。例如,可以构建表示图的边的复合超向量(复合实体)(部分IV-A7)来自代表其节点(基本符号)的种子超向量。在VSA中,这种数据结构的组合形式类似于传统计算,而与现代神经网络非常不同,在现代神经网络中,活动向量,尤其是隐藏层中的活动向量,通常不容易解析。

两个关键的VSA运算是超向量之间的二元向量运算,称为加法和乘法。像同名的普通数之间的运算一样,它们和表示向量空间一起构成了一个环状的代数结构。另一个重要的VSA运算是超向量内元件的排列。

加法运算也叫“捆绑”或“叠加”,乘法运算也叫“捆绑”。在乘法-加法-置换模型中,绑定操作实际上是通过组件式乘法(Hadamard乘积)实现的。置换操作通常是分量的旋转,即向量分量索引的循环移位。

在下文中,我们将更详细地描述每个操作及其属性。请注意,本节中提到的超矢量是伪随机i.i.d .因为高维表示容许误差,所以下面列出的条件只需近似满足或以高概率满足。通过测量现象的集中,随着空间维度N的增加,运算以及基于运算的计算变得更加可靠、可信和可预测

1)乘法:将两个超向量映射到另一个超向量的二元运算。它用于表示由两个其他对象绑定而成的对象。该操作是形成具有分布式表示的组合结构的重要成分(例如,参见[Greffet al., 2020]).对于由超矢量a和b表示的两个符号a和b,表示绑定对象(由m表示)的超矢量是:

在 Multiply‑Add‑Permute 模型中表示逐分量乘法 (Hadamard 乘积)denoted as

, enabling one to form a hypervector representing the product of more than two vectors.

C.解析复合表示

VSA提供了将数据结构编码到复合超向量中的可能性,并且通过上述操作来操纵超向量,作为对数据结构执行计算的一种方式。在传统计算中,数据结构总是暴露的,算法查询或修改其中的单个元素。相比之下,VSA中的向量运算可以并行搜索或转换数据结构中的许多或所有元素,我们称之为“叠加计算”(参见IV-C).所有的数据结构都是超向量,可以立即并行操作,不管它们拥有多么复杂的结构。但是这也意味着复合超向量的数据结构不能立即从项目存储器中解码。要查询复合超向量的元素,首先需要对其进行分析或“解析”。我们从语言学中借用了解析这个术语,因为VSA超向量的解析有点类似。为了理解一个句子,需要将句子分析成各个部分,并分配它们的句法角色,这涉及到将这些部分与存储的关于它们的意义和句法角色的信息进行比较。类似地,要提取VSA计算的结果,必须解析得到的超向量。VSA超载体的解析包括结果部分与存储信息的分解和比较。

像普通数字的和或积一样,超向量的解析需要额外的信息,例如作为用于形成复合表示和种子向量组的操作。解析一个复合超矢量首先涉及到对数据结构中所需元素进行编码的逆操作。然而,结果几乎总是近似的,因为串扰噪声来自复合超矢量中的所有其他元件。为了挑选出正确的结果,噪声向量必须与原始种子向量在相似性方面进行比较。探测是在给定查询超向量的超向量中检索最佳匹配超向量(即,最近邻居)的过程。这是在包含所有种子超向量的项目存储器中完成的。例如,考虑复合超载体:

。。。。。上图右侧中间部分

得到的超向量包含正确答案a和串扰噪声项b c d,它与项目存储器中的任何项目都不相似。查询超向量a +噪声将与存储在项目存储器中的超向量a高度相似,其将被成功地检索高概率最近邻搜索。因此,探测操作去除(或清除)了噪声并返回正确的结果。

经由探测的清除是VSA计算的关键部分,其优点在于其操作本质上是抗噪声的,并且噪声鲁棒性的程度可以容易地通过维数N来控制。本质上,探测是信号检测问题。可以从叠加态中正确检索的超矢量的数量称为容量。容量随着超矢量维数大致线性增加,并且对特定VSA模型的细节相当不敏感。VSA的信号检测理论Fradyet al., 2018b]使人们能够确定对于给定的计算和给定的硬件精度来说足够的超向量空间的维度。

用多重乘法解析超向量:在上面的例子中,假设键值对的一个参数(即b)是已知的。然而,情况并非总是如此。此外,还存在几个超矢量相乘的表示法(例如,a b c)。由于大多数VSA模型中的乘法运算会产生与其参数不同的超向量,因此解析具有这种元素的复合超向量是具有挑战性的。这意味着解析a b c形式的超向量最明显的方法是强力检查所有可能的参数组合。然而,这种组合的数量随着所涉及的参数数量呈指数增长。因此,已经提出了一种称为谐振器网络的机制Frady et al.,2020a], [Kent et al., 2020],它通过在所有可能组合的空间中并行搜索来解决这个问题

谐振网络假设没有给出任何自变量,但是它们包含在不同的项目memo中

四 用VSAS计算

A.计算原语在VSA形式化

在上一节中,我们已经介绍了VSA的基本要素。以提供图1中Marr计算层次中的算法级别。1,人们需要将VSA的元素结合到VSA计算的原语中,即类似于软件工程中的设计模式。例如,已经为个性化设备领域的任务提出了一组VSA模板,覆盖不同的多元模态,例如肌电图、脑电图或皮层脑电图Rahimi et al., 2019].在这里,我们总结了用VSAs表示众所周知的数据结构的最佳实践——这一部分可以被认为是“VSAcookbook”。本节中的所有示例都可以在交互式Jupyter笔记本中找到1。https://github.com/denkle/HDC- VSA_cookbook_tutorial

在提供了一些用VSA表示数据结构的基本规则之后,我们给出了一个从先前沿着这些路线所做的工作中收集原语。

值得注意的是,在本文中,我们并没有涉及实值数据的表示(例如,参见[Rachkovskijet al., 2005], [Widdows and Cohen, 2015])或解决机器学习问题(例如,参见[Ge and Parhi, 2020]),因为它已在别处涉及,不在本条的直接范围之内。

1)经验法则:我们应该指出,我们描述的VSA实现并不是唯一的可能性,在特定的设计环境中,其他解决方案也是可能的/理想的。然而,根据一些“经验法则”,所提供的解决方案是最常见/最明显的选择:

加法用于将数据结构的单个元素组合成一个集合;

•乘法用于在元素之间建立关联,例如键-值对;

•置换用于标记数据元素以将它们放入连续的顺序中,例如在时间序列中;

置换用于防止乘法运算的自逆特性,因为超向量在与其置换版本相乘时不会抵消。

在为不同的数据结构形成超向量时,我们大部分时间都会遵循这些规则。

(以下是各个数据结构介绍节选:)

2 集合:

例如,可以通过计算s和对应于感兴趣元素的超向量之间的相似性来测试集合成员。如果相似性得分高于两个随机超向量之间的预期值,则该元素最有可能出现在集合中。这种映射非常类似于布隆过滤器[Bloom, 1970], [Tarkoma et al.,2012],这是一种众所周知的用于集合中近似成员查询的随机化数据结构。布鲁姆过滤器最近被证明是VSA的一个子类Kleyko et al.,2020],其中加法操作通过OR实现,并且种子超向量是稀疏的,如在稀疏二进制分布式表示中[Rachkovskij and Kussul, 2001]模型。

注意,所描述的集合映射没有获得两个集合的交集或并集的分布式表示的精确方式,但是存在两者的简单近似。这两种近似都是通过对相应的超矢量进行加法运算而得到的

3 多重集/直方图/频率分布

超矢量在叠加中出现的次数决定了序列中相应元素的频率。使用s可以估计单个元素的频率或与另一个序列的频率分布进行比较。这两种操作都需要计算s和相应的超向量之间的相似性。

通常,s被用作直方图精确计数器的近似表示。图。3展示直方图与其从二值化复合超矢量中检索的近似版本之间的皮尔逊相关系数,其中近似版本是作为s和符号的种子超矢量之间的点积获得的。对不同大小的直方图和不同维度的超向量进行了仿真。结果是VSA特有的——近似质量随着超向量维数的增加而提高。

这种映射非常类似于计数布隆过滤器[Fanet al., 2000]和计数-最小草图[Cormode and Muthukrish-nan, 2005],这是一种用于从序列中获得频率分布的随机化数据结构。不同之处在于,由于双极超矢量的使用,所呈现的超矢量表示可以对频率进行过计数和欠计数,而最小计数草图只能对其进行过计数。

4 两个集合的叉积:

叉积集由代表原始集元素的超向量的所有可能乘法组成(例如,x)。在上面的例子中,当启动时

首先,对于集合的表示,仅需要7次运算(6次加法和1次乘法)来形成表示。形成叉积集超向量的强力方式需要29次运算(14次加法和15次乘法)。很明显,这种捷径是可行的,因为乘法运算分布在加法运算(部分III-B4b).注意,使用张量积变量绑定[Smolensky, 1990]模型中,两个集合的向量表示的外积将是一个矩阵,其维数由元素域的大小决定。相比之下,叉积的VSA表示由与单个集合超向量维数相同的超向量给出。

5 序列

符号顺序的表示通过对应于其绝对位置的置换来使用超矢量变换。考虑绑定符号和位置指导符的替代表示也是有用的[Kussul and Rachkovskij, 1991], [Cohen et al.,2013], [Kleyko et al., 2016],这也打开了编码后继者/前趋者信息而不是绝对位置的方法。关于在VSA表示序列时使用相对位置的方法的大讨论在[ Hannagan et al., 2011].

6)n-gram统计量:

序列S的n-gram统计量是序列中出现的所有长度为n的子串的直方图。n-gram统计到单个超载体的映射在例如[Joshi et al., 2016],并且包括使用上述原语的两个步骤:第一,形成n元语法的超向量,第二,形成频率分布的超向量。n-grams的超向量如在部分中形成IV-A5 使用乘法运算链,即每个n元语法被视为一个n元组。n元语法的超向量和它们的计数器然后被用于形成用于频率分布的单个超向量,如第节中所示IV-A3。因此,本质上这是一个具有复合记号的频率分布。

这种映射的优点在于,为了创建任何n元文法的表示,我们只需要使用单个项目存储器和几个简单的操作,其中操作的数量与n成比例。换句话说,利用固定量的资源,操作的适当使用允许形成组合的大量新表示。

已经发现这种映射在几种应用中是有用的,生物信号处理[Rahimi et al., 2019].这些VSA算法的一个重要优点是它们是硬件友好的Rahimiet al., 2016b].映射的另一个优点是,由于分布式表示的使用,我们可以将表示n元语法统计的超向量的维数从n元语法的可能数量中分离出来,n元语法的可能数量随着n成指数增长,并且将决定n元语法统计的局部化表示的大小。这种映射方法也用于构建更紧凑的神经网络,使用n-grams统计的分布式表示作为它们的输入Kleyko et al., 2019a], [Alonso et al., 2021], [Bandaragoda et al., 2019]而不是地方主义者。它的工作原理是利用这样一个事实,即在自然语言处理应用程序中,实际出现的n元语法的数量比可能的n元语法的数量增长得慢。同时,当实际n元语法的数量增加时,重建的质量下降(参见图1)。3),但这是慢慢发生的。VSA的这种优雅的退化与神经网络中经常观察到的灾难性遗忘现象相比是有利的。

7 图,

[Gayler and Levy, 2009]提出了一种基于VSA的图匹配算法。对于两个顶点之间的对应关系未知的图,图匹配找到顶点之间的最佳匹配,从而可以评估图的相似性。

所描述的图形表示不适用于顶点可以完全孤立的稀疏图形,因为这些顶点根本没有被表示。解决这一问题的一种方法是将代表顶点的超矢量也添加到g中,或者保持一个单独的超矢量,其中叠加了所有的顶点。

8)二叉树:

二叉树是一种众所周知的数据结构,其中每个节点最多有两个孩子:左边的孩子和右边的孩子。图。5 描述了一个二叉树的例子,它将被用来演示这样一个数据结构到一个超级向量的映射。我们描述一个映射过程[Frady et al., 2020a]这包括所有三个基本的VSA运算和两个项目记忆。一个项目存储器存储对应于左孩子(表示为l)和右孩子(表示为r)的角色的随机超向量。另一个项目存储器存储对应于字母表的符号的随机超向量,这些符号与叶子相关联。下面的例子使用了字母,因此这些超向量被相应地表示(例如,a代表“a”等等)。

置换运算用于创建对应于左或右关联的唯一向量子对象及其在树中的级别。比如第二层的左子表示为ρ2(l)。一般来说,节点的级别等于置换运算的次数应用于其角色超向量。乘法运算链用于创建对应于从树根到某一叶子的轨迹的超向量,该超向量与叶子的符号相关联。例如,要到达带有符号“a”的叶子,必须穿过三个左边的孩子。就VSA而言,这条轨迹将被表示为

as: a l ρ(l) ρ2(l)。以这种方式,可以表示所有叶子的轨迹。

最后,加法操作用于组合各个轨迹的超向量,以便创建对应于整个二叉树的单个超向量(表示为t)。

9 )堆栈:堆栈是一种内存,其中的元素以后进先出的方式写入或移除。在任何给定的时刻,只有堆栈的最顶层元素可以被访问,而之前写入堆栈的元素是不可访问的,直到所有后面的元素都被移除。堆栈上有两种可能的操作:写入(推入)和移除(弹出)一个元素。写操作将一个元素添加到堆栈中,它成为最顶层的元素,而所有先前写入的元素都被“下推”。移除操作允许读取堆栈的最顶层元素。一旦被读取,它将从堆栈中移除,剩余的元素将上移。

基于VSA的堆栈表示在[Stewart et al., 2014]和[Yerxa et al., 2018].栈的表示本质上是一个序列的表示,加上一个总是将最顶端的元素移动到序列开始的操作。例如,如果“d”、“c”和“b”相继添加到堆栈中,则堆栈当前状态的超级向量为:

s = b + ρ(c) + ρ2(d)。

因此,推送操作被实现为序列与其超载体的连接(第IV-A5).特别是,新写入元素的超矢量被添加到堆栈当前状态的超矢量中。例如,要将“a”写入s中的当前状态,需要完成以下操作:

s = a + ρ(s) = a + ρ(b) + ρ2(c) + ρ3(d)。

弹出操作包括两个步骤。首先,用元素的超向量的项目记忆来探测s,以获得最顶层元素的种子超向量的最接近匹配。一旦识别出最顶层元素的超向量(例如,当前示例中的a),就将其从堆栈中移除,并且堆栈的分布式表示通过置换操作将剩余元素移回:

ρ1(s a)=ρ1(ρ(b)+ρ2(c)+ρ3(d))=

= b + ρ(c) + ρ2(d)。

请注意,如果代表堆栈的超向量在每次弹出后都被规范化,那么弹出操作将无法正常工作

10)有限状态自动机:确定性有限状态自动机是一种抽象计算模型;它是通过定义有限的状态集、有限的允许输入符号集、转移函数、起始状态和有限的接受状态集来指定的。自动机总是处于其可能的状态之一。当前状态可以响应输入而改变。当前状态和输入符号一起唯一地决定了自动机的下一个状态。从一种状态变化到另一种状态称为过渡。转换函数定义自动机中的所有转换。

图。6给出一个有限状态自动机的直观例子,一个十字转门的控制逻辑。这组状态是

{“锁定”、“解锁”},输入符号集是

{ "推送","令牌" }。转换函数可以很容易地从图2的状态图中推导出来。6。

有限状态自动机的基于VSA的实现在[Osipov et al., 2017], [Yerxa et al., 2018].类似于二叉树,映射涉及所有三个VSA运算,并且需要两个项目存储器。一个项目存储器存储对应于一组状态的种子超向量(表示为l代表“锁定”,u代表“解锁”)。另一个项目存储器存储对应于输入符号集的种子超向量(表示为p代表“Push”,t代表“Token”)。来自项目存储器的超向量用于形成单个超向量(表示为a ),其代表转移函数。请注意,有限状态自动机的状态图本质上是一个有向图,其中每条边都有一个与之关联的输入符号。因此,转移函数的映射非常类似于部分中有向图的映射IV-A7。唯一的区别是顶点(即状态)的超矢量的乘法,作为一个额外的因素,涉及引起转换的输入符号的超矢量。例如,从“锁定”状态到“解锁”状态的转换,取决于接收到“令牌”,表示为:

t ⊙ l ⊙ ρ(u)。

给定自动机的所有转换的分布式表示,自动机的转换函数a由各个转换的叠加来表示:

a = p⊙l⊙ρ(l)+t⊙l⊙ρ(u)+p⊙u⊙ρ(l)+t⊙u⊙ρ(g)。为了计算下一个状态,我们用当前状态和的超向量的乘积来查询输入符号,后面是应用于结果的逆置换运算。以这种方式计算,结果是代表下一个状态的超矢量的噪声版本。

栈和有限状态自动机的原语可以被组合来创建诸如确定性下推自动机或栈机器的计算模型;例如,见[Yerxa et al., 2018]获取使用hypervectors操作的堆栈机器的草图。下推自动机和上下文无关文法的另一种表示最近在[beim Graben et al., 2020].

11)更深层次:最后,重要的是要涉及到构造编码深层次的数据结构。在前面的小节中,我们主要关注具有单级层次结构的数据结构。然而,VSA非常适合表示许多层次。二叉树的截面表示IV-A8已经可以看作是一个层次结构,因为一棵树有几个层次,表示应该能够区分不同的层次。在给出的映射中,这是使用排列的能力来保护不同层次的。这可以通过一些其他方式来完成,例如,为每个级别分配特殊的角色超向量。目前,在VSAs中使用层次结构的表示相对不常见。我们主要将这一事实归因于正在开发的应用程序的性质,而不是VSA的功能。依赖于等级表征的用例是类比事件的表征Plate, 2003], [Rachkovskij, 2001], [Slipchenko andRachkovskij, 2009], [Rachkovskij and Slipchenko, 2012],工作流的分布式编排[Simpkin et al., 2019],以及WordNet概念中层次结构的表示[Crawfordet al., 2016].

B.不同类型硬件的VSA模型

VSA的计算原语连接了马尔计算体系的算法层(图。1)到计算层面。同时,放置在算法层的VSA也与实现层接口。虽然计算基元在不同的VSA模型中是通用的,但是当涉及到与特定的物理衬底接口时,模型的选择可能变得至关重要。这表明了在设计要在纳米级硬件上实现的VSA系统时的通用设计模式:根据通用VSA计算原语来形式化期望的计算,然后在实现这些原语时使用最适合该纳米级硬件的特定VSA变体。在这里,我们描述一些现有的VSA模型,并举例说明它们如何适应不同的硬件。不同的VSA模型可以根据种子超矢量的性质和相应的代数运算来区分

C.与VSAs叠加计算 superposition

1 叠加计算的简单例子:计算机科学中著名的数据结构——Bloom filters[Bloom, 1970]–可以看作是叠加计算中最简单的情况。布隆过滤器属于被称为草图的数据结构类,其中固定大小的存储器占用被用于使用这些元素的二进制表示来表示若干元素的集合。布隆过滤器将集合编码为其元素的随机向量的叠加,本质上,这在VSA对应于表示集合的复合超向量(参见第IV-A2).使用布隆过滤器,用于在集合中搜索元素的算法是比较查询元素的分布式表示与布隆过滤器实例的相似性的单个操作。

换句话说,一次测试集合中的所有元素,也就是说,搜索是作为叠加计算来执行的。它能够解决近似成员查询任务

2 子串搜索的叠加计算: 在一个更大的字符串中寻找子串是一个经典的计算机科学问题,有许多有用的应用。已经开发了许多算法,包括Boyer-Moore- Horspul算法[Boyer and Moore, 1977],拉宾-卡普算法[Karp and Rabin, 1987],Knuth-Morris-Pratt算法[Knuth et al., 1977]等。最佳解决方案具有线性计算复杂性,这取决于基本字符串和查询字符串的长度之和。最近,基于非确定有限状态自动机的子串搜索算法已经用VSAs [Pashchenkoet al., 2020].我们将简要解释这个公式和一个修改版本,因为它很好地展示了当框架用并行硬件实现时,VSA如何使人们能够解决计算机科学问题。

修改后的算法不仅允许检测查询子串,还允许识别查询子串在基本串中的位置(结果未示出)。类似于图1中左图的结果。9,更长的碱基串需要更大的超向量来实现高精度,但修改后的算法比原始算法的扩展性更好。例如,为了实现最短字符串的完美准确性,修改后的算法要求超向量具有

维数大约比原始算法少4000倍。

VSA运算中查询算法的渐近计算复杂度对于原始算法是O(|Q|) for the original algorithm versus (O(|Q||B|) 但是就超向量维数而言,原始算法需要

比修改后的算法多得多的空间。在计算时间和空间需求之间有一个折衷。

从子串搜索示例中可以学到一些有趣的经验,这些经验涉及到与VSA叠加的计算。两种子串搜索算法都采用超位置计算。原始算法需要很大的维数来充分减少叠加中项目之间的串扰。改进的算法包括一个额外的清除步骤,这大大降低了所需的维数,但也增加了算法的复杂性。然而,通过在并行硬件上适当实现VSA算法,清除步骤(10)可以并行化。具体来说,已经表明,当由使用大规模相变存储器设备的存储器内计算架构实现时,可以并行地计算超向量和项目存储器之间的相似性Karunaratne

et al., 2021].当在这样的硬件上执行时,改进算法的时间复杂度也变成O(|Q|)。

当然,请注意,芯片的大小限制了超向量的维度和项目记忆中超向量的数量。因此,在VSA叠加计算是自然的,但可能需要非常高的维度来管理串扰。如果算法被适当地映射到并行硬件上,管理串扰的步骤可以被添加到算法中,而没有计算时间成本(例如,参见[Kim et al., 2020]用于加速DNA串与VSAs的匹配)。此外,谐振器网络的整个机制(参见III-C)是基于从叠加中表示的预测中逐渐去除串扰噪声的思想。我们预计,从计算的中间结果中消除串扰的原理,以及一般的谐振器网络,将成为许多基于叠加计算的解决方案中的关键机制,但这仍有待于在实际用例场景中进行演示。

五.讨论

A.VSA作为纳米计算硬件的框架

VSA最初是在认知神经科学中作为分布式表示的符号推理模型提出的。最近,已经表明VSA可以用公式表示子符号计算,例如在机器学习任务中。在这里,我们建议VSA提供一个计算框架,该框架具有算法级描述,用于将抽象计算与Marr的框架中的纳米级硬件链接起来[Marr, 1982].VSA的算法形式(几乎没有例外)对于它的所有变体都是一样的。因此,VSA支持独立于模型的计算原语公式。同时,VSA还提供了算法和硬件之间的无缝接口。在截面中IV-B,我们展示了不同的VSA模型如何连接到特定类型的纳米硬件。此外,在截面中IV-C我们展示了VSA如何用于叠加计算。这一特性将VSA扩展到了传统计算架构之外,我们可以预见,连同利用叠加计算的算法,如谐振器网络[Frady et al., 2020a], [Kent et al., 2020](部分III-C),它将为非平凡组合搜索问题的有效解决方案铺平道路(参见[Frady et al., 2018a]).

尽管最近在机器学习中应用VSAs取得了成功[Rahimi et al., 2019], [Ge and Parhi, 2020],单词嵌入[Kanerva et al., 2000], [Recchia et al.,2015],类比推理[Plate, 1997], [Rachkovskij andSlipchenko, 2012]和认知架构[Eliasmith,2013], [Rachkovskij et al., 2013],仍然需要展示基于VSA的解决方案如何扩展到现实世界的计算问题。此外,必须继续将增值服务扩展到新的应用领域——最近有希望的例子包括通信应用[Kim,2018]以及在分布式系统中[Simpkin et al., 2019].

VSA计算的另一个有趣之处在于,它处于数字和模拟计算之间。在数字计算机的每一个计算步骤之后,所有的矢量分量都被拉到可能的数字状态(位)之一。

每个分量的这种单独离散化避免了误差累积。相反,模拟计算机应该实现模拟动态系统来预测其未来状态。待分析的动态系统与其计算机实现、噪声等之间的任何偏差都会导致模拟计算机中不可控的误差累积。VSA运算利用向量的模拟运算,无需离散化。然而,当合成的VSA向量与项目存储器中的条目匹配时,离散化发生在整个向量水平上。因此,VSA可以在纳米尺度硬件的高维状态空间中利用(可能非常)噪声动态,同时仍然防止误差累积

B.计算原语

有人批评VSA缺乏系统设计的结构化方法学,以及缺少定义良好的设计模式[Neubert et al., 2019].在这里,我们将现有的计算原语与VSA相结合,描绘了一幅不同的画面。有一个VSA方法解决了广泛的应用,但它是分散在整个文献。除了编译现有的工作,我们还为构建数据结构的分布式表示制定了设计原则,比如集合、序列、树、键值对等等。这展示了一种丰富的算法和表示级别的方法,可以用作下一代计算设备的抽象。

我们对各种VSA原语的汇编也表明,与一些早期的评估相反(参见,例如[der Veldeand de Kamps, 2006]和[Gayler, 2006]),VSA的应用范围非常广泛,从低级的感觉处理到高级的推理。事实上,就应用广度和透明度而言,VSA似乎是比传统神经网络更有前途的并行计算计算框架候选。

1)VSA维数和工作记忆:VSAs中数据表示的关键特征是数据结构由固定大小的超向量表示,与数据结构的大小无关。这与数据结构的局部化表示形成对比,后者随着元素数量的增加而线性甚至二次增长(例如,图形)。VSA表示法的最大优点是,任意大小和形状的数据结构可以与基本的VSA运算并行处理。同时,对于给定维度的VSA向量,向量的信息内容(VSA容量)限制了可以表示的数据结构的大小[Frady et al., 2018b], [Thomas et al.,2020].

人们应该把超向量中的存储器看作工作存储器或工作寄存器,在正在进行的计算中保存相关的数据。相比之下,VSA计算中的长期记忆或RAM是项目记忆,即超向量的内容可寻址存储。VSA对工作记忆的限制与李米对人类工作记忆的限制有着有趣的相似之处。对于有限大小的数据结构,有精确重建的保证,然而,超越精确重建的理论界限,数据表示变得有损耗,误差率在理论上也是可预测的[Fradyet al., 2018b].有损区域中数据结构的VSA表示已被证明能再现人类工作记忆的某些特性。例如,VSA中序列的召回,如第节所述IV-A5,可以重现人类记忆序列的表现[Choo andEliasmith, 2010], [Kelly et al., 2020].此外,用VSAs记忆序列的建模与神经科学文献相关联Calmus et al., 2019].目前还不清楚这种对人类记忆局限性的捕捉如何有利于应用。然而,生物工作记忆使其内容变得粗糙并逐渐退化的方式可能是认知的一个重要特征,其益处尚未得到充分认识。例如,在自然语言处理方面,VSA的一些有用应用超出了VSA的能力[Alonso et al.,2021], [Shridhar et al., 2020].

2)VSA中表示的转换:数据结构的分布式表示可用于构建或学习数据结构之间的一次性转换(参见,例如[Neumann, 2002], [Plate, 1997])共享符号,这将分布式表示与传统的数据结构操作区分开来。该特性的一个众所周知的例子已经在[Kanerva, 2000]其中“母的”关系到“父的”关系之间的映射是用简单的向量运算并仅使用几个例子来构建的。后来在[Kleykoet al., 2015这样的映射可以用于容易地在观察到的结构和由这些结构引起的决策之间形成关联。

3)VSA中的流量控制:同样值得指出的是,算法的VSA实现通常依赖于现有的非VSA机制进行流量控制(参见[Yerxa et al.,2018]进行尝试)。在目标是使用VSA实现传统计算方法的系统中,这是合理的。在这种情况下,可以更多地从用VSA扩展传统计算的角度来看。然而,如果我们正在模拟生物系统,我们不应该使用非VSA传统的计算流程控制。相反,我们将着眼于具有吸引子和亚稳态的循环系统。试图定义这样一个具有VSAs和尖峰神经元的系统是在[Stewart et al., 2010].

C将算法映射到硬件

1)超向量稀疏性对实现的影响:在考虑VSA的高效硬件实现时,超向量稀疏性很重要。VSAs的代数结构和计算原语在很大程度上独立于特定超矢量属性的选择。然而,超矢量的特性及其相关的物理体现深刻地影响了资源需求。

密集超向量支持组件式乘法和加法运算符,从而实现廉价且完全并行的物理实现。为了计算超向量域中的cN运算,只有cN N成对运算

顺序计算所需要的。然而,当涉及到信号表示、通信和存储时,密集超矢量是昂贵的。

相反,对于稀疏块码模型中的稀疏超向量,绑定操作不能是组件方式的(它是块方式的),并且在计算上比密集向量更昂贵。相反,对表示、通信和存储器的硬件要求比密集超向量更便宜。因此,稀疏分组码模型潜在地为清理操作、存储和通信提供的成本节约必须与它们为绑定操作和连接性(在块内)需求增加的成本相平衡。

部分IV-B7阐述了比较VSA模式实施成本的一些考虑因素。必须强调的是,项目记忆中的搜索,虽然不是基本的VSA运算之一,但可能会支配算法的计算成本,尤其是在迭代使用时,例如,用于解析复合表示(第III-C),或用于清除叠加计算的中间结果(章节)IV-C2).因此,我们期望项目存储器的有效硬件实现(参见[Karunaratne et al., 2021], [Imani et al., 2017])将是扩大未来VSA应用的关键因素之一。

2)VSA的现代硬件实现:与传统计算架构相比,现有的硬件VSAs实现如何提高性能?今天,开发纳米级计算硬件有几个方向,包括数字、模拟和尖峰方法。由于文献中各种不同的VSA模型,VSA框架可以连接到许多不同类型的纳米级硬件。在使用现场可编程门阵列(FPGA)的低功耗数字平台上,它具有已经证明,对于两者,基于VSA的分类与传统分类器相比可以降低2倍的能量,和生物医学信号分类[Montagna et al., 2018].节能是由于VSA算法主要使用基本的逐位运算。此外,已经证明可以自动生成给定VSA算法的FPGA实现[Salamatet al., 2019].VSA算法的另一个吸引人的特性是它们的强大鲁棒性,例如,相对于永久硬件错误,具体地说,VSA容忍大约

60倍更高的故障概率[Li et al., 2016].这种鲁棒性使VSA成为低信噪比的理想选择

纳米硬件中的噪声比/高可变性条件,如电阻式随机存取存储器[Li et al., 2016]、碳纳米管场效应晶体管及其单片3D集成[Wu et al., 2018b], [Wu et al., 2018a].最后,VSA被证明是内存计算的一个有前途的框架Gupta et al., 2018], [Gupta et al.,2020], [Karunaratne et al., 2020].例如,作为大规模实验演示[Karunaratne et al., 2020],在760,000个相变存储设备上实现了VSA,这些设备使用10,000维二元超向量对三种不同的分类任务。VSA不仅实现了可与软件实现相媲美的精度。。。。。。。

尽管有这些令人鼓舞的结果,VSA计算框架对于纳米尺度计算硬件的实用性还有待量化。一个重要的未来方向是开发一个系统的方法来定量测量和比较不同计算框架在具体硬件上的效率。在这篇文章中,我们关注的问题是VSA如何支持各种算法原语的构建,因此,在这样的比较中,它可能是一个可能的候选框架

D.VSAs的计算普适性

研究特定计算框架的计算普适性对于理解使用该框架的计算硬件的最终理论限制是重要的。例如,[Siegelmann and Sontag, 1991]已经表明递归神经网络在计算上是通用的,[Perez et al., 2019]显示了现代变压器和神经GPU网络的普遍性。对VSA来说,有一些等价性和普遍性的结果。首先,VSA可以表达一类称为回声状态网络的递归神经网络Kleyko et al., 2020a].关于普适性,我们遵循了早期的方法,表明类神经网络系统可以实现图灵机[beim Graben andPotthast, 2012].我们证明了VSA可以实现图灵机器(附录A-A),以及具有规则110的通用初等元胞自动机[Cook, 2004](附录A-B).

最近,[Kwisthout and Donselaar, 2020]强调了一个为了开发用于神经形态计算的计算复杂性理论,需要用于新型神经形态硬件的正式机器模型。这是理解的全部潜力的一个重要的研究方向

然而,他们认为,为了包含神经形态硬件的计算能力,我们可能需要定义一个全新的计算理论框架。他们的研究提出使用脉冲神经网络(显示为图灵完全[Maass, 1996])因为,与VSA类似,它们适合于协同定位的计算和存储以及大规模并行,而传统的计算架构则不是这种情况。

除了普适性的理论证明,一个重要的实际问题是一个完整的计算架构应该是什么样子。这仍然是一个悬而未决的问题。一个提议已经草拟出来了Laiho et al., 2015],它提出了一种基于VSA的处理器,其中数据和指令都被表示为超向量。还有另一种称为张量积变量绑定的方法,它与VSAs密切相关。例如,张量积变量绑定也可以用于在分布式表示中表示数据结构(参见[Demidovskij, 2021]).该研究[Smolensky, 1990]演示了如何用张量积变量绑定实现push、pop和Lisp原语CAR和CDR,而[Dolan and Smolensky, 1989]演示了如何实现一个生产系统。在[]中提出了一个基于VSAs的模型,该模型被定位为一个通用的神经控制器,起到类似于生产系统的作用Stewart et al., 2010].

另一个相关的结果是用VSA [Knight et al., 2015].尽管流体构式语法还没有被证明是通用的,但流体构式语法家族对于认知语言学和进化语言学来说都是一种强大而有趣的方法。[Knight et al., 2015]提出了一个类似于图1所示的愿景。1。他们认为VSA可以被视为一个“虚拟机”,它可以有不同的(独立的)物理实现,例如一个到尖峰神经元的间接映射Frady and Sommer, 2019]或操作与模拟/数字实现的直接映射[Karunaratneet al., 2020].

E.纳米硬件计算的替代框架

VSA构成了一个计算框架,它为制定算法提供了一种代数语言,同时将计算与硬件上的分布式状态联系起来

表I将VSA作为计算框架的定性属性与传统计算和神经网络进行比较。

在一个框架在计算方面的通用性和它与实现的紧密联系之间有一个权衡。通用框架通常需要实现和计算之间的完全密封,例如传统的计算架构。相反,一个与实现非常匹配的框架,因此可以有效地利用硬件,通常是非常特殊的用途。我们认为,VSA在通用性和实现链接之间提供的折衷对于纳米尺度的硬件来说是理想的。特别是,它无缝地提供了算法的实现,这些算法利用了分布式表示、并行操作,并且可以容忍噪声和不精确性[Rahimi et al., 2017].当然,VSA不是纳米尺度硬件框架的唯一候选人,替代方法包括概率计算[Mans-inghka, 2009],基于采样的计算[Orbán et al., 2016],由神经元集合进行计算[Papadimitriou et al.,2020],以及动态神经场[Schöner et al., 2016].例如,在神经形态计算中,动态神经场是一种可以支持完全符号运算的替代计算框架。事实上,通过将动态神经场的实时动态与VSA的计算能力和可扩展性相结合,动态神经场和VSA可以相互补充。但是,这些方法和VSA之间的详细比较超出了本文的范围。然而,在我们看来,VSA是结构化计算中最透明的方法,对于不同类型的硬件也是最通用的。在制定算法和计算原语方面,VSA提供了一种公共语言,独立于特定的VSA模型。对于给定硬件上的期望计算,许多现有VSA模型中的一个可以在功率和时间效率方面提供最有利的实现。

目前出现了过多的集体状态计算方法,如压缩感知、布隆过滤器、储层计算、压缩感知等。,依赖于分布式表示[Csaba and Porod, 2020].这些方法是相当脱节的,并且通常集中于特殊用途的计算应用。VSA已经被证明能够形式化不同类型的集体状态计算,例如压缩感知[Frady et al., 2020b],布隆过滤器Bloom filters[Kleyko et al., 2020],reservoir computing[Fradyet al., 2018b], [Kleyko et al., 2020a],以及 extreme learning machines/random vector functional link networks Kleykoet al., 2020].因此,我们认为VSAs是一个很有前途的候选框架,可以提供集体状态计算的“通用语言”。

完整内容请阅读原文。

相关推荐:

60作者的NeuroBench:通过协作、公平和有代表性的基准测试推进神经形态计算

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CreateAMind 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 矢量符号架构作为纳米级硬件的计算框架
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档