Why isn't HTM mainstream yet


#56

HTM already produces state of the art results - it just solves different problems than most people have worked on to date. HTM is really only a powerful subsystem by itself; I don’t think that HTM by itself will ever be “enough” for a complete solution for anything.

Most of what I have seen (yes - even here on this forum) are people that want someone else to write an engine for them and then tweak a few things to make it work for whatever problem they are trying to solve.

It will take someone that understand what functions HTM brings to the party and the know-how to combine it with other sub-systems to make it shine. I have not met very many people that have the right skillset to see how to blend HTM with other parts to make a complete solution.

What is that skillset you ask? A deep knowledge of neural networks combined with a working knowledge of neuroscience and the functional architecture of the brain, practical experience with complex systems, and an experienced programmer. It would be helpful to be a seasoned electronics engineer. Being an aspie with OCD would be an asset. These are not the kind of things you find in your average grad student. Most professors tend to be good at one or two of these things but not the entire set. Once this unicorn tackles the problem and publishes the pathway to enlightenment it will become mainstream.

And that is why HTM is not mainstream yet.


Is there any challenge in htm theory?
#57

Hey guys, I’m new to HTM, great work Numenta and company!

It is now past halfway 2018 and subjectively HTM is still not mainstream, how to measure mainstream’ness? No one knows really, how about hype? Easy peasy.

Anyways, I believe that the main accelerators either a person or a group of people of a particular application/theory are those who have the genuine interest in the theory’s origins. By this I mean, simply put, those who are interested and fascinated with how the brain works (biologically, computationally) will have the inherent potential to accelerate the HTM theory/application. This doesn’t mean those who does not have this interest will not have a potential as they may ride the wave later when the theory gains speed. Come to think of this, would you expect most of the hands-on developers (engineers, developers) to have a substantial interest in the human brain? I believe no. So the number of accelerators for the HTM theory, in general, are and will be not as limitless as the number of accelerators in Deep Learning. Deep Learning (ANN) is friendly to Statisticians, Software Developers, Mathematicians, even Managers, and Data *. Even if HTM is friendly to the same groups of people, would you expect them to stay happy reading about the neocortex? To become mainstream, there must be a significant amount of genuine accelerators. Just my opinion.

For me as a part-time brain enthusiast (thought experiments only because I’m not a Neuroscientist) with a humble background in theoretical computer science and spent my most of my time building dumb software in the industry, I see HTM as one of the great and ambitious brain theories of all time, its not just about AI or ML.

Cheers


#58

Hi guys!

While I’m not new to HTM, I’m not an active practitioner. However, I’ve been inspired by Jeff’s book “On Intelligence” (fantastic read), and I’ve read Numenta’s papers and have played around with NuPIC a fair bit. This prompted me to hire a master thesis student to try and reproduce some of my results that used “traditional” ML, using HTM. I’m still waiting for the finished report (will share it with you once he’s finished), but the actual results were promising. While not Earth-shattering, he proved that HTM can be used in that particular context, and HTM’s efficiency with “one-shot learning” is a big plus.

Now if I want to take this further there are a few stumbling blocks in front of me.

  • Most of the HTM applications I’ve seen use numerical data. For text corpora Numenta suggests using Cortical.io APIs (which is essentially a SOM); this was not good enough for me (I needed to build a very specific and localised vocabulary, and it was an isolated system anyway). We ended up cheating a bit and using GloVe and then converting this to SDR. This worked very well but we both felt a bit “dirty” about it. Again, it would be good to have more concrete examples promoted that use text corpora, or other data types such as audio and images.

  • The ability to “generalise” is not really there, or at least not evident to me. This is a shame since “On Intelligence” put significant focus on higher-order functions, and particularly in later chapters where various aspects of intelligence were brought up, e.g. how some people become “experts” at something by essentially pushing the more basic abstract/generalised knowledge down to lower layers allowing the higher layers to “specialise”. While more traditional techniques don’t really generalise either, I’ve created factoid answering programs and chatbots using word embeddings and simple MLPs and simple tricks like drop-outs and “quasi” attention modules, and after 20 minutes of training time (on a heavily constrained dataset) I get something that really impresses me. I’ve seen in HTM forums that hierarchies and generalisation is an open issue, and that technically it’s possible to build more complex systems, but a concrete example, such as a simple QA system would definitely increase the PR.

  • To really understand HTM, one has to understand certain neurobiological aspects such as (mini) columns, NMDA spikes, depolarisation, excitation, inhibition, proximal, basal, and apical synapses, as well as things like SDRs and Hebbian learning. While Numenta has done a great job with the clarity of their papers, BAMI book and HTM School, it’s still significant load for a newbie. I’ve been struggling to follow certain discussions in the forums because they go into great detail in terms of cognitive science and neurobiology, and such discussions will always be a challenge for those of us who simply don’t have the time (due to other technical commitments) to dig deeper into neuroscience. In contrast, point-neuron architectures and “deep learning” basically require you to understand dot product and bit of differential calculus, and voila! And most technically inclined people know these concepts already from school. Even the current trend to integrate deep learning with external memory store, or introduce Gaussian processes is “ok”, as once again it builds upon knowledge that lot of engineers/scientists already learnt in school. Not sure what Numenta can do in this regard, but I think tackling the previous two points would help, and trying to abstract/generalise neuroscience as much as possible will also help.

