- is there is an aggregation thread for small questions like these? It seems wasteful to start a new topic for small questions like these
- I was looking at these lines in the scalar encoding source. As I am rebuilding some stuff in nodejs (you only understand it properly if you can build it), I figured the number of bits for w=5, resolution=0.5, min=1, max=10 would be 23, rather than 22:
1.0 11111000000000000000000
1.5 01111100000000000000000
2.0 00111110000000000000000
2.5 00011111000000000000000
3.0 00001111100000000000000
3.5 00000111110000000000000
4.0 00000011111000000000000
4.5 00000001111100000000000
5.0 00000000111110000000000
5.5 00000000011111000000000
6.0 00000000001111100000000
6.5 00000000000111110000000
7.0 00000000000011111000000
7.5 00000000000001111100000
8.0 00000000000000111110000
8.5 00000000000000011111000
9.0 00000000000000001111100
9.5 00000000000000000111110
10.0 00000000000000000011111 - For an adaptive scalar encoder, would it make sense to not adjust the min and max value, but just add more bits. For spatial pooling you would need to add more connections to the newly created bits when that happens, but I would guess the impact on the already learned permanences would be less.
- I feel quite a bit of intelligence is hidden in creating an appropriate encoder for your domain (much like the problem of the universal problem solver was that you needed the rules to begin with). Are there any efforts to create encoders using, for example, a DNN autoencoder?
As I mentioned, I started recreating the HTM basics in Typescript in Nodejs. Following the HTM School videos, implementing SDRs and Encoders. Next bit is a Spatial Pooler, followed by a Temporal Pooler (waiting for the HTML School video…) These can be found here: