gohtm

module
v0.0.0-...-4e99e21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 17, 2017 License: AGPL-3.0

README

go-htm

GoDoc Build Status

An implementation of the HTM algorithm.

In progress.

Overview

HTM (Hierarchical Temporal Memory) is an online, unsupervised learning algorithm pioneered by the folks over at Numenta. This is not an up to spec implementation; gohtm diverges somewhat from the original.

My goals for this project are geared more towards experimentation and generalized machine intelligence development, rather than anomaly detection and vector prediction. I'm experimenting with some different approaches toward the storage and manipulation of synaptic connectivity networks, primarily to the ultimate goal of efficient scaling across multiple machines with large(r) networks of HTM regions, as well as coordination amongst them.

Further, I'm devoting attention to vision oriented problems and coordination of full multi-sensory modalities into global ensemble representations.

Roadmap

  • Encoder Base
  • Scalar encoder
  • Audio encoder
  • Vision encoder
  • Random distributed scalar encoder
  • Spatial Pooler
  • Temporal Memory
  • Temporal Pooler
  • Classifier
  • Tests
  • Visualization

Experiments & research directions

Networks
  • Spec out a network definition language. Code generation?
  • First in Last out stack for processing
Spatial Pooler
  • Needs fixing, probably a rewrite of the whole thing

  • Make tests to verify proper behavior of pooling

    bit distribution, randomness, uniformity, etc

Temporal memory
  • get some benchmark sequences for testing prediction accuracy, etc
  • figure out what to do when we hit the limit on cellular objects. More recent data is preferable, online learning and all...
  • fix the anomaly calculation

Directories

Path Synopsis
Package cells provides an implementation agnostic interface for the storage and manipulation of synaptic state.
Package cells provides an implementation agnostic interface for the storage and manipulation of synaptic state.
Package cla provides implementation agnostic classifiers for gohtm.
Package cla provides implementation agnostic classifiers for gohtm.
Package enc provides an implementation agnostic interface for encoding and decoding data into semi-sparse distributed representations consumable by a spatial pooling algorithm.
Package enc provides an implementation agnostic interface for encoding and decoding data into semi-sparse distributed representations consumable by a spatial pooling algorithm.
experiments
gif
net
Package net provides an implementation agnostic interface for building, linking, and managing regions.
Package net provides an implementation agnostic interface for building, linking, and managing regions.
Package region provides an implementation agnostic interface for building and using gohtm regions.
Package region provides an implementation agnostic interface for building and using gohtm regions.
Package sp provides an implementation agnostic interface for spatial poolers.
Package sp provides an implementation agnostic interface for spatial poolers.
Package tm provides an implementation agnostic interface for temporal memory in gohtm.
Package tm provides an implementation agnostic interface for temporal memory in gohtm.
Package vec provides vector manipulation and utility functions for gohtm.
Package vec provides vector manipulation and utility functions for gohtm.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL