What follows is a lexicon of terms used in not only NuPIC but HTM. It includes jargon used within the NuPIC code projects as well as theory jargon.
Numenta - A (currently small but relatively old) company which is tackling one of the most important scientific challenges of all time: reverse engineering the neocortex, so that to build machines that work on the same principles.
(Note: some of these terms are also used in the context of the HTM theory and NuPIC and they can possibly refer to slightly different concepts.)
Sensor - Eyes, ears, etc., are examples of human sensors
Hierarchical Temporal Memory (HTM) - A machine intelligence framework/theory strictly based on neuroscience and the physiology and interaction of pyramidal neurons in the neocortex of the mammalian brain.
Zeta 1 - It refers to the first generation of the HTM theory. So far there have been three generations, including the current one.
Cortical Learning Algorithm (CLA) - It refers to the second generation of the HTM theory.
Sparse Distributed Representation (SDR) - A data structure whose elements are usually binary (i.e. bits). It’s used to represent inputs from the sensors and to represent the activity in the brain (e.g. the activation of minicolumns). It’s “sparse” because the percentage of 1 bits is small (e.g., 2%) compared to the percentage of 0 bits. It’s “distributed” because the 1 bits are possibly distributed and not usually concentrated in one location.
HTM Structure, Components and Parameters
Cell - It’s a term used to refer to the HTM model of a biological pyramidal neuron in the neocortex. In HTM, it’s a learning component which connects to other cells
Minicolumn - A collection of cells
Macrocolumn - A collection of minicolumns
Column - A term which can ambiguously refer to either a mini or macro column.
Region - A collection of cortical columns
Node - A region (in the hierarchy of an HTM model) which receives data and performs some operation, and optionally sends the data to other nodes
Column center - A location in the input space where a column’s receptive field is centered; creates a spatial mapping of columns to the input space
Dendrite (or segment, or dendritic segment) - A collection of synapses representing a population of connected neurons. Each dendrite might be said to represent an SDR space that could be computed separately. There are different areas of dendrites around a pyramidal neuron, defined below.
All dendrites represent a limb on their dendritic tree.
- Proximal Dendrite - close to the cell body, typically before the first branch in the dendritic tree
- Distal Dendrite - far from the cell body, after the first branch in the dendritic tree
- Apical Dendrite - far reaching dendrites that reach upward to receive feedback from cells in a higher layer or further up the hierarchy
Dendritic Tree - One dendrite extending from the soma and all subsequent branches and extensions combined are sometimes referred to as a dendritic tree.
Synapse - An object which represents the permanence of a connection of a dendrite in a segment
Permanence - The real valued strength of a synapse, between 0.0 and 1.0
Boost - An auxiliary parameter given to help give unused columns a better chance of becoming active; boost is a number >= 1 which is multiplied with the overlap score for a column
Activation Threshold - The minimum overlap score a column must have to be considered for activity
Global inference - A parameter of an HTM region; when true, all columns in the entire region are compared and the top N columns are chosen as active for the given input
Receptive field - The maximum range from the column center in the input space that a given column can possibly connect to
Feedback - The transfer of data from regions higher in a hierarchy to those below (not yet implemented in HTM)
Feed-forward activity (or bottom-up activity) - The transfer of data from regions lower in a hierarchy to those above
Network - A collection of nodes
Link - A connection between two nodes in a network
Effector - A region (or node) which only serves to write input data to a file
Spatial pooler (SP) - An algorithm which is responsible for updating columns in a region and outputting the list of active columns
Temporal memory (TM) - An algorithm which is responsible for updating cells in a region and processing predictions
Temporal pooler (TP) - Historically, it refers to the process which is now the temporal memory.
Encoder - An algorithm to convert (raw) data (e.g. integers, dates, etc.) into a sparse distributed representation (SDR)
NuPIC - Numenta Platform for Intelligent Computing is the official implementation (by Numenta) of HTM
Online Prediction Framework (OPF) - A framework (written on top of NuPIC) for working with and deriving predictions from online learning algorithms, including HTM
OPF API - Online Prediction Framework API, one of three APIs used in HTM which provides swarming and online learning
Network API - Implementation of algorithms, sensors, effectors, etc., in a network structure
Algorithms API - One of three NuPIC APIs which provides a simple interface to the spatial pooler and temporal memory algorithms
Category - A class to which a real or abstract object belongs
KNN - K-nearest neighbor, an algorithm used in supervised machine learning
SVM - Support Vector Machine, a construct used in supervised machine learning
Classifier - An algorithm which classifies data into one of a number of categories (or classes)