IP Library › Granted Patent US 10,275,720
Granted Patent B2
US 10,275,720 · App. 14/880,034 · Granted Apr 30, 2019

Temporal memory using sparse distributed representation

Inventors: Jeffrey C. Hawkins (Atherton, CA); Ronald Marianetti, II (Campbell, CA); Anosh Raj (Palo Alto, CA); Subutai Ahmad (Palo Alto, CA)
Assignee: NUMENTA, INC.
G06N20/00G06N3/049G06N3/0472G06N7/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,275,720
App. No.
14/880,034
Granted
Apr 30, 2019
Kind
B2
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.

Claims (66)

1. A method of processing time variant input data, comprising:

responsive to activation of a first cell at a first time, detecting activation states of cells connected to the first cell;

storing the detected activation states of at least a subset of cells connected to the first cell in association with the first cell;

detecting activation states of at least the subset of cells connected to the first cell at a second time subsequent to the first time;

activating the first cell based at least on the detected activation states of the at least the subset of cells at the second time; and

inhibiting activation of cells in a predetermined relationship to the first cell responsive to the activation of the first cell.

2. The method of claim 1 , further comprising generating an output indicating activations of cells including the first cell, wherein the output is generated simultaneously with the storing of the detected activation states for the subset of cells.

3. The method of claim 1 , further comprising:

preprocessing the input data; and

activating the first cell responsive to determining that the preprocessed input data indicates activation of a group of cells including the first cell.

4. The method of claim 3 , wherein the processed input data is in sparse distributed representation.

5. The method of claim 4 , wherein the preprocessed input data includes a plurality of elements, each of the elements corresponding to a group of cells and indicating activation of at least one cell in the group.

6. The method of claim 3 , wherein the preprocessing of the input data comprises:

determining a match score for each co-occurrence detector based on values of elements in the input data mapped to each co-occurrence detector;

comparing match scores of co-occurrence detectors; and

setting each element in the preprocessed input data corresponding to each co-occurrence detector as active or inactive based on the match scores.

7. The method of claim 6 , further comprising:

adjust a permanence value for each potential mapping of an element in the input signal to the co-occurrence detector, the permanence value representing whether mapping of an element to the co-occurrence detector will contribute to the selection of the co-occurrence detector; and

replace potential mapping of an element with assigned mapping of another element in the input signal to the co-occurrence detector responsive to a permanence value of the potential mapping exceeding a threshold.

8. The method of claim 7 , wherein each assigned mapping of an element to a co-occurrence detector has a permanence value that is reduced by a decay function over time unless each assigned mapping contributes to the selection of the co-occurrence detector.

9. The method of claim 1 , further comprising:

determining which of the subset of cells connected to the first cell are active responsive to activation of the first cell at a third time subsequent to the first time;

adjusting a permanence value for each of the subset of cells relative to the first cell based on activation of each of the subset of cells at the third time;

adjusting a permanence value for a potential connection of a third cell to the first cell responsive to detecting activation of the third cell at the third time; and

replacing one of the subset of cells with the third cell responsive to the permanence value for the third cell exceeding a threshold.

10. The method of claim 9 , wherein a permanence value for each of the subset of cells is reduced by a decay function over time unless each of the subset of cells contributes to the activation of the first cell.

11. The method of claim 1 , wherein the cells in the predetermined relationship to the first cell are within a distance from the first cell.

12. The method of claim 1 , wherein the first cell is activated at the second time responsive to a threshold number or percentage of cells connected to the first cell being activated.

13. The method of claim 12 , wherein the threshold number or percentage is dynamically adjusted.

14. A non-transitory computer readable storage medium storing instructions thereon, the instructions when executed by a processor cause the processor to:

responsive to activation of a first cell at a first time, detect activation states of cells connected to the first cell;

store the detected activation states of at least a subset of cells connected to the first cell in association with the first cell;

detect activation states of at least the subset of cells connected to the first cell at a second time subsequent to the first time;

activate the first cell based at least on the detected activation states of the at least the subset of cells at the second time; and

inhibit activation of cells in a predetermined relationship to the first cell responsive to the activation of the first cell.