That being said, I believe HTM introduces two crucial concepts - hierarchies, and predictive memory - and I’m seeing more and more of these two being integrated into traditional approaches, so this will indirectly help HTM and Numenta.

Anyway, just some personal views here, please discard if you think I’m spewing garbage :slight_smile:

//Armin


#59

For an HTM-equivalent to these underpinning concepts (like dot product, calculus & gaussians) I think Cellular Automata is one good reference point.

Maybe not as widely studied as straight math but a very intuitive structure regardless. Each cell activates when enough of its neighbors are active (or some such update rule). HTM cells fundamentally do the same, except they look to their neighbors in time instead of in space and they learn who these neighbors are through transitions. Each cell can have many sets of neighbors (distal dendrites of synapses), and the degree of neighbor-ship is modulated online by incrementing & decrementing the synapses’ permanences. When not currently active, cells can also be ‘predictive’ (expecting to activate), as triggered by the learned temporal transitions.

The total structure learns by forming and un-forming links, using only incrementing and decrementing. I think this allows a potentially lower learning curve than the math behind MLPs, especially for non-math experts.


#60

I’m a big fan of cellular automata as well. I think the big lesson from CA is that a very small set of rules can establish amazingly complex behavior. HTM is an extreme example of that.


#61

@gmirey dropped a nice link on this earlier:


#62

Update: almost 2000 users.

Update: almost 150K views total


#63

By comparison:
Crochet Guild of America - 3,000 members
Always Elvis Fan Club - 16,000 members
9/11 Truthers - 25,000 members

Looks like you’re behind.


#64

I think a cellular automata like network but using dynamic connectivity, could probably exhibit rhythms and other brain like properties, perhaps even general intelligence, while potentially being much simpler in mechanisms.


#65

I am new to this forum, I am a bioinformatician and heavy user of Deep learning…

To me, Numenta approach is much more interesting and profound than deep-learning and other ML methods, but the ML community is more interested in what works. Deep learning works in many cases ABOVE the average human performance, and hence, it is useful in many areas. But eventually it is just a powerful function-approximator.

Nevertheless, I have got the feeling that the ML field is moving toward Numenta direction faster than we think. Late research showed a significant improvement in unsupervised / self-supervised approaches which is the real "cake" of ML as Yan Lecun stated.

In 2018 we learned that unbelievable results can be achieved with system that just try to “model” the word, like: self-attention, language models and generative models. Thus, even in the deep-learning world, it is becoming clear that the future paradigm of ML is a not a data-angry classifier, but a strong model of the world, learned from sequential or forward predicting model (like GAN), which shockingly similar to Hawkins view of the brain: A “constantly changing multiple predictive models of the world” – In my opinion it is not far from what the recent “BERT” and “StyleGAN” models are, although the architecture is very different.

The amazing thing about the brain is how it can learn such a complex model of the world without much data and with a very low-powered and slow hardware. This is where Numenta should focus: The future AI technology is probably not a data-angry monster running on multiple GPUs, but a context-aware, self-supervised, ensemble of learners, that can learn numerous concepts and objects, and have a “common sense” about the world like human does. HTM has a much better chance to go there than DL.

I think that Deep learning is here to stay, but it is just a step toward a brain-like system of the future. We just need to go through GANs, Attention, Capsules, Language-models, etc. before hitting HTM again, probably with some clever take on current computation paradigm…

If the Numenta software will be as mature and elegant as keras or pytorch and will show some interesting unsupervised results on real problem, then it will fly. I don’t think that it has a chance to beat DL in big-data supervised tasks, where humans can’t.


#66

Thanks for your thoughts. I agree with a lot of what you said. I think HTM will require input from multiple sensors in space to really shine on hard tasks like object modeling. We need to split up the senses so we have different cortical columns modeling different locations in space, attached to different sensors. That is how sharing lateral connections will enable sensor fusion. We think this is how local patches of one sense are fused, and we also think this will apply across sensor boundaries.

But one thing we can do with today’s tested theory is see how it can be applied to the Deep Learning systems of today to improve performance or accuracy. That is currently what we are looking into, and I have to say that from what I’ve seen so far I am encouraged that we can make some impact on the current Weak AI scene by adding some HTM ideas.


#67

Hi everyone. I’ve been reluctant to join the conversation for a couple of years, for many reasons, and will restrain myself further, as writing posts like this one takes too much time. But here are my .5 on a given topic.
TL;DR: to succeed, the HTM ecosystem needs systems, processes, practices and tools that belong to general software development domain, or that are spread across multiple domains: system programming, network programming, game programming, to name a few.

