CN107016437B - 随机尖峰模式的生成的方法和系统 - Google Patents

随机尖峰模式的生成的方法和系统 Download PDF

Info

Publication number
CN107016437B
CN107016437B CN201710018765.1A CN201710018765A CN107016437B CN 107016437 B CN107016437 B CN 107016437B CN 201710018765 A CN201710018765 A CN 201710018765A CN 107016437 B CN107016437 B CN 107016437B
Authority
CN
China
Prior art keywords
spikes
encoding
spike
input
neuromorphic
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.)
Active
Application number
CN201710018765.1A
Other languages
English (en)
Other versions
CN107016437A (zh
Inventor
A·阿米尔
A·J·吉米诺耶佩斯
汤剑斌
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN107016437A publication Critical patent/CN107016437A/zh
Application granted granted Critical
Publication of CN107016437B publication Critical patent/CN107016437B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Learning methods
    • 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
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of 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
    • 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
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Neurology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

提供神经形态系统中的加权的群体码。根据实施例,接收多个输入值。对于多个值中的每个值,生成多个尖峰。多个尖峰中的每个尖峰具有相关联的权重。为多个尖峰中的每个尖峰确定消耗时间。多个尖峰中的每个尖峰在其消耗时间被发送用于消耗。

Description

随机尖峰模式的生成的方法和系统
技术领域
本发明的实施例涉及核基神经形态系统,更具体地涉及在核基神经形态系统中的随机尖峰模式的有效生成。
背景技术
本发明的实施例涉及在核基神经形态系统中的随机尖峰(stochastic spike)模式的有效生成,并且更具体地涉及加权群体码(population code)神经形态系统的使用。
发明内容
根据本发明的实施例,提供了一种用于生成随机尖峰模式的方法和计算机程序产品。接收多个输入值。对于多个值中的每个值,生成多个尖峰。多个尖峰中的每个尖峰具有相关联的权重。为多个尖峰中的每个尖峰确定消耗时间。多个尖峰中的每个尖峰在其消耗时间被发送用于消耗。
根据本发明的另一实施例,提供了一种用于生成随机尖峰模式的方法和计算机程序产品。第一多个尖峰在第一神经形态系统处被接收。第一多个尖峰根据第一编码对第一值进行编码。从第一多个尖峰生成第二多个尖峰。第二多个尖峰根据第二编码对第一值进行编码。第二多个尖峰提供给第二神经形态系统。
根据本发明的另一实施例,提供了一种用于生成随机尖峰模式的方法和计算机程序产品。在神经形态系统处接收第一多个尖峰。第一多个尖峰根据第一编码对第一值进行编码。从第一多个尖峰生成多组尖峰。多组尖峰中的每组根据第二编码对第一值进行编码。多组尖峰中的每组被提供给神经形态系统中的多个分类器中的一个分类器。
根据本发明的另一实施例,提供了一种用于生成随机尖峰模式的系统。提供神经形态网络。神经形态网络包括多个输入轴突和与其连接的多个随机神经元。编码器可操作地耦合到多个输入轴突。图像编码器被配置为向输入轴突发送第一多个尖峰。该第一多个尖峰根据第一编码对第一值进行编码。神经形态网络被配置为从第一多个尖峰生成第二多个尖峰。该第二多个尖峰根据第二编码对第一值进行编码。
附图说明
图1描绘了根据本公开的实施例的示例性集合分类器。
图2描绘了根据本公开的实施例的另一个集合分类器。
图3示出了根据本公开的实施例的示例性系统处理周期。
图4示出了根据本公开的实施例的另一示例性系统处理周期。
图5描绘了根据本公开的实施例的示例性交叉。
图6描绘了根据本公开的实施例的神经形态系统的示例性输入和输出。
图7示出了根据本公开的实施例的带宽减少。
图8示出了根据本公开的实施例的系统精度。
图9描绘了根据本公开的实施例的计算节点。
具体实施方式
在数字尖峰神经形态系统中,信息由尖峰表示及递送,其中每个尖峰是携带一个或多个比特的数字信息分组。例如,IBM TrueNorth芯片是数字尖峰神经形态系统,其中每个尖峰携带单个比特的信息(二进制尖峰)。尖峰神经网络(如TrueNorth)基于通过交换通信线路的递送信息分组,从而显着减少所需的布线。尖峰的存在被视为接收1,其不存在表示0。更多的值可以使用几种不同的尖峰编码模式而被编码成二进制尖峰。
这种编码模式包括速率码、尖峰时间、群体码和随机码。这些编码模式在表示值所需的尖峰的数目、所需的轴突(输入)通道的数目以及表示数据所花费的持续时间(或时间窗)上不同。
对于某些类型的神经形态计算,一些编码模式比其他编码模式更有效。因此,适当的编码模式是部署在神经突触结构上的网络的重要设计特征。在这种系统中的两个重要考虑是低功耗和高信息带宽。然而,功率和带宽通常要进行权衡。
对于执行其计算的系统,其必须接收输入数据。该输入数据可以由相机、麦克风、数据文件或任何其它传感器和信息源产生。此数据必须首先使用尖峰编码模式转码为尖峰。这些尖峰然后经由通信线路被递送到神经突触芯片。在由神经突触芯片进行计算之后,结果再次以尖峰的形式被发送出神经突触芯片,并且被电路或CPU接收,该电路或CPU将它们转码为值或符号表示。因此,尖峰转换和通信发生在到神经突触芯片的输入和从神经突触芯片的输出。输出帧的最终表示可以取决于所传送的信息的类型。例如,在各种实施例中,输出可以包括类别标签、置信水平或对致动器的动作命令。
给定神经突触芯片的通信带宽受芯片特性和连接到其的电路以及转码和解码组件的特性的限制。为了实现有效的带宽利用,数据被编码以适合在带宽内。此外,一般来说,尖峰率越高,其消耗的能量越多。因此,本公开提供了表示具有少量尖峰的信息的有效尖峰编码模式,从而降低功率消耗,并且还支持神经突触芯片上的有效计算。
一种示例性编码模式是随机码。在随机码中,0.0与1.0之间的实数值由在每个给定刻度(tick)处的尖峰的概率表示。另一示例性编码方案是速率码,其中该值由尖峰速率码。在速率码中,假定尖峰速率随时间是规则的。因此,速率码导致与随机码几乎相同的编码。
在计算神经网络(例如IBM TrueNorth系统)中,该表示适用于各种分类器,包括TEA分类器和卷积网络、尖峰算法和信号滤波。随机或速率码提供了一种简单的数学模型,使得能够设计复杂的非线性网络。然而,随机速率码通常是低效的。它需要相对大量的尖峰来表示一个值。例如,表示值0.5(50%)意味着应该平均每隔一个刻度发送一个尖峰。在以每秒1000个尖峰周期(刻度)运行的示例性系统中,这意味着每个输入的高500Hz的尖峰速率。数据的维数(诸如输入帧中的像素的数目)也可以是高的——从每帧几千到几百万个像素。
通过每个样本的尖峰乘以每秒的样本数目乘以维度的数目来获得总的所需带宽。根据上述示例,使用每帧100刻度、在每秒十帧处的1兆像素图像将需要平均1,000,000*10*100*0.5=平均5亿个尖峰。虽然诸如IBM TrueNorth之类的神经形态芯片可以被设计成保持高的内部尖峰通信速率,但是通过上述因素,芯片的输入和输出带宽受到更多限制。因此,尽管随机速率码对于计算可能是期望的,但是带宽和功率消耗是昂贵的。
本文中提供对随机或速率码的各种比较。然而,应当理解,根据本公开的加权群体码方案相对于诸如时间到尖峰编码、突发长度编码、时间到尖峰与突发长度编码之间的转换、温度计码、以及速率与突发长度编码之间的转换之类的替代编码方案而言具有某些优点。特别地,相对于编码一值所需的尖峰和轴突线的数目,温度计码具有与群体码相同的编码效率。根据本公开的加权群体码与这些替代编码相比,需要更少的尖峰和刻度来表示相同的动态范围。
在尖峰编码模式之间变化的另一属性是对于相同的值有多少表示。在温度计码、突发长度编码和时间到尖峰中,每个值具有一个唯一表示或编码。然而,在速率码、随机码以及在加权群体码中经常是时间中,对于相同的值可以存在多个表示。根据上述示例,在100个刻度的窗内的速率码中表示的值0.5可以具有许多不同的编码(在100个刻度上放置50个尖峰),并且在随机码中更是如此(其中每个刻度中尖峰的概率独立于其他刻度)。表示的多样性是随机网络的性能的一个因素。
在某些系统中,可以以两个或更多复制提供输入。这可能是当网络由多个分类器组成时的情况,这些分类器计算不同的类或相同的类(例如,在用于增加精度的分类器集合中),或者当网络拓扑需要输入到达针对每个核的多个轴突以支持突触权重的更高动态范围(需要多个复制,例如,在TrueNorth芯片中为2-4个复制),或者当系统由几个子系统组成时,每个子系统需要输入的单独复制。
现在参考图1,示出了示例性集合分类器。输入图像101被提供给预处理器102。预处理器102执行图像预处理,对所得到的图像进行编码,并输出随机码。随机码的多个实例103a...n被提供给驻留在神经形态芯片105中的多个分类器104a...n,在一些实施例中,该神经形态芯片105是TrueNorth芯片。在该示例中的总输入带宽将是在非集合、单分类器情况下的n倍大。
参考图2,示出了根据本公开的编码方案。输入图像201被提供给预处理器202。预处理器202执行图像预处理,根据本文提供的加权群体码对所得到的图像进行编码,并输出加权的群体码。所得到的加权的群体码被提供给神经形态芯片205中的随机码小核(corelet)206。随机码小核206继而将加权的群体码转换成适于摄取到分类器的随机码。随机码的多个实例203a...n由随机码小核206提供给也存在于神经形态芯片205中的多个分类器204a...n,在一些实施例中,神经形态芯片205是TrueNorth芯片。每个实例是对随机码中的相同输入值的独立编码。
图2的方案以较少数目的尖峰来摄取数据到芯片中,并且包括将其转换为随机码以用于有效网络计算的片上转换网络。因此,结合片上转换网络提供用于数据摄取的有效加权的群体码模式,该片上转换网络将加权的群体码转换为随机码以用于有效的网络计算。
用于处理集合分类器的替代方案是使用芯片上的分裂器小核。分裂器小核多次复制完全相同的输入尖峰。然而,这样的过程在分类器或子系统之间创建依赖性。特别地,期望随机码是独立的、相同分布的(IID)。如果向所有分类器提供相同的码,则它们的结果也可以相关,这继而降低了来自集合的分类增益。根据本公开的加权群体码消耗相同数目的核并且具有为分类器集合生成独立的、相同分布的(IID)输入的优点。
在TrueNorth NS1e板上实现的根据图2的系统的测试结果示出了每秒1000个刻度的实时运行,同时使用8个分类器的集合产生用于图像分类演示的分类结果并且使用16个分类器的集合产生MNIST字符识别演示的分类结果。
如下面关于各种实施例进一步描述的,对于具有给定动态范围和时间窗的给定任务,加权的群体码的权重被优化以使期望的尖峰数目(输入带宽)最小化。在一些实施例中,当集合中的分类器的数目增加时,输入带宽不改变。因此,输入带宽独立于系统需要输入数据的复制数目。
在一些实施例中,输入加权的群体码带宽独立于从转换网络输出的随机码的总持续时间。通常,该输出越长,分类结果就越准确。通过使每帧的输入尖峰数目恒定,较大的时间窗实际上减少了输入中所需的平均带宽——相对于现有技术的另一个重要优点。
在一些实施例中,当网络仍然从先前帧生成随机码输出尖峰时,输入尖峰被摄取。可以在最小数目的刻度(例如1-3)上进行到下一帧的转换。这减少帧之间的建立时间并且增加时间芯片利用率。
根据本公开的加权群体码是尖峰编码模式,其中动态范围D中的值x由等式1表示,其中k是轴突输入线的数目,wi是与第i个轴突输入关联的权重,并且Si(t)是在n个刻度的时间窗上的第i个输入尖峰序列。
Figure GDA0002302579280000061
例如,令k=3,w=[1,3,9],n=2。x的值可以由表1中所示的尖峰的数目表示。
Figure GDA0002302579280000062
Figure GDA0002302579280000071
表1
例如,通过向第一轴突(权重s1=1)发送两个尖峰,向第二轴突(s2=3)发送一个尖峰并且向第三轴突(权重s3=9)发送一个尖峰来表示x=14的值。因此,1+1+3+9=14由4个尖峰表示。一般来说,输入范围可以通过添加具有相等或不同权重的更多轴突,以及通过将时间窗延伸到更多的刻度(更大的n)来扩展。两者的组合构成输入范围。
x的最大值由等式2给出。
Figure GDA0002302579280000072
根据本公开的加权群体码表示整数值。为了使用它来转换随机码,必须使用整数值来对0.0与1.0之间的概率进行编码。动态范围D被定义为1与xmax之间的数,例如D=16。然后将所得到的随机码定义为y=x/D。将概率量化为D值。当D不是可以由x表示的最高值时,如在上面的示例中,省略了高于D的x值。所得随机码y在表2中给出。
Figure GDA0002302579280000081
表2
所得到的随机码D的动态范围必须等于或小于输入范围。否则,将存在不能由输入x中的尖峰表示的高概率值。因此,D≤xmax
现在参考图3,示出了根据本公开的示例性系统处理周期。在复位时段301期间执行复位。在一些实施例中,使用发送到具有高负权重的轴突的尖峰来实现复位功能,从而减小神经元电位。可能需要几个尖峰以确保神经元电位完全复位为零。因此,多个刻度可以包括在复位时段301中,例如,如图所示的2。
在建立时段302期间发送加权的群体尖峰。在该时段内,神经元将其膜电位积聚到由输入数据指示的值。在随机输出时段303期间,神经元根据其尖峰概率随机地出现尖峰。该时段通常由分类器或由随机码系统的输出馈送的其它系统确定。
合在一起,复位时段301,建立时段302和随机输出时段303形成单个处理周期310,其覆盖处理输入帧所花费的组合时间。可以进行另外的处理周期,包括另外的复位时段304,建立时段305等。
随机输出时间303与复位建立时间301、302之和之间的比率是系统的占空比。通常,可能期望最大化该占空比,因为复位和建立时间是非生产性的(分类器没有输入)。如图所示,图3的示例性占空比为16:10。
在上述示例中,仅使用三个输入线和三个权重,每个值(对于值0:15)的平均尖峰是2.25。虽然它高于自然的4比特二进制表示(平均每个值2.0个尖峰),它在硬件实现的Axon类型查找表中保存轴突和权重。因此,这种编码对于基于尖峰的表示具有很大的好处。
输入尖峰率被定义为在系统的输入处的每个刻度的平均尖峰。在下面的神经形态系统的一些实施例中,最大输入尖峰速率可以受实际系统特性的限制。因此,其中已经将最大数目的尖峰发送到系统中的刻度是感兴趣的特征。
在另一示例性实施例中,使用具有w=[1,1,3,3,9]的5个轴突来提供加权的群体码。在该实施例中,值14的组成可以保持相同,即1+1+3+9=14。然而,编码适合单个刻度而不是两个。当可用的轴突数目较大时,其允许较少的时间用于将神经元建立为期望的膜电位,或增加动态范围(精度)。当每个像素的随机输出的数目大时,可以使用更多的轴突而不增加系统中的核的数目或者招致任何额外的成本。
如上所述,系统处理时间是重要的设计准则。通常,期望使用最少资源(例如,功率、核)尽可能快地处理数据。在一些实施例中,通过减少指定用于建立的刻度的数目而将神经元建立为所需的膜电位所需的时间减少,由此减少了处理周期。这将增加系统的占空比。然而,这还意味着所有加权的群体码尖峰需要在较短的时间段上发送,从而增加在该时间段期间的通信带宽。
在一些实施方案中,神经元膜电位在建立时段之间不设为零。因此,省略了复位时段。为了设置新的值,使用差分编码。后续建立时段305中的编码值是前一帧中的输入302的值与新输入之间的差。通过将该差添加到当前膜电位,它将改变到新的值。在这样的实施例中,群体码中的权重中的至少一个权重是负的。
现在参考图4,示出了根据本公开的用于克服增加的最大输入尖峰速率的方法。在一些实施例中,一些尖峰在具有延迟的较长时间窗上提前发送,使得每个尖峰由神经元的消耗在建立时间窗内。
在预加载时段401期间,尖峰以延迟发送。预加载时段与先前随机输出的时间重叠。在复位时段402之后,尖峰在建立时段403期间影响神经元。以这种方式,建立时段403从八个刻度减少到三个。在随机输出404期间,执行随后的预加载405,继而导致复位和建立时段406、407。
从上文将理解,根据本公开的加权群体码方案可以根据两个子组件来观察。一个组件包括接收加权的群体码中的输入并且生成随机码中的输出尖峰的网络。该网络是可配置的,可以与每个输入引脚的任何权重集以及任何数目的输出复制一起使用。另一个组件包括用于加权的群体码的换能器,其将输入的整数数据转换为加权的群体码中的尖峰序列。
在一些实施例中,根据本公开的加权群体码被实现为小核。对于具有从0到1的值的每个信息单元(例如,像素或概率)给定输入值,小核生成随机速率码。小核创建输入信息单元的一个或多个复制。在一些实施例中,使用具有根据输入概率设置的随机阈值的TrueNorth神经元来生成随机速率码的每个复制。
在示例性实施例中,小核用于将随机码中的图像转换为TEA分类器小核。如上关于图1所述,一种方法是使用诸如tn-信号-处理器工具之类的预处理器以随机速率码创建图像的多个复制。这些复制然后被传送到芯片以馈送TEA分类器的集合。由于这些复制同时被发送到芯片,所以到芯片的输入带宽被倍乘并且可能饱和。当使用具有更多通道的较大图像时,带宽消耗特别重要。
如上面关于图2所讨论的,根据本公开的实施例的随机码小核的使用将带宽减少到仅单个数据复制的带宽。使用加权的群体码来执行到随机码小核的转换。该码经过多个刻度(在图3-4所示的建立时段期间)被转换一次。在该建立之后,小核产生随机码输出,直到它接收到复位尖峰。在此期间,完全不需要输入。因此,平均输入带宽是在建立时段期间提供的输入除以建立时间和随机输出时间之和。输出时段越长,平均输入速率越低。这与外部随机码转换形成对比,该外部随机码转换必须在输出窗的整个持续时间内有效。因此,小核减少了平均输入尖峰率,特别是在输出窗较长的情况下。
根据本公开的实施例的小核在纯积分器模式(gamma=2)中使用具有随机阈值的神经元来生成尖峰。操作以由三个阶段组成的周期进行,即复位、建立和生成,如图3-4所示。在一些实施例中,复位阶段是一个或两个刻度长,在此期间随机神经元的膜电位被设置为零。建立阶段是当输入尖峰被集成到神经元时,将膜电位建立到对应于随机码的概率的水平。在该阶段期间,在一些实施例中持续一到三个刻度,当膜电位通过神经元阈值(alpha)时,神经元可能开始出现尖峰,然而,输出速率可能还不匹配输入概率。在建立阶段结束时,神经元以期望的随机速率出现尖峰。
在一些实施例中,通过在一些实施例中被设置为外部连接器的连接器将小核连接到其它小核。第一个输入是使用速率码而编码的数据。第二输入接口是用于小核中的核的复位信号,其用于复位神经元电位。
接口可以用于重置小核的状态,在一些实施例中,其在每个帧的开始(例如,图像)被执行。每个复位引脚连接到被定义为复位轴突的每个小核中的轴突,这意味着其必须被保留以在每个帧之后复位神经元。即使复位引脚也可以用来复位小核(如果需要)。
表3示出了具有描述和示例值的示例性小核的输入参数。
Figure GDA0002302579280000121
表3
示例性小核基于随机的纯积分器神经元。小核中的所有神经元以相同的方式设置。根据所需的dynamicRange,设置神经元为阈值=1和TM。神经元被设置为gamma=2(在尖峰之后不复位),epsilon=0,kappa=1且beta=0。
在复位时段期间,尖峰被发送到具有突触权重-255的轴突0。这使得神经元将其电位降至零。输入数据在每个输入的一组nAxonPerProb轴突上的加权的群体码中提供,具有由axonWeights向量定义的权重。这些尖峰将膜电位设置为某值,v。神经元以p=v/2TM的概率开始自发出现尖峰。神经元继续自发地出现尖峰,直到重置尖峰将其膜电位降低至零。
在一些实施例中,每个输出引脚存在一个神经元。然而,一组输入轴突可以用于将一个或多个神经元建立为相同的值v,这取决于该输入所需的复制的数目。
参考图5,示出了对于每个像素具有四个输入轴突和四个输出复制的情况的示例性交叉(crossbar)501。分配的权重是[1,1,3,9]。参考图6,提供了用于该示例性交叉的示例性输入和输出。在加权的群体码中提供输入601。输出602包括如上所述的四个输出复制。
在一些实施例中,诸如基于TrueNorth构建的实施例中,数据可以被发送到芯片的速率是每秒1000个尖峰。在一些实施例中,小核执行验证步骤,在该验证步骤中小核对数据集中的所有可能的示例进行迭代,以找到每个刻度的尖峰的最大数目。如果它大于maxSpikesPerTick,小核将生成一个错误消息。
如果不可能访问数据,则小核可以根据输入数据的pdf(概率密度函数)计算平均尖峰并且模拟最大尖峰。根据下面的转导示例,尖峰的平均数目由等式3提供,其中pi是每个输入i的概率。在该示例中,可以假设均匀分布,
Figure GDA0002302579280000131
Spikei是编码输入值i所需的尖峰的数目。在本示例中,假设17个可能的输入值,从0到16。
Figure GDA0002302579280000132
使用nInputTicks,可以对每个输入刻度都平均分配尖峰。考虑输入数据大小N(例如28*28=784),每个输入刻度中的平均尖峰由等式4给出。
Figure GDA0002302579280000133
在此示例中,avgSpikesPerTick=922.35,其可以舍入为923作为上限。
尽管nAxonPerProb和axonWeight可以由用户手动设置,但是小核可以智能地选择最佳值,其可以具有最佳精度和每个刻度的最小数目的尖峰以及核。generateOptimalPara.m用于生成优化的参数集。resetDelay不是小核的可配置参数,但它用于定义复位后何时启动有效输入。在底层芯片的一些实施例中,最小值为2以确保复位完成。如果需要更高的动态范围,则可以使用2个刻度来生成更大的负值以触发复位。
输出引脚的数目由TEA配置中的inCoord参数预定,而输出引脚的数目需要基于splitCount矢量为可变长度分割器配置计算。
在TEA配置中,可以存在与nCopies中指定的复制数目一样多的输出连接器。这意味着每个TEA实例将连接到该小核的每个输出连接器。在VLS情况下只有一个输出连接器。
在一些实施例中,小核具有两种配置。第一个配置已准备好向TEA层实例提供复制。第二个配置名为可变长度分割器(VLS)小核,提供了分割器小核的功能,但具有更灵活的定义。以下两节介绍了以这些格式中的一种格式建立小核所需的参数。
表4示出了针对图像的示例inCoord定义。假定使用光栅扫描遍历图像,一个通道接一个通道。表的索引表示输出连接器中的引脚编号。在这种情况下,小核生成的每个复制都将遵循inCoord表定义来提供复制。
输出引脚(索引) 通道
1 1 1 1
2 2 1 1
3 1 2 1
4 2 2 1
5 1 2 1
6 2 2 1
7 1 3 1
8 2 3 1
9 1 1 2
10 2 1 2
11 1 2 2
12 2 2 2
13 1 2 2
14 2 2 2
15 1 3 2
16 2 3 2
表4
表5示出了用于VLS配置的示例性输入参数。
Figure GDA0002302579280000151
表6
作为splitCount的一个示例向量,输入引脚的顺序由splitCount的索引决定。输出引脚的顺序将根据向量中指定的每个输入引脚所需的复制数递增。在此示例中,输入引脚编号1将在输出连接器中复制两次,而输入引脚编号4将不会被复制,因为其向量中的值为零。
使用如输入参数中定义的随机速率码将数据输入到小核。引脚分布和输入引脚数目由输入参数部分中指定的输入参数而得到。generateDataSpikes.m用于生成数据的尖峰。
在一些实施例中,如上所述,使用诸如tn-信号-处理器之类的TrueNorth工具将数据转换成尖峰。在示例性实施例中,提供了换能器。给定小核的配置,它将一组图像转换成尖峰,识别最佳配置,如下所示。
假设以下参数:axonWeight:[1,3,9];输入范围:16(输入数据将转换为从0到16的整数);nInputTicks:2。小核生成查找表来转换输入数据,如表6所示。
Figure GDA0002302579280000161
表6
带宽减少率将根据所需的复制和所需的输入时间窗(使用多个刻度来表示输入数据)而改变。图7示出了在不同配置下的改进,如果输入数据均匀地分布在0到1之间,则需要64个复制和16个输入时间窗。动态范围是表示浮点数的精度,例如,128意味着它将使用从0到128的固定数来表示浮点数0到1。也需要更高的动态范围、更准确和更多的输入尖峰。
根据本公开的小核支持不同的精度,输入/输出时间窗和复制计数。通过适当的配置,它以最小的带宽要求实现相同的系统性能。图8示出了在图像分类中有和没有小核的比较。
应当理解,本公开的实施例适合于在各种神经形态系统中的应用。虽然本公开在IBM TrueNorth实现方面呈现了各种示例性实施例,但是其教导可应用于其他非冯诺依曼架构。在各种这样的架构中,神经形态衬底可以使用电磁部件、忆阻器、基于电容器的系统、模拟器件或其他神经形态器件构建在VLSI技术上。一些这样的架构提供可编程系统,而其他架构提供专用系统。一些这样的架构提供芯片上的学习,而一些提供芯片外学习。一些这样的架构被部署在单个芯片上,而其他架构被部署在多个芯片上,诸如在阵列中或在多层神经形态架构中。一些这样的架构基于基于分组的尖峰,而其他架构基于各种其他电子信号。
作为示例,神经突触程序可以表示神经突触网络。神经突触程序包括与神经突触网络有关的信息。该信息包括确定电子神经元对输入尖峰的响应的神经元属性和动态。例如,神经元属性和动态可以包括阈值参数、泄漏参数、延迟参数或复位参数。神经突触程序信息可以包括神经元的突触连接(例如,经由突触交叉进行的突触连接)。神经突触程序信息可以包括轴突属性(例如,轴突类型)。神经突触程序信息可以包括一个或多个目标(例如,目标轴突),神经元的输出尖峰应被传递到该一个或多个目标。
神经突触网络表示神经突触程序的实例化。神经突触网络可以在硬件中、在仿真中或在两者中实例化。例如,神经突触程序可以产生神经突触网络的一个或多个实例,其中实例可以驻留在单个核、多个核或多个芯片上。
神经形态核电路表示由神经突触程序描述的示例性神经突触网络。
小核或Corelet编程语言可表示提供神经突触程序的抽象的软件。可以通过组成小核来创建神经突触程序的组合。
在神经突触核的网络中,每个核上的神经元可以连接到任何其他神经突触核(包括其自身)的任何轴突。当神经元出现尖峰时,它发送尖峰分组,其被递送到目的地核上的目标轴突。给定应用和配置的神经突触,可以构建虚拟图G,其中每个节点表示单个核并且每个边表示从源核上的一组源神经元到目标核上的一组目的地轴突的连接。任何两个核之间的边缘的权重表示在该两个核之间通信的尖峰的总数。任何自边缘(在同一核上的神经元与轴突之间)可以被忽略。在神经突触系统的物理硬件实施例中,每个核可以在芯片上的2D网格中具有唯一的物理地址。系统中可以有任意数目的芯片。
从源核上的源神经元到目的地核上的目标轴突的尖峰通信可以经由2D网格中的路由器在水平或垂直或者两者的组合中穿过一定数目的跳跃以被传递到目的地核上的目标轴突。尖峰分组穿过的每一跳跃消耗功率和能量。
现在参考图9,其中显示了云计算节点的一个例子。图9显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,计算节点10能够被用来实现和/或执行以上所述的任何功能。
云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12一起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统﹑大型计算机系统和包括上述任意系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图9所示,计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
已经出于说明的目的给出了本发明的各种实施例的描述,但是这些描述并不旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择本文中使用的术语是为了最好地解释实施例的原理,实际应用或对市场中发现的技术的技术改进或使本领域的其他普通技术人员能够理解本文公开的实施例。

Claims (20)

1.一种用于在神经形态系统中生成多个尖峰的方法,包括:
接收由相机、麦克风、数据文件或任何其它传感器和信息源产生的多个输入值;
针对所述多个输入值中的每个值,生成多个尖峰,所述多个尖峰中的每个尖峰具有相关联的权重,其中所述相关联的权重中的每个相关联的权重选自预定的一组权重,其中所述一组权重是基于所述多个输入值的范围来确定的,并且其中确定所述一组权重以最小化所述多个尖峰的基数;
确定针对所述多个尖峰中的每个尖峰的消耗时间;
将所述多个尖峰中的每个尖峰在其消耗时间发送以用于消耗。
2.根据权利要求1所述的方法,其中针对所述多个尖峰中的每个尖峰的所述消耗时间选自预定的一组消耗时间。
3.根据权利要求1所述的方法,其中发送所述多个尖峰中的每个尖峰包括发送与其消耗时间相对应的延迟指令。
4.根据权利要求1所述的方法,其中确定所述一组权重以最小化针对所述多个输入值中在预定范围内的值的所述多个尖峰的基数。
5.根据权利要求1所述的方法,其中所述多个尖峰的所述消耗时间在预定建立时段内。
6.一种用于在神经形态系统中生成多个尖峰的方法,包括:
在第一神经形态系统处接收第一多个尖峰,所述第一多个尖峰由相机、麦克风、数据文件或任何其它传感器和信息源产生的输入值产生,所述第一多个尖峰根据第一编码对第一值进行编码,其中所述第一编码将权重与所述第一多个尖峰中的每个尖峰相关联,并且其中所述第一多个尖峰的权重被确定以最小化所述第一多个尖峰的基数;
从所述第一多个尖峰生成第二多个尖峰,所述第二多个尖峰根据第二编码对所述第一值进行编码;
将所述第二多个尖峰提供至第二神经形态系统。
7.根据权利要求6所述的方法,还包括:
在所述第一神经形态系统处接收多个延迟,所述多个延迟中的每个延迟与所述第一多个尖峰中的一个尖峰相关联;
对所述第一多个尖峰中的每个尖峰通过其相关联的延迟进行延迟。
8.根据权利要求6所述的方法,其中接收所述第一多个尖峰包括:
在第一时间窗期间接收所述第一多个尖峰的第一子集;
在第二时间窗期间接收所述第一多个尖峰的第二子集。
9.根据权利要求6所述的方法,其中生成所述第二多个尖峰包括:
将所述第一编码的所述权重应用于所述第一多个尖峰。
10.根据权利要求6所述的方法,其中所述第一多个尖峰中的每个尖峰在预定数目的时间窗中的一个时间窗中被接收。
11.根据权利要求6所述的方法,其中所述多个尖峰中的每个尖峰表示离散值。
12.根据权利要求6所述的方法,其中所述多个尖峰中的每个尖峰表示连续值。
13.根据权利要求8所述的方法,其中生成所述第二多个尖峰包括:
从所述第一编码的所述权重和所述第一多个尖峰的所述权重确定概率。
14.根据权利要求6所述的方法,还包括:
向所述第二神经形态系统提供输出,以及与此同时,在所述第一神经形态系统处接收第三多个尖峰,所述第三多个尖峰根据所述第一编码对第二值进行编码。
15.根据权利要求6所述的方法,还包括:
在所述第一神经形态系统处接收第三多个尖峰,所述第三多个尖峰根据所述第一编码对第二值与所述第一值之间的差进行编码;
从所述第三多个尖峰生成第四多个尖峰,所述第四多个尖峰根据所述第二编码对所述第二值进行编码;
将所述第四多个尖峰提供至所述第二神经形态系统。
16.根据权利要求6所述的方法,其中所述第二神经形态系统包括分类器。
17.一种用于在神经形态系统中生成多个尖峰的方法,包括:
在神经形态系统处接收第一多个尖峰,所述第一多个尖峰由相机、麦克风、数据文件或任何其它传感器和信息源产生的输入值产生,所述第一多个尖峰根据第一编码对第一值进行编码,其中所述第一编码将权重与所述第一多个尖峰中的每个尖峰相关联,并且其中所述第一多个尖峰的权重被确定以最小化所述第一多个尖峰的基数;
从所述第一多个尖峰生成多组尖峰,所述多组尖峰中的每组尖峰根据第二编码对所述第一值进行编码;
将所述多组尖峰中的每组尖峰提供至所述神经形态系统中的多个分类器中的一个分类器。
18.一种用于在神经形态系统中生成多个尖峰的系统,包括:
神经形态网络,包括多个输入轴突和连接到所述多个输入轴突的多个随机神经元;
操作地耦合到所述多个输入轴突的编码器,所述编码器被配置为向所述输入轴突发送第一多个尖峰,所述第一多个尖峰由相机、麦克风、数据文件或任何其它传感器和信息源产生的输入值产生,所述第一多个尖峰根据第一编码对第一值进行编码,其中所述第一编码将权重与所述第一多个尖峰中的每个尖峰相关联,并且其中所述第一多个尖峰的权重被确定以最小化所述第一多个尖峰的基数,所述神经形态网络被配置为从所述第一多个尖峰生成第二多个尖峰,所述第二多个尖峰根据第二编码对所述第一值进行编码。
19.一种用于在神经形态系统中生成多个尖峰的计算系统,包括:
一个或多个处理器;
存储器,耦合到所述处理器中的至少一个处理器;
一组计算机程序指令,被存储在所述存储器中并由所述处理器中的至少一个处理器执行以执行根据权利要求1-17中的任一权利要求所述的方法的动作。
20.一种具有包含在其中的程序的计算机可读存储介质,其中所述程序可执行以使计算机执行根据权利要求1-17中的任一权利要求所述的方法。
CN201710018765.1A 2016-01-13 2017-01-10 随机尖峰模式的生成的方法和系统 Active CN107016437B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/994,940 US10423879B2 (en) 2016-01-13 2016-01-13 Efficient generation of stochastic spike patterns in core-based neuromorphic systems
US14/994,940 2016-01-13

Publications (2)

Publication Number Publication Date
CN107016437A CN107016437A (zh) 2017-08-04
CN107016437B true CN107016437B (zh) 2020-08-04

Family

ID=58463888

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710018765.1A Active CN107016437B (zh) 2016-01-13 2017-01-10 随机尖峰模式的生成的方法和系统

Country Status (5)

Country Link
US (2) US10423879B2 (zh)
JP (1) JP7037886B2 (zh)
CN (1) CN107016437B (zh)
DE (1) DE102016125131A1 (zh)
GB (1) GB2548194B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11222260B2 (en) 2017-03-22 2022-01-11 Micron Technology, Inc. Apparatuses and methods for operating neural networks
CN111133454A (zh) * 2017-12-15 2020-05-08 英特尔公司 利用尖峰神经网络解析正则表达式
CN111465945B (zh) * 2018-01-23 2024-02-02 赫尔实验室有限公司 应用于神经形态硬件的用于模式识别的系统、方法与介质
CN108664949A (zh) * 2018-05-21 2018-10-16 江苏信息职业技术学院 利用径向基神经网络对癫痫脑电图信号进行分类的方法
WO2019240868A1 (en) * 2018-06-13 2019-12-19 Hrl Laboratories, Llc Neuromorphic system for authorized user detection
US20200019838A1 (en) * 2018-07-11 2020-01-16 The Board Of Trustees Of The Leland Stanford Junior University Methods and apparatus for spiking neural network computing based on randomized spatial assignments
US11270191B2 (en) 2018-08-29 2022-03-08 International Business Machines Corporation On-chip Poisson spike generation
KR20200111584A (ko) 2019-03-19 2020-09-29 한국전자통신연구원 시공간 입력 신호들이 나타내는 사건을 부호화하기 위한 전자 장치 및 그것의 동작 방법
KR102453336B1 (ko) * 2019-11-12 2022-10-12 한국전자기술연구원 스파이킹 뉴럴 네트워크를 위한 하이퍼 파라미터 최적화 방법과 장치 및 이를 이용한 연산 장치
KR102637568B1 (ko) * 2020-11-23 2024-02-19 충북대학교 산학협력단 스파이킹 뉴럴 네트워크를 최적화하는 방법 및 장치
WO2023091061A1 (en) * 2021-11-17 2023-05-25 Telefonaktiebolaget Lm Ericsson (Publ) Delay encoded vector symbolic radio multiple access
CN117093364B (zh) * 2023-08-08 2024-04-02 国网湖南省电力有限公司 实时量测数据的并行处理方法及系统、电子设备、介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420787A (en) * 1992-10-26 1995-05-30 The United States Of America As Represented By The Secretary Of The Department Of Human Services System and method for separating a multi-unit signal into single-unit signals
CN101860357A (zh) * 2010-06-09 2010-10-13 中国科学院半导体研究所 一种利用时间编码控制权重和信息整合的方法
CN103814387A (zh) * 2011-09-21 2014-05-21 高通股份有限公司 用于尖峰神经网络中的结构化延迟可塑性的方法和装置
WO2015030606A2 (en) * 2013-08-26 2015-03-05 Auckland University Of Technology Improved method and system for predicting outcomes based on spatio / spectro-temporal data

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009113993A1 (en) 2008-03-14 2009-09-17 Hewlett-Packard Development Company, L.P. Neuromorphic circuit
US9152915B1 (en) * 2010-08-26 2015-10-06 Brain Corporation Apparatus and methods for encoding vector into pulse-code output
US8812414B2 (en) 2011-05-31 2014-08-19 International Business Machines Corporation Low-power event-driven neural computing architecture in neural networks
US9147155B2 (en) 2011-08-16 2015-09-29 Qualcomm Incorporated Method and apparatus for neural temporal coding, learning and recognition
US8909576B2 (en) * 2011-09-16 2014-12-09 International Business Machines Corporation Neuromorphic event-driven neural computing architecture in a scalable neural network
US9146546B2 (en) 2012-06-04 2015-09-29 Brain Corporation Systems and apparatus for implementing task-specific learning using spiking neurons
US9367797B2 (en) * 2012-02-08 2016-06-14 Jason Frank Hunzinger Methods and apparatus for spiking neural computation
KR101963440B1 (ko) * 2012-06-08 2019-03-29 삼성전자주식회사 복수의 뉴런 회로들을 이용하여 음원의 방향을 추정하는 뉴로모픽 신호 처리 장치 및 그 장치를 이용한 방법
US9159020B2 (en) 2012-09-14 2015-10-13 International Business Machines Corporation Multiplexing physical neurons to optimize power and area
US9275326B2 (en) 2012-11-30 2016-03-01 Brain Corporation Rate stabilization through plasticity in spiking neuron network
US9373073B2 (en) * 2012-12-21 2016-06-21 International Business Machines Corporation Time-division multiplexed neurosynaptic module with implicit memory addressing for implementing a universal substrate of adaptation
US9275329B2 (en) * 2013-08-12 2016-03-01 Qualcomm Incorporated Behavioral homeostasis in artificial nervous systems using dynamical spiking neuron models
US20150213356A1 (en) 2014-01-24 2015-07-30 Qualcomm Incorporated Method for converting values into spikes
US9342782B2 (en) 2014-02-21 2016-05-17 Qualcomm Incorporated Stochastic delay plasticity
US9195903B2 (en) * 2014-04-29 2015-11-24 International Business Machines Corporation Extracting salient features from video using a neurosynaptic system
US10650301B2 (en) * 2014-05-08 2020-05-12 International Business Machines Corporation Utilizing a distributed and parallel set of neurosynaptic core circuits for neuronal computation and non-neuronal computation
US9373058B2 (en) * 2014-05-29 2016-06-21 International Business Machines Corporation Scene understanding using a neurosynaptic system
US9704094B2 (en) 2015-02-19 2017-07-11 International Business Machines Corporation Mapping of algorithms to neurosynaptic hardware
US20160358075A1 (en) * 2015-06-08 2016-12-08 The Regents Of The University Of Michigan System for implementing a sparse coding algorithm

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5420787A (en) * 1992-10-26 1995-05-30 The United States Of America As Represented By The Secretary Of The Department Of Human Services System and method for separating a multi-unit signal into single-unit signals
CN101860357A (zh) * 2010-06-09 2010-10-13 中国科学院半导体研究所 一种利用时间编码控制权重和信息整合的方法
CN103814387A (zh) * 2011-09-21 2014-05-21 高通股份有限公司 用于尖峰神经网络中的结构化延迟可塑性的方法和装置
WO2015030606A2 (en) * 2013-08-26 2015-03-05 Auckland University Of Technology Improved method and system for predicting outcomes based on spatio / spectro-temporal data

Also Published As

Publication number Publication date
GB2548194A (en) 2017-09-13
DE102016125131A1 (de) 2017-07-13
JP2017126332A (ja) 2017-07-20
GB2548194B (en) 2020-02-26
US20170200079A1 (en) 2017-07-13
US20190370654A1 (en) 2019-12-05
GB201700228D0 (en) 2017-02-22
CN107016437A (zh) 2017-08-04
US11574183B2 (en) 2023-02-07
JP7037886B2 (ja) 2022-03-17
US10423879B2 (en) 2019-09-24

Similar Documents

Publication Publication Date Title
CN107016437B (zh) 随机尖峰模式的生成的方法和系统
US10671889B2 (en) Committed information rate variational autoencoders
US10474430B2 (en) Mixed-precision processing elements, systems, and methods for computational models
US11715002B2 (en) Efficient data encoding for deep neural network training
CN109377532B (zh) 基于神经网络的图像处理方法及装置
CN113014922B (zh) 模型训练、视频编码方法,装置,设备以及存储介质
US20210064954A1 (en) System-aware selective quantization for performance optimized distributed deep learning
CN116579407B (zh) 神经网络模型的压缩方法、训练方法、处理方法和装置
CN113474795A (zh) 从传感器输入信号回答认知查询
CN112989843B (zh) 意图识别方法、装置、计算设备及存储介质
CN113989152A (zh) 图像增强方法、装置、设备以及存储介质
US11049000B2 (en) Distributed state via cascades of tensor decompositions and neuron activation binding on neuromorphic hardware
CN114118358A (zh) 图像处理方法、装置、电子设备、介质及程序产品
US10650309B2 (en) High dynamic range, high class count, high input rate winner-take-all on neuromorphic hardware
CN114846806A (zh) 用于图像压缩的累积分布函数的有效率更新
AbdulQader et al. Enabling incremental training with forward pass for edge devices
US12079707B2 (en) Neural apparatus for a neural network system
Matsui et al. Event data-based computation-in-memory (CiM) configuration by co-designing integrated in-sensor and CiM computing for extremely energy-efficient edge computing
Tripathi et al. Vector codebook design using gravitational search algorithm
Lew et al. CAT SNN: Conversion Aware Training for High Accuracy and Hardware Friendly Spiking Neural Networks
Sivakumar et al. E-Learning Image Compression using K-Means-BTC in Public Cloud
Kim et al. Color image vector quantization using an enhanced self-organizing neural network
CN118364879A (zh) 一种量化训练方法、装置、设备以及存储介质
CN117896739A (zh) 语义通信模型的训练方法和装置
CN117475165A (zh) 用于处理图像的计算系统、方法、设备和存储介质

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
GR01 Patent grant
GR01 Patent grant