Academia.eduAcademia.edu

Outline

The Parallel HTM Spatial Pooler

2020

https://doi.org/10.5121/CSIT.2020.100606

Abstract

The Hierarchical Temporal Memory Cortical Learning Algorithm (HTM CLA) is an algorithm inspired by the biological functioning of the neo-cortex, which combines spatial pattern recognition and temporal sequence learning. It organizes neurons in layers of column-like units built from many neurons such that the units are connected into structures called regions (areas). Layers can be hierarchically organized and can further be connected into more complex networks, which would allow to implement higher cognitive capabilities like invariant representations. However, a complex topology and a potentially high number of neurons would require more computing power than a single machine even with multiple cores or a GPU could provide. This paper aims to improve the HTM CLA by enabling it to run on multiple nodes in a highly distributed system of processors; to achieve this we use the Actor Programming Model. The proposed concept also makes use of existing cloud and server less technology and i...

References (17)

  1. Hawkins Jeff, Ahmad, Subutai, Dubinsky Donna, "HTM Cortical Learning Algorithms," Numenta , 2011. [Online]. Available: https://www.numenta.com/htm- overview/education/HTM_CorticalLearningAlgorithms.pdf.
  2. Hawkins, Jeff and Ahmad, Subutai and Cui, Yuwei , "A Theory of How Columns in the Neocortex Enable Learning the Structure of the World," Frontiers in Neural Circuits, vol. 11, p. 81, 2017.
  3. Wulfram Gerstner1, Werner M. Kistler2, "Mathematical formulations of Hebbian learning," US National Library of Medicine National Institutes of Health, vol. 87, no. 5-6, 2002.
  4. J. H. Kaas, "Evolution of columns, modules, and domains in the neocortex of primates," PNAS, 2012. [Online]. Available: https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3386869/.
  5. "NUPIC," NUMENTA, [Online]. Available: https://github.com/numenta/nupic.
  6. "HTM.JAVA," NUMENTA, [Online]. Available: https://github.com/numenta/htm.java.
  7. D. Dobric, "NeoCortexApi," 2019. [Online]. Available: https://github.com/ddobric/neocortexapi/blob/master/README.md.
  8. Luca A. Finelli, Seth Haney, Maxim Bazhenov, Mark Stopfer, Terrence J. Sejnowski, "Synaptic Learning Rules and Sparse Coding in a Model Sensory System," PlOS Computational Biology, 2007.
  9. Wulfram Gerstner, Werner M. Kistler, "Mathematical formulations of Hebbian learning," 2002. [Online]. Available: https://link.springer.com/article/10.1007/s00422-002-0353-y.
  10. M. W. W. Marcin Pietron, "Parallel Implementation of Spatial Pooler in Hierarchical Temporal Memory," Research Gate, 2016. [Online]. Available: https://www.researchgate.net/publication/301721307_Parallel_Implementation_of_Spatial_Pooler_in _Hierarchical_Temporal_Memory.
  11. C. Hewitt, "Actor Model of Computation," Cornell University, 2010. [Online]. Available: https://arxiv.org/vc/arxiv/papers/1008/1008.1459v8.pdf.
  12. Microsoft Research, "Virtual Actors," [Online]. Available: https://www.microsoft.com/en- us/research/project/orleans-virtual-actors/.
  13. Microsoft Corporation, "Service Fabric Reliable Actors," Microsoft, 2018. [Online]. Available: https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-actors-introduction.
  14. Akk.NET, "Akka.NET," [Online]. Available: https://getakka.net/.
  15. James Mnatzaganian, Ernest Fokoué, Dhireesha Kudithipudi, "A Mathematical Formalization of Hierarchical Temporal Memory's Spatial Pooler," 2016. [Online]. Available: https://arxiv.org/abs/1601.06116.
  16. M. L. W. H. Mark Pethick, "Parallelization of a Backpropagation Neural Network on a Cluster Computer," ResearchGate, 2003. [Online]. Available: https://www.researchgate.net/publication/228549385_Parallelization_of_a_Backpropagation_Neural _Network_on_a_Cluster_Computer.
  17. "Cloud Messaging," Microsoft, [Online]. Available: https://azure.microsoft.com/en- us/services/service-bus/.