TEMPORAL MEMORY USING SPARSE DISTRIBUTED REPRESENTATION
First Claim
1. A processing node in a computing device, comprising:
- a spatial pooler configured to;
detect spatial patterns in an input signal, the spatial patterns in the input signal changing over time; and
generate a series of spatial pooler outputs in sparse distributed representation, each spatial pooler output indicating the detected spatial patterns at a time; and
a sequence processor configured to;
associate temporal sequences of the detected spatial patterns by storing temporal relationships between the series of spatial pooler outputs; and
generate a sequence processor output based on the stored temporal relationships between the series of spatial pooler outputs.
1 Assignment
0 Petitions
Accused Products
Abstract
A processing node in a temporal memory system includes a spatial pooler and a sequence processor. The spatial pooler generates a spatial pooler signal representing similarity between received spatial patterns in an input signal and stored co-occurrence patterns. The spatial pooler signal is represented by a combination of elements that are active or inactive. Each co-occurrence pattern is mapped to different subsets of elements of an input signal. The spatial pooler signal is fed to a sequence processor receiving and processed to learn, recognize and predict temporal sequences in the input signal. The sequence processor includes one or more columns, each column including one or more cells. A subset of columns may be selected by the spatial pooler signal, causing one or more cells in these columns to activate.
145 Citations
60 Claims
-
1. A processing node in a computing device, comprising:
-
a spatial pooler configured to; detect spatial patterns in an input signal, the spatial patterns in the input signal changing over time; and generate a series of spatial pooler outputs in sparse distributed representation, each spatial pooler output indicating the detected spatial patterns at a time; and a sequence processor configured to; associate temporal sequences of the detected spatial patterns by storing temporal relationships between the series of spatial pooler outputs; and generate a sequence processor output based on the stored temporal relationships between the series of spatial pooler outputs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method of detecting and processing sequences of spatial patterns in an input, comprising:
-
at a spatial pooler, detecting spatial patterns in an input signal, the spatial patterns in the input signal changing over time; at the spatial pooler, generating a series of spatial pooler outputs in sparse distributed representation, each spatial pooler output indicating the detected spatial patterns at a time; at a sequence processor, associating temporal sequences of the detected spatial patterns by storing temporal relationships between the series of spatial pooler outputs; and at the sequence processor, generating a sequence processor output based on the stored temporal relationships between the series of spatial pooler outputs. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59)
-
-
60. A computer readable storage medium structured to store instructions executable by a processor in a computing device, the instructions, when executed cause the processor to:
-
detect spatial patterns in an input signal, the spatial patterns in the input signal changing over time; generate a series of spatial pooler outputs in sparse distributed representation, each spatial pooler output indicating the detected spatial patterns at a time; associate temporal sequences of the detected spatial patterns by storing temporal relationships between the series of spatial pooler outputs; and generate a sequence processor output based on the stored temporal relationships between the series of spatial pooler outputs.
-
Specification