Skip to main content

Advertisement

Log in

On the Importance of the Newborn Stage When Learning Patterns with the Spatial Pooler

  • Original Research
  • Published:
SN Computer Science Aims and scope Submit manuscript

Abstract

Hierarchical Temporal Memory (HTM-CLA)—Spatial Pooler (SP) is a Cortical Learning Algorithm for learning inspired by the neocortex. It is designed to learn the spatial pattern by generating the Sparse Distributed Representation code (SDR) of the input. It encodes the set of active input neurons as SDR defined by the set of active neurons organized in groups called mini-columns. This paper provides additional findings extending the previous work, that demonstrates how and why the Spatial Pooler forgets learned SDRs in the training progress. The previous work introduced the newborn stage of the algorithm, which takes a control of the boosting of mini-columns by deactivating the Homeostatic Plasticity mechanism inside of the SP in layer 4. The newborn stage was inspired by findings in neurosciences that show that this plasticity mechanism is only active during the development of newborn mammals and later deactivated or shifted from cortical layer L4, where the SP is supposed to be active. The extended SP showed the stable learned state of the model. In this work, the plasticity was deactivated by disabling the homeostatic excitation of synaptic connections between input neurons and slightly inactive mini-columns. The final solution that includes disabling of boosting of inactive mini-columns and disabling excitation of synaptic connections after exiting the introduced newborn stage, shows that learned SDRs remain stable during the lifetime of the Spatial Pooler.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Availability of data and materials

Not applicable.

Code availability

All experiments described in this paper are implemented in C#/.NET dotnet standard 2.1 compatible with the latest release.NET 6.0. The Hierarchical Temporal Memory framework with the Spatial Pooler used in experiments is based on the open-source project NeocortexApi. The source code and documentation can be found at GitHub [10]. The experiment related to the stability of the Spatial Pooler is implemented in a form of the UnitTest inside of the Microsoft Unit Testing framework integrated with Visual Studio. The test used for the stability experiment is called SpatialPooler_Stability_Experiment_3. It is implemented in the source file SpStabilityExperiments.cs. This code generates three output CSV files: -ActiveColumns.csv, -ActiveColumns-plotlyinput.csv and -Oscillations.csv.

ActiveColumns files hold the same information in a slightly different format than ActiveColumns-plotlyinput.csv. Both files contain active columns (SDR) for every trained digit in every iteration. ActiveColumns-plotlyinput.csv can be used as the input for the Python script to generate diagrams that represent active columns shown in Fig. 6.

The script used to generate the diagram is called draw_figure.py and can be found at the following location: /Python/ColumnActivityDiagram/draw_figure.py.

Further information about running the script can be found in the Python script. The file Oscillations.csv file is used to generate the diagram shown in Fig. 1. This diagram was generated by Microsoft Excel.

References

  1. Hawkins S. Why neurons have thousands of synapses, a theory of sequence memory in neocortex. Front Neural Circuits. 2016. https://doi.org/10.3389/fncir.2016.00023.

    Article  Google Scholar 

  2. Ahmad S, Lavin A, Purdy S. Unsupervised real-time anomaly detection for streaming data. Neurocomputing. 2017;262:134–47.

    Article  Google Scholar 

  3. Wielgosza M, Pietron M. Using spatial pooler of hierarchical temporal memory to classify noisy videos. Krakow: aAGH University of Science and Technology; 2016.

    Google Scholar 

  4. Shah D, Ghate P, Paranjape M, Kumar A. Application of hierarchical temporal memory—theory for document categorization. In: IEEE Xplore, San Francisco, 2018.

  5. Cui Y, Ahmad S, Hawkins J. Continuous online sequence learning with an unsupervised neural network model. Neural Comput. 2016;28(11):2474–504.

    Article  MathSciNet  Google Scholar 

  6. Mountcastle. The columnar organization of the neocortex. J Neurol. 1997;120:701–22.

    Google Scholar 

  7. Cui Y, Ahmad S, Hawkins J. The HTM spatial pooler, a neocortical algorithm for online sparse distributed coding. Front Comput Neurosci. 2017;11:111.

    Article  Google Scholar 

  8. Dobric D, Pech A, Ghita B, Wennekers T. Improved HTM spatial pooler with homeostatic plasticity control. In: Proceedings of the 10th international conference on pattern recognition applications and methods, Vienna, 2021.

  9. Turrigiano GG, Nelson SB. Homeostatic plasticity in the developing nervous system. Nat Rev Neurosci. 2004;5:97–107.

    Article  Google Scholar 

  10. Dobric D. GitHub. 2018. [Online]. https://github.com/ddobric/neocortexapi.

  11. Davis GW. Homeostatic control of neural activity—from phenomenology to molecular design. Annu Rev Neurosci. 2006;29:307–23.

    Article  Google Scholar 

  12. Davis GW. Homeostatic signaling and the stabilization of neural function. Neuron. 2013;80:09–044.

    Article  Google Scholar 

  13. Tien NW, Kerschensteiner D. Homeostatic plasticity in neural development. ND Neural Dev. 2018. https://doi.org/10.1186/s13064-018-0105-x.

    Article  Google Scholar 

  14. Ahmad S, Hawkins J. How do neurons operate on sparse distributed representations? A mathematical theory of sparsity, neurons and active dendrites. 2016. arXiv:1601.00720

  15. Finelli LA, Haney S, Bazhenov M, Stopfer M, Sejnowski TJ. Synaptic learning rules and sparse coding in a model sensory system. PLOS Comput Biol. 2008;4:e1000062.

    Article  MathSciNet  Google Scholar 

  16. Maffei A, Nelson SB, Turrigiano GG. Selective reconfiguration of layer 4 visual cortical circuitry by visual. Nat Neurosci. 2004;7:1353–9.

    Article  Google Scholar 

  17. Hawkins J, Ahmad S, Cui Y. A theory of how columns in the neocortex enable learning the structure of the world. Front Neural Circuits. 2017;11:81–81.

    Article  Google Scholar 

  18. Dobric D. Implementation of Homeostatic Plasticity Controller. 2020. [Online]. https://github.com/ddobric/neocortexapi/blob/master/NeoCortexApi/NeoCortexApi/HomeostaticPlasticityController.cs.

  19. Dobric D, Pech An, Ghita B, Wennekers T. Scaling the HTM spatial pooler. Int J Artif Intell. 2019;11(4):83–100.

    Google Scholar 

Download references

Funding

Not applicable.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Damir Dobric.

Ethics declarations

Conflict of interest

Not applicable.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This article is part of the topical collection “Pattern Recognition Applications and Methods” guest edited by Ana Fred, Maria De Marsico and Gabriella Sanniti di Baja.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Dobric, D., Pech, A., Ghita, B. et al. On the Importance of the Newborn Stage When Learning Patterns with the Spatial Pooler. SN COMPUT. SCI. 3, 179 (2022). https://doi.org/10.1007/s42979-022-01066-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s42979-022-01066-4

Keywords