C# Implementation of Hierarchical Temporal Memory Cortical Learning Algorithm in .NET Core and more.

Getting Started

The Hierarchical Temporal Memory Cortical Learning Algorithm (HTM CLA) is a theory and machine learning technology that aims to capture cortical algorithm of the neocortex. HTM consists of 2 different components: Spatial Pooler and Temporal Memory. Inside the algorithms, there are multiple mini columns act as synapses in our brain. These columns will be activated or deactivated depend on the input that is given. This is similar to the synapse activity. HTM, like many other machine learning algorithm, only deals with number. Therefore, it requires an encoder to transform the real world concept into digitized world of '0's and '1's.

Spatial Pooler

Spatial Pooler (SP) is a learning algorithm that is designed to replicate the neurons functionality of human brain. Essentially, if a brain sees one thing multiple times, it is going to strengthen the synapses that react to the specific input result in the recognition of the object. Similarly, if several similar SDRs are presented to the SP algorithm, it will reinforce the columns that are active according to the on bits in the SDRs. If the number of training iterations is big enough, the SP will be able to identify the objects by producing different set of active columns within the specified size of SDR for different objects.

Temporal memory

Temporal memory is an algorithm which learns sequences of Sparse Distributed Representations (SDRs) formed by the Spatial Pooling algorithm, and makes predictions of what the next input SDR will be.