CN113412490A - 基于感觉运动输入数据的推理和学习 - Google Patents
基于感觉运动输入数据的推理和学习 Download PDFInfo
- Publication number
- CN113412490A CN113412490A CN202080012804.7A CN202080012804A CN113412490A CN 113412490 A CN113412490 A CN 113412490A CN 202080012804 A CN202080012804 A CN 202080012804A CN 113412490 A CN113412490 A CN 113412490A
- Authority
- CN
- China
- Prior art keywords
- output
- input
- representation
- processor
- cells
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000001953 sensory effect Effects 0.000 claims abstract description 118
- 238000012545 processing Methods 0.000 claims abstract description 53
- 230000004913 activation Effects 0.000 claims description 219
- 238000000034 method Methods 0.000 claims description 61
- 238000003860 storage Methods 0.000 claims description 14
- 230000003213 activating effect Effects 0.000 claims description 8
- 239000010410 layer Substances 0.000 description 80
- 239000011229 interlayer Substances 0.000 description 49
- 238000010586 diagram Methods 0.000 description 47
- 230000000875 corresponding effect Effects 0.000 description 45
- 230000004044 response Effects 0.000 description 40
- 230000008569 process Effects 0.000 description 33
- 230000002688 persistence Effects 0.000 description 26
- 239000012190 activator Substances 0.000 description 17
- 230000020411 cell activation Effects 0.000 description 16
- 238000001514 detection method Methods 0.000 description 10
- 230000001629 suppression Effects 0.000 description 9
- 230000033001 locomotion Effects 0.000 description 8
- 230000015654 memory Effects 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 238000012549 training Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000010791 quenching Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 102100030310 5,6-dihydroxyindole-2-carboxylic acid oxidase Human genes 0.000 description 1
- 101100219622 Escherichia coli (strain K12) casC gene Proteins 0.000 description 1
- 101100382541 Escherichia coli (strain K12) casD gene Proteins 0.000 description 1
- 101100005249 Escherichia coli (strain K12) ygcB gene Proteins 0.000 description 1
- 230000010663 Gene Expression Interactions Effects 0.000 description 1
- 101000773083 Homo sapiens 5,6-dihydroxyindole-2-carboxylic acid oxidase Proteins 0.000 description 1
- 101100387131 Myxococcus xanthus (strain DK1622) devS gene Proteins 0.000 description 1
- 101000898746 Streptomyces clavuligerus Clavaminate synthase 1 Proteins 0.000 description 1
- 101000761220 Streptomyces clavuligerus Clavaminate synthase 2 Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 101150055191 cas3 gene Proteins 0.000 description 1
- 101150111685 cas4 gene Proteins 0.000 description 1
- 101150049463 cas5 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006916 protein interaction Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/94—Hardware or software architectures specially adapted for image or video understanding
- G06V10/955—Hardware or software architectures specially adapted for image or video understanding using specific electronic processors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Mathematical Physics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Neurology (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一个或更多个多层系统被用于执行推理。多层系统可以对应于接收用于分层处理的一组传感输入数据的节点,并且可以被分组以执行对传感输入数据的处理。多层系统的较低层处的推理系统将对象表示传递给较高层处的推理系统。无论推理系统的级和层如何,每个推理系统可以执行推理并形成它们自己版本的对象表示。用于每个推理系统的候选对象的集合被更新为与针对传感器的特征‑位置表示以及较低层处的对象表示一致的候选对象的集合。候选对象的集合也被更新为与来自其他推理系统(例如,层次结构的其他层处的推理系统或其他多层系统中包括的推理系统)的候选对象一致的候选对象的集合。
Description
相关申请的交叉引用
本申请要求于2019年2月5日提交的美国申请第16/268,148号的优先权,该美国申请第16/268,148号是于2017年5月12日提交的美国申请第15/594,077号的部分继续申请,该美国申请第15/594,077号根据35 U.S.C.§119(e)要求于2016年5月13日提交的美国专利申请第62/335,995号的优先权,所有这些申请通过引用以其全部内容并入本文中。
背景技术
1.本公开内容的领域
本公开内容涉及对所接收的输入数据执行推理,具体地涉及基于感觉运动(sensorimotor)输入数据执行推理。
2.相关技术的描述
对象检测系统旨在找到或识别输入数据中存在的不同类型的对象。用于对象检测的输入数据可以是图像数据、视频数据、触觉数据或其他类型的传感器数据的形式。例如,对象检测系统可以识别包括在由相机捕获或由触觉传感器感测到的视觉图像中的不同对象,例如咖啡杯、门等。
常规的对象检测系统面临许多挑战。这些挑战之一是相同的对象可以以不同的位置和/或取向被放置。对象的位置和/或取向与最初学到的位置和/或取向的变化可能使常规的对象检测系统将相同的对象识别为不同的对象。当使用例如机械手上的触觉传感器来识别对象时,这种问题可能更严重。诸如卷积神经网络模型(CNN)的现有的对象检测模型并不总是足以解决一个位置和/或多个位置的变化,并且即使它们确实解决了这些变化,也经常需要大量的训练数据。
此外,不管传感器的类型如何,包括对象表示的输入数据具有将与另一对象表示区分开的空间特征。缺乏空间上与众不同的特征可能导致关于正在被识别的对象的模糊性。常规的对象检测系统不能充分解决正在被识别的对象的这种模糊性。
发明内容
实施方式涉及通过生成位置和特征对的输入表示以及生成指示可能与位置和特征对相关联的候选的输出表示来进行推理。第一输入处理器生成第一输入表示,该第一输入表示指示第一位置和正在被检测的第一位置处的第一特征的第一对的可能性。第一输出处理器确定与第一输入表示相对应的第一输出表示。第一输出表示指示可能与第一对相关联的一个或更多个候选。第一输入处理器在生成第一输入表示之后生成第二输入表示,该第二输入表示指示第二位置和第二位置处的第二特征的第二对的可能性。第一输出处理器确定与第一输入表示和第二输入表示相对应的第二输出表示。第二输出表示指示可能与第一对和第二对相关联的一个或更多个候选。
在一个实施方式中,基于第一输出表示在第一输出处理器中生成表示对第二输入表示的预测的反馈信号。还基于反馈信号在第一输入处理器中生成第二输入表示。
在一个实施方式中,在训练期间在第一输出处理器中使与原因相对应的输出表示保持激活。在第一输入处理器中生成与用于训练的原因相关联的关于成对的位置和相应特征的训练输入表示。训练输入表示和与原因相对应的输出表示相关联。
在一个实施方式中,第一输入表示是第一输入处理器中的输入单元的第一子集的激活状态,第二输入表示是第一输入处理器中的输入单元的第二子集的激活状态。
在一个实施方式中,第一位置是可能与第一对相关联的一个或更多个候选中的多个可能位置中的一个可能位置。
在一个实施方式中,第一输入表示指示成对的第一特征和可能位置中的每一个的并集的激活。
在一个实施方式中,第一输出表示还指示可能与成对的第一特征和可能位置中的每一个的并集相关联的一个或更多个候选。
在一个实施方式中,第二位置是通过将多个可能位置中的每个可能位置移动预定距离而生成的另外多个可能位置中的一个可能位置。
在一个实施方式中,第二输入表示指示成对的第二特征和另外多个可能位置中的一个或更多个可能位置的并集的激活,所述另外多个可能位置中的一个或更多个可能位置与由第一输出表示指示的一个或更多个候选相关联。
在一个实施方式中,响应于输入单元的第二子集接收到表示第二位置的位置信号以及与第二特征相关联的激活信号,来激活第一输入处理器中的输入单元的第二子集。
在一个实施方式中,还基于与第一输出表示相关联的反馈信号来激活第一输入处理器中的输入单元的第二子集。
在一个实施方式中,由第一输出处理器中的输出单元的子集的相应激活状态表示一个或更多个候选中的每一个,并且反馈信号指示输出单元的子集的激活状态。
在一个实施方式中,第二输出表示是第一输出处理器中的输出单元的子集的激活状态。
在一个实施方式中,响应于输出单元的子集接收到与第二输入表示相对应的前馈信号,来激活第一输出处理器中的输出单元的子集。
在一个实施方式中,将前馈信号从第一输入处理器中的与第二输入表示相关联的激活的输入单元的子集发送到第一输出处理器中的连接至激活的输入单元的子集的输出单元的子集。
在一个实施方式中,指示以稀疏分布式表示的第一位置的第一位置信息被接收。基于第一位置信息来生成第一输入表示。指示以稀疏分布式表示的第二位置的第二位置信息被接收。基于第二位置信息来生成第二输入表示。
在一个实施方式中,在第一输入处理器中接收来自传感器的指示第一特征的第一传感输入。基于第一传感输入来生成第一输入表示。在接收第一传感输入之后,在第一输入处理器中接收来自传感器的指示第二特征的第二传感输入。基于第二传感输入来生成第二输入表示。
在一个实施方式中,在第二输入处理器处接收来自另一传感器的指示第三特征的第三传感输入。在第二输出处理器处生成第三对的第三特征和与该第三特征相对应的第三位置的第三输入表示。第二输出处理器中与第三输入表示相对应的其他输出单元的子集的激活状态被确定。其他输出单元的子集的激活状态指示可能与第三对相关联的一个或更多个候选。第二输出处理器中的其他输出单元的子集的激活状态被发送到第一输出处理器中的连接至其他输出单元的一个或更多个输出单元。第一输出处理器中的一个或更多个输出单元的激活还基于第二输出处理器中的其他输出单元的子集的激活状态。
在一个实施方式中,由第二输入处理器生成第三对的第三位置和第三位置处的第三特征的第三输入表示。在第二输出处理器处确定与第三输入表示相对应的第三输出表示。第三输出表示指示可能与第三对相关联的一个或更多个候选。第三输出表示从第二输出处理器被发送到第一输出处理器以用于确定第二输出表示。
在一个实施方式中,一个或更多个候选是对象,第一位置和第二位置是候选对象的分配中心位置。
实施方式还涉及通过在两个或更多个输入处理器和相应的输出处理器处并行处理位置和特征对来进行推理。在第一输入过程处生成第一输入表示,该第一输入表示指示第一位置和正在被检测的第一位置处的第一特征的第一对的可能性。第二输入处理器生成第二输入表示,该第二输入表示指示第二位置和正在被检测的第二位置处的第二特征的第二对的可能性。第一输出处理器确定与第一输入表示相对应的第一输出表示。第一输出表示指示可能与第一对相关联的一个或更多个候选。第二输入处理器生成第二输入表示,该第二输入表示指示第二位置和正在被检测的第二位置处的第二特征的第二对的可能性。第二输出处理器确定与第一输出表示和第二输入表示相对应的第二输出表示。第二输出表示指示可能与第一对和第二对相关联的一个或更多个候选。
在一个实施方式中,第一输出处理器基于第一输出表示和第二输出表示来生成更新的第一输出表示,以指示可能与第一对和第二对相关联的一个或更多个候选。
实施方式涉及使用多个推理系统进行推理的方法。由多层系统的第一层处的第一推理系统中的第一输入处理器通过对第一传感输入进行处理来生成第一输入表示,所述第一传感输入指示第一位置和正在被检测的第一位置处的第一特征的第一对的可能性。由第一推理系统中的第一输出处理器通过对第一输出表示进行处理来确定与第一输入表示相对应的第一输出表示。第一输出表示指示与第一对相关联的第一组候选。由多层系统的高于第一层的第二层处的第二推理系统中的第二输入处理器通过对第一输出表示进行处理来生成与至少第一输出处理器的第一输出表示相对应的第二输入表示。由第二推理系统中的第二输出处理器通过对第二输入表示进行处理来确定与第二输入表示相对应的第二输出表示。第二输出表示指示可能与至少第一对相关联的第二组候选。
在一个实施方式中,从第一传感器接收第一传感输入,通过对第一传感输入进行进一步处理来生成第一输入表示,以及通过在第二输入处理器处对第一传感输入进行进一步处理来生成第二输入表示。
在一个实施方式中,由在第一层处的第三推理系统中的第三输入处理器通过对第二传感输入进行处理来生成第三输入表示,所述第二传感输入指示第二特征和与第二特征相对应的第二位置的第二对的可能性。由第三推理系统中的第三输出处理器来确定与第三输入表示相对应的第三输出表示。第三输出表示指示可能与第二对相关联的第三组候选。第一输出表示是第一输出处理器中的输出单元的子集的激活状态,第三输出表示是第三输出处理器中的输出单元的子集的激活状态。通过对至少第一输出表示中的输出单元的子集的激活状态和第三输出表示中的输出单元的子集的激活状态进行处理来生成在第二层处的第二输入表示。
在一个实施方式中,第一输出表示是第一输出处理器中的输出单元的子集的激活状态,第二输出表示是第二输出处理器中的输出单元的子集的激活状态。
在一个实施方式中,该方法还包括:将第一输出处理器中的输出单元的子集的激活状态发送至第二输出处理器中的输入单元的列,以生成第二输入表示。
在一个实施方式中,在另一多层系统的第三推理系统中激活单元的子集,第三输出处理器中的单元的子集的激活状态被发送至第一输出处理器或第二输出处理器的输出单元中的一个或更多个。第一输出处理器或第二输出处理器中的输出单元中的一个或更多个的激活还基于第三推理系统中的单元的子集的激活状态。
在一个实施方式中,通过对从第二传感器接收的第二传感输入进行处理来激活第三推理系统中的单元的子集,第二传感器的模态与第一传感器的模态不同。
在一个实施方式中,通过对在除了第一级之外的级处的第三推理系统中的输出单元的激活状态进行进一步处理来确定第一输出表示。
在一个实施方式中,通过对在除了第二级之外的级处的第三推理系统中的输出单元的激活状态进行进一步处理来确定第二输出表示。
附图说明
通过结合附图考虑以下详细描述,可以容易地理解实施方式的教导。
图1是根据实施方式的推理系统的概念图。
图2是根据一个实施方式的以分层方式组织的推理系统的概念图。
图3是根据一个实施方式的以推理系统为特征的立方体对象和楔形对象的示例图示。
图4是示出根据一个实施方式的推理系统的架构图。
图5A是示出根据一个实施方式的在推理系统中执行推理的方法的流程图。
图5B是示出根据一个实施方式的学习用于推理的连接的方法的流程图。
图6是示出根据一个实施方式的输入处理器的详细框图。
图7是示出根据一个实施方式的与输入处理器中的单元相关联的信号的概念图。
图8A至图8C是示出根据一个实施方式的输入处理器中的单元的示例激活状态的图。
图9是示出根据一个实施方式的图7的输入处理器中的单元的功能框图。
图10是示出根据实施方式的基于多个规则来激活输入处理器中的单元或者抑制输入处理器中的单元的激活的图。
图11是示出根据一个实施方式的输出处理器的详细框图。
图12是示出根据一个实施方式的与输出处理器中的单元相关联的信号的概念图。
图13A至图13C是示出根据一个实施方式的输出处理器中的单元的示例激活状态的图。
图14是示出根据一个实施方式的输出处理器的单元的功能框图。
图15是示出根据实施方式的基于多个规则来激活输出处理器中的单元或抑制输出处理器中的单元的激活的图。
图16是示出根据一个实施方式的两个多层系统的详细框图。
图17A是示出根据一个实施方式的使用多层系统中的推理系统来执行推理的方法的流程图。
图17B是示出根据一个实施方式的学习用于多层系统中的推理的连接的方法的流程图。
图18是示出根据一个实施方式的多层系统中的输出处理器的详细框图。
图19是示出根据一个实施方式的与输出处理器中的单元相关联的信号的概念图。
图20示出根据一个实施方式的多层系统中的单元的示例操作和功能。
图21是根据实施方式的用于实现推理系统的计算设备的框图。
具体实施方式
在以下实施方式的描述中,阐述了许多具体细节以便提供更透彻的理解。然而,注意,可以在没有这些具体细节中的一个或更多个的情况下实践本发明。在其他情况下,没有详细描述公知的特征以避免使该说明书不必要地复杂化。
现在参照附图来描述优选实施方式,在附图中,相同的附图标记表示相同的或功能相似的元件。此外,在附图中,每个附图标记的最左边的数字对应于首次使用该附图标记的图。
实施方式的某些方面包括以算法的形式在本文中描述的处理步骤和指令。应当注意的是,实施方式的处理步骤和指令可以以软件、固件或硬件来体现,并且当以软件来实现时,实施方式的处理步骤和指令可以被下载以驻留在各种操作系统所使用的不同平台上并且可以从各种操作系统所使用的不同平台被操作。
实施方式还涉及用于执行本文的操作的装置。可以针对所需目的而专门构造该装置,或者该装置可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以存储在计算机可读存储介质中,所述计算机可读存储介质例如但不限于任何类型的盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、专用集成电路(ASIC)或者适用于存储电子指令并且均耦接至计算机系统总线的任何类型的介质,所述任何类型的盘包括软盘、光盘、CD-ROM、磁光盘。此外,说明书中提到的计算机可以包括单个处理器或者可以是采用多个处理器设计以提高计算能力的架构。
说明书中使用的语言主要是出于可读性和指导目的而选择的,并且可能不会被选择成描绘或限制本发明的主题。因此,本文中阐述的公开内容旨在是说明性的而非限制在权利要求中阐述的范围。实施方式涉及使用一个或更多个多层系统执行推理。多层系统包括布置在一个或更多个分层的层中的多个推理系统。多层系统可以与接收用于分层处理的一组传感输入数据的节点对应,并且可以被分组以对与不同传感器特性或传感器模态相关联的传感输入数据执行处理。多层系统的较低层处的推理系统将对象表示传递给较高层处的推理系统。无论推理系统的级和层如何,多层系统中的每个推理系统可以执行推理并形成它们自己版本的对象表示。用于每个推理系统的候选对象集被更新为与用于传感器的特征-位置表示以及来自较低层处的推理系统的对象表示一致的候选对象集。此外,候选对象集被更新为与来自其他推理系统(例如,分层结构的其他层处的推理系统或其他多层系统中包括的推理系统)的候选对象一致的候选对象集。
推理系统的高级概述
图1是根据一个实施方式的推理系统104的概念图。推理系统104基于从相对于周围事物移动的一组传感器接收的传感输入数据110和与传感输入数据110相关联的位置信息120来执行推理。在本说明书的其余部分中提到的一个特定实施方式中,推理系统104对对象执行推理并生成推理输出数据130。例如,推理系统104可以接收与未知对象上的不同位置上的传感器对应的传感输入数据110,并且基于所接收的输入来执行对象识别。作为另一示例,推理系统104可以预测给定对象上的特定位置处的传感输入数据110。然而,应当理解的是,在其他实施方式中,推理系统104可以被应用于一组传感器探测系统的不同位置的任何情况。例如,推理系统104可以被应用于从在线探测器接收的输入,该在线探测器导航并测量云中的网络的不同部分。
传感输入数据110可以包括图像、视频、音频信号、传感器信号(例如,触觉传感器信号)、与网络流量相关的数据、金融交易数据、通信信号(例如,电子邮件、文本消息和即时消息)、文档、保险记录、生物特征信息、用于制造过程的参数(例如,半导体制造参数)、库存模式、能量或电力使用模式、表示基因的数据、科学实验的结果或与机器的操作(例如,车辆操作)相关联的参数以及医疗数据等。基础表示(例如,照片、音频等)可以存储在非暂态存储介质中。在下文中,仅为了便于说明和理解推理系统104,主要参考机械手上的一组触觉传感器来描述实施方式。在一个实施方式中,传感输入数据110被编码为向量信号并且被馈送到推理系统104。
位置信息120表示与生成传感输入数据110的传感器相关联的位置。该位置可以是物理位置、逻辑位置、或者物理位置和逻辑位置的组合。使用例如美国专利公开第2016/0217164号中描述的方法以稀疏分布式表示对接收的位置信息120进行编码,该美国专利通过引用以其全部内容并入本文中。
在一个实施方式中,位置信息120使用分配中心(allocentric)参考帧或以对象为中心的参考帧对位置进行编码。换言之,相对于对象本身而不是相对于包含传感器的系统来确定位置坐标。如以下更详细描述的,位置信息120可以包含传感器的已知分配中心位置或传感器的一组可能位置。
推理系统104可以处理传感输入数据110和位置信息120以产生输出,该输出表示对象的标识、识别的手势的标识、数字图像为色情或非色情的分类、电子邮件消息为未经请求的批量电子邮件(“垃圾邮件”)或合法电子邮件(“非垃圾邮件”)的标识、音频记录中说话者的标识、贷款申请人为良好信用风险或不良信用风险的分类、网络流量为恶意或良性的标识、出现在图像中的人的身份、经处理的自然语言处理、天气预报结果、人的行为模式、机器的控制信号(例如,自动车辆导航)、基因表达和蛋白质相互作用、关于对网络上的资源的访问的分析信息、用于优化制造过程的参数、保险记录中异常模式的标识、对实验结果的预测、人可能经历的疾病的指示、用户可能感兴趣的内容的选择、对人的行为的预测的指示(例如,购票、未示出的行为)、对选举的预测、不良事件的预测/检测、图像中的一串文本、表示文本中的主题的指示、以及对医学治疗的反应的文本概述或预测。在下文中,主要参考识别对象的推理系统来描述实施方式,以便于说明和理解推理系统104。
图2是根据一个实施方式的以分层方式组织的多个推理系统的概念图。这样的分层结构化系统被称为分层推理系统200。在分层推理系统200中,多个节点学习执行推理并在不同的抽象级处进行预测。系统200具有三个级L1、L2和L3,其中级L1是最低级,级L3是最高级,级L2是级L1与L3之间的中间级。分层推理系统200被分层地结构化,使得当级上升时处理节点覆盖更大的输入空间。级L1包括节点210A、210B、210C和210D;级L2包括节点220A和220B;级L3具有节点230。节点210A、210B、210C、210D、220A、220B和230以树状结构分层地连接,使得每个节点具有几个子节点(即,在较低级处连接的节点)和一个父节点(即,在较高级处连接的节点)。在一个实施方式中,子节点处的节点可以连接至多个父节点。例如,节点210B可以在220A和220B处连接至节点。
此外,分层推理系统200沿层级向上传播推理输出数据,并且沿层级向下传播自上而下的信号。也就是说,每个节点210A、210B、210C、210D、220A、220B和230可以被布置成(i)沿层级向上将信息传播到连接的父节点,以及(ii)沿层级向下将信息传播到任何连接的子节点。
这样的分层推理系统200是有利的,其中一个原因是:当由第一组传感器执行学习时,由与第一组传感器不同的第二组传感器执行推理。例如,与一组触觉传感器相关联的节点220A可以被用于学习对象,而与一组图像传感器相关联的节点220B可以被用于对对象执行推理。另一优点是增加了利用多个节点学习的能力。图1和图2中的级的数目和处理模式的布置仅仅是说明性的。可以根据具体应用来开发和部署分层推理系统的许多变型。
示例对象识别
可以通过相应位置处的特征的集合来表征对象。可以通过在对象上呈现的不同对的特征和位置的集合来限定不同的对象。通过识别在推理期间它们出现的不同特征-位置表示,可以识别不同的对象。如果两个对象共有一些特征-位置表示,则在遇到可区别的位置-特征组合之前,这两个对象可能是不可区分的。
出于说明的目的,假设推理系统104基于所接收到的传感输入数据110(例如,以触觉传感器数据的形式)和指示机械臂上的触觉传感器的位置的相应位置信息120来检测对象。当接收到特征的组合(如由传感输入数据110所示)和位置信息120时,推理系统104标识与观察到的特征-位置表示一致的一个或更多个候选对象。当接收到另外的传感输入数据110和位置信息120时,推理系统104将候选对象缩小为与新观察到的特征-位置表示一致的候选对象。推理系统104输出当前候选对象的集合作为推理输出数据130。
图3是根据一个实施方式的以推理系统104为特征的立方体对象和楔形对象的示例图示。如图3所示,例如,针对对象定义了分配中心位置的集合{f1,f2,f3,f4}。立方体对象可以由空间特征和位置对来表征,即,空间特征A表示位置f1处的90°角,空间特征B表示位置f2处的竖直边,空间特征A表示位置f3处。类似地,楔形对象可以由不同的空间特征和位置对表征,即,空间特征C表示位置f1处的锐角,空间特征A表示位置f3处,空间特征D表示位置f4处的成角度的边缘。
在图3的示例中,推理系统104首先接收表示对象的位置f3处的空间特征A的传感输入数据110。推理系统104生成候选对象的集合{立方体,楔形},原因是两个对象在位置f3处具有空间特征A。推理系统104从机械手指接收表示位置f2处的空间特征B的另外的传感输入数据110。推理系统104将候选对象的集合减少为{立方体},原因是立方体对象是与观察到的特征-位置表示一致的唯一对象。推理系统104输出立方体对象作为推理输出数据130。
在另一实施方式中,当传感器的位置最初未知时,推理系统104生成候选对象的集合和候选特征-位置表示的集合。推理系统104随着时间接收与对象相关联的传感输入数据110和位置信息120。推理系统104将候选对象的集合和候选特征-位置表示的集合更新为与观察到的传感输入数据110和位置信息120一致的那些候选对象的集合和候选特征-位置表示的集合,直到剩余单个对象和单个特征-位置表示为止。推理系统104输出剩余对象作为推理输出数据130。以这种方式,即使对象上的分配中心位置最初是未知的,推理系统104也可以标识对象。
具体地,推理系统104从对象上的未知位置处的传感器接收传感输入数据110。推理系统104生成与接收到的传感输入数据110一致的候选特征-位置表示的集合。因此,该集合表示与特定特征相关联的所有可能位置。随后,推理系统104生成与所述候选特征-位置表示的集合一致的候选对象的集合。因此,该集合表示与候选特征-位置表示一致的所有对象。
返回到图3中的示例,推理系统104从触觉传感器接收表示对象的未知位置上的空间特征A的传感输入数据110。推理系统104生成候选特征-位置表示的集合{A-f3,A-f1},其包括与空间特征A相关联的位置。这意味着传感器在当前时间段处位于对象的可能位置的集合{f1,f3}处。推理系统104随后生成候选对象的集合{立方体,楔形},原因是两个对象都与位置f1或f3处的空间特征A的特征-位置表示相关联。
然后,推理系统104从该对象上的新位置处的传感器接收另外的传感输入数据110和指示更新的可能位置的集合的位置信息120。具体地,基于所确定的该对象上的传感器的先前位置与传感器的当前位置之间的位置偏移来生成更新的可能位置的集合。更新的位置的集合表示传感器在当前时间段处的新的可能位置。在一个实施方式中,基于如由控制致动器的移动以将传感器移动到新位置的一个或更多个控制器所确定的传感器从先前位置到当前位置的移动来确定位置偏移。例如,控制器可以使用机械手指中的陀螺仪或加速计传感器来确定机械手指移动了多少。所确定的距离可以被转换为分配中心空间中的位置偏移。推理系统104将候选特征-位置表示的集合更新为与新的传感输入数据110和位置信息120以及候选对象的集合一致的候选特征-位置表示的集合。随后,推理系统104将候选对象的集合更新为与更新后的特征-位置表示的集合一致的候选对象的集合。在一个实施方式中,该过程被重复,直到剩余单个候选对象和单个特征-位置表示为止。
在图3的示例中,推理系统104从触觉传感器接收表示对象上的新位置处的空间特征D的另外的传感输入数据110。推理系统104还接收包括基于向右一个单位的位置偏移而确定的可能位置的集合{f2,f4}的位置信息120。具体地,f2是前一可能位置f1向右一个单位的位置,f4是前一可能位置f3向右一个单位的位置。随后,因为D-f4是与更新后的传感输入数据110和位置信息120以及候选对象的集合一致的唯一组合,因此推理系统104将候选特征-位置表示的集合更新为{D-f4}。因为楔形对象是与特征-位置表示D-f4一致的唯一对象,因此推理系统104将候选对象的集合更新为{楔形}。因为在该候选对象的集合中只剩下一个对象,因此对象检测系统104输出楔形对象作为最终检测的对象。推理系统104输出楔形对象作为推理输出数据130。
在另一实施方式中,当执行推理时,可以已知对象上的传感器的位置。推理系统104随着时间接收与对象相关联的传感输入数据110和位置信息120。推理系统104生成候选对象的集合并将所述候选对象的集合更新为与观察到的特征-位置表示一致的候选对象的集合,并且输出所述候选对象作为推理输出数据130。
在又一实施方式中,推理系统104可以仅接收传感输入数据110,而不接收位置信息120。推理系统104可以利用从传感输入数据110接收到的仅特征信息来生成候选对象的集合。返回图3中的示例,推理系统104接收与特征B对应的传感输入数据110。即使没有位置信息120,推理系统104也可以确定该对象是立方体对象,原因是立方体对象是具有特征B的唯一对象。
在另外的实施方式中,推理系统104可以接收传感输入数据110,其中针对某些传感输入数据110而非针对其他传感输入数据110来接收相应的位置信息120。在这样的实施方式中,推理系统104生成候选对象的集合并将所述候选对象的集合更新为与特征-位置表示(其中,提供有位置信息)以及特征(在没有相应位置的情况下)相一致的候选对象的集合。
在一个实施方式中,推理系统104基于从每个特定传感器接收到的传感输入数据110和位置信息120针对该组传感器中的每个传感器来学习对象的单独表示。因此,响应于接收到关于未知对象的信息,推理系统104基于针对传感器接收到的至少特征-位置表示来生成针对每个传感器的候选对象的集合。在一个实施方式中,推理系统104不仅基于所接收到的针对传感器的特征-位置表示,还基于针对其他传感器的候选对象的集合来确定针对传感器的候选对象的集合。具体地,对于给定时间段,推理系统104将候选对象的集合更新为不仅与观察到的特征-位置表示一致而且与针对其他传感器的候选对象一致的候选对象的集合。以这种方式,推理系统104可以在给定传感输入数据110和来自更多数目的传感器的位置信息120的情况下执行更快的推理,原因是针对每个传感器的候选对象的集合将快速地稳定到跨所有传感器一致的对象表示。
返回图3的示例,机械手指上的第一触觉传感器可以接收与对象的集合{立方体,楔形}一致的特征-位置表示。不同机械手指上的第二触觉传感器可以接收与对象{立方体}一致的特征-位置表示。基于其他传感器的候选对象,针对第一触觉传感器的候选对象的集合可以被更新为单个对象{立方体},原因是立方体对象是针对第一触觉传感器和第二触觉传感器一致的唯一对象。
除了上述优点之外,图1中所示的推理系统104可以独立于对象相对于传感器的集合的取向或位置来执行推理。例如,推理系统104可以对易拉罐对象执行推理,而不管该对象是由直立的传感器感测到的还是由侧躺的传感器感测到的。推理系统104还可以使用来自与用于学习对象表示的传感器子集不同的传感器子集的传感输入数据110来执行推理。例如,推理系统104可以使用来自与用于学习咖啡杯对象表示的第一机械手指和第四机械手指上的触觉传感器不同的第二机械手指和第三机械手指上的触觉传感器的传感输入数据110对咖啡杯执行推理。
推理系统的架构
图4是示出根据一个实施方式的推理系统104的详细框图。图4中所示的推理系统104包括:输入处理器410A、410B、410C;输出处理器412A、412B、412C;控制器422;以及其他部件。输入处理器410A和输出处理器412A均对应于一组传感器中的传感器A。输入处理器410B和输出处理器412B均对应于所述一组传感器中的传感器B。输入处理器410C和输出处理器412C均对应于所述一组传感器中的传感器C。尽管图4中示出了与一组三个传感器A、B、C对应的输入处理器410A、410B、410C和输出处理器412A、412B、412C,实际上,根据传感器的数目,可以存在较少或较多的输入处理器和输出处理器。所述一组传感器可以是相同类型的传感器(例如,触觉传感器)或不同类型的传感器的组合(例如,视觉传感器和触觉传感器)。
输入处理器410生成候选特征-位置表示。输入处理器410还包括被组织成列的多个单元以及其他部件。特定特征-位置表示(例如,位置f3处的空间特征A)的存在由输入处理器410中的激活单元的子集表示。因此,通过激活输入处理器410中的与每个表示相关联的单元来生成候选特征-位置表示的集合。具体地,响应于接收到传感输入数据110和指示与单元相关联的特征-位置表示的存在的位置信息120来激活输入处理器410中的单元。还可以响应于从输出处理器412接收到指示与单元相关联的特征-位置表示存在于候选对象的当前集合中的至少一个候选对象中的反馈输入460,来激活输入处理器410中的单元。输入处理器410将单元的激活状态(即,特征-位置表示的存在)作为前馈信号440提供给输出处理器412。
控制器422是硬件或者硬件和软件的组合,用于将操作信号发送到与提供传感器输入110A、110B、110C的传感器的移动相关联的致动器(例如,机械臂)。控制器422还用作位置信息源,其可以生成传感器的分配中心位置并将该分配中心位置作为位置信息120A、120B、120C提供给输入处理器410A、410B、410C。为此目的,控制器422可以包括处理器、存储器和用于与致动器和传感器进行通信的接口设备以及其他部件。存储器可以包括用于控制和操作致动器的软件组件(例如,运动规划模块和致动器控制算法)。
输出处理器412基于前馈信号440并且可选地基于横向信号480来确定候选对象的集合。输出处理器412包括多个单元以及其他部件。在一个实施方式中,多个单元被组织成列。输出处理器412中的激活单元的子集表示特定对象(例如,咖啡杯)的存在。因此,通过激活输出处理器412中的与每个对象相关联的单元的并集来表示候选对象的集合。具体地,响应于从输入处理器410接收到指示与单元表示的对象相关联的特征-位置表示的前馈信号440来激活输出处理器412中的单元。前馈信号440经由前馈连接被接收,所述前馈连接是输入处理器410中的所有单元或单元的子集与输出处理器412中的单元的子集之间的用于传输前馈信号440的连接。因此,前馈连接表示由输出处理器412中的单元的子集表示的对象与由输入处理器410中的单元的子集表示的特征-位置表示之间的关联。在一个实施方式中,可以在学习过程期间切断或生成单元之间的前馈连接。
在一个实施方式中,用于相应传感器的每个输出处理器412基于在用于相应传感器的输入处理器410中存在的特征-位置表示来生成其自己的候选对象的集合。例如,输出处理器412A可以基于输入处理器410A中的激活的单元的子集来生成候选对象的集合,输出处理器412B可以基于输入处理器410B中的激活的单元的子集来生成候选对象的另一集合。
响应于从同一输出处理器412中的单元或其他输出处理器412中的与同一对象相关联的单元接收到横向信号480,也可以激活输出处理器412中的单元。经由横向连接来接收横向信号480,所述横向连接是输出处理器412中的单元的子集与同一输出处理器412或不同输出处理器412中的单元的另一子集之间的用于传输横向信号480的连接。输出处理器412中的通过横向连接而连接在一起的单元的子集可以表示相同的对象。因此,输出处理器412中的表示与在其他输出处理器412中表示的对象有共同之处的对象的单元通过横向连接被加强。同一输出处理器412中的单元的子集之间的横向连接的集合可以被称为承载横向内输入(intra-lateral input)的横向内连接(intra-lateral connection)。不同输出处理器412中的单元的子集之间的横向连接的集合可以被称为承载横向间输入(inter-lateral input)的横向间连接(inter-lateral connection)。在一个实施方式中,可以在学习过程期间切断或生成单元之间的横向连接。
然而,图4中所示的横向信号480仅仅是示例,并且应当理解的是,可以对图4中所示的配置进行各种修改。每个输出处理器412可以提供横向信号480并且可以接收来自一个或更多个其他输出处理器412的横向信号480。例如,输出处理器412A可以向输出处理器412C和输出处理器412B提供横向信号480,并且可以从输出处理器412C和输出处理器412B接收横向信号480。
输出处理器412将单元的激活状态作为反馈输入460提供给输入处理器410中的单元。反馈输入460经由反馈连接被提供,所述反馈连接是输出处理器412中的单元的子集与输入处理器410中的单元的子集之间的用于传输反馈输入460的连接。因此,类似于前馈连接,反馈连接表示由输出处理器412中的单元的子集表示的对象与由输入处理器410中的单元的子集表示的特征-位置表示之间的关联。输入处理器410和输出处理器412中具有反馈连接的单元的子集可以与具有前馈连接的单元的子集一致。在一个实施方式中,可以在学习过程期间切断或生成单元之间的反馈连接。
在一个实施方式中,通过以下操作来学习单元之间的连接:选择和保持输出处理器412中的针对对象的单元的子集的激活以及基于在对象上的各个位置处的传感输入数据110在输入处理器410中的单元与输出处理器412中的单元之间形成连接。具体地,每个输出处理器412选择与特定对象对应的用于激活的单元的子集。输出处理器412中的单元的激活状态被保持。输出处理器412中的激活的单元选择同一输出处理器412中的激活的单元的子集并与所选择的单元的子集形成横向内连接。输出处理器412中的激活的单元还选择不同输出处理器412中的激活的单元的子集并与所选择的单元的子集形成横向间连接。
在一个实施方式中,每个横向连接与指示该连接的频率的持久性值相关联。换言之,横向连接的持久性值指示由于通过横向连接而连接至激活单元的单元的激活而在输出处理器412中单元激活的频率。可以通过学习过程来调整持久性值以切断现有的横向连接或生成新的横向连接。
随后,针对传感器的输入处理器410在特定对象上的给定位置处接收传感输入数据110。响应于接收到传感输入数据110和包括传感器在对象上的位置的位置信息120,输入处理器410激活与相应的特征-位置表示相关联的单元的子集。具体地,如果先前已知感测到的特征-位置表示,则可以激活输入处理器410中的与特征-位置表示相关联的单元。如果感测到的特征-位置表示先前未知,则推理系统104选择与感测输入110中的特征对应的每列中的随机单元,并且这些单元与包括在接收的位置信息120中的位置相关联。所选择的单元被激活。
输入处理器410中的激活的单元选择相应的输出处理器412中的单元的子集,并且与所选择的单元的子集形成前馈连接。输出处理器412中的激活的单元选择相应的输入处理器410中的单元的子集,并且与所选择的单元的子集形成反馈连接。当传感器感测到对象上的新位置时,该过程被重复,从而产生新的传感输入数据110和位置信息120。
在一个实施方式中,每个前馈连接和反馈连接与指示连接的频率的持久性值关联。换言之,前馈连接的持久性值指示输出处理器412中的由于在输入处理器410中的通过前馈连接而连接至激活单元的单元的激活而引起的单元激活的频率。反馈连接的持久性值指示输出处理器412中的由于在输入处理器410中的通过反馈连接连接至激活单元的单元的激活而引起的单元激活的频率。可以通过学习过程来调整持久性值以切断现有的前馈连接或反馈连接或者生成新的连接。
当例如每个传感器已经感测到对象上的一组分配中心位置上的传感特征时,针对特定对象完成学习过程。当新对象被学习时,输入处理器410和输出处理器412中的单元被去激活,并且针对新对象重复上述过程。
使用推理系统执行推理
图5A是示出根据一个实施方式的在推理系统104中执行推理的方法的流程图。输入处理器410接收510相应传感器的传感输入数据110,并激活与传感输入数据110中描述的特征相关联的单元。因此,输入处理器410中的激活的单元的组合表示与特定特征相关联的候选特征-位置表示的集合。输入处理器410生成单元的激活状态并将所述单元的激活状态作为前馈信号440提供给输出处理器412中的与输入处理器410中的激活的单元具有前馈连接的单元。
输出处理器412基于指示输入处理器410中的单元的激活状态的前馈信号440来激活514输出处理器412的单元。因此,输出处理器412中的激活的单元的集合表示与候选特征-位置表示一致的候选对象的集合。输出处理器412生成单元的激活状态并将所述单元的激活状态提供为横向信号480和反馈输入460。也就是说,将一个输出处理器412中的单元的激活状态以横向输入(包括横向内输入和横向间输入)的形式提供给同一输出处理器中的单元或其他输出处理器412中的单元,并且将一个输出处理器412中的单元的激活状态以反馈输入的形式提供给输入处理器410中的单元。
由于例如传感器的移动,输入处理器410接收518在新位置处的传感输入数据110。输入处理器410还基于所确定的传感器从先前位置的位置偏移来接收指示更新的可能位置的集合的位置信息120。可以例如从通过一个或更多个致动器来控制传感器(例如,在机械手上)的移动的控制器422接收位置信息120。在其他示例中,可以从单独的编码器接收位置信息120,该单独的编码器基于接收到传感器的位置偏移信息来确定更新的可能位置的集合。
输入处理器410基于新的传感输入数据110和位置信息120并且还基于指示输出处理器412中的单元的激活状态的反馈输入460来更新522单元的激活。因此,输入处理器412中的激活的单元的集合表示与更新的传感输入数据110和位置信息120以及候选对象的集合一致的特征-位置表示。输入处理器410再次将单元的激活状态作为前馈信号440提供给输出处理器412中的单元。
输出处理器412基于指示输入处理器410中的单元的激活状态的新的前馈信号440以及指示同一输出处理器412或其他输出处理器412中的单元的激活状态的横向信号480来更新526单元的激活。因此,输出处理器412中的激活的单元的集合表示与更新的候选特征-位置表示的集合以及其他输出处理器412中的候选对象一致的候选对象。如果输出处理器412中的激活的单元与单个对象匹配,则推理被完成。否则,重复该过程以接收在新位置处的另一传感输入数据110。
在一个实施方式中,如果输出处理器412中的预定阈值的激活的单元与给定对象关联,则输出处理器412确定激活的单元的子集与对象匹配。例如,如果输出处理器412中的90%的激活的单元与咖啡杯对象关联,则输出处理器412可以输出咖啡杯对象。在一个实施方式中,如果不能标识单个对象,则输出处理器412可以输出候选对象的当前列表作为输出。
图5A中所示的步骤仅仅是说明性的。这些步骤中的一个或更多个在推理过程的操作期间可以结合使用、选择性地被选择或被丢弃和/或被改变。例如,这些步骤中的一个或更多个可以以并行操作被执行而不是以特定顺序被执行。
用于推理的连接的学习
图5B是示出根据一个实施方式的学习用于推理的连接的方法的流程图。选择输出处理器412中的单元的子集以在所述单元被激活550时表示对象。跨一个或更多个输出处理器412的激活的单元的组合在被激活时指示检测到对象。
在输出处理器412的一个或更多个激活的单元之间形成552横向间连接和横向内连接。具体地,横向内连接是同一输出处理器412的不同列中的单元之间的连接。横向间连接是与不同传感器对应的输出处理器中的单元之间的连接。
推理系统104接收554与对象上的分配中心位置相关联的传感输入数据110。输入处理器410中与特征-位置表示对应的单元的子集被激活556。在输出处理器412的激活的单元与输入处理器410的所有激活的单元或激活的单元的子集之间形成558前馈连接和反馈连接。如果学习过程没有完成,则重复该过程,使得传感器接收在对象上的新位置上的新的传感输入数据110。
在完成对对象的学习之后,可以通过以下操作来执行对新对象的学习:激活550输出处理器412中的单元的不同子集以在单元被激活时表示新对象以及重复如图5B中所示的后续处理。
图5B中所示的步骤仅仅是说明性的。这些步骤中的一个或更多个在学习过程的操作期间可以结合使用、选择性地被选择或被丢弃和/或被改变。例如,这些步骤中的一个或更多个可以以并行操作被执行而不是以特定顺序被执行。
输入处理器的示例架构
图6是示出根据一个实施方式的输入处理器410的详细框图。输入处理器410可以包括输出生成器612、单元11至单元Mk的列(在虚线框中)、列激活器618以及其他部件。
列激活器618是软件、硬件或软件和硬件的组合,列激活器618接收传感输入数据110,并且基于所接收到的传感输入数据110来生成指示要激活哪些单元的列的列激活信号634。一个或更多个列激活信号634可以表示传感输入数据110中的特定特征的存在。如将结合图16所描述的,输入处理器410还可以从其他输出处理器接收层间输入628,并基于所接收到的层间输入628来生成指示要激活哪些单元的列的列激活信号634。
输入处理器410还从相应的输出处理器接收反馈信号460。反馈信号460通过与发起反馈信号的单元的反馈连接被馈送到输入处理器410中的单元的子集,并且反馈信号460指示输入处理器410中与在由输出处理器412中的单元表示的候选对象的集合中的至少一个候选对象相关联的一个或更多个单元的可能激活。输入处理器410还接收位置信息120。位置信息120作为位置信号被馈送到输入处理器410中的单元,并且指示相应的传感器可以是与单元相关联的对象上的已知或可能位置。
在一个实施方式中,每列包括相同数目(N)的单元。输入处理器410中的单元具有三种状态:未激活的、预测的和激活的。如下面参照图7更详细地描述的那样,如果在单元先前处于预测的状态的情况下单元接收到列激活信号634,则单元可以变为激活的(即,处于激活的状态)。当列中的单元变为激活的时,除了在某些有限的情况下,激活的单元抑制同一列中其他单元的激活。预测的状态表示在下一个时间段处单元将被列激活信号634激活的预测。响应于接收到位置信号,单元可以变为预测的(即,处于预测的状态)。响应于通过反馈连接接收到来自输出处理器中的单元的反馈信号,单元也可以变为预测的。既不处于激活的状态也不处于预测的状态的单元被称为未激活的(即,处于未激活的状态)。
在一个实施方式中,如果单元先前处于预测的状态并且在后续时间段接收到列激活信号634,则激活所述单元。例如,响应于接收到位置信息120,接收到位置信号的单元的子集可以变为预测的。接收到基于接收的传感输入数据110而生成的列激活信号634的预测的单元被激活。以这种方式,仅输入处理器410中与传感输入数据110和位置信息120一致的单元的子集被激活。作为另一示例,接收到反馈信号的单元可以由于相应输出处理器中向所述单元提供反馈信号的单元的激活而变为预测的。接收到基于传感输入数据110而生成的列激活信号634的预测的单元被激活。以这种方式,仅输入处理器410中与传感输入数据110和当前候选对象的集合一致的单元的子集被激活。作为又一示例,接收到位置信号和反馈信号两者的单元可以变为预测的。在这种情况下,输入处理器410中与传感输入数据110、位置信息120以及候选对象的集合一致的单元的子集被激活。
在一个实施方式中,如果处于预测的状态的单元由于通过反馈连接传输的反馈信号而被预测为是激活的并且传感输入数据110导致单元的正确激活,则关于所述单元至输出处理器412中的激活的单元的反馈连接的持久性值增加,而关于至输出处理器412中的未激活的单元的连接的持久性值减小。另一方面,如果处于预测的状态的单元之后没有单元的激活,则关于至输出处理器412中的激活的单元的反馈连接的持久性值减小。如果关于连接的持久性值降低至阈值以下,则可能会切断连接。以这种方式,具有低持久性值的单元之间的反馈连接不再有助于输入处理器410中的单元的激活。
继续该示例,如果列中没有单元当前处于预测的状态,则可以随机地选择和激活单元(例如,列中的所有单元)中的一个或更多个。当列中没有单元当前处于预测的状态时,可以基于最近的激活状态来激活列中的单元。具体地,可以选择列中最近被激活的单元以用于激活。可替选地,如果列中没有单元当前处于预测的状态,则可以激活列中的所有单元。
在另一实施方式中,即使在同一列中的其他单元处于预测的状态,也激活所述列中的一个或更多个单元。
单元单独地将标识单元11到Mk的状态的合并输出(pooling output)622发送到输出生成器612。在一个实施方式中,合并输出622指示哪些单元是激活的以及/或者哪些单元是预测的并且变为激活的。例如,每个单元的合并输出622可以被表示为二进制值,例如两位二进制值,其中一个位指示所述单元是否是激活的并且一个位指示所述单元是否是预测的并且变为激活的。在一些实施方式中,合并输出622指示哪些单元是激活的以及哪些单元是预测的。例如,每个单元的合并输出622可以被表示为二进制值,例如两位二进制值,其中一个位指示所述单元是否是激活的并且一个位指示所述单元是否是预测的。虽然合并输出622在大多数情况下采用二进制值,但是合并输出622也可以是非二进制值。例如,合并输出622可以包括指示单元的激活状态的强度的整数或实数值。
输出生成器412是软件、硬件、固件或其组合,输出生成器412基于单元11至Mk的激活来生成前馈信号440。在一个实施方式中,输出生成器412从单元或列收集合并输出622并将这些输出连接成向量。可以将连接的向量作为输入处理器410的前馈信号440发送到输出处理器412。
输入处理器中的单元的示例图
图7是示出根据一个实施方式的与输入处理器410中的单元790相关联的信号的概念图。单元790可以是物理的或逻辑的构造,该构造基于其先前状态和其接收到的各种信号而采用非激活的、预测的和激活的之一。
如参照图6所讨论的,单元790接收指示相应的传感器可以位于与单元790相关联的对象上的已知位置或可能位置处的位置信号732。单元790还接收指示在具有到所述单元的反馈连接的相应输出处理器中的一个或更多个单元的激活的反馈信号736。
如参照图6所讨论的,当单元790接收到位置信号732和/或反馈信号736时,单元790可以变为预测的。单元790还接收可以引起单元790的激活的列激活信号634。
在一个实施方式中,单元790在下述情况下变为激活的:在(i)单元790处于预测的状态,然后响应于列激活信号634而转变为激活的状态;以及/或者(ii)单元790没有处于预测的状态但仍然响应于列激活信号634而被激活。例如,如果包括单元790的列接收到列激活信号634但是该列中没有单元处于预测的状态,则包括单元790的列中的所有单元可以被激活。
输入处理器中的单元的示例操作和功能
图8A至图8C是示出根据一个实施方式的输入处理器410中的与学习和识别包括对象A和对象B的不同对象相关联的单元的示例激活状态的图。每个圆圈表示输入处理器410中的单元。当每个单元变为激活的时,单元发出合并输出622。
图8A示出了输入处理器410在没有先前训练的初始状态下接收传感输入数据110。基于所接收到的传感输入数据110,生成与输入处理器410的列1和列M对应的列激活信号634。由于最初没有单元处于预测的状态,因此由于接收到列激活信号634而激活列1和列M中的所有单元。以由单元的列生成的合并输出622来表示单元的激活状态。
然后,输入处理器410中的激活的单元引起输出处理器412中与候选对象A和B相关联的具有到输入处理器410中的激活的单元的前馈连接的单元的激活。输出处理器412中的单元的激活然后提供参照图8B描述的反馈信号。
图8B示出了根据一个实施方式的在下一时间段中输入处理器410中的单元的操作。如图8B所示,单元V、单元Y和单元Z连接至输出处理器412中的激活的单元,因此,单元V、单元Y和单元Z从输出处理器412中与候选对象A和B相关联的单元接收由输出处理器412中的单元的激活表示的反馈信号736。反馈信号736将单元V、单元Y和单元Z置于预测的状态下。输入处理器410的单元V、单元Y和单元W还接收指示可能位置f3和f4的集合的位置信息120。基于当生成关于图8A的传感输入数据110时传感器的位置与传感器的当前位置之间的估计的位置偏移来生成可能位置f3和f4。因为单元V、单元Y和单元W与这些位置相关联,因此单元V、单元Y和单元W接收位置信号732。单元V、单元Y和单元Z保持它们的预测的状态,并且单元W也变为预测的。
如图8C所示,输入处理器410接收新的传感输入数据110。基于新的传感输入数据110,列激活器618生成与输入处理器410的列1和列M对应的列激活信号634。由于单元V先前处于预测的状态,所以选择单元V以用于激活。尽管单元W和单元Y都处于预测的状态,但是由于单元Y对单元W的抑制,所以选择仅单元Y用于激活,原因是单元Y接收到反馈信号和位置信号二者而单元W仅接收到位置信号。以下将参照图10更详细地描述各种激活和抑制规则。
输入处理器中的单元的功能框图
图9是示出根据一个实施方式的单元790的功能框图。单元790可以包括反馈信号监测器910、位置信号监测器912、单元激活预测器916、单元激活器918、列抑制器924以及其他部件。这些部件中的一个或更多个可以以软件、固件、硬件或其组合来体现。此外,单元790可以包括图9中未示出的其他部件。
反馈信号监测器910是软件、固件、硬件或其组合,反馈信号监测器910用于监测相应输出处理器412中的单元的激活状态。为此,反馈信号监测器910从输出处理器412中的连接至单元790的单元接收反馈信号736。如果反馈信号736指示具有到单元790的反馈连接的一个或更多个单元是激活的,则反馈信号监测器910将反馈命中信号934发送至单元激活预测器916。
位置信号监测器912是软件、固件、硬件或其组合,位置信号监测器912用于接收位置信号732。如果位置信号732指示对象上的位置与单元790相关联,则位置信号监测器912将位置命中信号930发送至单元激活预测器916。
单元激活预测器916是软件、固件、硬件或其组合,单元激活预测器916基于位置命中信号930和/或反馈命中信号934将单元置于预测的状态下。在一个实施方式中,如果位置命中信号930和反馈命中信号934中的至少一个被生成,则单元激活预测器916将单元790置于预测的状态下,并且将指示单元790处于预测的状态的预测信号941发送至单元激活器918。
单元激活器918是软件、固件、硬件或其组合,单元激活器918根据一组激活和抑制规则来确定是否将单元790置于激活的状态下。为此目的,单元激活器918接收列激活信号634、预测信号941以及抑制信号926。
用于单元激活的一个另外的条件可以是:不存在来自同一列或不同列中的其他单元的抑制信号926。如果接收到来自其他单元的抑制信号926,则不管列激活信号634如何,都不激活单元790。如果单元790处于激活的状态,则单元激活器918生成指示该单元是激活的还是由预测的变为激活的合并输出622。在一个实施方式中,无论单元790被激活的原因如何,都生成合并输出622。以下将参照图10进一步详细地描述各种激活和抑制规则。
响应于单元激活器918对单元790的激活,列抑制器924生成抑制信号928。抑制信号928被发送到同一列或不同列中的其他单元以抑制同一输入处理器410中的其他单元的激活。
输入处理器中的单元的示例激活规则
图10是示出根据实施方式的基于多个规则来激活输入处理器410中的单元或抑制输入处理器410中的单元的激活的图。在图10的示例中,一些单元生成反馈命中信号934和/或位置命中信号930。这些单元以列(列1至列5)被布置,并且一些列接收列激活信号CAS,而一些列没有接收到列激活信号CAS。“反馈”箭头(虚线)指示该单元已经生成了反馈命中信号934,“位置”箭头(实线)指示该单元已经生成了位置命中信号930。如以上参照图6至图8详细讨论的,如果一列单元接收到列激活信号634但不包含任何预测的单元,则列中的所有单元或单元的子集变为激活的。与以下参照图10描述的单元的操作相关联的规则仅用于说明。这些规则中的一个或更多个可以在处理节点的操作期间结合使用、选择性地被选择或被丢弃和/或被改变。
规则之一是:使生成位置命中信号930和反馈命中信号934两者的单元抑制同一列中的仅生成位置命中信号930的单元的激活。如图10的列1所示,单元13生成位置命中信号930,并且单元C14生成位置命中信号930和反馈命中信号934二者。在接收到列激活信号CAS1之后,仅激活单元C14而不激活单元C12,这是因为单元C14(生成位置命中信号930和反馈命中信号934两者)抑制单元C13的激活(生成仅位置命中信号930)。
另一规则是:如果存在仅生成反馈命中信号934的单元,则在接收到列激活信号634之后激活这些单元。如列2中所示,单元C22和单元C24生成反馈命中信号934。在接收到列激活信号CAS2之后,激活单元C22和单元C24两者。
可替选地,另一规则是:如果不存在生成位置命中信号930的单元,则在接收到列激活信号634时激活列中的所有单元。如列3中所示,尽管单元C32和单元C34生成反馈命中信号934,但是在接收到列激活信号CAS3之后,激活列中的所有单元,这是因为列3中不存在生成位置命中信号930的单元。
另一规则是:如果存在仅生成位置命中信号930的单元,则在接收到列激活信号634之后激活这些单元。如列4中所示,单元C41和单元C43生成位置命中信号930。在接收到列激活信号CAS4之后,激活单元C41和单元C43两者。
另一规则是:使生成仅位置命中信号930的单元抑制在同一列中的仅生成反馈命中信号934的单元的激活。如列5中所示,单元C51和单元C53生成反馈命中信号934。单元54生成位置命中信号930。在接收到列激活信号CAS5之后,仅激活单元54,而不激活单元C51和C53,这是因为单元C54(生成仅位置命中信号930)抑制单元C51和C53的激活(生成仅反馈命中信号934)。
另一规则是:要求激活生成位置命中信号930和反馈命中信号934两者的单元。换言之,即使生成仅位置命中信号930或仅反馈命中信号934的单元可以预测性地处于激活的状态,也不激活所述单元。
结合图10说明的规则仅仅是示例,并且本领域技术人员将理解用于推理系统104的其他激活和抑制规则。
输出处理器的示例架构
图11是示出根据一个实施方式的输出处理器412的详细框图。输出处理器412可以包括输出生成器1108、单元11至单元Nj的集合(在虚线框中)、信号分配器1118以及其他部件。如先前结合图4所描述的,在一个实施方式中,输出处理器412的单元可以可选地以列被布置。在这样的实施方式中,每个列中可以存在单个单元。输出处理器412接收指示输入处理器410中的单元的激活状态的前馈信号440。前馈信号440可以表示在输入处理器410中存在特定特征-位置表示。前馈信号440通过前馈信号1146被馈送到输出处理器412中的适当单元。
输出处理器412还从其他输出处理器中的单元接收横向间输入1182。本文描述的横向间输入是指在输出处理器中的单元处接收到的来自连接至该单元的其他输出处理器中的单元的信号。横向间输入1182通过横向间连接被馈送到输出处理器412中的单元。至输出处理器412中的单元的横向间信号指示其他输出处理器中的与和所述单元相同的对象相关联的一个或更多个单元的激活。输出处理器412中的一个或更多个单元还从同一输出处理器412中的其他单元接收横向内输入1184。横向内输入1184通过横向内信号被馈送到输出处理器412中的单元。本文描述的横向内输入是指在输出处理器中的接收单元处接收到的来自同一输出处理器中的发送单元的信号。横向间输入和横向内输入共同形成横向输入。在一个实施方式中,单个单元可以从同一输出处理器412或其他输出处理器中的单元接收多个横向信号。
输出处理器412还生成指示输出处理器412中的单元的激活状态的反馈信号460。如以上参照图6所描述的,反馈信号460被馈送到相应的输入处理器410。
与输入处理器410中的单元类似,输出处理器412中的单元具有三种状态:未激活的、预测的和激活的。如果单元接收到前馈信号1146,则单元可以变为激活的(即,处于激活的状态)。当输出处理器412中的单元变为激活的时,激活的单元可以抑制在距激活的单元在预定距离内的输出处理器412中的单元的子集的激活。在另一个实施方式中,当输出处理器412的单元以列被布置时,除了在某些有限的情况下,激活的单元可能会抑制与激活的单元在同一列中的其他单元的激活。在一个实施方式中,一旦输出处理器412中的单元被激活,该单元就将其激活的状态保持预定时间长度。预测的状态表示单元将被前馈信号1146激活的预测。响应于接收到横向间信号和/或横向内信号,单元可以变为预测的(即,处于预测的状态)。在一个实施方式中,一旦输出处理器412中的单元是预测性激活的,该单元就将其预测的状态保持预定时间长度。既不处于激活的状态也不处于预测的状态的单元被称为未激活的(即,处于未激活的状态)。
在一个实施方式中,处于预测的状态的单元在接收到前馈信号之后变为激活的。例如,响应于接收到横向间输入1182和横向内输入1184,接收到一个或更多个横向信号的单元可以变为预测的。接收到前馈信号的预测的单元可以被激活。以这种方式,输出处理器412中的与观察到的输入处理器410中的特征-位置表示和其他输出处理器中的候选对象一致的单元的子集被激活。通常,输出处理器中的与正在被检测的对象相关联的单元更可能通过至与该对象相关联的其他单元的横向连接而成为预测性激活的。随着时间的推移,响应于接收到指示存在与对象相关联的特征-位置表示的前馈信号440,进而激活这些单元。因此,在迭代更新输入处理器410和输出处理器412中的单元的激活状态的过程之后,与对象相关联的单元的子集将保持是激活的。
在一个实施方式中,如果处于预测的状态的单元由于通过横向信号传输的横向信号而成为预测性激活的并且前馈信号导致单元的正确激活,则关于至输出处理器412中的激活的单元的横向连接的持久性值增加,而关于至输出处理器412中的未激活的单元的连接的持久性值减小。另一方面,如果处于预测的状态的单元之后没有单元的激活,则关于至输出处理器412中的激活的单元的横向连接的持久性值减小。如果关于连接的持久性值降低至阈值以下,则可能会切断连接。以这种方式,输出处理器412中的具有低持久性值的单元之间的连接不再有助于单元的激活。
继续该示例,如果列中没有单元当前处于预测的状态,则激活接收到前馈信号1146的单元。例如,如果列中没有单元当前处于预测的状态,则可以激活列中的所有单元。
作为列的单元单独地或共同地将合并输出1120发送至输出生成器1108。合并输出1120标识单元的状态。在一个实施方式中,合并输出1120指示哪些单元是激活的以及/或者哪些单元是预测的并且变为激活的。例如,每个单元的合并输出1120可以被表示为二进制值,例如两位二进制值,其中一个位指示该单元是否被激活并且一个位指示该单元是否是预测的并且变为激活的。在一些实施方式中,合并输出1120指示哪些单元是激活的以及哪些单元是预测的。例如,每个单元的合并输出1120可以被表示为二进制值,例如两位二进制值,其中一个位指示该单元是否是激活的并且一个位指示该单元是否是预测的。虽然合并输出1120在大多数情况下采用二进制值,但是合并输出1120也可以是非二进制值。例如,合并输出1120可以包括整数或实数值,其指示单元的单元激活的状态的强度或在预测的状态之后是激活的状态的强度。
在一个实施方式中,输出生成器1108收集来自单元的合并输出1120并将这些输出连接成向量。输出生成器1108生成连接的向量作为对象输出1122。推理系统104确定在对象输出1122中指示的激活的单元的集合是否与已知的对象表示匹配,并生成候选对象的集合。
输出处理器中的单元的示例图
图12是示出根据一个实施方式的与输出处理器412中的单元1290相关联的信号的概念图。如参照图11所讨论的,单元1290接收指示其他输出处理器412中的单元的激活的横向间信号1270。单元1290还从同一输出处理器412中的其他单元接收横向内信号1268。单元1290可以从输出处理器412中的一个或更多个单元接收横向信号。如参照图11所讨论的,当单元1290接收到横向间信号1270和/或横向内信号1268时,单元1290可以变为预测的。单元1290还通过到单元1290的前馈连接来接收指示输入处理器410中的单元的激活的前馈信号1146。
在一个实施方式中,单元1290在下述情况下变为激活的:在(i)单元1290处于预测的状态并且接收到前馈信号114;以及/或者(ii)单元1290没有处于预测的状态但仍然响应于前馈信号1146而被选择用于激活。单元1290响应于被激活可以通过到单元1290的反馈连接将指示单元1290的激活状态的反馈信号460提供至输入处理器410中的单元。
如以上参照图11所描述的,当单元1290变为激活的或预测性激活的时,单元1290的激活状态可以持续预定量的时间。
输出处理器中的单元的示例操作和功能
图13A至图13C是示出根据一个实施方式的输出处理器412A和输出处理器412B中的单元的示例激活状态的图。每个圆圈表示输出处理器中的单元。当每个单元变为激活的时,单元发出合并输出1120。
在图13A中,没有单元处于预测的状态,并且输出处理器412A、输出处理器412B最初接收前馈信号440。单元P、单元Q、单元R和单元S接收前馈信号1146,这是因为它们具有到相应输入处理器410A、输入处理器410B中的激活的单元的前馈连接。由于没有其他单元处于预测的状态,因此单元P、单元Q、单元R和单元S被激活。因此,激活的单元的子集表示与输入处理器410A、输入处理器410B中的激活的特征-位置表示一致的候选对象的集合。生成单元的激活状态作为合并输出1120。
如图13B所示,在下一个时间段,输出处理器412A的单元T从输出处理器412B的单元R接收横向间信号1270并且变为预测的。输出处理器412A的单元U从输出处理器412A的单元Q接收横向内信号1268并且变为预测的。类似地,单元V或输出处理器412B从输出处理器412B的单元S接收横向内信号1268并且变为预测的。另外,激活的单元P和单元R生成反馈信号460,通过至这些单元的反馈连接来将反馈信号460提供给输入处理器410中的单元。
如图13C所示,在下一个时间段,输入处理器410接收新的传感输入数据110和位置信息120,并且输出处理器412接收指示输入处理器410中的激活的单元的另一个子集的更新后的前馈信号440。先前激活的单元P、单元Q、单元R和单元S在当前时间段仍然保持激活的状态。单元U和单元V基于新的前馈信号440来接收前馈信号1146。单元U和单元V都被激活,这是因为它们先前处于预测的状态并且接收到前馈信号1146。尽管单元T处于预测的状态,但由于单元U对单元T的抑制而仅选择单元U用于激活。这是因为单元U接收到前馈信号1146和横向内信号1268两者,而单元T仅接收到横向间信号1270。
随着时间的推移,随着输入处理器410和输出处理器412中的单元的激活状态被迭代地更新,与检测到的对象相关联的单元的子集将保持激活。
输出处理器中的单元的功能框图
图14是示出根据一个实施方式的单元1290的功能框图。单元1290可以包括横向间信号监测器1410、横向内信号监测器1412、单元激活预测器1416、单元激活器1418、列抑制器1424以及其他部件。横向间信号监测器1410是软件、固件、硬件或其组合,横向间信号监测器1410用于从输出处理器412中的其他单元接收横向间信号1270。横向内信号监测器1412是软件、固件、硬件或其组合,横向内信号监测器1412用于从输出处理器412中的其他单元接收横向内信号1268。前馈信号监测器1414是软件、固件、硬件或其组合,前馈信号监测器1414用于从输入处理器410中的单元接收前馈信号1146。
如果横向间信号1270指示其他输出处理器中的具有到单元1290的横向连接的单元是激活的,则横向间信号监测器1410将横向间命中信号1434发送至单元激活预测器1416。如果横向内信号1268指示输出处理器412中具有到单元1290的横向连接的其他单元是激活的,则横向内信号监测器1412将横向内命中信号1430发送至单元激活预测器1416。横向间命中信号1434和横向内命中信号1430指示单元1290处于预测的状态。单元激活预测器1416接收横向间命中信号1434和/或横向内命中信号1430。单元激活预测器1416将单元的先前的预测的状态的指示作为预测信号1441发送至单元激活器1418。例如,单元激活预测器1416向单元激活器1418指示:单元1290在最后时间段期间是否处于预测的状态以及预测的状态是否是由于横向间信号1270或横向内信号1268而引起的。
如以下参照图15进一步详细描述的,单元激活器1418接收前馈信号1146、预测信号1441和抑制信号926,并且根据一组激活和抑制规则将单元1290置于激活的状态。合并输入1443可以特别指示与单元1290在同一列中的其他单元的预测的状态。用于单元激活的一个另外的条件是:在输出处理器412中不存在来自其他单元的抑制信号1426。如果从其他单元接收到抑制信号1426,则不管前馈信号1146如何,都不激活单元1290。例如,如果单元1290从距单元1290在预定距离内的其他单元接收抑制信号1426,则不管前馈信号1146如何,都不激活单元1290。如果单元1290被置于激活的状态,则单元激活器1418生成指示单元是激活的还是预测的并且变为激活的合并输出1120。在一个实施方式中,无论单元1290被激活的原因如何,都生成合并输出1120。
响应于单元激活器1418对单元1290的激活,单元抑制器1424生成抑制信号1428。抑制信号1428被发送到同一列或不同列中的其他单元以抑制其他单元的激活。
输出处理器中的单元的示例激活规则
图15是示出根据实施方式的基于多个规则来激活输出处理器412中的单元或抑制输出处理器412中的单元的激活的图。在图15的示例中,一些单元生成横向间命中信号1434、横向内命中信号1430和/或前馈命中信号1438。这些单元以组(组1至组4)被布置,这些单元在输出处理器412中距离彼此在预定的距离内,这些单元影响彼此之间的激活状态和抑制状态。然而,图15中的每个组还可以表示一列单元。“横向内”箭头(实线)表示该单元已经生成了横向内命中信号1430,“横向间”箭头(虚线)表示该单元已经生成了横向间命中信号1434,“前馈”箭头(点划线)表示该单元已经接收到前馈信号1146。与以下参照图15描述的单元的操作相关联的规则仅用于说明。这些规则中的一个或更多个可以在处理节点的操作期间结合使用、选择性地被选择或被丢弃和/或被改变。
规则之一是:如果没有单元生成横向命中信号1430、1434,则接收前馈信号1146的单元被激活。如组1中所示,单元C11和单元C14接收前馈信号1146。由于没有其他单元生成横向命中信号,所以单元C11和单元C14被激活。
另一规则是:使接收前馈信号1146并且生成至少一个横向命中信号1434、1430的单元抑制在同一列中的仅生成横向命中信号1434、1430的单元的激活。如组2中所示,单元C24接收前馈信号1146和横向内命中信号1430,并且单元C22生成横向间命中信号1434。仅单元C24被激活而单元C22没有被激活,这是因为单元C24(接收前馈信号1146并且生成横向内命中信号1430)抑制单元C22(生成仅横向间命中信号1434)的激活。
另一规则是:响应于接收到前馈信号1146,使生成较多数目的横向命中信号1430、1434的单元抑制在同一列中的生成较少数目的横向命中信号1430、1434的单元或在输出处理器412中的单元的子集的激活。如列3中所示,单元C31生成接收前馈信号1146并生成两个横向内命中信号1430,单元C34生成接收前馈信号1146并生成一个横向内命中信号1430。仅单元C31被激活而单元C34没有被激活,这是因为单元C31与单元C34相比生成较多数目的横向命中信号。
另一规则是:响应于接收到前馈信号1146,使生成横向间命中信号1434的单元抑制生成横向内命中信号1430的单元的激活。如组4中所示,单元C44接收前馈信号1146并生成横向间命中信号1434,单元C41接收前馈信号1146并生成横向内命中信号1430。仅单元C44被激活而单元C41没有被激活,这是因为单元C44生成横向间命中信号1434。
另一规则是:选择先前是激活的单元用于激活。例如,与仅在当前时间段中是预测性激活的单元相比,可以选择在前一时间段中是激活的并且在当前时间段中是预测性激活的单元用于激活。
另一规则是:要求在给定的组内一定数目的单元是激活的。在这种情况下,可以使用上述激活和抑制规则来激活单元,直到所需数目的单元被激活为止。
结合图15所示出的规则仅仅是示例。还可以实现用于推理系统104的其他激活和抑制规则。
多层学习和推理系统
图16是示出根据一个实施方式的两个多层系统1602A、1602B的详细框图。多层系统包括以一个或更多个分层的层布置的多个推理系统。多层系统的众多特征之一是:无论推理系统的级和层如何,多层系统的推理系统都可以执行推理并形成它们自己版本的对象表示。多层系统的较低层处的推理系统将对象表示传递给较高层处的推理系统。通过对均能够构建和使用它们自己版本的对象模型的许多推理系统进行集成,多层系统可以对不同级别的空间尺度和抽象级别的对象快速且更有效地进行推理和学习。这样的多层系统也可以被称为“千脑”系统,这是因为每个系统或其子系统可以构建它们自己的对象模型。
本文中描述的多层系统可以对应于上面参照图2描述的节点。每个节点接收用于分层处理的一组传感输入数据,并且每个节点可以被分组以对与不同传感器特性、传感器模态(例如,视觉传感器输入数据与触觉传感器输入数据)等相关联的传感输入数据进行处理。例如,用于第一节点210A的推理系统可以从一组机械手指接收触觉传感输入数据,用于第二节点210B的推理系统可以从一组机器人相机接收光学传感输入数据。
在一个实施方式中,节点的特定层处的推理系统可以从同一节点的不同层处的推理系统或从不同节点处的其他多层系统的推理系统接收非分层表决输入。如结合图2所描述的,不同的节点可以被放置在相同的级或不同的级处。层中的推理系统接收增强对对象的推理或检测的表决输入。换言之,非分层表决信号提供了关于推理系统中的一组候选对象表示是否与在层次结构的其他层处的推理系统或其他多层系统处的推理系统中正在被检测的对象表示一致的输入。例如,用于一组触觉传感器的推理系统可以生成一组候选对象,并且从用于一组视觉传感器的推理系统中正在被检测的对象表示接收输入。推理系统可以对输入进行处理以进一步缩小该组候选对象的范围,使得候选对象与使用该组视觉传感器检测到的对象表示一致。因此,多层系统的推理系统可以利用更少的传感器输入数据以更快的速度更准确地推断或标识与传感器输入数据对应的对象。
图16示出了多层系统1602A和多层系统1602B(统称为“多层系统”或单独被称为“多层系统”)以及其他部件。每个多层系统1602被布置成三层,即层1、层2和层3。每个层包括一组推理系统1604,所述一组推理系统1604各自包括输入处理器1610和输出处理器1612。在图16中,每个推理系统由一列框表示,例如,如层2中的虚线框1604所示。多层系统1602A(或节点1)接收一组触觉传感器的传感输入数据110A,多层系统1602B(或节点2)接收一组视觉传感器的传感输入数据110-2。由多层系统1602A接收的传感输入数据110A被提供给多层系统1602A的层1和层2处的输入处理器1610。由多层系统1602B接收的传感输入数据110B被提供给多层系统1602B的每个层处的输入处理器1610。然而,这些仅仅是说明性的,在实践中,传感输入数据110可以被提供给多层系统中的输入处理器1610中的任何一个或组合。例如,传感数据110可以被排他地提供给多层系统的第一层处的输入处理器。尽管在图16中示出了推理系统的三个级,但是在实践中,可以存在更少或更多的级,具有任意数量的推理系统。此外,虽然在图16中示出了两个多层系统1602,但是在实践中,根据传感器的模态或布置,可能存在更少或更多的多层系统。
除了与下面参照图16到图20描述的附加信号和处理有关的附加特征之外,输入处理器1610和输出处理器1612的操作和功能与结合图1至图15描述的那些基本上类似,并且为了简洁起见将省略详细描述。
除了在图6至图10中描述的操作之外,可以响应于除了来自传感输入数据110和位置信息120的信号之外还从较低层(例如,层1或层2)处的输出处理器1612接收到包括层间输入628的列激活信号,激活多层系统的较高层(例如,层2或层3)处的输入处理器1610中的单元。在一个实施方式中,层间输入628以收敛方式被提供,在收敛方式中,来自较低层处的多个输出处理器1612的层间输入被提供给较高层处的公共输入处理器1610。例如,如图16所示,多层系统1602A的层1处的输出处理器A、B、C将层间输入628提供给多层系统1602A的层2处的公共输入处理器D。类似地,多层系统1602A的层2处的输出处理器E、F、G将层间输入1628提供给层3处的公共输入处理器H。此外,层间输入628也可以被提供给位于比层间输入628源自的层更高的多个层处的输入处理器。例如,如图16所示,层1中的输出处理器I”将层间输入628提供给层3处的输入处理器J。此外,输入处理器1610可以响应于接收到列激活信号而被激活,所述列激活信号包括来自同一级内或不同级处的不同节点处的输出处理器1612的层间输入628。例如,如图16所示,在多层系统1602A的层2处的输出处理器O将层间输入628提供给多层系统1602B的层3处的输出处理器P。可以从来自相同级或不同级处的节点的输出处理器提供层间输入628。
通过跨多个层执行分层处理,其中较高层处的输入处理器1610接收由较低层处的输出处理器1612生成的对象表示,推理系统可以在空间尺度、时间尺度或逻辑尺度的不同层处执行对象的推理和学习。例如,当一组视觉传感器的传感输入数据110是不同尺寸的字母的光学信号时,层1处的推理系统只能识别最小的可辨别尺寸,而可以在层1和层2处的推理系统处识别较大的印刷字母。甚至较大的字母可能太大而无法被层1处的推理系统识别,但可以被层2处的推理系统识别。
输出处理器1612中的单元的组合被激活以表示与传感输入数据相关联的一个或更多个候选对象。具体地,输出处理器1612中的单元基于相应的输入处理器1610中的激活的单元以及该单元接收的其他信号而被激活。在单元处接收的这样的信号包括但不限于:来自同一多层系统的不同层处的输出处理器1612或来自不同的多层系统的输出处理器1623的表决信号、横向间1682信号、横向内信号或反馈信号。在一个实施方式中,除了横向内1682和横向间信号之外,表决信号还包括层间表决信号1664和节点间信号1670。除了图11至图15中描述的操作之外,多层系统的较低层处的输出处理器1612(作为激活的单元的组合)的对象表示可以作为层间输入628被提供给较高层处的输入处理器1610。
输出处理器1612中的单元可以被预测性地激活或者响应于从相同的多层系统中的与同一对象表示相关联的不同层处的输出处理器1612中的单元接收到层间表决信号1664而被激活。层间表决信号1664经由层间表决连接或从同一级处的节点内或不同级处的节点内的不同推理系统被接收,所述层间表决连接是输出处理器1612中的单元的子集与层次结构中不同层处的输出处理器1612中的另一单元的子集之间的用于传输层间表决信号1664的连接。因此,输出处理器1612中表示与不同层处的输出处理器1612中表示的那些对象有共同之处的对象的单元通过层间表决连接而被增强。例如,如图16所示,多层系统1602B的层2处的输出处理器K将层间表决信号提供给多层系统1602A的层1处的输出处理器L。在一个实施方式中,可以在学习过程期间切断或生成单元之间的层间表决连接。
输出处理器1612中的单元可以被预测性地激活或者响应于从不同的多层系统处的与同一对象表示相关联的输出处理器1612中的单元接收到节点间表决信号1670而被激活。节点间表决信号1670经由节点间表决连接而被接收,所述节点间表决连接是输出处理器1612中的单元的子集与不同的多层系统处的输出处理器1612中的其他单元的子集之间的用于传输节点间表决信号1670的连接。因此,输出处理器1612中的表示与在不同的多层系统的各个层处的输出处理器1612中表示的那些对象有共同之处的对象的单元通过节点间表决连接而被增强。例如,如图16所示,多层系统1602B的层2处的输出处理器K将节点间表决信号1670提供给多层系统1602A的输出处理器M、G和N。在一个实施方式中,可以在学习过程期间切断或生成单元之间的层间表决连接。
此外,与结合图4和图11至图15描述的输出处理器412类似,输出处理器1612中的单元可以被预测性地激活,或者输出处理器1612中的单元可以响应于从与同一对象表示相关联的相同层处的输出处理器1612中的单元接收到横向间信号1682或响应于从同一输出处理器1612(图中未示出)中的单元接收到横向内信号而被激活。例如,如图16所示,多层系统1602A的层1处的输出处理器A将横向间信号1682提供给多层系统1602A的输出处理器B。
在一个实施方式中,通过以下操作来学习单元之间的连接:针对对象选择和保持输出处理器1612中的单元的子集的激活;以及基于在对象上的各个位置处的传感输入数据10在输入处理器1610中的单元与输出处理器1612中的单元之间形成连接。具体地,层次结构的各个层处的每个输出处理器1612选择与特定对象对应的用于激活的单元的子集。除了如结合图4描述的那样形成横向内连接和横向间连接之外,输出处理器1612中的激活的单元选择多层系统的不同层处的输出处理器1612中的激活的单元的子集,并且与所选单元的子集形成层间表决连接。输出处理器1612中的激活的单元还选择不同节点的不同多层系统中的激活的单元的子集,并且与所选单元的子集形成节点间连接。
在一个实施方式中,每个层间表决连接和每个节点间连接与指示该连接的频率的持久性值相关联。换言之,层间表决连接的持久性值表示由于通过层间表决连接而连接至激活单元的单元的激活而在输出处理器1612中的单元激活的频率。节点间连接的持久性值表示由于通过节点间连接而连接至激活单元的单元的激活而在输出处理器1612中的单元激活的频率。可以通过学习过程来调整持久性值,以切断现有的横向连接或生成新的横向连接。
随后,针对传感器的输入处理器1610在特定对象上的给定位置处接收传感输入数据110。响应于接收到来自传感输入数据110和位置信息120以及/或者来自层次结构的较低层处的输出处理器1612的激活的单元的列激活信号,层次结构的不同层处的输入处理器1610激活单元的子集。类似于结合图4描述的实施方式,每个推理系统104可以选择接收列激活信号的每个列中的随机单元,并且这些单元与包括在接收到的位置信息120中的位置和/或在层次结构的较低层处的输出处理器1612中的单元的激活状态相关联。所选择的单元被激活。如结合图4所描述的,输入处理器1610中的激活的单元然后可以选择同一推理系统104的相应的输出处理器1612中的单元的子集,并且与所选的单元的子集形成前馈连接和反馈连接。
当传感器感测到对象上的新位置时,学习过程被重复,从而产生新的传感输入数据110和位置信息120。当例如每个传感器已经感测到对象上的一组位置上的传感特征时,针对特定对象完成学习过程。当新对象被学习时,输入处理器1610和输出处理器1612中的单元被去激活,并且针对新对象重复上述过程。
使用多层系统中的推理系统进行推理
图17A是示出根据一个实施方式的使用多层系统中的推理系统104进行推理的方法的流程图。层次结构的各个层处的输入处理器1610从相应的传感器接收1710传感输入数据110,并且激活与传感输入数据110中描述的特征相关联的单元。因此,输入处理器1610中的激活的单元的组合表示与特定特征相关联的候选特征-位置表示的集合。每个输入处理器1610生成单元的激活状态,并且将单元的激活状态作为前馈信号1640提供至同一推理系统104的相应的输出处理器1612中的与输入处理器1610中的激活的单元具有前馈连接的单元。
输出处理器1612基于指示相应的输入处理器1610中的单元的激活状态的前馈信号来激活1714单元。因此,每个输出处理器1612中的激活的单元的集合表示与同一推理系统104的输入处理器1610中的候选特征-位置表示一致的候选对象的集合。输出处理器1612生成单元的激活状态,并且将单元的激活状态作为反馈输入提供至相应的输入处理器1610中的具有至激活的单元的反馈连接的单元。输出处理器1612还以横向间信号、横向内信号、层间表决信号和节点间信号的形式将表决信号提供给同一输出处理器或其他处理器中的单元。输出处理器1612中的接收这些表决信号的单元被预测性地激活1718。
输入处理器1610例如由于传感器的移动而接收1722新位置处的传感输入数据110。输入处理器1610还接收位置信息120,该位置信息120指示基于所确定的传感器从先前位置的位置偏移和/或来自层次结构的较低层处的其他输出处理器1612的层间输入的一组更新的可能位置。输入处理器1610通过以下操作来更新1726单元的激活:将从新的传感输入数据110和/或层间输入获得的列激活信号提供给单元的列。还基于指示同一推理系统104的相应的输出处理器1612中的单元的激活状态的反馈输入来更新单元的激活。因此,输入处理器1610中的激活的单元的集合表示与更新的传感输入数据110和位置信息120以及从较低层处的输出处理器1612传递的候选对象的集合一致的特征-位置表示。输入处理器1610再次将单元的激活状态作为前馈信号提供给相应的输出处理器1612中的单元。
输出处理器1612基于指示相应的输入处理器1610中的单元的激活状态的新的前馈信号来更新1730预测性地激活的单元的激活。因此,输出处理器1612中的激活的单元的集合表示与更新的候选特征-位置表示的集合一致的候选对象以及其他输出处理器1612(包括层次结构的不同层处的输出处理器1612以及与例如不同传感器模态对应的不同多层系统处的输出处理器1612)中的候选对象。如果一个或更多个输出处理器1612中的激活的单元与单个对象匹配,则推理完成。否则,在接收到新位置处的传感输入数据110时,重复该过程以更新表决信号。
与图4中的描述类似,如果输出处理器1612中的激活的单元的预定阈值与给定对象相关联,则输出处理器1612确定激活的单元的子集与对象匹配。
图17A中所示的步骤仅是说明性的。这些步骤中的一个或更多个可以在推理过程的操作期间结合使用、选择性地被选择或被丢弃和/或被改变。例如,这些步骤中的一个或更多个可以并行被执行而不是以特定顺序被执行。
用于推理的连接的学习
图17B是示出根据一个实施方式的学习用于多层系统中的推理的连接的方法的流程图。当单元被激活1750时,输出处理器1612中的单元的子集被选择以表示对象。跨一个或更多个输出处理器1612的激活的单元的组合在被激活时指示对象被检测到。在输出处理器1612中的激活的单元之间形成1754表决连接。表决连接可以包括层间表决连接、节点间连接、横向间连接和横向内连接。
输入处理器1610接收1758与关于对象的分配中心位置相关联的传感输入数据110以及/或者指示层次结构的较低层处的输出处理器1612的激活状态的层间输入。基于从这些输入生成的列激活信号来激活1762输入处理器1610中的单元的子集。在输出处理器1612的激活的单元与相应的输入处理器1610中的所有激活的单元或激活的单元的子集之间形成1766前馈连接和反馈连接。如果没有完成学习过程,则该过程重复以使得传感器接收关于对象的新位置的新的传感输入数据110。
在完成对对象的学习之后,可以通过以下操作来执行对新对象的学习:当所述单元被激活时,激活输出处理器1612中的不同的单元的子集以表示新对象;以及重复如图17B中所示的后续过程。
图17B中所示的步骤仅是说明性的。这些步骤中的一个或更多个可以在学习过程的操作期间结合使用、选择性地被选择或被丢弃和/或被改变。例如,这些步骤中的一个或更多个可以并行地被执行而不是以特定顺序被执行。
多层系统中的输出处理器的示例架构
图18是示出根据一个实施方式的多层系统中的输出处理器1612的详细框图。输出处理器1612可以包括输出生成器1808、单元11至单元Nj的集合(在虚线框中)和信号分配器1818以及其他部件。如先前结合图4所描述的,在一个实施方式中,输出处理器1612的单元可以可选地以列被布置。除了下面提供的附加描述之外,输出处理器1612的操作和功能与结合图11描述的那些基本上类似,并且为了简洁起见将省略详细描述。
输出处理器1612接收指示推理系统104中的相应的输入处理器1610中的单元的激活状态的前馈信号1640。前馈信号1640通过前馈信号1846被馈送到输出处理器1612中的适当单元。输出处理器1612还生成指示输出处理器1612中的单元的激活状态的反馈信号1664。如上面参照图16所描述的,反馈信号1664被馈送到相应的输入处理器1610。
如结合图16所描述的,输出处理器1612从其他输出处理器1612接收和输出表决信号,所述表决信号可以包括但不限于横向信号、层间表决信号1664和节点间信号1670。具体地,输出处理器1612通过层间连接从在不同层处的输出处理器1612中的单元接收作为层间表决输入的层间表决信号1664。输出处理器1612中的激活的单元还通过层间连接将层间表决信号1664作为层间表决输出而输出至其他单元。输出处理器1612通过节点间连接从不同的多层系统处的输出处理器1612中的单元接收作为节点间输入的节点间信号1670。输出处理器1612中的激活的单元还可以通过节点间连接将节点间信号1670作为节点间输出而输出至其他单元。与图11中描述的实施方式类似,输出处理器1612还可以接收和输出横向信号,所述横向信号包括横向间信号1682和横向内信号1684。在一个实施方式中,输出处理器1612可以从任何地方的任何其他部件接收表决信号,只要该部件也识别或表示相同的对象即可。
与结合图11描述的输出处理器1612不同,响应于接收到包括横向信号、层间表决信号1664和节点间信号1670的表决信号,输出处理器1612中的单元可以变为预测的(即,被置于预测的状态)。一旦输出处理器1612中的单元是预测性激活的,则单元可以在预定的时间长度内保持其预测的状态。
输出处理器1612中的接收表决信号的单元可以变为预测的。接收前馈信号的预测的单元可以被激活。在一个实例中,与不是预测性激活的并且变为激活的单元相比,是预测性激活的并且变为激活的单元在更长的时间段内被激活。以这种方式,输出处理器1612中的与相应的输入处理器1610中形成的特征-位置表示以及其他层和其他多层系统处的输出处理器中的候选对象一致的单元的子集被激活。通常,输出处理器中的与正在被检测的对象相关联的单元更可能通过至与该对象相关联的其他单元的表决连接而成为预测性激活的。随着时间的推移,响应于接收到指示存在与对象相关联的特征-位置表示的前馈信号1640,进而激活这些单元。因此,在针对推理系统104迭代更新输入处理器1610和输出处理器1612中的单元的激活状态的过程之后,与对象相关联的单元的子集将保持是激活的。在一个实施方式中,即使在不存在任何前馈信号的情况下,输出处理器1612中接收足够强的表决信号的单元也可以变为激活的。
在一个实施方式中,如果处于预测的状态的单元由于通过表决信号发送的横向信号而成为预测性激活的并且前馈信号导致单元的正确激活,则关于至输出处理器1612中的激活的单元的横向连接的持久性值增加,而关于至输出处理器1612中的未激活单元的连接的持久性值减小。另一方面,如果处于预测的状态的单元之后没有单元的激活,则关于至输出处理器1612中的激活的单元的表决连接的持久性值减小。如果关于连接的持久性值降低至阈值以下,则可能会切断连接。以这种方式,输出处理器1612中的具有低持久性值的单元之间的连接不再有助于单元的激活。
继续该示例,如果列中没有单元当前处于预测的状态,则接收前馈信号1846的单元被激活。例如,如果列中没有单元当前处于预测的状态,则列中的所有单元可以被激活。
单元单独地或作为列共同地将合并输出1820发送至输出生成器1808。与结合图11描述的合并输出1120类似,合并输出1820标识单元的状态。在一个实施方式中,输出生成器1808从单元收集合并输出1820并将这些输出连接成向量。在一个实施方式中,输出生成器1808生成连接的向量,并将处理器输出1822作为层间输入628提供给多层系统的不同层处的输入处理器1610,使得它们可以作为列激活信号与传感输入数据110一起被提供给单元的列。例如,输出处理器1612的列1和列N中的任何单元的激活可以作为层间输入628并且最终作为列激活信号被提供给下一层处的输入处理器1610的列。在另一个实施方式中,输出生成器1808生成连接的向量作为表示对象的输出。推理系统104确定处理器输出1822中指示的激活的单元的集合是否与已知的对象表示匹配,并生成候选对象的集合。
多层系统中的输出处理器中的单元的示例图
图19是示出根据一个实施方式的与输出处理器1612中的单元1990相关联的信号的概念图。如参照图18所讨论的,单元1990接收各种表决输入。具体地,单元1990接收指示层次结构中的同一层处的其他输出处理器1612中的单元的激活的横向间输入1684A以及指示同一输出处理器1612中的单元的激活的横向内输入1682A。单元1990还接收指示在层次结构的不同层处的其他输出处理器1612中的单元的激活的层间表决输入1664A。单元1990还接收指示不同的多层系统处的输出处理器1612中的单元的激活的节点间输入1670A。如参照图18所讨论的,当单元1990接收表决输入时,单元1990可以变为预测性激活的。单元1990还接收具有到单元1990的前馈连接的前馈信号1640,该前馈信号1640指示相应的输入处理器1610中的单元的激活。
响应于激活,单元1990还生成至通过横向内连接而连接的单元的横向内输出1684B、至通过横向内连接而连接的单元的横向间输出1682B、至通过节点间连接而连接的单元的节点间输出1670B以及至通过层间表决连接而连接的单元的层间表决输出1664B。如结合图18所描述的,单元1990还可以生成合并输出1820,该合并输出1820可以作为层间输入628被提供给另一输入处理器1610或被表示为对象输出。
在一个实施方式中,单元1990在以下情况下被激活:当(i)单元1990处于预测的状态并接收前馈信号1640时;以及/或者(ii)单元1990不处于预测的状态但仍然响应于前馈信号1640而被选择用于激活。响应于被激活,单元1990可以将指示其激活状态的反馈信号1660提供给具有至单元1990的反馈连接的相应的输入处理器1610中的单元。
除了单元1990包括用于接收附加表决信号的监测器以及单元激活预测器考虑与这些附加表决信号相关联的命中信号以激活单元1990之外,单元1990的结构与图9中所示的单元790的结构类似。
多层系统中的单元的示例操作和功能
图20示出根据一个实施方式的多层系统中的单元的示例操作和功能。图20中的示例示出多层系统的两层中的推理系统104。具体地,推理系统104A1在多层系统的层1处,推理系统104A2在多层系统的层2处。推理系统104A1包括输入处理器1610A1和相应的输出处理器1612A1以及其他部件,推理系统104A2包括输入处理器1610A2和相应的输出处理器1612A2。然而,图20仅是说明,并且在实践中,可能存在附加的分层的层以及更少或更多数量的推理系统104和多层系统。
输入处理器1610A1、1610A2接收传感输入数据110A。特别地,可以从传感器获得传感输入数据110A。由于输入处理器1610A2在比输出处理器1612A1更高的层处,因此输入处理器1610A2也可以基于输出处理器1612A1中的单元的激活来接收层间输入628。此外,层间输入628可以以聚合方式被提供给输入处理器1610A2,在该聚合方式中,来自下层处的多个输出处理器1612(例如,图16的层1处的输出处理器B、输出处理器C)的层间输入628被提供给输入处理器1610A2(例如,图16的层2中的输入处理器D)。基于所接收的传感输入数据110和/或层间输入628,生成与输入处理器1610中的单元的列对应的列激活信号1640,并且列激活信号1640被用来激活输入处理器1610中的单元。输入处理器1610A1中的单元的激活状态被提供给输出处理器1612A1中的单元的子集,并且输入处理器1610-A2中的单元的激活状态作为前馈信号被提供给输出处理器1612A2中的单元的子集。
如图20所示,输出处理器1612A1和输出处理器1612A2均具有NA列单元。响应于从其他输出处理器1612中的激活的单元接收表决输入,输出处理器1612的单元被置于预测的状态。如图20所示,响应于从不同的多层系统的输出处理器1612中的激活的单元接收到节点间输入1670,输出处理器1612A1中的单元P和输出处理器1612A2中的单元Q被置于预测的状态。响应于从多层系统的不同层处的输出处理器1612中的单元接收到层间表决输入1664,输出处理器1612A1中的单元R被置于预测的状态。
响应于从相应的输入处理器1610-A1和1610-A2中的激活的单元接收到列激活信号1640,输出处理器1612A1和1612A2中的单元被置于激活的状态。具体地,输出处理器1612-A1中的单元S和输出处理器1612-A2中的单元T接收前馈输入1640并且被置于激活的状态。如结合图18所描述的,如果输出处理器1612中的单元被置于预测的状态并且在下一时间段接收到前馈输入1640,则输出处理器1612中的单元可以变为激活的。例如,单元S和单元T可能已经处于预测的状态,并且响应于接收到前馈输入1640而在当前时间段被置于激活状态。替选地,如果没有单元处于预测的状态,则输出处理器1612中的接收到前馈输入1640的所有单元或单元的子集可以被置于激活的状态。
输出处理器1612A1和1612A2的激活状态被生成为处理器输出1822。特别地,来自输出处理器1612A1的处理输出1822指示输出处理器1612A1中的单元的激活状态并且作为层间输入628被提供给输入处理器1610A2。来自输出处理器1612A2的处理输出1822指示输出处理器1612A2中的单元的激活状态,并且可以作为层间输入628被提供给在层次结构中的较高层处的另一输入处理器1610,或者来自输出处理器1612A2的处理输出1822可以被生成为对象输出。
图21是根据实施方式的用于实现推理系统的计算设备2100的框图。计算设备2100可以包括处理器2102、存储器2106、输入接口2110、输出接口2114、网络接口2118、连接这些部件的总线2120以及其他部件。处理器2102检索并执行存储在存储器2106中的命令。存储器2106存储软件组件,所述软件组件包括例如用于实例化和执行如本文中描述的节点的操作系统和模块。输入接口2110接收来自外部源的数据,例如传感器数据或动作信息。输出接口2114是用于以各种形式(例如,图像信号或音频信号)提供计算结果的部件。网络接口2118使得计算设备2100能够通过网络与其他计算设备进行通信。当在多个计算设备中实现多个节点或单个节点的组件时,可以经由网络接口2118在计算设备之间传送与时间排序、空间合并和节点的管理相关联的信息。
在阅读本公开内容之后,本领域技术人员将理解用于处理节点的其他可替选设计。因此,虽然已经示出和描述了特定实施方式和应用,但是应当理解的是,本发明不限于本文中公开的精确构造和部件,并且在不脱离本公开内容的精神和范围的情况下,可以在本文中公开的方法和装置的布置、操作和细节方面进行对本领域技术人员而言将明显的各种修改、改变和变化。
Claims (27)
1.一种使用多个推理系统来执行推理的计算机实现的方法,包括:
由多层系统的第一层处的第一推理系统中的第一输入处理器通过对第一传感输入进行处理来生成第一输入表示,所述第一传感输入指示第一位置和正在被检测的所述第一位置处的第一特征的第一对的可能性;
由所述第一推理系统中的第一输出处理器通过对所述第一输出表示进行处理来确定与所述第一输入表示相对应的第一输出表示,所述第一输出表示指示与所述第一对相关联的第一组候选;
由所述多层系统的高于所述第一层的第二层处的第二推理系统中的第二输入处理器通过对所述第一输出表示进行处理来生成与所述第一输出处理器的至少第一输出表示相对应的第二输入表示;以及
由所述第二推理系统中的第二输出处理器通过对所述第二输入表示进行处理来确定与所述第二输入表示相对应的第二输出表示,所述第二输出表示指示可能与至少所述第一对相关联的第二组候选。
2.根据权利要求1所述的计算机实现的方法,其中,从第一传感器接收所述第一传感输入,其中,通过对所述第一传感输入进行进一步处理来生成所述第一输入表示,并且其中,通过在所述第二输入处理器处对所述第一传感输入进行进一步处理来生成所述第二输入表示。
3.根据权利要求2所述的计算机实现的方法,其中,通过对从第二传感器接收的第二传感输入进行处理来激活第三推理系统中的单元的子集,所述第二传感器的模态与所述第一传感器的模态不同。
4.根据权利要求1所述的计算机实现的方法,还包括:
由所述第一层处的第三推理系统中的第三输入处理器通过对第二传感输入进行处理来生成第三输入表示,所述第二传感输入指示第二特征和与所述第二特征相对应的第二位置的第二对的可能性;
由所述第三推理系统中的第三输出处理器确定与所述第三输入表示相对应的第三输出表示,所述第三输出表示指示可能与所述第二对相关联的第三组候选,
其中,所述第一输出表示是所述第一输出处理器中的输出单元的子集的激活状态,所述第三输出表示是所述第三输出处理器中的输出单元的子集的激活状态,并且其中,通过对至少所述第一输出表示中的输出单元的子集的激活状态和所述第三输出表示中的输出单元的子集的激活状态进行处理来生成所述第二层处的第二输入表示。
5.根据权利要求1所述的计算机实现的方法,其中,所述第一输出表示是所述第一输出处理器中的输出单元的子集的激活状态,并且其中,所述第二输出表示是所述第二输出处理器中的输出单元的子集的激活状态。
6.根据权利要求5所述的计算机实现的方法,还包括:
将所述第一输出处理器中的输出单元的子集的激活状态发送至所述第二输入处理器中的输入单元的列,以生成所述第二输入表示。
7.根据权利要求5所述的计算机实现的方法,还包括:
激活第三推理系统中的单元的子集;以及
将第三输出处理器中的单元的子集的激活状态发送至所述第一输出处理器或所述第二输出处理器的输出单元中的一个或更多个,所述第一输出处理器或所述第二输出处理器中的输出单元中的一个或更多个的激活还基于所述第三推理系统中的单元的子集的激活状态。
8.根据权利要求7所述的计算机实现的方法,其中,所述第三推理系统被包括在与所述多层系统不同的另一多层系统中。
9.根据权利要求1所述的计算机实现的方法,其中,通过对第三推理系统中的输出单元的激活状态进行进一步处理来确定所述第一输出表示。
10.根据权利要求9所述的计算机实现的方法,其中,所述第三推理系统在除了所述第一级之外的级处。
11.根据权利要求1所述的计算机实现的方法,其中,通过以下操作来确定所述第二输出表示:对在除了所述第二级之外的级处的第三推理系统中的输出单元的激活状态进行进一步处理。
12.根据权利要求11所述的计算机实现的方法,其中,所述第三推理系统在除了所述第二级之外的级处。
13.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质包括指令,所述指令在由处理器执行时,使所述处理器将执行推理的方法实例化,所述方法包括:
由多层系统的第一层处的第一推理系统中的第一输入处理器通过对第一传感输入进行处理来生成第一输入表示,所述第一传感输入指示第一位置和正在被检测的所述第一位置处的第一特征的第一对的可能性;
由所述第一推理系统中的第一输出处理器通过对所述第一输出表示进行处理来确定与所述第一输入表示相对应的第一输出表示,所述第一输出表示指示与所述第一对相关联的第一组候选;
由所述多层系统的高于所述第一层的第二层处的第二推理系统中的第二输入处理器通过对所述第一输出表示进行处理来生成与至少所述第一输出处理器的第一输出表示相对应的第二输入表示;以及
由所述第二推理系统中的第二输出处理器通过对所述第二输入表示进行处理来确定与所述第二输入表示相对应的第二输出表示,所述第二输出表示指示可能与至少所述第一对相关联的第二组候选。
14.根据权利要求13所述的非暂态计算机可读存储介质,其中,从第一传感器接收所述第一传感输入,其中,通过对所述第一传感输入进行进一步处理来生成所述第一输入表示,并且其中,通过在所述第二输入处理器处对所述第一传感输入进行进一步处理来生成所述第二输入表示。
15.根据权利要求14所述的非暂态计算机可读存储介质,其中,通过对从第二传感器接收的第二传感输入进行处理来激活所述第三推理系统中的单元的子集,所述第二传感器的模态与所述第一传感器的模态不同。
16.根据权利要求13所述的非暂态计算机可读存储介质,还包括:
由所述第一层处的第三推理系统中的第三输入处理器通过对第二传感输入进行处理来生成第三输入表示,所述第二传感输入指示第二特征和与所述第二特征相对应的第二位置的第二对的可能性;
由所述第三推理系统中的第三输出处理器确定与所述第三输入表示相对应的第三输出表示,所述第三输出表示指示可能与所述第二对相关联的第三组候选,
其中,所述第一输出表示是所述第一输出处理器中的输出单元的子集的激活状态,所述第三输出表示是所述第三输出处理器中的输出单元的子集的激活状态,并且其中,通过对至少所述第一输出表示中的输出单元的子集的激活状态和所述第三输出表示中的输出单元的子集的激活状态进行处理来生成所述第二层处的第二输入表示。
17.根据权利要求13所述的非暂态计算机可读存储介质,其中,所述第一输出表示是所述第一输出处理器中的输出单元的子集的激活状态,并且其中,所述第二输出表示是所述第二输出处理器中的输出单元的子集的激活状态。
18.根据权利要求17所述的非暂态计算机可读存储介质,还包括:
将所述第一输出处理器中的输出单元的子集的激活状态发送至所述第二输入处理器中的输入单元的列,以生成所述第二输入表示。
19.根据权利要求17所述的非暂态计算机可读存储介质,还包括:
激活第三推理系统中的单元的子集;以及
将所述第三输出处理器中的单元的子集的激活状态发送至所述第一输出处理器或所述第二输出处理器的输出单元中的一个或更多个,所述第一输出处理器或所述第二输出处理器中的输出单元中的一个或更多个的激活还基于所述第三推理系统中的单元的子集的激活状态。
20.根据权利要求19所述的非暂态计算机可读存储介质,其中,所述第三推理系统被包括在与所述多层系统不同的另一多层系统中。
21.根据权利要求13所述的非暂态计算机可读存储介质,其中,通过对第三推理系统中的输出单元的激活状态进行进一步处理来确定所述第一输出表示。
22.根据权利要求21所述的非暂态计算机可读存储介质,其中,所述第三推理系统在除了所述第一级之外的级处。
23.根据权利要求13所述的非暂态计算机可读存储介质,其中,通过以下操作来确定所述第二输出表示:对第三推理系统中的除了所述第二级之外的级处的输出单元的激活状态进行进一步处理。
24.根据权利要求23所述的非暂态计算机可读存储介质,其中,所述第三推理系统在除了所述第二级之外的级处。
25.一种计算设备,包括:
在多层系统的第一层处的第一推理系统的第一输入电路,所述第一输入电路被配置成通过对第一传感输入进行处理来生成第一输入表示,所述第一传感输入指示第一位置和正在被检测的所述第一位置处的第一特征的第一对的可能性;
所述第一推理系统的耦接至所述第一输入电路的第一输出电路,所述第一输出电路被配置成通过对所述第一输出表示进行处理来确定与所述第一输入表示相对应的第一输出表示,所述第一输出表示指示与所述第一对相关联的第一组候选;
在所述多层系统的高于所述第一层的第二层处的第二推理系统的第二输入电路,所述第二输入电路被配置成通过对所述第一输出表示进行处理来生成与至少所述第一输出处理器的第一输出表示相对应的第二输入表示;以及
所述第二推理系统的第二输出电路,所述第二输出电路被配置成通过对所述第二输入表示进行处理来确定与所述第二输入表示相对应的第二输出表示,所述第二输出表示指示可能与至少所述第一对相关联的第二组候选。
26.根据权利要求25所述的计算设备,其中,由第一传感器生成所述第一传感输入,其中,所述第一输入电路还被配置成通过对所述第一传感输入进行进一步处理来生成所述第一输入表示,并且其中,所述第二输入电路还被配置成:通过在所述第二输入处理器处对所述第一传感输入进行进一步处理来生成所述第二输入表示。
27.根据权利要求25所述的计算设备,还包括:
在所述第一层处的第三推理系统的第三输入电路,所述第三输入电路被配置成通过对第二传感输入进行处理来生成第三输入表示,所述第二传感输入指示第二特征和与所述第二特征相对应的第二位置的第二对的可能性;
所述第三推理系统的耦接至所述第三输入电路的第三输出电路,所述第三输出电路被配置成确定与所述第三输入表示相对应的第三输出表示,所述第三输出表示指示可能与所述第二对相关联的第三组候选,
其中,所述第一输出表示是所述第一输出电路中的输出单元的子集的激活状态,所述第三输出表示是所述第三输出电路中的输出单元的子集的激活状态,并且其中,通过对至少所述第一输出表示中的输出单元的子集的激活状态和所述第三输出表示中的输出单元的子集的激活状态进行处理来生成所述第二层处的第二输入表示。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/268,148 | 2019-02-05 | ||
US16/268,148 US11100414B2 (en) | 2016-05-13 | 2019-02-05 | Inferencing and learning based on sensorimotor input data |
PCT/US2020/014670 WO2020163088A1 (en) | 2019-02-05 | 2020-01-22 | Inferencing and learning based on sensorimotor input data |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113412490A true CN113412490A (zh) | 2021-09-17 |
Family
ID=71947849
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080012804.7A Pending CN113412490A (zh) | 2019-02-05 | 2020-01-22 | 基于感觉运动输入数据的推理和学习 |
Country Status (3)
Country | Link |
---|---|
CN (1) | CN113412490A (zh) |
DE (1) | DE112020000681T5 (zh) |
WO (1) | WO2020163088A1 (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1417700A (zh) * | 2001-10-18 | 2003-05-14 | 微软公司 | 多层图形处理系统和方法 |
US20070005531A1 (en) * | 2005-06-06 | 2007-01-04 | Numenta, Inc. | Trainable hierarchical memory system and method |
US20140333775A1 (en) * | 2013-05-10 | 2014-11-13 | Robert Bosch Gmbh | System And Method For Object And Event Identification Using Multiple Cameras |
US9098741B1 (en) * | 2013-03-15 | 2015-08-04 | Google Inc. | Discriminitive learning for object detection |
US20170286846A1 (en) * | 2016-04-01 | 2017-10-05 | Numenta, Inc. | Feedback mechanisms in sequence learning systems with temporal processing capability |
CN107251059A (zh) * | 2015-03-24 | 2017-10-13 | 赫尔实验室有限公司 | 用于深度学习的稀疏推理模块 |
US20170330091A1 (en) * | 2016-05-13 | 2017-11-16 | Numenta, Inc. | Inferencing and learning based on sensorimotor input data |
CN107430678A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 使用高斯接收场特征的低成本面部识别 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8705793B2 (en) * | 2009-10-08 | 2014-04-22 | University Of Southern California | Object tracking by hierarchical association of detection responses |
US10733436B2 (en) * | 2017-03-24 | 2020-08-04 | Numenta, Inc. | Location processor for inferencing and learning based on sensorimotor input data |
-
2020
- 2020-01-22 CN CN202080012804.7A patent/CN113412490A/zh active Pending
- 2020-01-22 DE DE112020000681.6T patent/DE112020000681T5/de active Pending
- 2020-01-22 WO PCT/US2020/014670 patent/WO2020163088A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1417700A (zh) * | 2001-10-18 | 2003-05-14 | 微软公司 | 多层图形处理系统和方法 |
US20070005531A1 (en) * | 2005-06-06 | 2007-01-04 | Numenta, Inc. | Trainable hierarchical memory system and method |
US9098741B1 (en) * | 2013-03-15 | 2015-08-04 | Google Inc. | Discriminitive learning for object detection |
US20140333775A1 (en) * | 2013-05-10 | 2014-11-13 | Robert Bosch Gmbh | System And Method For Object And Event Identification Using Multiple Cameras |
CN107251059A (zh) * | 2015-03-24 | 2017-10-13 | 赫尔实验室有限公司 | 用于深度学习的稀疏推理模块 |
CN107430678A (zh) * | 2015-03-27 | 2017-12-01 | 英特尔公司 | 使用高斯接收场特征的低成本面部识别 |
US20170286846A1 (en) * | 2016-04-01 | 2017-10-05 | Numenta, Inc. | Feedback mechanisms in sequence learning systems with temporal processing capability |
US20170330091A1 (en) * | 2016-05-13 | 2017-11-16 | Numenta, Inc. | Inferencing and learning based on sensorimotor input data |
Also Published As
Publication number | Publication date |
---|---|
WO2020163088A1 (en) | 2020-08-13 |
DE112020000681T5 (de) | 2021-11-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109478241B (zh) | 执行推理的计算机实现的方法、存储介质及计算设备 | |
US12093847B2 (en) | Temporal processing scheme and sensorimotor information processing | |
US11966831B2 (en) | Feedback mechanisms in sequence learning systems with temporal processing capability | |
US11657278B2 (en) | Location processor for inferencing and learning based on sensorimotor input data | |
US11087227B2 (en) | Anomaly detection in spatial and temporal memory system | |
US9159021B2 (en) | Performing multistep prediction using spatial and temporal memory system | |
EP2548096A1 (en) | Temporal memory using sparse distributed representation | |
US20200380338A1 (en) | Information processing system, inference method, attack detection method, inference execution program and attack detection program | |
JP2020154386A (ja) | 情報処理方法及び情報処理装置 | |
US10776687B2 (en) | Union processing of sequences of patterns | |
US12094192B2 (en) | Inferencing and learning based on sensorimotor input data | |
Rawashdeh et al. | Efficient credit card fraud detection using evolutionary hybrid feature selection and random weight networks | |
CN113412490A (zh) | 基于感觉运动输入数据的推理和学习 | |
EP4268132A1 (en) | Method and device for data abnormality detection | |
CN113168571A (zh) | 用于训练神经网络的方法 | |
KR20240057849A (ko) | 광학 코드에 기초한 객체 인식 시스템 | |
Pérez-Godoy et al. | CO RBFN-CS: First Approach Introducing Cost-Sensitivity in the Cooperative-Competitive RBFN Design |
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 |