NuPIC Glossary

community
nupic-wiki

#1

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.

Companies

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.

Neocortex

(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

HTM

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.

Generations

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.

Data Structures

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

Algorithms

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)

HTM implementations

NuPIC

NuPIC - Numenta Platform for Intelligent Computing is the official implementation (by Numenta) of HTM

Frameworks

Online Prediction Framework (OPF) - A framework (written on top of NuPIC) for working with and deriving predictions from online learning algorithms, including HTM

API

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

Machine Learning

Category - A class to which a real or abstract object belongs

Algorithms

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)


#2

I just majorly changed the definitions of dendrites and segments. I need someone to review for accuracy please. You can review changes by clicking on the edit button at the top right of the wiki:


#3

I’ve just updated the post above to improve the organization of the sections and the definitions. I also removed unfilled and relatively unimportant definitions (with respect to the HTM theory and NuPIC). There are still some definitions which, IMHO, do not seem to me to be very consistent, reliable and clear.

@rhyolight Couldn’t this wiki be merged with HTM Cheat Sheet? Or, alternatively, we could just have this glossary specific for NuPIC (and, in general, implementation-related) terms, but the documentation, IMHO, should be enough for this purpose.


#4

Clean up in you like, but I don’t want to add a glossary section to the NuPIC api docs at the moment.