Above: Numenta’s Grok recognizes patterns.
Image Credit: Numenta
Dubinsky: Yeah, and that’s distinct from what computers do. Computers today, the classic architecture can do lots of amazing things, but they don’t do what the brain does. A computer can’t tell a cat from a dog. It seems like a simple problem, but it turns out to be a really hard one. Yet even a two-year-old can do it pretty reliably. The brain is just much better at pattern recognition, particularly in the face of noise and ambiguity, cutting through all that and figuring out what’s the true underlying pattern.
VB: Is it as simple at this point as, you have an application, it sits on top of your platform or engine, and it works?
Hawkins: Everything we showed at our open house, including the shipping product and the other applications we showed, are all built on that CLA. It’s all using essentially the same code base, just applied to different problems. We’ve verified and tested it in numerous ways to know that not only does it work, but it works very well.
VB: It seemed like the common thread was pattern recognition.
Hawkins: It’s pattern recognition, but you have to make a distinction. It’s time-based pattern recognition. There’s lots of pattern recognition algorithms out there, but there are very few that deal with time-based patterns. All the applications we showed were what we call streaming data problems. They’re problems where the data is collected in a continuous fashion and fed in a continuous way.
It’s not like you take a batch of data and say, “What’s the pattern here?” If the pattern is coming in, it’s more like a song. I would make that distinction. It’s time-based pattern recognition.
VB: How would you say it’s more efficient than, say, a Von Neumann computer?
Hawkins: I wouldn’t say it’s more efficient. I’d say the Von Neumann computer is a programmed computer. You write new programs to do different things. It executes algorithms. The brain and our algorithm are learning systems, not programs. We write software to run on a traditional computer to emulate a learning system. You can do this on a Von Neumann computer, but you still have to train it. We write this software and then have to stream in data, thousands of records or weeks of data. It’s not a very efficient way of going about it.
What we’re doing today, we’re emulating the brain’s learning ability on a computer using algorithms. It works, but you can’t get very big that way. You can’t make a dog or mouse or cat or human or monkey-sized brain. We can’t do that in software today. It would be too slow. A lot of people recognize this. We have to go hardware with something more designed for this kind of learning. New types of memory have to be designed – ones that are designed to work more like the brain, not like the memory in traditional computers.
VB: If you look at what other progress has been made, are you able to take advantage of some other developments in computer science or hardware out there?
Hawkins: Memory is a very hot area. With semiconductors, guys like it because they can scale really big. You’ve seen that already. Look what’s happened in flash memory over the last 10 years. It’s amazing. That’s just scratching the surface. They like it because it scales well, unlike cores and GPUs and things like that.
There are many different kinds of people. Some people are betting on stacked arrays. Some people are betting on other things. I don’t know which of those are going to play out in the end. We’re looking very closely at a company with some memory technology that they’re trying to apply to our algorithms. I’ve talked to other people, like a disc drive maker that does flash drives. They have a different approach as far as how to invent algorithms like ours. There’s a guy trying to use protonics on chip to solve memory-related problems. A lot of people are trying to do this stuff. We provide a very good target for them. They like our work. They say, “This sounds right. This might be around for decades. How will we try to work with these memory algorithms using our technology?” We’ll see, over time, which of these technologies play out. They can’t all be successful.
Above: Adam Gazzaley of UCSF
Image Credit: Dean Takahashi
VB: I had a chance to listen to Adam Gazzaley from UCSF talk recently about treating brain disorders like Alzheimer’s using things like games to help improve memory. Have you looked any some of those areas to see whether you’re optimistic about the advances people are making?
Hawkins: Mike Merzenich is the guy who invented all the brain plasticity stuff. That’s been very helpful for us in terms of understanding how our model should learn. It’s been helpful from a neuroscience point of view.
I don’t know how much our work will influence that stuff, though. Most of the brain plasticity thing is about getting your brain to release certain chemicals that foster growth. Dopamine is the primary one. These brain exercises are designed to release dopamine so you get a reward system going. It’s pretty far from what we do. We’re still working on the basic, underlying neural tissue. We could explain how neural tissue is plastic, how it learns, how it forms representations, but that’s not much help as far as figuring out how to do better brain exercises. That’s more about game design and motivation and reward and things like that.
VB: The easiest things you might try could have been vision-related. Did you go down that path, exploring vision-related applications, before you came to these other ones?
Dubinsky: Yes, we did. We spent quite a bit of time on vision in earlier years. A couple of things happened with vision. One was that, after a lot of research, we came to believe that there wasn’t a large commercial opportunity in vision. But the other was as important as anything – vision starts to require some very specific algorithmic work that does not apply to all the other sensory domains. We decided we didn’t want to limit ourselves. Going down the vision path would mean becoming a vision company, and we wanted to be broader than that. We felt it was better to have everything else be our focus.
We could go back and do vision. It’s not to say that these algorithms could not do vision. But there are some very specific requirements that would have to be added back in.
VB: Was it because it would take you down a path of having a very specialized engine?
Hawkins: It’s not that it’s specialized. But it takes a huge amount of cortex to do human-level vision. If you look at the human neocortex, the amount of tissue dedicated to just seeing things is monstrous. It’s somewhere around 30 or 40 percent of your brain. Whereas if you look at the areas dedicated to language, spoken and written, it’s tiny by comparison. It turns out that from a neural tissue point of view, that’s far easier than seeing.
The problem we have with vision, if we want to do it the way the brain does it, we’re just not able to today. It’s too much. Our software would take forever to run. We need hardware acceleration for that. Unfortunately, that’s been an area that many people want to focus on. We started investigating it and implementing things and quickly realized it would be very difficult to do something that was practical and impressive. It would take days to run these things. So we said, “What can we do that’s different and that’s practical today?”
It’s the same algorithm, though. It’s not like it’s a different set of algorithms. It’s the same thing.
Above: Brain training
Image Credit: Shutterstock
VB: One of the benefits that you still came up with is that even though there are other ways to solve some of these problems, whether it’s search or detecting anomalies in servers, those ways would burn up more computing power.
Dubinsky: It’s just that those ways have a lot of problems, more than just computing power. Let’s take the server anomaly detection as an example. The way they do it today is essentially with a threshold. You have a high threshold or a low threshold and if something goes over that, there’s an alert.
This doesn’t work very well. It generates a lot of false positives. It misses true positives. It can’t find complex patterns. It doesn’t learn. If you hit the threshold because you changed something, like increasing memory in a server so it performs differently, it just keeps hitting that until someone resets it, even though it should learn about the new environment. Thresholds cannot be done well today. It’s one of those unsolved problems, doing a good job on anomaly detection. Human brains do it very well and we think our technology can do it very well.
VB: So it works better, but it’s also more efficient, and that adds up to a lot of saved hardware or computing power.
Dubinsky: It depends on the exact application. I don’t know that I’d say it’s more efficient across the board. It certainly is in some application areas. It’s more that it’s doing things that other systems can’t do. They can’t find patterns the way we can.
The fact that it’s a learning technology is a very important one too. If you think about the resources required to deploy some of these other technologies, if it’s something that has to be manually programmed or tuned in the beginning, sometimes all of the work to do that baselining can take a lot of work and computing power. The fact that this technology automatically learns is a key differentiator that we see amplified in not only the IT analytics space, but we expect in some of these other spaces as well.
Today, if you were a human data scientist with a really big model you wanted to build to discover patterns in the world – for all the windmills in a wind farm, for example – you just don’t have the human resources to separately model each individual windmill. To have an automated system that creates those models is the only way to ever address that. You can throw scientist after scientist at it, but there’s just not enough data scientists in the world to find patterns in all of the sensors and nodes that are generating data in the world today.
VB: Donna also brought up that some of the applications you have are geared toward solving problems that aren’t being solved some other way. It’s not necessarily about doing something more efficiently than a current data center.