Skip to content

Oblynx/HTMAssemblyCalculus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A calculus for brain computation based on the Hierarchical Temporal Memory

Compare the Hierarchical Temporal Memory with another model of brain computation based on neuron assemblies.

Neuron Assembly Calculus is a computational framework for cognitive function. It describes a dynamical system of brain areas with random connections between excitatory neurons, with Hebbian plasticity, where only the top-k most activated neurons fire. From these properties neuron assemblies emerge: clusters of highly interconnected neurons in the same area, which can be created through programmatic operations. The authors probabilistically prove the convergence of these operations based on the model's structure and connectome (ref: Neuron assembly calculus, A biologically plausible parser).

Hierarchical Temporal Memory (HTM) is a biologically constrained model of brain computation. It too is a dynamical system of brain areas with excitatory neurons, Hebbian plasticity and top-k activation. However, the dynamics are more strongly constrained. For example, neurons are arranged in local circuits with local competition, and have multiple dendrites, where they receive less-stimulating input (Why neurons have thousands of synapses). This model of a brain area's dynamics underpins the Thousand Brains theory that attempts to explain human neocortical computation.

Questions

The 2 models are based on similar, but not identical assumptions. Contrasting these 2, a few questions emerge that can draw insight on both models:

  1. Does the Hierarchical Temporal Memory create neuron assemblies? Can we manipulate them with the same operations?
  2. How sensitive is neuron Assembly Calculus to its precise set of assumptions? Will it hold up to the stronger biological constraints imposed by HTM?

A positive answer to these questions can strengthen both models.

Implement neuron assemblies on HTM

This project uses the Julia implementation of HTM (HTM.jl) to experiment with neuron assemblies. We implement the basic operations of Assembly Calculus to explore the conditions of their convergence by simulating the HTM dynamics.

Notebooks

We experiment in Pluto notebooks, which provide a reproducible environment. The rendered HTML version is available at https://oblynx.github.io/HTMAssemblyCalculus

The notebooks present the fundamental operations of assembly calculus and explore the properties and interactions of assemblies:

  1. intro_projection.jl: introduce assembly calculus and show the most basic way to propagate assemblies to new brain regions
  2. association.jl: 2 assemblies co-occurring in the same region interact and start sharing neurons
  3. reciprocal_projection.jl: [TBD] 2 regions interact bilaterally and create bidirectionally-linked assemblies
  4. merge.jl: [TBD]