Update: I recorded a video lecture on this topic:
@dmac thanks for you presentation.
Could you please share your C++ SP implementation with HTM.core?
I’ve implemented this several times, but I may not have a code solution ready for you to use:
- Python NuPIC, shown on slide 13, SP augmented for grid cells is available at https://github.com/ctrl-z-9000-times/KropffTreves2008_reproduction
- Python HTM (implemented from scratch) for slide 17, Experiment for L2/3 is available at https://github.com/ctrl-z-9000-times/sdr_algorithms
- C++ HTM.Core has an experimental branch with Grid Cells. But I’ve given up trying to merge this branch into the master, so use it at your own risk. https://github.com/htm-community/htm.core/pull/285
@dmac thanks for your information. Unfortunately i Did not find any branch named GridCells. Maybe it is ColumnPooler2?
Could you pls check it again?
Where is your demo with Mnist?
Yes, the branch is named “columnPooler2”. I linked to its PR in my previous response.
I have demonstrations using MNIST, but they are not related to this topic.
https://github.com/rogerturner/HTM-scheme/tree/master/projects/KropffTreves2008_reproduction is a HTM-scheme translation of @dmac’s code (so a replication2 of Kropff & Treves 2008 )
One small change is to increase coordinate encoder radius and width every 50000 cycles (see grid_cell_demo.ss lines 193-201). Results after 200,000 training iterations appear similar to @dmac’s (trained for 1,000,000 iterations).
@dmac Very nice explanation, i was struggling with lot of things that was covered with this. Thank you so much for this video !