https://github.com/nytopop/gohtm
An implementation of the HTM machine learning algorithm.
https://github.com/nytopop/gohtm
golang htm machine-learning unsupervised-learning
Last synced: 5 months ago
JSON representation
An implementation of the HTM machine learning algorithm.
- Host: GitHub
- URL: https://github.com/nytopop/gohtm
- Owner: nytopop
- License: agpl-3.0
- Created: 2016-11-07T04:10:45.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-17T22:53:44.000Z (about 9 years ago)
- Last Synced: 2024-06-20T17:33:15.749Z (about 2 years ago)
- Topics: golang, htm, machine-learning, unsupervised-learning
- Language: Go
- Size: 1.83 MB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# go-htm
[](https://godoc.org/github.com/nytopop/gohtm) [](https://travis-ci.org/nytopop/gohtm)
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](http://numenta.org/). 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
- [x] Encoder Base
- [x] Scalar encoder
- [ ] Audio encoder
- [ ] Vision encoder
- [x] Random distributed scalar encoder
- [x] Spatial Pooler
- [x] 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