Hierarchical temporal memory system with enhanced inference capability
First Claim
1. A node in a computer-implemented hierarchical temporal memory network, the node associated with a child node, the node comprising:
- a spatial pooler adapted to generate and store information about spatial co-occurrences of first input patterns received at the node based on spatial similarity of the first input patterns in a learning stage, the spatial pooler generating an output representing information about second input patterns received in an inference stage subsequent to the learning stage corresponding to the spatial co-occurrences based on the spatial co-occurrences information, at least part of the first input patterns and at least part of the second input patterns received from the child node;
a temporal pooler adapted to generate and store temporal statistics data indicating whether the second input patterns include a spatial co-occurrence based on spatial co-occurrences preceding the spatial co-occurrence in the second input patterns and temporal relationships of the spatial co-occurrences learned in the learning stage; and
a top-down message generator adapted to generate a first top-down message representing information about a state of the node in the inference stage based on the spatial co-occurrences information and the temporal statistics data, the top-down message generator adapted to send the first top-down message to the child node.
1 Assignment
0 Petitions
Accused Products
Abstract
A node, a computer program storage medium, and a method for a hierarchical temporal memory (HTM) network where at least one of its nodes generates a top-down message and sends the top-down message to one or more children nodes in the HTM network. The first top-down message represents information about the state of a node and functions as feedback information from a current node to its child node. The node may also maintain history of the input patterns or co-occurrences so that temporal relationships between input patterns or co-occurrences may be taken into account in an inference stage. By providing the top-town message and maintaining history of previous input patterns, the HTM network may, among others, (i) perform more accurate inference based on temporal history, (ii) make predictions, (iii) discriminate between spatial co-occurrences with different temporal histories, (iv) detect “surprising” temporal patterns, (v) generate examples from a category, and (vi) fill in missing or occluded data.
88 Citations
28 Claims
-
1. A node in a computer-implemented hierarchical temporal memory network, the node associated with a child node, the node comprising:
-
a spatial pooler adapted to generate and store information about spatial co-occurrences of first input patterns received at the node based on spatial similarity of the first input patterns in a learning stage, the spatial pooler generating an output representing information about second input patterns received in an inference stage subsequent to the learning stage corresponding to the spatial co-occurrences based on the spatial co-occurrences information, at least part of the first input patterns and at least part of the second input patterns received from the child node; a temporal pooler adapted to generate and store temporal statistics data indicating whether the second input patterns include a spatial co-occurrence based on spatial co-occurrences preceding the spatial co-occurrence in the second input patterns and temporal relationships of the spatial co-occurrences learned in the learning stage; and a top-down message generator adapted to generate a first top-down message representing information about a state of the node in the inference stage based on the spatial co-occurrences information and the temporal statistics data, the top-down message generator adapted to send the first top-down message to the child node. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A node in a computer-implemented hierarchical temporal memory network between a parent node and a child node, comprising:
-
a spatial pooler adapted to generate and store information about spatial co-occurrences of first input patterns received at the node based on spatial similarity of the first input patterns in a learning stage, the spatial pooler generating an output representing information about second input patterns received in an inference stage subsequent to the learning stage corresponding to the spatial co-occurrences based on the spatial co-occurrences information, at least part of the first input patterns and at least part of the second input patterns received from the child node; a temporal pooler adapted to generate and store temporal statistics data indicating whether the second input patterns include a spatial co-occurrence based on spatial co-occurrences preceding the spatial co-occurrence in the second input patterns and temporal relationships of the spatial co-occurrences learned in the learning stage; and a bottom-up message generator adapted to generate a first bottom-up message representing information that the second input patterns received at the node in the inference stage correspond to the learned spatial co-occurrences based on the temporal statistics data and the spatial co-occurrences information, the bottom-up message generator adapted to send the first bottom-up message to the parent node. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium storing computer instructions adapted to operate a node in a hierarchical temporal memory network on a computer, the node associated with a child node in the hierarchical temporal memory network, the computer instructions when executed cause a processor in the computer to:
-
generate and store information about spatial co-occurrences of first input patterns received at the node based on spatial similarity of the first input patterns in a learning stage, at least part of the first input patterns received from the child node; generate information about second input patterns received in an inference stage subsequent to the learning stage corresponding to the spatial co-occurrences based on the spatial co-occurrences information, at least part of the second input patterns received from the child node; generate and store temporal statistics data indicating whether the second input patterns include a spatial co-occurrence based on spatial co-occurrences preceding the spatial co-occurrence in the second input patterns and temporal relationships of the spatial co-occurrences learned in the learning stage; generate a first top-down message representing information about a state of the node in the inference stage based on the spatial co-occurrences information and the temporal statistics data; and send the first top-down message to the child node. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21)
-
-
22. A non-transitory computer-readable storage medium storing a computer program product including computer instructions adapted to instantiate a node of a hierarchical temporal memory network on a computer, the node between a parent node and a child node in the hierarchical temporal memory network, the computer instructions when executed cause a processor in the computer to:
-
generate and store information about spatial co-occurrences of first input patterns received at the node based on spatial similarity of the first input patterns in a learning stage, at least part of the first input patterns received from the child node; generating information about second input patterns received in an inference stage subsequent to the learning stage corresponding to the spatial co-occurrences based on the spatial co-occurrences information, at least part of the second input patterns received from the child node; generate and store temporal statistics data indicating whether the second input patterns include a spatial co-occurrence based on spatial co-occurrences preceding the spatial co-occurrence in the second input patterns and temporal relationships of the spatial co-occurrences learned in the learning stage; generate a first bottom-up message representing information that the second input patterns received at the node in the inference stage correspond to the learned spatial co-occurrences based on the temporal statistics data and the spatial co-occurrences information; and send the bottom-up message to the parent node. - View Dependent Claims (23, 24, 25, 26)
-
-
27. A method for operating a hierarchical temporal memory network on a computer, comprising:
-
generating information about spatial co-occurrences of first input patterns received at a node based on spatial similarity of the first input patterns in a learning stage, at least part of the first input patterns received from a child node; generating information about second input patterns received in an inference stage subsequent to the learning stage corresponding to the spatial co-occurrences based on the spatial co-occurrences information, at least part of the second input patterns received from the child node; by a processor, generating temporal statistics data indicating whether the second input patterns include a spatial co-occurrence based on spatial co-occurrences preceding the spatial co-occurrence in the second input patterns and temporal relationships of the spatial co-occurrences learned in the learning stage; generating a first top-down message representing information about a state of the node in the inference stage based on the spatial co-occurrences information and the temporal statistics data; and sending the first top-down message to the child node.
-
-
28. A method for operating a hierarchical temporal memory, comprising:
-
generating information about spatial co-occurrences of first input patterns received at the node based on spatial similarity of the first input patterns in a learning stage, at least part of the first input patterns received from a child node; generating information about second input patterns received in an inference stage subsequent to the learning stage corresponding to the spatial co-occurrences based on the spatial co-occurrences information, at least part of the second input patterns received from the child node; by a processor, generating temporal statistics data indicating whether the second input patterns include a spatial co-occurrence based on spatial co-occurrences preceding the spatial co-occurrence in the second input patterns and temporal relationships of the spatial co-occurrences learned in the learning stage; generate a first bottom-up message representing information that the second input patterns received at the node in the inference stage correspond to the learned spatial co-occurrences based on the temporal statistics data and the spatial co-occurrences information; and send the bottom-up message to a parent node.
-
Specification