Embodiments relate to a processing node of a hierarchical temporal memory (HTM) system with a union processor that enables a more stable representation of sequences by unionizing or pooling patterns of a temporal sequence. The union processor biases the HTM system so a learned temporal sequence may be more quickly recognized. The union processor includes union elements that are associated with incoming spatial patterns or with cells that represent temporal relationships between the spatial patterns. A union element of the union processor may be activated if a persistence score of the union element satisfies a predetermined criterion. The persistence score of the detector is updated based on the activation states of the spatial patterns or cells associated with the detector. After activation, the union element remains active for a period longer than a time step for performing the spatial pooling.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer-implemented method, comprising: receiving input data having a plurality of elements, activation of the elements in the input data changing over time; performing spatial pooling on the input data by selecting, for each time step, elements in a series of vectors to be activated based on active elements of the input data mapped to the elements in the vectors, each of the vectors in sparse distributed representation; and generating an output data having one or more elements activated based on the selected elements in each of the vectors, the activated elements in the output data remaining active for a duration longer than the time step. 2. The method of claim 1, wherein each of the elements in the output data is mapped to a subset of elements in the vector, an element in the output data activated responsive to a predetermined number or portion of the mapped subset of elements being activated. 3. The method of claim 1, wherein each of the one or more elements in the output data remain active for a predetermined number of time steps. 4. The method of claim 1, wherein each of the elements in the output data is mapped to a plurality of elements in the vector. 5. The method of claim 1, further comprising: updating a state of a sequence processor responsive to receiving each of the vectors for each time step; and generating state information representing the updated state of the sequence processor and indicative of detection or prediction of temporal sequences in the input data, the one or more elements in the output data activated based on activation of elements of the state information mapped to the one or more elements in the output data. 6. The method of claim 5, wherein each of the elements of the state information is further mapped to activation states of one or more cells in the sequence processor, the activation states of the one or more cells indicative of detection or prediction of the temporal sequences in the input data. 7. The method of claim 5, wherein an element in the output data is activated responsive to a predetermined number or portion of cells mapped to the element being activated. 8. The method of claim 7, wherein the element in the output data is activated further based on a ratio of the activated cells that contributed to correctly predicting the temporal sequences in the input data relative to the activated cells that did not contribute to correctly predicting the temporal sequences. 9. The method of claim 5, wherein each of the elements of the vector is mapped to a plurality of cells in the sequence processor. 10. The method of claim 1, wherein each of the one or more activated elements of the output data has a persistence score that meets a predetermined criterion, each of the one or more activated elements remaining active based on a rate of change in the persistence score after a selected element corresponding to each of the one or more activated elements is deactivated. 11. The method of claim 10, wherein generating the output data comprises: increasing a persistence score of each of the elements in the output data responsive to at least predetermined number or portion of a subset of elements in the vector mapped to each of the elements in the output or a subset of cells in a sequence processor being activated; and decreasing the persistence score of each of the elements in the output data responsive to less than the predetermined number or portion of the mapped subset of elements in the vector or the cells in the sequence processor being activated; wherein the predetermined criterion is that the persistent score of each of the one or more activated elements of the output data is above a threshold. 12. The method of claim 1, wherein the input data is generated by spatial pooling and temporal processing of another input data. 13. A computer-implemented method, comprising: receiving input data having a plurality of elements, activation of the elements in the input data changing over time; updating a state of a sequence processor responsive to receiving the input data for each time step; and generating state information representing the updated state of the sequence processor and indicative of detection or prediction of temporal sequences in the input data, the one or more elements in the output data activated based on activation of elements of the state information mapped to the one or more elements in the output data; and generating an output data having one or more elements activated based on the activation of elements of the state information mapped to the one or more elements in the output data, the activated elements in the output data remaining active for a duration longer than the time step. 14. The method of claim 13, wherein each of the elements in the output data is mapped to a subset of elements in the state information, an element in the output data activated responsive to a predetermined number or portion of the mapped subset of elements being activated. 15. The method of claim 13, wherein each of the one or more elements in the output data remain active for a predetermined number of time steps. 16. The method of claim 13, wherein each of the elements in the output data is mapped to a plurality of elements in the state element. 17. The method of claim 13, wherein each of the elements of the state information is further mapped to activation states of one or more cells in the sequence processor, the activation states of the one or more cells indicative of detection or prediction of the temporal sequences in the input data. 18. The method of claim 17, wherein an element in the output data is activated responsive to a predetermined number or portion of cells mapped to the element being activated. 19. The method of claim 18, wherein the element in the output data is activated further based on a ratio of the activated cells that contributed to correctly predicting the temporal sequences in the input data relative to the activated cells that did not contribute to correctly predicting the temporal sequences. 20. The method of claim 13, wherein each of the one or more activated elements of the output data has a persistence score that meets a predetermined criterion, each of the one or more activated elements remaining active based on a rate of change in the persistence score after a selected element corresponding to each of the one or more activated elements is deactivated. 21. The method of claim 20, wherein generating the output data comprises: increasing a persistence score of each of the elements in the output data responsive to at least predetermined number or portion of a subset of elements in the vector mapped to each of the elements in the output or a subset of cells in a sequence processor being activated; and decreasing the persistence score of each of the elements in the output data responsive to less than the predetermined number or portion of the mapped subset of elements in the vector or the cells in the sequence processor being activated; wherein the predetermined criterion is that the persistent score of each of the one or more activated elements of the output data is above a threshold. 22. A computing device, comprising: a processor; and a memory operably coupled to the processor, the memory comprising: a spatial pooler configured to: receive input data having a plurality of elements, activation of the elements in the input data changing over time, and perform spatial pooling on the input data by selecting, for each time step, elements in a series of vectors to be activated based on active elements of the input data mapped to the elements in the vectors, each of the vectors in sparse distributed representation; and a union processor configured to generate an output data having one or more elements activated based on the selected elements in each of the vectors, the activated elements in the output data remaining active for a duration longer than the time step. 23. The computing device of claim 22, wherein each of the elements in the output data is mapped to a subset of elements in the vector, an element in the output data activated responsive to a predetermined number or portion of the mapped subset of elements being activated. 24. The computing device of claim 22, wherein each of the one or more elements in the output data remain active for a predetermined number of time steps. 25. The computing device of claim 22, wherein each of the elements in the output data is mapped to a plurality of elements in the vector. 26. The computing device of claim 22, wherein the memory further comprises a sequence processor configured to: receive each of the vectors for each time step, and generate state information representing indicating detection or prediction of temporal sequences in the input data, the one or more elements in the output data activated based on activation of elements of the state information mapped to the one or more elements in the output data. 27. The computing device of claim 26, wherein each of the elements of the state information is further mapped to activation states of one or more cells in the sequence processor, the activation states of the one or more cells indicative of detection or prediction of the temporal sequences in the input data. 28. The computing device of claim 26, wherein the sequence processor is further configured to activate an element in the output data responsive to a predetermined number or portion of cells mapped to the element being activated. 29. The computing device of claim 28, wherein the sequence processor is further configured to activate the element in the output data further based on a ratio of the activated cells that contributed to correctly predicting the temporal sequences in the input data relative to the activated cells that did not contribute to correctly predicting the temporal sequences. 30. The computing device of claim 26, wherein each of the elements of the vector is mapped to a plurality of cells in the sequence processor. 31. The computing device of claim 22, wherein each of the one or more activated elements of the output data are elements has a persistence score that meets a predetermined criterion, each of the one or more activated elements remaining active based on a rate of change in the persistence score after a selected element corresponding to each of the one or more activated elements is deactivated. 32. The computing device of claim 31, wherein the union processor is further configured to: increase a persistence score of each of the elements in the output data responsive to at least predetermined number or portion of a subset of elements in the vector mapped to each of the elements in the output or a subset of cells in a sequence processor being activated; and decrease the persistence score of each of the elements in the output data responsive to less than the predetermined number or portion of the mapped subset of elements in the vector or the cells in the sequence processor being activated; wherein the predetermined criterion is that the persistent score of each of the one or more activated elements of the output data is above a threshold. 33. A computing device, comprising: a processor; and a memory operably coupled to the processor, the memory comprising: a sequence processor configured to: receive input data having a plurality of elements, activation of the elements in the input data changing over time, update a state of a sequence processor responsive to receiving the input data for each time step, and generate state information representing the updated state of the sequence processor and indicative of detection or prediction of temporal sequences in the input data, the one or more elements in the output data activated based on activation of elements of the state information mapped to the one or more elements in the output data; and a union processor configured to generate an output data having one or more elements activated based on the activation of elements of the state information mapped to the one or more elements in the output data, the activated elements in the output data remaining active for a duration longer than the time step. 34. A non-transitory computer readable storage medium comprising instructions configured to be executed by a processor, the instructions when executed by the processor cause the processor to: receive input data having a plurality of elements, activation of the elements in the input data changing over time; perform spatial pooling on the input data by selecting, for each time step, elements in a series of vectors to be activated based on active elements of the input data mapped to the elements in the vectors, each of the vectors in sparse distributed representation; and generate an output data having one or more elements activated based on the selected elements in each of the vectors, the activated elements in the output data remaining active for a duration longer than the time step. 35. A non-transitory computer readable storage medium comprising instructions configured to be executed by a processor, the instructions when executed by the processor cause the processor to: receive input data having a plurality of elements, activation of the elements in the input data changing over time; update a state of a sequence processor responsive to receiving the input data for each time step; and generate state information representing the updated state of the sequence processor and indicative of detection or prediction of temporal sequences in the input data, the one or more elements in the output data activated based on activation of elements of the state information mapped to the one or more elements in the output data; and generate an output data having one or more elements activated based on the activation of elements of the state information mapped to the one or more elements in the output data, the activated elements in the output data remaining active for a duration longer than the time step.