Hacker News new | past | comments | ask | show | jobs | submit login
Numenta releases brain-derived learning algorithm package NuPIC (numenta.org)
157 points by gfodor on June 3, 2013 | hide | past | favorite | 59 comments



Five years ago, I used the previous closed-source version of NuPIC for my MSc thesis to build an evolutionary simulation of a predator/prey relationship to evolve camouflage patterns. The NuPIC network was the "predator", trying to categorise "prey" patterns against background images. I only scratched the surface of what it could do, but it worked incredibly well.

It looks like this new version is a completely different implementation [1] but, in my experience, the idea is sound and the approach is very promising.

I'd love to revisit the project at some point. The fact that this is now open source makes that much more appealing.

[1] http://numenta.org/faq.html#whats_the_difference_between_thi...


Has Numenta done any of the empirical evaluations that are standard in the mainstream applied machine learning communities? For example, if they're doing image classification, one of the standard shared tasks from the field of vision research. When you ask what research supports Numenta's approach, they always point to the Hawkins book. It's a nice story, but there's quite a history of nice stories in AI that haven't always been ready from prime time.


Good point. There are so many benchmarks that can be performed. POMDP (Partial Observable Markov Decision Processes) literature has a lot of benchmarks (bandits, etc.). Reinforcement literature has many. There are many standard problems in nonlinear control theory solved, not only the inverted pendulum. It is common knowledge that an algorithm that performs well on task A, will be outperformed on task B. What are the tasks B in Hawkins book? In what do these specific type of recurrent networks excel, and in what do they sink as a brick?


They have some pretty fancy acronyms ("Cortical Learning Algorithm (CLA), but also the Online Prediction Framework (OPF)"), but is this just an n-th generation autoencoder? "Encoders turn raw values into sparse distributed representations (SDRs)."

I feel like they're making up their own terminology in a bubble instead of integrating with the rest of mainline research?


It's valid to say that CLA is somewhat separate from mainline research, and some of the terms are a product of that. The specific ones you refer to arn't misnomers however.

CLA - Closest 'mainline' term would be a recurrent neural network, but the neurons and network organization are very different.

OPF - This is more of a runtime environment or a set of tools to work with.

Encoders - These are actually a step below what you think of as an autoencoder. They translate many data types into useable inputs for the network. Then the spatial pooler takes over and tries to find efficient representations.

While it's possible to describe Numenta's work with existing frameworks, and unifying nomenclature is always useful, I hope you'll take the time to learn the system so that we can apply the correct shared terminology!

Full Disclosure: I used to work for Numenta.


It would be nice if people would compare their stuff a bit more. Hinton gets a lot of attention with deep belief networks. Grossberg tried to do a lot with adaptive resonance theory. Schmidhuber has something going on with long-short--term memory. Perlovsky has yet another neural network model. All intelligent people and I love reading their work, but they should sit together and MAKE the mainstream. :-)

Just describe the basic mathematical formulations and define what is different between you and the other. I wish they would do this more and write less verbose papers.


Unfortunately the incentive structures for researchers tend to reward big claims, both on terms of results and novelty, over careful comparisons. It's always better to sell your work as a conceptual leap toward than a slight variation in a mathematical model


Are there any concise (non-book-length) tutorials or online courses about the Hawkins Way?


The most recent HTM paper is here:

https://www.groksolutions.com/technology.html#cla-whitepaper

There were some earlier ones that used to be on the Numenta website (before the name-change), but I don't see those posted now.

With the exception of being able to handle on-line learning, I have a slight preference for their previous, more abstract approach. Their current approach seems to model the details of the neural connections at a lower level than what seems necessary to me. This is not, by the way, any kind of valid scientific opinion, just the views of a widely-read amateur.


A good place to start is his lecture at Berkely : http://www.youtube.com/watch?v=qZM9JREjnp4

Then Chapter 6 of "On Intelligence" From there you should be and to tackle his whitepapers which can be found here: http://blog.mohammadzadeh.info/index.php/hierarchical-tempor...

If you are interested in generalized strong AI, this is some of the best work out there.


