Common Lisp HTM Implementation

Is anyone interested in collaborating on a Common Lisp implementation of HTM? (using SBCL ( http://www.sbcl.org/ ), cl-graph to model the structure ( https://github.com/gwkkwg/cl-graph ) and rtg-math for the math library ( https://github.com/cbaggers/rtg-math ) with lparallel ( https://lparallel.org/ ) for parallel processing as well as the best gpu library (there are many) to enable running on gpus as well). The advantages of Common Lisp: a high level language (I would argue even better in that respect than python) with the fully compiled speed of C+ - so it’s a likely candidate for creating the fastest implementation.

4 Likes

I’d be willing to help on a clojure one…

The existing clojure impl has not been updated in 3 years :cry:

2 Likes

This is interesting. Can a newbie in SBCL and NUPIC help?

I am implementing the Spatial Pooler algorithm in SBCL just to learn.

I would love to learn more about your project.

3 Likes

If we get another couple people, we’ll set it up on github.

2 Likes

Just found this on github after talking to Marek Kochanowicz on #lisp IRC: https://github.com/sirherrbatka/cl-htm

2 Likes

Hi Gibson, if you need still more people I can try to contribute. I mostly use SBCL and have used lparallel lib for parallel processing. Jeosol

5 Likes

Another piece to work with, an algebraic topology library in lisp: http://www-fourier.ujf-grenoble.fr/~sergerar/Kenzo/ (My interest in pursuing this inspired by the Blue Brain Project video The Hidden Structure of the Neocortical Column by Kathryn Hess, EPFL

2 Likes

I’d be willing to help out. The idea is fascinating.

2 Likes

I think step one is setting up a systems model for various neuron types, the cortical column and wider systems. I’ve set up a thread to discuss this here: Systems Diagram and understanding of the Neo Cortex Mark Browne offered some great links to work done on systems understanding there starting with this one: http://www.mrc.uidaho.edu/~rwells/techdocs/Cortical%20Neurons%20and%20Circuits.pdf. The goal is to have a fully integrated systems approach to organize the effort.

Interesting work in the role of dendrites in parallel processing: https://actu.epfl.ch/news/the-way-a-single-neuron-processes-information-is-2/

3 Likes

While waiting for the project to take shape, I have written a couple of lines porting htm.core’s ScalarEncoder.cpp to Common Lisp (SBCL) here or here.

1 Like

Neural network lecture by Scott Fahlman (Fall 2019):
https://youtu.be/k2mPEUZH978
One of the core developers of common LISP.

2 Likes