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 (NTA) - California-based machine learning research and development company
Online Prediction Framework (OPF) - A construct used in machine learning for dynamic data
NuPIC - Numenta Platform for Intelligent Computing
Cap’n Proto - Serialization and deserialization library
SWIG - Simplified Wrapperand Interface Generator, used for working C/C++ into Python and other high level languages
KNN - K-Nearest Neighbor, an algorithm used in supervised machine learning
SVM - Support Vector Machine, a construct used in supervised machine learning
Cortical Learning Algorithm (CLA) - Original name for the implementation of HTM as an algorithm
Apache Portable Runtime Library (APR) - A library which is used to help interoperability and platform-specific implementations of software
Spatial pooler (SP) - HTM algorithm which is responsible for updating columns in a region and outputting the list of active columns
Temporal memory ( TM ) - HTM algorithm which is responsible for updating cells in a region and processing predictions
Temporal pooler (TP) - The region or node which is responsible for recognizing temporal patterns in the temporal memory activation. Historically refers to the process which is now the temporal memory ™.
Hierarchical Temporal Memory (HTM) - Theory of intelligence based on similarities in neocortical structures, developed by Jeff Hawkins
Region - A logical collection of columns and cells which share an input and connect through distal dendrite segments between cells
Node - A region or class which receives data and performs some operation, and optionally sends the data to other nodes
Sensor - A region or node which is responsible for interfacing between raw data and other nodes, such as encoders
Effector - A region or node which only serves to write input data to a file
Encoder - A region or node which implements an algorithm for turning data (e.g. integers, dates, etc) into a sparse distributed representation (SDR) in a consistent manner
Pass-through node - A node whose purpose is to simply pass its input to the next region.
Zeta1Node - Deprecated term for the combination of a spatial pooler and temporal memory (previously referred to as temporal pooler) nodes.
Classifier - A machine learning component which classifies data into one of a number of categories (or “buckets”)
Category - A term used in machine learning which refers to one of a number of “classes” or categories that a data input can belong to. Also referred to as a “bucket”.
Bucket - See Category
Cell - A learning component in HTM which connects to other cells in the region through distal dendrite segments and recognizes patterns in activity leading up to its own activation
Column - A collection of cells which connects to an input SDR through a proximal dendrite segment and recognizes a particular spatial pattern
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 - 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.
Segment or “dendritic segment”- see dendrite
Synapse - (In HTM) 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 - Also referred to as bottom up activity, the transfer of data from regions lower in a hierarchy to those above
Bottom-up activity - See Feed-forward activity
CMake - A program used to generate Makefiles for projects
GTest - Google’s C++ test framework
YAML - YAML Ain’t Markup Language, a JSON-based human-readable file format
Network - A collection of nodes through which data passes
Network API - Implementation of algorithms, sensors, effectors, etc in a network structure
Link - A connection between two nodes in a network
Uniform link -
Graded link -
Sparse link -
Splitting map -
OPF API - Online Prediction Framework API, one of three APIs used in HTM which provides swarming and online learning
Client - The end-user and/or his/her machine, in the context of networking. A client accesses data through a server.
Algorithms API - One of three APIs used in HTM which provides a simple interface to the spatial pooler and temporal memory algorithms
Sparse Distributed Representation (SDR) - A data structure with a large number of bits, only a fraction of which are active at a given time
Graph - A collection of interconnected nodes; see network
Directed graph - A graph in which the connections between nodes are directional (one is an output and the other is an input); examples include flow-charts, internet networks
Directed acyclic graph - A directed graph which contains no closed loops