I hope somebody makes an ImageNet classifier or does some other standard machine learning benchmark so we can directly compare the performance of NuPIC to the state-of-the-art in machine learning.


Quick link to Jeff Hawkins book On Intelligence which describes the theory:

http://www.amazon.com/On-Intelligence-ebook/dp/B003J4VE5Y/


I bought this as an audiobook on iTunes for a car trip or something, back in ~2006. It made a huge impact because its theories are so simple and easy to understand that, if you are even a novice programmer, you can probably imagine how you'd go about implementing such a brain. Especially if you find the original white papers and read them too, as they practically include the source code if I recall (I've got them printed and bound on a shelf somewhere).

While I was in grad school, I spent several weekends tinkering with my own implementation of a very simple HTM to process shapes in Go (the game). It never did much in the way of playing Go, and I stopped messing with it after something else more practical got in the way, but I'd love to dust off that code and now seems like a great time to get back into it.

The narration on the audiobook is very high quality, and, for me at least, the ideas were quite accessible through audio. I highly recommend it if you're the type of person who might purchase such a book in paper and never get around to reading it (but you have time to kill in the car).


This is a fantastic book.


To quibble.

On Intelligence is a prescription for an intelligent system which Numenta's software is intended to fill. So On Intelligence would tell you the motivation for the system but not how the system works in any detail.


I'm just going to throw this out there in the hope that someone enlightens me.

Ever since I first read the book "On Intelligence" I thought Jeff Hawkings was on the right track with Strong AI. The insights I got from reading the book I thought were invaluable. I don't know how close they are to Strong AI or if they are closer then anybody else but I would expect that if they were making any real head way into the field that Google would already have made an offer to buy them.

At least that is what I would do if I wanted to be the first to control the technology. The fact that nobody seems interested in acquiring them sends the signal that they probably are no better than anybody else building AI tools.


I've read "On Intelligence" too and I think Jeff Hawkings is onto something. However your argument:

>>"The fact that nobody seems interested in acquiring them sends the signal that they probably are no better than anybody else building AI tools"

Seriously? The bar to being successful is an acquisition offer from Google? I'd understand if money was the driving factor. But Jeff Hawkings has already made a bunch of that from his previous ventures and to me at least, it seems that he's genuinely passionate about building something extraordinary. So, I'm still rooting for Numeta.

In the SV bubble the measure of success may be getting "acquired", but I hope Numeta is more about actually creating some groundbreaking advancements in AI & not just getting acquired.


>>Seriously? The bar to being successful is an acquisition offer from Google? I'd understand if money was the driving factor. But Jeff Hawkings has already made a bunch of that from his previous ventures and to me at least, it seems that he's genuinely passionate about building something extraordinary. So, I'm still rooting for Numeta.<<

The thing is, Since On Intelligence came out I haven't really seen any real products from them. Sure, they created some tools that they expect other developers to build projects on top of them but that is it. Honestly, with all his talks claiming how his algorithms are much better than the current state of the art I would expect really good image recognition, speech recognition or something like IBM's Watson to come out of their labs. But everything I've seen from them seems average. Not that much better than the state of the art.

If they had anything groundbreaking and I were google, I'd want to acquire that technology to further the goal of Strong AI. Google is interested in producing AI and will acquire anybody that can help it with that goal. Google is not interested in Numenta's technology, and I'm sure they've checked their technology, which makes me think that Numenta doesn't really have much to offer.

Whether Jeff is interested in selling or not is irrelevant.


Google hired recently Ray Kurzweil as director of engineering. Ray's recent book - "How to Create a Mind: The Secret of Human Thought Revealed" - is influenced heavily by the ideas from the first generation of Numenta's technology (via Dileep George). So, you could say that Google is following Numenta to some degree. Jeff Hawkins is always careful about setting expecetations and tries avoid as much hype as possible. The progress was indeed slower than what some people imagined it to be, but it is a very hard problem . Now, Numenta has Grok and its technology will be tested in the field. It also released NuPIC as open source, which will let anyone interested to dive in, run benchmarks, etc.