First of all, yes: these algorithms sure are non-trivial, if not hard. But implementing one is totally feasible nonetheless. As with any software, developing and polishing an algorithm is an iterative process (even/especially when it’s backed with massive amount of scientific data). Hence, it requires a feedback loop.
An effectiveness of such feedback loop depends on a development process. How quickly you can get the results from a working version of the algorithm or an integrated system? How quickly you can decide whether the system behaves correctly and does what it meant to do? Are you sure you get clear results? Etc.
These are questions that are being asked every day in general software development domain. The libraries, frameworks and tools are used to make the process easier and more complex tasks to be more “tackleable” (is there a more appropriate word for this? I’m pretty sure there is).
From what I’ve seen, HTM ecosystem lacks that feedback loop almost completely. This is a complete show stopper.

The second one. These statistics algorithms, or ML/DL they called these days - you don’t need them to succeed. And they won’t get you, the theory, and the HTM algorithms anywhere. They might bring some tools and practices into development processes though, but not much.
More than anything else, you need a system that scales; and scales very well, and doesn’t consume all available resources while constantly operating. This architecture needs to be the foundation of the solution, and you need to build it first. What kind of task the solution will perform is insignificant, because any algorithm can be embedded in it.
And then, you can elaborate processes and feedback loops on top of that system. And improve it further, and improve algorithms you embed.
I was pretty surprised when I saw the news that Numenta is hiring ML/DL developer (and looks like the position is already filled since the announcement is gone). Numenta, and/or the community, needs a couple of good software generalists, with strong production-grade experience in network programming at least. They might not be familiar with some concepts, but they can build an infrastructure that you can use. Scientists don’t construct laboratories; instead, they formulate requirements to be met.

I won’t discuss the theory itself here, since it doesn’t matter much; no one have been able to prove or refute it because there is no clear process (of proving/disproving) to follow, yet. Whether the theory is right or wrong (and I assume it’s right, at least in its core principles), a well-defined process, that is easy to follow, will get you to the point more quickly.


#68

Jeff: “I think we are pretty mainstream, we are just rare.” (source)

@rhyolight can’t wait for Episode 16 to come out. :slight_smile:


#69

While I don’t have a binary opinion on this, I’m more inclined to this opinion. Going DNN or integrating DNN’s might lead HTM to a trap. One of the things I liked about HTM is that even though the algorithms are complex and involve self-organization and probablistic techniques, they are still mechanical and can be modelled with classical CS computational models. IMO this is something that is extremely important both for engineers and businesses so that a certain level of confidence can be established about how an HTM application will operate in the real-world just like any other non-AI software out there.


#70

Don’t worry we are not going Bayesian. We’re just trying to see what tricks we can pull off in the current ML space to garner some attention. Maybe there is some low-hanging fruit where HTM ideas bring big gains? It is a good time to ask these questions.


#71

HTM isn’t mainstream because there isn’t any public relateable news about it. Deep Neural Nets went mainstream the second they defeated world grandmasters in Go. Funny thing, I wanted to try making a Go AI using HTM before DeepMind existed. At the time I didn’t have the skills and there wasn’t a Windows version. Anyway, people relate to games. If HTM can play games, people will pick it up, especially if you can pit it against DeepMind. People would also be more likely to pick it up if it’s just the download of a library.


#72

I agree with much of what has been said in the discussion about why HTM isn’t mainsteam yet.

I think that it may be necessary to depart somewhat more from biology to make it more useful in the short term. The lack of supervised learning / reinforcement learning is quite a problem, in my opinion, in terms of applying it to most ML problems. What I imagine may bridge the gap is a combination of HTM with another deep learning approach.

Imagine the following: HTM processing of image data -> sparse representation output -> convolutional neural network -> object classification.

To be useful for most problems, it needs what I would call a decider network. It needs a way to choose between various responses and then be reinforced based on accuracy. You’ll never have AGI without this IMHO. Humans and animals learn through an immensely complex process of supervised and unsupervised learning. Humans in particular have very sophisticated decision, reinforcement, and punishment systems.

Has anyone tried combining HTM output with a supervised learning approach?

Best regards,

Jack


#73

I am planning to implement something opposite to that…
(1) Deep-learning as the “sensor” to extract image features (ResNet trained on ImageNet)
(2) encode dense space of the DL-sensor last layer into SDR using some clustering approaches.
(3) using multiple HTM columns to learn this representation in an “unsupervised” way. (I was thinking of simulating “movement” of the detector over an image as a sequence of data).
(4) using this HTM-ensemble to do “zero-shot” object-classification / object detection.

The idea here: use DL in supervised-learned pattern recognition, and use HTM where it shines: making sense of the world and model the world in an unsupervised way.
The test case here will be to perform “zero-shot” object recognition/detection …

given an UNSEEN object class: can an ensamble of HTMs recognize new categories?
Can it tell for example that some unique animal it hasn’t seen before, is somewhat similar to animals that it has seen?


#74

There are demos from Cortical.io doing just this with words of animals (inferring the eating preferences of Coyotes after seeing those of Wolves and Dogs), though I don’t know of anything like that with images…


#75

That sounds like an interesting idea. I’m just not certain how you end up with a decision or meaningful output in this case, but it sounds like you have ideas for that.