15. The non-transitory computer readable storage medium of claim 14 , further comprising instructions that cause the processor to generate an output indicating activations of cells including the first cell, wherein the output is generated simultaneously with the storing of the detected activation states of the subset of cells.

16. The non-transitory computer readable storage medium of claim 14 , further comprising instructions that cause the processor to:

preprocess the input data; and

activate the first cell responsive to determining that the preprocessed input data indicates activation of a group of cells including the first cell.

17. The non-transitory computer readable storage medium of claim 16 , wherein the processed input data is in sparse distributed representation.

18. The non-transitory computer readable storage medium of claim 17 , wherein the preprocessed input data includes a plurality of elements, each of the elements corresponding to a group of cells and indicating activation of at least one cell in the group.

19. The non-transitory computer readable storage medium of claim 16 , wherein instructions to preprocess the input data comprises instructions to:

determine a match score for each co-occurrence detector based on values of elements in the input data mapped to each co-occurrence detector;

compare match scores of co-occurrence detectors; and

set each element in the preprocessed input data corresponding to each co-occurrence detector as active or inactive based on the match scores.

20. The non-transitory computer readable storage medium of claim 19 , further comprising instructions to:

adjust a permanence value for each potential mapping of an element in the input data to the co-occurrence detector responsive to receiving the input data, the permanence value representing whether mapping of an element to the co-occurrence detector will contribute to the selection of the co-occurrence detector; and

replace potential mapping of an element with assigned mapping of another element in the input data to the co-occurrence detector responsive to a permanence value of the potential mapping exceeding a threshold.

21. The non-transitory computer readable storage medium of claim 20 , wherein each assigned mapping of an element to a co-occurrence detector has a permanence value that is reduced by a decay function over time unless each assigned mapping contributes to the selection of the co-occurrence detector.

22. The non-transitory computer readable storage medium of claim 14 , further comprising instructions to:

determining which of the subset of cells connected to the first cell are active responsive to activation of the first cell at a third time subsequent to the first time;

adjusting a permanence value for each of the subset of cells relative to the first cell based on activation of each of the subset of cells at the third time;

adjusting a permanence value for a potential connection of a third cell to the first cell responsive to detecting activation of the third cell at the third time; and

replacing one of the subset of cells with the third cell responsive to the permanence value for the third cell exceeding a threshold.

23. The non-transitory computer readable storage medium of claim 22 , wherein a permanence value for each of the subset of cells is reduced by a decay function over time unless each of the subset of cells contributes to the activation of the first cell.

24. The non-transitory computer readable storage medium of claim 14 , wherein the cells in the predetermined relationship to the first cell are within a distance from the first cell.

25. The non-transitory computer readable storage medium of claim 24 , wherein the first cell is activated at the second time responsive to a threshold number or percentage of cells connected to the first cell being activated.

26. The non-transitory computer readable storage medium of claim 25 , wherein the threshold number or percentage is dynamically adjusted.

27. An apparatus for processing time variant input data, comprising:

a processor;

a sequence signal monitor configured to:

detect activation states of cells connected to a first cell responsive to activation of the first cell at a first time, and

detect activation states of at least a subset of cells connected to the first cell at a second time subsequent to the first time;

a temporal memory manager configured to store the detected activation states of at least the subset of cells connected to the first cell in association with the first cell;

a cell activator configured to activate the first cell based at least on the detected activation states of the at least the subset of cells at the second time; and

an inhibitor configured to inhibit activation of cells in a predetermined relationship to the first cell responsive to the activation of the first cell.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2016
From: HAWKINS, JEFFREY C.; MARIANETTI, RONALD, II; RAJ, ANOSH; AHMAD, SUBUTAI
To: NUMENTA, INC.
Reel/Frame 038186/0705 →
Continuity (5)
Continuation 13046464 · Mar 11, 2011
Provisional Application 61314096 · Mar 15, 2010
Provisional Application 61381886 · Sep 10, 2010
Provisional Application 61411665 · Nov 9, 2010
Related Publication 20160086098A1 · Mar 24, 2016
Cited By (1)
US 12,639,994