HTM Hackers' Hangout - Apr 5, 2019


Later for folks on the other side of ye old worlde.

Let’s talk about:

  • python 3 & Nupic & the community fork & names of things
  • nupic.torch coming soon
  • community projects on twitch

What do you want to discuss?

I know it’s just a stock photo, but this is the what I’m expecting we’ll all be doing in our minds.


nupic.torch sounds interesting!! Great job!

1 Like

It doesn’t need to be this Friday, but two topics I’d love to hear discussed at some point:

  • After Jeff’s presentation yesterday, wouldn’t it make sense to rethink the agent position and orientation in the 2D project? If not implementing it right away, at least think about a placeholder how to add it in later. It seems to me that it is even more essential than I (we?) thought.

  • We’ve discussed SDRs, Spacial Pooling, Encoders, etc. I think I understand these principles individually, but I have trouble fitting them together. Could we work on a schema (perhaps starting from the layer diagram) and place all these individual elements in relation to each other?

1 Like

Join here. I’ll start the broadcast in about 15 minutes.

Great session you all. Thanks @brev, @David_Keeney, @Bitking, @sheiser1, @SimLeek, @jimmyw, @falco, @Cairo for joining in live in the discussion!


In the hangout I mentioned some papers on the lower brain structures, particularly, the hypothalamus.
These systems read the digested contents of the cortex as mostly presented by the hippocampus, processed, and output with projections to the PFC (prefrontal cortex) to select/initiate actions.
Here are some links to these older posts:

Going away from the cortex: these systems dovetail very nicely into the lowest brain structures that directly run the body. ONe that is critical is the vestibular system. This is key to standing erect and the sense that in brings into the cortex is critical to the sense of “You” in your episodic memories. What happens to “you” if it is broken?

And how does this all work to help make a loose bag of bones stand erect:


I would be remiss if I did not point out that as the information streams up to the thalamus and on to the cortex, there are taps off to these old brain structures. Some of these are very powerful.

And this special old-brain structure:


Regarding @Cairo question about data pathways and my response about the parallel nature of the stream processing, these posts may be helpful:

HTM & columns Working and biological consistence - #5 by Bitking


1 Like

To add to what I mentioned through chat: I’m primarily thinking about using some of what I have in the ID Lab for the 2D object recognition challenge. In this case my best guess is that (via hexagonally arranged minicolumn network?) the columns already have some ability to control motors for self-exploring a simple environment.

I would essentially add missing layers, using ones that need 3 axis of interconnection to get optimal 3.5/6 radiation pattern, possibly being detected in this earlier shown illustration.

In my code the reason for 3.5 is that negating received signals to derive output action results in the number of wave passing outputs alternating between 3 and 4. The back and forth jitter is in the math of the geometry. When readings temporally average together the 1 of 6 direction resolution becomes 1 of 12 or more.

A 2 axis system presents a wave generation problem that is thankfully not an issue for real (mini)columns that close pack together into a more convenient 3 axis geometry. It’s then easy to broadcast a roundish energy efficient signal outwards in directions, without signals easily returning back in the direction they came and associated signal chaos.

Although 2 axis is much easier to code the 3 axis geometry has too many advantages, so I’m back to hexagons again.

It’s possible to convert back and forth, in which case starting with the Cube coordinate system is here recommended, but in the illustration the Y is annoyingly opposite from usual screen direction and would like to reverse that:

It would be a big help for at least myself for there to be one recommended way to articulate hexagonally arranged connections and places, then convert to 2 axis floating point coordinates and back to 3 axis again. The subroutines I wrote for VB6 can do all that, but Python examples I have seen might easily be a big improvement.


@rhyolight You may want to check out this link for inspiration on Building HTM Systems. I’m in love with the layout and consistency.


@brev, do you have a link to that Postgres work you mentioned in the hangout chat? I’ve done a few searches but haven’t managed to find anything.

I started with the cube coordinate idea, but for coding reasons I ended up settling on something that seemed to work better with 2 axis RAM arrays, and with no added step as would be by shifting left every two rows to form a nice rectangle.

It’s hard for me to know how well this will work for modeling cortical columns, which may need a three coordinate system to form 3D cubes from flat triangles. I’m OK with whatever may be required, and works for everyone else.


I mentioned that the lower brain structures operate in a very different way than the regular structure of the cortex. There is an oscillation pattern that seems to whirl in circular paths when visualized in 3d. These paths are formed from inputs excited and the memory entrained. The closest ANN that I have seen is the classic Boltzmann configuration.

The olfactory system is likely to be the oldest (in an evolutionary conserved sense) of the memory systems. It is what simple critters like earthworms have to keep them alive.

An introduction:

The functions are found across the animal kingdom:

How do these oscillations get out of these networks and into the cortex?

Keep in mind that this is just one complex of nerves tied to the nose. There are other tied to your water, food, sexual function, day/night sleep control and so on. The hypothalamus is full of them.

These cycles look something like this: