CN111465945B - 应用于神经形态硬件的用于模式识别的系统、方法与介质 - Google Patents

应用于神经形态硬件的用于模式识别的系统、方法与介质 Download PDF

Info

Publication number
CN111465945B
CN111465945B CN201880080343.XA CN201880080343A CN111465945B CN 111465945 B CN111465945 B CN 111465945B CN 201880080343 A CN201880080343 A CN 201880080343A CN 111465945 B CN111465945 B CN 111465945B
Authority
CN
China
Prior art keywords
pattern
class
spike
neuron
excitatory
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
CN201880080343.XA
Other languages
English (en)
Other versions
CN111465945A (zh
Inventor
曹永强
P·K·皮利
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.)
HRL Laboratories LLC
Original Assignee
HRL Laboratories LLC
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 HRL Laboratories LLC filed Critical HRL Laboratories LLC
Publication of CN111465945A publication Critical patent/CN111465945A/zh
Application granted granted Critical
Publication of CN111465945B publication Critical patent/CN111465945B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24133Distances to prototypes
    • G06F18/24143Distances to neighbourhood prototypes, e.g. restricted Coulomb energy networks [RCEN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/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/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/94Hardware or software architectures specially adapted for image or video understanding
    • G06V10/955Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19147Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/191Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
    • G06V30/19173Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2218/00Aspects of pattern recognition specially adapted for signal processing
    • G06F2218/12Classification; Matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Abstract

应用于神经形态硬件的用于模式识别的系统、方法与介质。描述了一种被设计用于神经形态硬件的用于模式识别的系统。该系统利用兴奋性层中的各个兴奋性神经元,针对训练模式生成神经元尖峰的尖峰序列,其中各个训练模式属于一模式类。针对各个模式类,生成兴奋性神经元的尖峰率分布。对兴奋性神经元的各个尖峰率分布进行归一化,并根据归一化的尖峰率分布,针对各个模式类,生成类模板。使用类模板对未标记的输入模式进行分类。可以基于未标记的输入模式的分类来控制自主装置的机械部件。

Description

应用于神经形态硬件的用于模式识别的系统、方法与介质
相关申请的交叉引用
本申请是2018年1月23日在美国提交的题为“AMethod and System forDistributed Coding and Learning in Neuromorphic Networks for PatternRecognition”的美国临时申请No.62/621,012的非临时申请,该美国临时申请的全部内容通过引用并入本文。
技术领域
本发明涉及用于模式识别(pattern recognition)的系统,并且更具体地,涉及将结构化网络(structured network)应用于神经形态(neuromorphic)硬件的用于模式识别的系统。
背景技术
在机器学习中,模式识别着重于对数据中的模式和规律性进行识别。模式识别通常用于图像处理、医学诊断、车辆导航和制导系统以及出于安全目的的识别/认证(例如,指纹比对)。
在“Unsupervised Learning of Digit Recognition Using Spike-Timing-Dependent Plasticity”,Frontiers in Computational Neuroscience,2015年9月(其通过引用并入本文,如同在本文中充分阐述一样)中,Diehl和Cook描述了使用依赖于尖峰时序的可塑性(STDP)执行无监督模式识别。Diehl和Cook公开的尖峰神经网络无法在低SWaP(尺寸、重量和功率)尖峰神经形态硬件中使用,因为该网络仅在限制性参数集下工作。由于神经形态硬件元件(例如,神经形态芯片)通常对特征、参数分辨率和范围具有多个约束,因此Diehl描述的限制性参数集在神经形态硬件上不容易实现。此外,Diehl和Cook的网络每次仅允许一个兴奋性神经元出现尖峰,因此该网络在神经形态硬件中的应用受到限制。
因此,可以容易地应用于具有片上学习能力的低SWaP神经形态硬件的自适应尖峰神经网络中仍然需要用于模式识别的系统。
发明内容
本发明涉及用于模式识别的系统,并且更具体地,涉及将结构化网络应用于神经形态硬件的用于模式识别的系统。该系统包括一个或更多个处理器和编码有可执行指令的非暂时性计算机可读介质,以便在执行可执行指令时,所述一个或更多个处理器执行多个操作。该系统对应用于神经形态硬件的尖峰神经网络进行训练。对尖峰神经网络进行训练包括多个操作。该系统针对多个训练模式,利用尖峰神经网络的兴奋性层中的各个兴奋性神经元生成神经元尖峰的尖峰序列(spike train),各个训练模式属于一模式类。针对各个模式类,生成兴奋性神经元的尖峰率分布(spiking rate distribution)。生成兴奋性神经元的各个尖峰率分布,并且根据归一化的尖峰率分布,针对各个模式类,生成类模板。
在另一方面,在针对各个图像类生成兴奋性神经元的尖峰率分布时,将来自该图像类中的所有训练图像的神经元尖峰求和。
在另一方面,在生成尖峰序列时,多个兴奋性神经元能够同时触发(fire)。
在另一方面,在针对多个训练图像生成神经元尖峰的尖峰序列时,尖峰神经网络的输入层中的各个输入神经元根据对应特征通道的强度值生成尖峰序列,其中,强度值越大,生成的神经元尖峰越多。
本发明还涉及一种系统,该系统使用应用于神经形态硬件的经训练的尖峰神经网络对未标记的输入模式进行分类。该系统使用根据尖峰神经网络中的兴奋性神经元的归一化的尖峰率分布针对多个模式类生成的类模板来对未标记的输入模式进行分类。基于未标记的输入模式的分类来控制自主装置的机械部件。
在另一方面,在对未标记的输入模式进行分类时,系统将未标记的输入模式的兴奋性神经元尖峰率模式与各个类模板进行比较,并确定该未标记的输入模式的兴奋性神经元尖峰率模式与类模板之间的匹配。
在另一方面,在使用类模板对未标记的输入模式进行分类时,系统根据未标记的输入模式所匹配的类模板来对该未标记的输入模式的类标记进行预测。
最后,本发明还包括一种计算机程序产品和一种由计算机实现的方法。该计算机程序产品包括存储在非暂时性计算机可读介质上的计算机可读指令,该计算机可读指令能够由具有一个或更多个处理器的计算机执行,使得在执行这些指令时,所述一个或更多个处理器执行本文列出的操作。另选地,由计算机实现的方法包括使计算机执行这样的指令并执行所得到的操作的动作。
附图说明
通过结合参考以下附图对本发明的各个方面的以下详细描述,本发明的目的、特征和优点将变得显而易见,其中:
图1是描绘了根据本公开的一些实施方式的用于模式识别的系统的部件的框图;
图2是根据本公开的一些实施方式的计算机程序产品的例示;
图3是根据本公开的一些实施方式的网络架构的例示;
图4A是根据本公开的一些实施方式的针对修改后的美国国家标准技术研究院(MNIST)数据库中的“0”类的兴奋性神经元的归一化的尖峰率分布;
图4B是根据本公开的一些实施方式的针对MNIST数据库中的“1”类的兴奋性神经元的归一化的尖峰率分布;
图4C是根据本公开的一些实施方式的针对MNIST数据库中的“2”类的兴奋性神经元的归一化的尖峰率分布;
图4D是根据本公开的一些实施方式的针对MNIST数据库中的“3”类的兴奋性神经元的归一化的尖峰率分布;
图5是根据现有技术的MNIST数据集中的样本数字图像的例示;
图6是根据本公开的一些实施方式的模式识别精度结果的例示;
图7是例示了根据本公开的实施方式的用于模式识别的系统的流程图;以及
图8是例示了使用根据本公开的一些实施方式的用于模式识别的系统的装置的控制的流程图。
具体实施方式
本发明涉及用于模式识别的系统,并且更具体地,涉及将结构化网络应用于神经形态硬件的用于模式识别的系统。呈现以下描述以使本领域的普通技术人员能够作出和使用本发明并将其结合到特定应用的上下文中。各种修改以及在不同应用中的各种用途对于本领域技术人员而言将是显而易见的,并且在本文中限定的一般原理可以应用于广泛方面。因此,本发明并非旨在限于所呈现的方面,而是涵盖与本文所公开的原理和新颖特征相一致的最广范围。
在下面的详细说明中,阐述了许多具体细节,以使得能够更加彻底地理解本发明。然而,对于本领域技术人员而言将显而易见的是,本发明可以在不必限于这些具体细节的情况下来实施。在其它情况下,公知结构和装置按框图形式示出而不被详细示出,以免模糊本发明。
读者应留意与本说明书同时提交并且与本说明书一起公开以供公众查阅的所有文件和文档,并且所有这些文件和文档的内容通过引用并入于此。本说明书(包括任何所附权利要求、摘要以及附图)中公开的所有特征可以由用于相同、等同或相似目的的替代特征来代替,除非另有明确说明。因此,除非另有明确说明,否则所公开的各个特征仅仅是一般系列的等同或相似特征的一个示例。
(1)主要方面
本发明的各个实施方式包括三个“主要”方面。第一主要方面是用于模式识别的系统。该系统通常采用计算机系统操作软件的形式或采用“硬编码”指令集的形式。该系统可以结合到提供不同功能的各种各样的装置中。第二主要方面是使用数据处理系统(计算机)运行的通常采用软件形式的方法。第三主要方面是计算机程序产品。所述计算机程序产品通常表示存储在诸如光学存储装置(例如,光盘(CD)或数字通用盘(DVD))或磁存储装置(诸如,软盘或磁带)的非暂时性计算机可读介质上的计算机可读指令。计算机可读介质的其它非限制性示例包括硬盘、只读存储器(ROM)以及闪存型存储器。这些方面将在下文进行更详细的说明。
图1提供了描绘本发明的系统(即,计算机系统100)的示例的框图。计算机系统100被配置成执行与程序或算法相关联的计算、处理、操作和/或功能。在一个方面中,本文讨论的某些处理和步骤被实现为存在于计算机可读存储器单元内并由计算机系统100的一个或更多个处理器执行的一系列指令(例如,软件程序)。在执行时,这些指令使计算机系统100执行特定动作并呈现特定行为,诸如本文所描述的。
计算机系统100可以包括被配置成传送信息的地址/数据总线102。另外,一个或更多个数据处理单元(诸如处理器104(或多个处理器))与地址/数据总线102联接。处理器104被配置成处理信息和指令。在一个方面中,处理器104是微处理器。另选地,处理器104可以是不同类型的处理器,诸如并行处理器、专用集成电路(ASIC)、可编程逻辑阵列(PLA)、复杂可编程逻辑器件(CPLD)或现场可编程门阵列(FPGA)。
计算机系统100被配置成利用一个或更多个数据存储单元。计算机系统100可以包括与地址/数据总线102联接的易失性存储器单元106(例如,随机存取存储器(“RAM”)、静态RAM、动态RAM等),其中,易失性存储器单元106被配置成存储用于处理器104的信息和指令。计算机系统100还可以包括与地址/数据总线102联接的非易失性存储器单元108(例如,只读存储器(“ROM”)、可编程ROM(“PROM”)、可擦除可编程ROM(“EPROM”)、电可擦除可编程ROM(“EEPROM”)、闪存等),其中,非易失性存储器单元108被配置成存储用于处理器104的静态信息和指令。另选地,计算机系统100可以执行诸如在“云”计算中从在线数据存储单元取回的指令。在一个方面中,计算机系统100还可以包括与地址/数据总线102联接的一个或更多个接口(诸如接口110)。所述一个或更多个接口被配置成使得计算机系统100能够与其它电子装置和计算机系统对接。由所述一个或更多个接口实现的通信接口可以包括有线通信技术(例如,串行电缆、调制解调器、网络适配器等)和/或无线通信技术(例如,无线调制解调器、无线网络适配器等)。
在一个方面中,计算机系统100可以包括与地址/数据总线102联接的输入装置112,其中,输入装置112被配置成将信息和命令选择传送至处理器100。根据一个方面,输入装置112是可以包括字母数字键和/或功能键的字母数字输入装置(诸如键盘)。另选地,输入装置112可以是除字母数字输入装置之外的输入装置。在一个方面中,计算机系统100可以包括与地址/数据总线102联接的光标控制装置114,其中,光标控制装置114被配置成将用户输入信息和/或命令选择传送至处理器100。在一个方面中,光标控制装置114使用诸如鼠标、轨迹球、触控板、光学跟踪装置或触摸屏的装置来实现。尽管如此,但在一个方面中,诸如响应于使用与输入装置112相关联的特殊键和键序列命令,光标控制装置114经由来自输入装置112的输入被引导和/或激活。在另选方面中,光标控制装置114被配置成由语音命令来引导或指导。
在一个方面中,计算机系统100还可以包括与地址/数据总线102联接的一个或更多个可选计算机可用数据存储装置(诸如存储装置116)。存储装置116被配置成存储信息和/或计算机可执行指令。在一个方面中,存储装置116是诸如磁或光盘驱动器(例如,硬盘驱动器(“HDD”)、软盘、光盘只读存储器(“CD-ROM”)、数字通用盘(“DVD”))的存储装置。依据一个方面,显示装置118与地址/数据总线102联接,其中,显示装置118被配置成显示视频和/或图形。在一个方面中,显示装置118可以包括阴极射线管(“CRT”)、液晶显示器(“LCD”)、场发射显示器(“FED”)、等离子体显示器或适于显示视频和/或图形图像以及用户可识别的字母数字字符的任何其它显示装置。
本文所提出的计算机系统100是根据一个方面的示例计算环境。然而,计算机系统100的非限制性示例并不严格限于是计算机系统。例如,一个方面规定了计算机系统100表示可以根据本文所述各个方面使用的一种数据处理分析。此外,还可以实现其它计算系统。实际上,本技术的精神和范围不限于任何单个数据处理环境。因此,在一个方面中,使用通过计算机执行的计算机可执行指令(诸如程序模块)来控制或实现本技术的各个方面的一个或更多个操作。在一个实现中,这样的程序模块包括被配置成执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件和/或数据结构。另外,一个方面规定了通过利用一个或更多个分布式计算环境来实现本技术的一个或更多个方面,诸如,在分布式计算环境中,由通过通信网络链接的远程处理装置执行任务,或者诸如,在分布式计算环境中,各个种程序模块位于包括存储器-存储装置的本地和远程计算机存储介质中。
计算机系统100可以是具有在线学习能力的神经形态计算机(诸如神经形态芯片)的形式,该神经形态计算机包含电子模拟电路,以模拟神经系统中存在的神经生物学架构。神经形态通常表示模拟的、数字的和实现神经系统模型的任何其它软件系统。神经形态可以包括多个突触和用于将芯片与计算机对接的定制板(custom board)。具有神经芯片的定制板可以包括现场可编程门阵列(FPGA),以将串行输入/输出外部数据转换为被神经芯片使用的并行尖峰数据,并且也可以用于控制神经芯片。在一个实施方式中,基于低压差(LDO)芯片的电压转换器向神经芯片供电。可擦除可编程只读存储器(EPROM)芯片可以存储神经芯片的配置。此配置包括神经网络的拓扑以及神经元和突触的其它可编程参数设置。通用串行总线(USB)连接器可以用于加载要由神经芯片实现的神经网络拓扑。串行外围接口(SPI)连接器可以用于将数据传输到具有微控制器的板。
具有微控制器的板可以包含微控制器板。微控制器板用于提供进入神经板的输入数据,并从神经板接收数据。微控制器板可以连接到PC。电平转换器芯片焊接在商用微控制器板顶部。这是为了将微控制器使用的电压电平转换为神经板使用的电压电平。此外,神经形态计算机可以包括基于氧化物的忆阻器、阈值开关和晶体管。尖峰神经元可以传递类似于人脑神经元的不同强度的信号,并且在必要时也可以触发,而不是由中央处理单元(CPU)控制。
图2描绘了实施本发明的计算机程序产品(即,存储装置)的例示图。计算机程序产品被描绘为软盘200或诸如CD或DVD的光盘202。然而,如先前提到的,计算机程序产品通常表示存储在任何兼容的非暂时性计算机可读介质上的计算机可读指令。关于本发明所使用的术语“指令”通常指示要在计算机上执行的一组操作,并且可以表示整个程序的片段或者单个可分离的软件模块。“指令”的非限制性示例包括计算机程序代码(源或目标代码)和“硬编码”电子器件(即,编码到计算机芯片中的计算机操作)。“指令”被存储在任何非暂时性计算机可读介质上,诸如存储在计算机的存储器中或软盘、CD-ROM以及闪存驱动器上。在任一种情况下,这些指令被编码在非暂时性计算机可读介质上。
(2)各个实施方式的具体细节
(2.1)网络架构
描述了一种简单的结构化网络,该结构化网络可以应用于神经形态芯片,以进行模式识别。如图3所示,该网络由包括用圆圈表示的多个神经元(例如,神经元300)的三个层组成:输入层302、兴奋性层(excitatory layer)304和抑制性神经元层(inhibitoryneuron layer)306。根据本公开的实施方式的网络使得能够进行分布式学习,其中多个兴奋性神经元(例如,神经元308)可以同时触发。因此,尖峰率分布可以用于标识未标记模式,这与以往的模型不同。在训练中,兴奋性层304中的各个兴奋性神经元(例如,神经元308)生成用于输入刺激信号(stimuli)的尖峰序列。训练之后,可以通过将来自各个类中的所有训练图像的神经元尖峰求和来获得该类的兴奋性神经元(例如,神经元308)的尖峰率分布。尖峰率分布随后可以用于在测试中对未标记的输入进行分类。在这种背景下,类是指在现实世界中遇到的对象的高级类别,针对这些对象,自主代理(autonomous agent)需要学习适当行为;例如,自主汽车需要识别对象的各个类(诸如,“卡车”、“校车”、“行人”、“骑行者”等)。
输入层302中的各个神经元(例如,神经元300)根据对应特征通道的强度值(例如,在0至255范围内的图像像素灰度8位强度)生成尖峰序列。强度越大,生成的尖峰越多。输入层302中的各个神经元(例如,神经元300)连接到兴奋性层304中的每一个神经元(例如,神经元308)。兴奋性层304由N个兴奋性神经元(例如,神经元308)(以下称为E神经元)组成。数字N可以变化。针对高效性能而进行的N的选择随模式识别问题的复杂性(即,属于各个类的示例在特征空间中的纠缠(entangle)程度如何)变化。在本文所述系统的仿真中,N从64系统地变化到800。从输入层302到兴奋性层304的连接的权重可以是可塑的(即,通过依赖于尖峰时序的可塑性来学习)或固定的,但是可以是随机初始化的。
针对各个兴奋性神经元(例如,神经元308),在抑制性神经元层306中存在对应的抑制性神经元(例如,神经元310)(以下称为I神经元)。作为结果,抑制性神经元层306具有N个抑制性神经元(例如,神经元310)。各个E神经元(例如,神经元308)仅连接到一个I神经元(例如,神经元310),而各个I神经元(例如,神经元310)连接到除了激发该I神经元的那个E神经元之外的所有E神经元(例如,神经元308)。在图3中,用实箭头线312表示兴奋性连接,而用虚箭头线314表示抑制性连接。兴奋性连接和抑制性连接两者的权重是固定的常数。
(2.2)训练阶段
在训练阶段,输入层302基于各个特征通道的强度生成针对该特征通道的尖峰序列。作为结果,E神经元(例如,神经元308)的子集将会不时地触发。针对不同类型的输入模式,E神经元(例如,神经元308)尖峰率模式将会不同。在训练处理之后,可以通过将来自各个类中的所有训练图像的神经元尖峰求和来获得该类的E神经元(例如,神经元308)的尖峰率分布。
图4A至图4D例示了针对修改后的美国国家标准技术研究院(MNIST)数据库的四个类的E神经元的尖峰率分布的四个非限制性示例,该数据库是通常用于训练图像处理系统的手写数字数据库。可以使用合适的归一化方法(诸如除以最大值以及L1和L2范数,该范数由Horn,R.A.和Johnson,C.R.在Matrix Analysis,Cambridge,England:CambridgeUniversity Press,1990中的第5章“Norms for Vectors and Matrices”中进行了描述,其通过引用并入本文,如同在本文中充分阐述一样)进一步对尖峰率分布进行归一化。在本文所述系统的仿真中,L2范数性能最佳。各个类的E神经元(例如,神经元308)的归一化的尖峰率分布被称为类模板。
(2.3)操作阶段
在操作阶段,针对各个测试模式,根据本公开的实施方式的系统将所述各个测试模式的E神经元尖峰率模式与训练期间生成的各个类模板进行比较。使用L2归一化,可以找到E神经元尖峰率模式与类模板之间的最佳匹配。然后根据文本模式的最佳匹配类模板来对该文本模式的类标记进行预测。
图5是描绘了根据本公开的实施方式的用于模式识别的系统的操作的流程图。上面详细描述了以下操作中的各个操作。在第一操作500中,针对各个训练模式,生成神经元尖峰的尖峰序列。在第二操作502中,针对各个模式类,生成兴奋性神经元的尖峰率分布。在第三操作504中,对各个尖峰率分布进行归一化。在第四操作506中,针对各个模式类,生成类模板。在第五操作508中,使用类模板对未标记的输入模式进行分类。
(2.4)实验研究
在MNIST数据集上对根据本公开的实施方式的网络进行测试。图6例示了MNIST数据集中的样本数字。数据集中的图像大小最初为28×28像素。数据集中的图像大小被重新调整为8×8像素。作为结果,本文所述网络的网络输入层具有64个输入神经元。该网络首先在MNIST训练数据集中的10000张图像上进行了训练。在训练阶段之后,通过将来自各个类中的所有训练图像的神经元尖峰求和来生成该类的E神经元的尖峰率分布。然后,通过L2范数方法对各个类的尖峰率分布进行归一化来获得类模板。该技术在MNIST测试数据集的所有10000张图像上进行了测试。针对各个测试图像,将该测试图像的E神经元尖峰率模式与在训练阶段生成的各个类模板进行了比较。基于L2范数方法标识最佳匹配,然后根据测试图像的最佳匹配类模板来对该测试图像的类标记进行预测。在仿真中使用了各种数量N的E神经元和I神经元(例如,分别是神经元308和神经元310)。已经发现,当数量N增加时,模式识别性能得到改善。
图7描绘了如下结果,该结果示出了根据本公开的实施方式的结构网络中的更多神经元/突触改善模式识别精度结果。具体地,图7中的仿真结果显示,随着E神经元的数量N从64增加到800,所公开的网络在MNIST数据集上的精度逐渐提高。示出了针对具有800个E神经元的网络的10×10混淆矩阵(confusion matrix),该10×10混淆矩阵汇总了针对10个类中的各个类在MNIST测试数据集上的正确分类和不正确分类。这些行具有测试数据集中存在的各个类(0至9)的计数,并且列具有由网络预测的各个类(0至9)的计数。沿矩阵对角线的计数指示通过网络的正确分类。矩阵右边的附加列是将各个行求和,以指示测试数据集中存在的各个类(0至9)的总计数。
总之,本文描述了用于针对模式识别应用的适合于在神经形态硬件上实现的尖峰神经网络中的分布式编码和学习的方法和系统。在神经形态硬件中,由分布式尖峰表示来表示模式类别,其中,神经元可以参与将多个类的刺激信号或模式编码到不同程度。可以通过以下方式来获得针对各个类的分布式神经表示:将通过针对给定类的各个示例训练而得到的单个神经元的尖峰响应求和,或者通过使用指数衰减函数而不是阶跃函数来为最近的示例赋予更多权重。也可以通过将从多个训练回合(training run)中获得的分布进行平均来获得分布式表示,其中,训练示例从一个回合到下一回合随机地排序。假设存在来自两个训练回合的具有[1,0.4]和[1,0.2]的归一化的尖峰率分布的两个E神经元,将各个E神经元的分布进行平均得到[1,0.3]。可以通过(训练后的)E神经元上的最大尖峰率或总尖峰率来将各个类的分布式尖峰率模式归一化,尤其是当类间的示例数量不一致时更是如此。假设存在来自给定训练回合的具有[15,30]Hz尖峰率分布的两个E神经元,则除以最大尖峰率(即,30Hz)将得到[0.5,1]的归一化的尖峰率分布,而除以总尖峰率(即,45Hz)将得到[0.33,0.67]的归一化的尖峰率分布。
如本领域的技术人员可以理解的,根据本公开的实施方式的本发明可以在需要模式识别任务的任何领域中使用。例如,模式识别被用于计算机辅助诊断系统(例如,癌症筛查)的医学科学、标识和认证(例如,指纹分析、面部检测和验证)、目标识别系统以及各种导航和制导系统。
图8是例示了使用处理器104基于所识别的模式来控制装置800的机械部件的流程图。可以经由处理器104控制的装置800的非限制性示例包括机动交通工具。机动交通工具部件(电气的、非电气的、机械的)的非限制性示例包括制动器、转向机构(例如,方向盘、活塞齿轮、小齿轮、线性齿轮、交通工具的横向轴线)、悬架(例如,车轮、轮胎、弹簧、减震器)或安全装置(例如,安全气囊、安全带张紧器等)。此外,该交通工具可以是无人驾驶飞行器(UAV)、自主自动驾驶地面交通工具、或由驾驶员或由远程操作员控制的人工操作交通工具。例如,基于使用所识别的模式进行对象检测和识别时,系统可以使自主交通工具的机械部件根据与所识别的对象相一致的驾驶参数来执行驾驶操作/操纵(诸如,转向或另一命令)。例如,如果系统识别出骑行者或另一交通工具,则本文描述的系统可以使交通工具操纵/操作被执行为避免与该骑行者或交通工具(或在驾驶时应规避的任何其它对象)发生碰撞。系统可以使自主交通工具的机械部件应用功能移动响应(诸如,制动操作,然后进行转向操作),以将交通工具重定向为远离对象,从而避免碰撞。
其它适当的响应可以包括以下中的一项或更多项:转向操作、加速或减速的油门操作、或维持航向和速度不变的决策。响应可以适用于避免碰撞、提高行驶速度或提高效率。如本领域技术人员可以理解的,其它装置类型的控制也是可能的。因此,给定所检测到的特定对象和实施所述系统的环境,自主交通工具可以启动许多自动化动作。例如,所述方法可以应用于边境安全(例如,在夜间检测走私者并自动向边境巡逻人员发送警报),情报、监视和侦察(ISR),无人机(例如,自动将无人机引导移动至特定地理区域以获取诸如图像的附加数据),自主交通工具,以及自主系统中的感知和安全性(例如,在制造环境中检测人与机器人的交互)。
最后,虽然已经根据多个实施方式对本发明进行了说明,但本领域普通技术人员将容易地认识到,本发明可以在其它环境中具有其它应用。应注意,可以有许多实施方式和实现。此外,所附权利要求绝不旨在将本发明的范围限于上述具体实施方式。另外,“用于…的装置”的任何用语旨在引发要素和权利要求的装置加功能的解读,而未特别使用“用于…的装置”用语的任何要素不应被解读为装置加功能要素,即使权利要求以其它方式包括了“装置”一词。此外,虽然已经按特定顺序陈述了特定方法步骤,但这些方法步骤可以按任何期望的顺序进行,并且落入本发明的范围内。

Claims (21)

1.一种应用于神经形态硬件的用于模式识别的系统,所述系统包括:
非暂时性计算机可读介质和一个或更多个处理器,所述非暂时性计算机可读介质上编码有可执行指令,以便在执行所述可执行指令时,所述一个或更多个处理器执行以下操作:
对应用于神经形态硬件的尖峰神经网络进行训练,其中,对所述尖峰神经网络进行训练包括以下操作:
针对多个训练模式,利用所述尖峰神经网络的兴奋性层中的各个兴奋性神经元生成神经元尖峰的尖峰序列,各个训练模式属于一模式类;
针对各个模式类,生成兴奋性神经元的尖峰率分布;
利用L2范数,对兴奋性神经元的各个尖峰率分布进行归一化;以及
根据归一化的尖峰率分布,针对各个模式类,生成类模板。
2.根据权利要求1所述的系统,其中,在针对各个模式类生成兴奋性神经元的所述尖峰率分布时,将来自模式类中的所有训练模式的所述神经元尖峰求和。
3.根据权利要求1所述的系统,其中,在生成所述尖峰序列时,多个兴奋性神经元能够同时触发以允许分布式编码。
4.根据权利要求1所述的系统,其中,在针对所述多个训练模式生成神经元尖峰的所述尖峰序列时,所述尖峰神经网络的输入层中的各个输入神经元根据对应特征通道的强度值生成尖峰序列,其中,所述强度值越大,生成的神经元尖峰越多。
5.一种应用于神经形态硬件的用于模式识别的系统,所述系统包括:
非暂时性计算机可读介质和一个或更多个处理器,所述非暂时性计算机可读介质上编码有可执行指令,以便在执行所述可执行指令时,所述一个或更多个处理器执行以下操作:
使用应用于神经形态硬件的经训练的尖峰神经网络对未标记的输入模式进行分类,其中,对所述未标记的输入模式进行分类包括以下操作:
利用L2归一化,使用根据所述尖峰神经网络中的兴奋性神经元的归一化的尖峰率分布针对多个模式类生成的类模板,对未标记的输入模式进行分类;以及
基于所述未标记的输入模式的分类来控制自主装置的机械部件。
6.根据权利要求5所述的系统,其中,在对所述未标记的输入模式进行分类时,所述一个或更多个处理器还执行以下操作:
将所述未标记的输入模式的兴奋性神经元尖峰率模式与各个类模板进行比较;以及
确定所述未标记的输入模式的所述兴奋性神经元尖峰率模式与类模板之间的匹配。
7.根据权利要求6所述的系统,其中,在使用所述类模板对所述未标记的输入模式进行分类时,所述一个或更多个处理器还执行以下操作:根据所述未标记的输入模式所匹配的类模板,对该未标记的输入模式的类标记进行预测。
8.一种应用于神经形态硬件的用于模式识别的由计算机实现的方法,所述方法包括以下动作:
使一个或更多个处理器执行被编码在非暂时性计算机可读介质上的指令,以便在执行所述指令时,所述一个或更多个处理器执行以下操作:
对应用于神经形态硬件的尖峰神经网络进行训练,其中,对所述尖峰神经网络进行训练包括以下操作:
针对多个训练模式,利用所述尖峰神经网络的兴奋性层中的各个兴奋性神经元生成神经元尖峰的尖峰序列,各个训练模式属于一模式类;
针对各个模式类,生成兴奋性神经元的尖峰率分布;
利用L2范数,对兴奋性神经元的各个尖峰率分布进行归一化;以及
根据归一化的尖峰率分布,针对各个模式类,生成类模板。
9.根据权利要求8所述的方法,其中,在针对各个模式类生成兴奋性神经元的所述尖峰率分布时,将来自模式类中的所有训练模式的所述神经元尖峰求和。
10.根据权利要求8所述的方法,其中,在生成所述尖峰序列时,多个兴奋性神经元能够同时触发。
11.根据权利要求8所述的方法,其中,在针对所述多个训练模式生成神经元尖峰的所述尖峰序列时,所述尖峰神经网络的输入层中的各个输入神经元根据对应特征通道的强度值生成尖峰序列,其中,所述强度值越大,生成的神经元尖峰越多。
12.一种应用于神经形态硬件的用于模式识别的由计算机实现的方法,所述方法包括以下动作:
使一个或更多个处理器执行编码在非暂时性计算机可读介质上的指令,以便在执行所述指令时,所述一个或更多个处理器执行以下操作:
使用应用于神经形态硬件的经训练的尖峰神经网络对未标记的输入模式进行分类,其中,对所述未标记的输入模式进行分类包括以下操作:
利用L2归一化,使用根据所述尖峰神经网络中的兴奋性神经元的归一化的尖峰率分布针对多个模式类生成的类模板,对未标记的输入模式进行分类;以及
基于所述未标记的输入模式的分类来控制自主装置的机械部件。
13.根据权利要求12所述的方法,其中,在对所述未标记的输入模式进行分类时,所述一个或更多个处理器还执行以下操作:
将所述未标记的输入模式的兴奋性神经元尖峰率模式与各个类模板进行比较;以及
确定所述未标记的输入模式的所述兴奋性神经元尖峰率模式与类模板之间的匹配。
14.根据权利要求13所述的方法,其中,在使用所述类模板对所述未标记的输入模式进行分类时,所述一个或更多个处理器还执行以下操作:根据所述未标记的输入模式所匹配的类模板,对该未标记的输入模式的类标记进行预测。
15.一种应用于神经形态硬件的用于模式识别的非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有计算机可读指令,所述计算机可读指令能够由具有一个或更多个处理器的计算机执行以使所述处理器执行以下操作:
对应用于神经形态硬件的尖峰神经网络进行训练,其中,对所述尖峰神经网络进行训练包括以下操作:
针对多个训练模式,利用所述尖峰神经网络的兴奋性层中的各个兴奋性神经元生成神经元尖峰的尖峰序列,各个训练模式属于一模式类;
针对各个模式类,生成兴奋性神经元的尖峰率分布;
利用L2范数,对兴奋性神经元的各个尖峰率分布进行归一化;以及
根据归一化的尖峰率分布,针对各个模式类,生成类模板。
16.根据权利要求15所述的非暂时性计算机可读介质,其中,在针对各个模式类生成兴奋性神经元的所述尖峰率分布时,将来自模式类中的所有训练模式的所述神经元尖峰求和。
17.根据权利要求15所述的非暂时性计算机可读介质,其中,在生成所述尖峰序列时,多个兴奋性神经元能够同时触发。
18.根据权利要求15所述的非暂时性计算机可读介质,其中,在针对所述多个训练模式生成神经元尖峰的所述尖峰序列时,所述尖峰神经网络的输入层中的各个输入神经元根据对应特征通道的强度值生成尖峰序列,其中,所述强度值越大,生成的神经元尖峰越多。
19.一种应用于神经形态硬件的用于模式识别的非暂时性计算机可读介质,所述非暂时性计算机可读介质存储有计算机可读指令,所述计算机可读指令能够由具有一个或更多个处理器的计算机执行以使所述处理器执行以下操作:
使用应用于神经形态硬件的经训练的尖峰神经网络对未标记的输入模式进行分类,其中,对所述未标记的输入模式进行分类包括以下操作:
利用L2归一化,使用根据所述尖峰神经网络中的兴奋性神经元的归一化的尖峰率分布针对多个模式类生成的类模板,对未标记的输入模式进行分类;以及
基于所述未标记的输入模式的分类来控制自主装置的机械部件。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,在对所述未标记的输入模式进行分类时,所述一个或更多个处理器还执行以下操作:
将所述未标记的输入模式的兴奋性神经元尖峰率模式与各个类模板进行比较;以及
确定所述未标记的输入模式的所述兴奋性神经元尖峰率模式与类模板之间的匹配。
21.根据权利要求20所述的非暂时性计算机可读介质,其中,在使用所述类模板对所述未标记的输入模式进行分类时,所述一个或更多个处理器还执行以下操作:根据所述未标记的输入模式所匹配的类模板来对该未标记的输入模式的类标记进行预测。
CN201880080343.XA 2018-01-23 2018-11-23 应用于神经形态硬件的用于模式识别的系统、方法与介质 Active CN111465945B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862621012P 2018-01-23 2018-01-23
US62/621,012 2018-01-23
PCT/US2018/062398 WO2019147329A1 (en) 2018-01-23 2018-11-23 A method and system for distributed coding and learning in neuromorphic networks for pattern recognition

Publications (2)

Publication Number Publication Date
CN111465945A CN111465945A (zh) 2020-07-28
CN111465945B true CN111465945B (zh) 2024-02-02

Family

ID=67298183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880080343.XA Active CN111465945B (zh) 2018-01-23 2018-11-23 应用于神经形态硬件的用于模式识别的系统、方法与介质

Country Status (4)

Country Link
US (1) US10706355B2 (zh)
EP (1) EP3743856A4 (zh)
CN (1) CN111465945B (zh)
WO (1) WO2019147329A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11615285B2 (en) 2017-01-06 2023-03-28 Ecole Polytechnique Federale De Lausanne (Epfl) Generating and identifying functional subnetworks within structural networks
US11972343B2 (en) 2018-06-11 2024-04-30 Inait Sa Encoding and decoding information
US11663478B2 (en) 2018-06-11 2023-05-30 Inait Sa Characterizing activity in a recurrent artificial neural network
US11893471B2 (en) 2018-06-11 2024-02-06 Inait Sa Encoding and decoding information and artificial neural networks
US11652603B2 (en) 2019-03-18 2023-05-16 Inait Sa Homomorphic encryption
US11651210B2 (en) 2019-12-11 2023-05-16 Inait Sa Interpreting and improving the processing results of recurrent neural networks
US11580401B2 (en) 2019-12-11 2023-02-14 Inait Sa Distance metrics and clustering in recurrent neural networks
US11797827B2 (en) 2019-12-11 2023-10-24 Inait Sa Input into a neural network
US11816553B2 (en) 2019-12-11 2023-11-14 Inait Sa Output from a recurrent neural network
US20210182655A1 (en) * 2019-12-11 2021-06-17 Inait Sa Robust recurrent artificial neural networks
EP4009237A1 (en) * 2020-12-04 2022-06-08 Tata Consultancy Services Limited Method and system for optimized spike encoding for spiking neural networks
CN116160444B (zh) * 2022-12-31 2024-01-30 中国科学院长春光学精密机械与物理研究所 基于聚类算法的机械臂运动学逆解的优化方法、装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104685516A (zh) * 2012-08-17 2015-06-03 高通技术公司 用于在尖峰神经元网络中实现基于事件的更新的装置和方法
CN105659262A (zh) * 2013-11-08 2016-06-08 高通股份有限公司 在尖峰神经网络中使用重放来实现突触学习
CN105684002A (zh) * 2013-10-28 2016-06-15 高通股份有限公司 用于使用监督式学习对种类加标签的方法和装置
CN106997485A (zh) * 2016-01-26 2017-08-01 三星电子株式会社 基于神经网络的识别设备和训练神经网络的方法
CN107016437A (zh) * 2016-01-13 2017-08-04 国际商业机器公司 用于核基神经形态系统中的随机尖峰模式的有效生成的方法、系统和计算机可读存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007071070A1 (en) * 2005-12-23 2007-06-28 Universite De Sherbrooke Spatio-temporal pattern recognition using a spiking neural network and processing thereof on a portable and/or distributed computer
US10311865B2 (en) * 2013-10-14 2019-06-04 The Penn State Research Foundation System and method for automated speech recognition
US20170286828A1 (en) * 2016-03-29 2017-10-05 James Edward Smith Cognitive Neural Architecture and Associated Neural Network Implementations
US10671912B2 (en) * 2016-09-13 2020-06-02 Sap Se Spatio-temporal spiking neural networks in neuromorphic hardware systems
US20180276530A1 (en) * 2017-03-24 2018-09-27 Intel Corporation Object recognition using a spiking neural network
US11080592B2 (en) * 2017-10-05 2021-08-03 International Business Machines Corporation Neuromorphic architecture for feature learning using a spiking neural network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104685516A (zh) * 2012-08-17 2015-06-03 高通技术公司 用于在尖峰神经元网络中实现基于事件的更新的装置和方法
CN105684002A (zh) * 2013-10-28 2016-06-15 高通股份有限公司 用于使用监督式学习对种类加标签的方法和装置
CN105659262A (zh) * 2013-11-08 2016-06-08 高通股份有限公司 在尖峰神经网络中使用重放来实现突触学习
CN107016437A (zh) * 2016-01-13 2017-08-04 国际商业机器公司 用于核基神经形态系统中的随机尖峰模式的有效生成的方法、系统和计算机可读存储介质
CN106997485A (zh) * 2016-01-26 2017-08-01 三星电子株式会社 基于神经网络的识别设备和训练神经网络的方法

Also Published As

Publication number Publication date
CN111465945A (zh) 2020-07-28
EP3743856A4 (en) 2021-10-27
US20190228300A1 (en) 2019-07-25
WO2019147329A1 (en) 2019-08-01
EP3743856A1 (en) 2020-12-02
US10706355B2 (en) 2020-07-07

Similar Documents

Publication Publication Date Title
CN111465945B (zh) 应用于神经形态硬件的用于模式识别的系统、方法与介质
Lange et al. Online vehicle detection using deep neural networks and lidar based preselected image patches
Chishti et al. Self-driving cars using CNN and Q-learning
CN110494890A (zh) 卷积神经网络从可见颜色(rbg)到红外(ir)域的迁移学习
US11199839B2 (en) Method of real time vehicle recognition with neuromorphic computing network for autonomous driving
CN112075071B (zh) 对视频流中的上下文变化进行检测的方法、系统和介质
Babiker et al. Convolutional neural network for a self-driving car in a virtual environment
CN113316790A (zh) 经由sliced-wasserstein距离进行无监督域适应的系统和方法
Jo A comparative study of classification methods for traffic signs recognition
Elfwing et al. Scaled free-energy based reinforcement learning for robust and efficient learning in high-dimensional state spaces
Mash et al. Toward aircraft recognition with convolutional neural networks
Albu Measuring customer behavior with deep convolutional neural networks
Melício et al. Object detection and localization with artificial foveal visual attention
Duggal Design Space Exploration of DNNs for Autonomous Systems
Kumar MACHINE LEARNING: CONCEPT, DEEP LEARNING AND APPLICATIONS
Kind-Trueller et al. The Deep Learning Method for Image Segmentation to Improve the Efficiency of Data Processing Without Compromising the Accuracy of an Autonomous Driving Country-Road Pilot System After Image Classification
US20220234622A1 (en) Systems and Methods for Autonomous Vehicle Control
Kolchinsky Machine learning for structured finance
EP4287077A1 (en) Method and apparatus for testing an artificial neural network using surprising inputs
Naing et al. Application of Deep Learning Technique in UAV’s Search and Rescue Operations
Efremov et al. Neural network model for recognition and classification of types of interactions in road traffic
Sesmero et al. Specialized ensemble of classifiers for traffic sign recognition
Fazekas Distractive driver behaviour detection with spiked neural networks
Kumar et al. Applying adversarial networks to increase the data efficiency and reliability of Self-Driving Cars: By Aakash Kumar
Fazekas Distractive driver behaviour detection with spiked neural

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