In all honestly though, the Google founders were Ray Kurzweil fans before he wrote the "How to create a mind" (which is book that's a whole another discussion altogether). I would be really surprised if there weren't already some interest and some back and forth between Numeta and others in the AI field. It's really about goals, and if goals align then "acquisitions" might make sense. But it is far from a marker of success. There are plenty of acu-hires to prove that.


http://www.youtube.com/watch?v=4y43qwS8fl4 - Jeff Hawkins recent talk at Google with Kurzweil in the audience asking questions.


Frankly, I'm not sure why you think you even know if there have or have not been offers, or what sorts of problems they are actually solving. A lack of media screaming and investor drum banging means absolutely nothing.


Good point. I do not know if there have been, or not, any offers. What I do know is that their technology so far is not impressive, it is pretty average.


> Since On Intelligence came out I haven't really seen any real products from them

They absolutely have a commercial venture going: https://www.groksolutions.com/


Numenta is completely self funded. No VC would touch Numenta - (in the beginning) Do you really think Hawkins a man who dedicated his life to reverse engineering the neocortex will determine his success by a quick and dirty 'feature' sellout to Google?


Machine Learning is a serious, real thing. Strong AI is still kinda... out there. Not "this is definitely impossible, don't even try" crazy, but "we're pretty sure we don't know how to do this yet, and claiming you've done it will set off alarm bells" out there.


Strong AI will exist when machine learning is sufficiently general.


It'd be nice if they had some small useful examples.

Context: I'm not familiar with ML though I've been reading some papers recently (I'd like to learn ML; I wanted to have some ML baddies in a game and let them play each other, etc).

I imagine the ML component being a black box with inputs and outputs, but it's probably more complicated than that. The FAQ says "The algorithm lends itself well to high-speed temporal data" which makes me think of high frequency trading or touch-screen input smoothing or something like that, but I don't see examples for those kind of things in their github tree (but maybe I'm just so unfamiliar with ML that I don't know the names of the concepts?).


I think Dileep George's thesis offers some clues as to the relation between Hawkin's Hierarchical-temporal ideas and other ML constructions: http://www.dileepgeorge.com/tiki/tiki-download_file.php?file...

I recall George was the technical lead at Numenta and has since left.

Hawkins' model centers on having an overall model of the brain based on prediction. I remember watching a Hawkins video where he makes the reasonable point that neuroscience has failed to create overarching visions and it seems plausible that such a vision (or several competing vision) could be useful. But I also think that prediction in-and-of itself probably isn't sufficient.

FWIW, When I earlier scanned their website, Numenta was trying to sell its software for big bucks and not giving any detailed documentation for their algorithm. Now they seem to be giving everything away for free. That might be an indication that this is the end of the road. But it's hard to know, of course.


>>I recall George was the technical lead at Numenta and has since left.

George Dileep left Numenta and co-founded Vicarious Systems[1].

[1] http://vicarious.com/


Your link is broken. Luckily, there's Internet Archive:

http://web.archive.org/web/20110412231749/http://www.dileepg...


As I discovered myself, Hawkins' algorithm is not the best place to start learning about machine learning. I would suggest getting an overview elsewhere, such as maybe Andrew Ng's Coursera course, then coming back to Hawkins.


As a former cognitive neuroscientist, claiming that a region as large as the neocortex has a single underlying principle that explains it all sets off my oversimplification alarm bells...

I'm sure the code is great for machine learning purposes, but I doubt his theory has much bearing on how brains work. The brain is one of the most heterogenous and complex structures in the solar system.


Care to go into greater detail?

The thing is, the hypothesis that there is a more-or-less basic neocortical algorithm wouldn't be disproved by modest amounts of variation in the neocortex.

And position that the neocortex is rather uniform is fairly standard neurophysiology as far as I can tell.

http://www.pnas.org/content/early/2013/01/02/1221398110.abst...


what is the difference between Numenta and Grok Solutions?

Per the wiki, the latter is the successor of former, but now it seems the may have resurrected the old brand.

https://en.wikipedia.org/wiki/Grok_(company)


Correct. The Numenta name is now associated with the open source project and NuPIC, whereas Grok is the commercial company.


I couldn't find a paper describing the science behind this (did they publish any?). Is there anything new here? Or is it just an iterative engineering improvement on existing science?


He wrote the book On Intelligence. Probably one of the most illuminating books that exists.


Care to elaborate or point out some well written reviews?


I've read it and fwiw it contains some great information, but only at the lowest levels of cognition. Its fascinating, but his conclusions are not compelling because they're drawn from selective facts that have already been tainted by opinions.

It reads like he's gone the long way around to learn the same things ML already knows while resisting anything that ML doesn't already know.


Others have already mentioned "On Intelligence".

Their latest whitepaper is available here:

https://www.groksolutions.com/technology.html#cla-whitepaper

Some of the earlier Numenta documents are archived here:

http://blog.mohammadzadeh.info/index.php/hierarchical-tempor...


Jeff is/was chairmen of the Redwood Neuroscience Center at Berkeley. My guess is that a good number of the publications listed on their web page touch some of the science here.

http://redwood.berkeley.edu/

Things seem to get quite after 2011...about the same time they started going to Grok. Maybe they found something.



I'm a third year computer science student from Maseno unversity, I'm really interested in learning about AI and unfortunately we'll only be learning more about machine learning and so on next academic year. We've done a basic unit called Intelligent Systems. So my question is, what next from there? Can someone please recommend what I should read to advance my rather basic knowledge?


Pattern Recognition and Machine Learning by Christopher M. Bishop

Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series) by Kevin Murphy


Thanks!! I'll check then out. Do they start basic enough though?


For anyone who is interested in this, Jeff Hawkins gave a fantastic key note speech at last year's StrangeLoop conference entitled "Computing Like The Brain" which goes into some detail about the theory behind this.

http://www.infoq.com/presentations/Brain-Computing


In case you got interested in machine learning and neural networks, I've found this course by Geoffrey Hinton refreshing and helpful: https://www.coursera.org/course/neuralnets


Looks interesting. Anyone have any idea how this research/product fits into the larger landscape of ML theory?

They don't seem to reference much outside work as far as my cursory check revealed.


According to the author's book, there was almost no preceding work in this area; the one groundbreaking paper was largely ignored.

1. "On Intelligence", Jeff Hawkins, 2004

2. "An Organizing Principle for Cerebral Function", Vernon Mountcastle, 1978


Glad to see this bubbling to the top. I've been following its development for almost a decade. It will be nice to finally have some code to reverse engineer.


serious question - is there a reason why computer models of thought and 'weak AI' focus on biologically-inspired models instead of generalizing to higher-level cognitive phenomena? It seems like this is quite a bit like trying to model the hydrodynamics of a river flowing by going down to the quantum mechanical properties of water and dirt.


This has been tried without success. You may have heard about the AI winter, or the failure of the symbolic approach, in the 1980s.

Check out "On Intelligence". It talks about their reasons for following biological constraints, in opposition to your point of view, common among computer scientists.


To use your analogy, because starting with "WATER FLOWS DOWNHILL" and trying to work out how much energy a dam in the river could generate leads to flooded villages.

1) Modelling the higher level phenomena is really, really hard to do at anything other than a basic level. We could just build formal logic systems, but we don't want to have to put all the information in there ourselves, so they've got to learn it somehow.

2) You've got to get the concepts into the AI to start with, we're still trying to work out how to tell the difference between objects in images.

3) It is being done, it just doesn't sound as sexy and so you don't hear as much in mainstream news.

4) It may have fewer short term benefits.

5) Biology has a working example we can try and steal.


It has turned out to be quite hard to implement higher-level cognitive phenomena directly, so they decrease level until they find one they can implement and then try to get emergent properties from there.


Has any of this been peer reviewed?


The book has been out for almost a decade. I've read other published papers over the last decade. They've shown remarkable result from what I've read. I'm not a peer exactly but it seems that they are on to SOMETHING. That being said, they've changed direction a bit since doing nupic. Grok takes a different approach to solving the same problem(ie generalizing the structures of the neocortex and using it to make predictions about incoming data).


only works with Python 2.6 and not 2.7??


Oh, then it can't be real AI.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: