ILLUSTRATION:Bryan Christie Design
|
By the age of five, a child can understand spoken
language, distinguish a cat from a dog, and play a game
of catch. These are three of the many things humans find
easy that computers and robots currently cannot do.
Despite decades of research, we computer scientists have
not figured out how to do basic tasks of perception and
robotics with a computer.
Our few successes at building "intelligent" machines
are notable equally for what they can and cannot do.
Computers, at long last, can play winning chess. But the
program that can beat the world champion can't talk
about chess, let alone learn backgammon. Today's
programs-at best-solve specific problems. Where humans
have broad and flexible capabilities, computers do not.
Perhaps we've been going about it in the wrong way.
For 50 years, computer scientists have been trying to
make computers intelligent while mostly ignoring the one
thing that is intelligent: the human brain. Even
so-called neural network programming techniques take as
their starting point a highly simplistic view of how the
brain operates.
In some ways, the task has been wrongly posed right
from the start. In 1950, Alan Turing, the computer
pioneer behind the British code-breaking effort in World
War II, proposed to reframe the problem of defining
artificial intelligence as a challenge that has since
been dubbed the Turing Test. Put simply, it asked
whether a computer, hidden from view, could conduct a
conversation in such a way that it would be
indistinguishable from a human.
So far, the answer has been a resounding no. Turing's
behavioral framing of the problem has led researchers
away from the most promising avenue of study: the human
brain. It is clear to many people that the brain must
work in ways that are very different from digital
computers. To build intelligent machines, then, why not
understand how the brain works, and then ask how we can
replicate it?
My colleagues and I have been pursuing that approach
for several years. We've focused on the brain's
neocortex, and we have made significant progress in
understanding how it works. We call our theory, for
reasons that I will explain shortly, Hierarchical
Temporal Memory, or HTM. We have created a software
platform that allows anyone to build HTMs for
experimentation and deployment. You don't program an HTM
as you would a computer; rather you configure it with
software tools, then train it by exposing it to sensory
data. HTMs thus learn in much the same way that children
do. HTM is a rich theoretical framework that would be
impossible to describe fully in a short article such as
this, so I will give only a high level overview of the
theory and technology. Details of HTM are available at
http://www.numenta.com.
First, I will
describe the basics of HTM theory, then I
will give an introduction to the tools for building
products based on it. It is my hope that some readers
will be enticed to learn more and to join us in this
work.
We have concentrated our research on the neocortex,
because it is responsible for almost all high-level
thought and perception, a role that explains its
exceptionally large size in humans-about 60 percent of
brain volume [see illustration "Goldenrod"]. The neocortex is a thin sheet of cells, folded
to form the convolutions that have become a visual
synonym for the brain itself. Although individual parts
of the sheet handle problems as different as vision,
hearing, language, music, and motor control, the
neocortical sheet itself is remarkably uniform. Most
parts look nearly identical at the macroscopic and
microscopic level.