Temporal memory using sparse distributed representation
First Claim
1. A processing node in a computing device, comprising:
- a processor;
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, each spatial pooler output having a plurality of output elements and in sparse distributed representation to indicate that a subset of the output elements is active, each active output element of the spatial pooler output indicating detection of one of a plurality of spatial pattern in the input signal at a time; and
a sequence processor comprising a plurality of groups of cells that are selectively activated responsive to receiving the series of spatial pooler outputs, the sequence processor configured to generate a sequence processor output based on activation of each cell in the groups, each cell in each of the groups activated based at least on;
(a) activation of one of the output elements associated with each of the groups; and
(b) predictive activation of each cell in the groups connected to a subset of other cells in the groups, the predictive activation of each cell based on comparison of (i) activation of the subset of other cells connected to each cell at a first time after a second time and (ii) activation of the subset of other cells at the second time when each cell previously became activated.
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.
112 Citations
58 Claims
-
1. A processing node in a computing device, comprising:
-
a processor; 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, each spatial pooler output having a plurality of output elements and in sparse distributed representation to indicate that a subset of the output elements is active, each active output element of the spatial pooler output indicating detection of one of a plurality of spatial pattern in the input signal at a time; and a sequence processor comprising a plurality of groups of cells that are selectively activated responsive to receiving the series of spatial pooler outputs, the sequence processor configured to generate a sequence processor output based on activation of each cell in the groups, each cell in each of the groups activated based at least on; (a) activation of one of the output elements associated with each of the groups; and (b) predictive activation of each cell in the groups connected to a subset of other cells in the groups, the predictive activation of each cell based on comparison of (i) activation of the subset of other cells connected to each cell at a first time after a second time and (ii) activation of the subset of other cells at the second time when each cell previously became activated. - 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, 57)
-
-
29. 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, each spatial pooler output having a plurality of output elements and in sparse distributed representation to indicate that a subset of the output elements is active, each active output element of the spatial pooler output indicating detection of one of a plurality of spatial patterns in the input signal at a time; selectively activating each cell in each of groups of cells in a sequence processor based at least on; (a) activation of one of the output elements associated with each of the groups; and (b) predictive activation of each cell in the groups connected to a subset of other cells in the groups, the predictive activation of each cell based on comparison of (i) activation of the subset of other cells connected to each cell at a first time after a second time and (ii) activation of the subset of other cells at the second time when each cell previously became activated; and at the sequence processor, generating a sequence processor output based on activation of each cell in the groups. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 58)
-
-
56. A non-transitory 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, each spatial pooler output having a plurality of output elements and in sparse distributed representation to indicate that a subset of the output elements is active, each active output element of the spatial pooler output indicating detection of one of a plurality of spatial patterns in the input signal at a time; selectively activate each cell in each of groups of cells in a sequence processor based at least on; (a) activation of one of the output elements associated with each of the groups; and (b) predictive activation of each cell in the groups connected to a subset of other cells in the groups, the predictive activation of each cell based on comparison of (i) activation of the subset of other cells connected to each cell at a first time after a second time and (ii) activation of the subset of other cells at the second time when each cell previously became activated; and generate a sequence processor output based on activation of each cell in the groups.
-
Specification