NuPIC implementation in Actor Model?

nupic

#21

I might be able to use some things there (I see the lot of detail into making it distributed, a lot of focus on specific neuron spiking/firing). Thanks for sharing :slight_smile:


#22

I wanted to do this for a while. Just made a spike. Using Erl_Interface and Pony’s C FFI it’s possible to create an Erlang C node. Current state: the API works “in principle”, which means, if the clustered Elixir thing takes off, it’d be potentially possible to offload computationally expensive work to a natively compiled node, e.g. in C. However, writing an Erlang C node even with the API + FFI is indeed a big pain.

A similar approach is already potentially possible now e.g. using htm.java wrapped into JInterface or Encon Java, but I think, the scope of an Elixir or Pony implementations is a bit different one


#23

@jordan.kay if you’re interested, I’ve made a little experiment on “dumb” neurons voting, where each is modeled as an Erlang/Elixir process: https://github.com/d-led/elixir_ne just to play around with the time domain and the BEAM scheduler.

I’ll make a separate post on the motivation behind it, but the trigger was the following article: Theriault et. al.: The sense of should: A biologically-based model of social pressure, which hints at various metabolic constraints that could be at play, so that the brain doesn’t waste precious energy.


#24

@MaxLee any progress? I’ve rebooted the Pony-Erlang C Node project, which can now receive messages from other nodes. As for the HTM in Pony I’ll have to rethink error-handling, and if I get some time, will continue with it


#25

I have the prototype of a scalar encoding and spatial pooler with distributed SP via gensim, though haven’t been able to work (on this) for about a month. I’m winding down one of my contracts, and should be able to put more time into this over the next few weeks, aiming at a TM implementation by the end of two weeks.

Got big plans for this as I move more deeply into robotics over the next year, where each node can do its own encoding before sending it off to the cluster for computation and feedback.


#26

Superb. Is it public already by any chance?


#27

Let me prettify it a bit and remove dead ideas, then I’ll update it on github. :slight_smile:

Update (Thursday, March 21, 2019):
Life and its demands has continued to delay my doing this, but I AM pushing hard to get this out this weekend.