2006-06-10

Cortical Algorithm

YKos has sucked so much blog-talent out of the online world that there's nothing exciting to read. You can interpret that statement as, "YKos has made the internet boring." I know what you're thinking: "Cry me a river, liberal."

So, what I've been thinking about instead is the Cortical Algorithm via the Memory-Prediction Framework, a little side project I've been working on for the last 6 months or so. If you have heard of it, then you must have read On Intelligence by Jeffrey Hawkins. If so, bully for you.

Hawkins introduces his book thusly:
The book starts with some background on why previous attempts at understanding intelligence and building intelligent machines have failed. I then introduce and develop the core idea of the theory, what I call the memory-prediction framework. In chapter 6 I detail how the physical brain implements the memory-prediction model—in other words, how the brain actually works. I then discuss social and other implications of the theory, which for many readers might be the most thought-provoking section. The book ends with a discussion of intelligent machines—how we can build them and what the future will be like.
"... the most thought-provoking section?" What a laugh, Jeff. Anyone who hasn't thought through the implications of intelligent machines hasn't been an active intellectual participant in the Information Age. You want an exposition on the implications of intelligent machines and post-singularity theory? How about dipping your toe into the provocative The Metamorphosis of Prime Intellect. A word of warning on that link: chapters 1 and 3 nearly made me sick, so I can't give it an unqualified endorsement.

No, in fact the most interesting part of On Intelligence was the articulation of a theory of consciousness. Not just random facts about the way subprocesses work in the brain, but a unified description of the way the brain works. I believe there is no magical consciousness-juice that needs to be sprinkled on a brain in order to arrive at a sense of "I," so On Intelligence provides an almost complete framework for implementation.

There are a few central tenets to the memory-prediction framework. First, cortex is cortex - any part of it can do the work of any other. This can be illustrated by the cliched examples of the blind man developing a higher hearing acuity as his unused visual cortex finds things to do. Therefore, there must be a single Cortical Algorithm being run by the cortex that is equally suited to processing sound as it is vision.

Secondly, the task of cortical units is to learn patterns, and predict what will happen in the future based on the currently prevailing pattern. In a sense, the brain is just a big pattern matching machine. The patterns that are presented to it differ based on what input stream is providing it - auditory, somatosensory, visual, proprioception, etc - but they are just patterns, and recognizing and predicting sequences of those real-world patterns is the cortex's primary purpose. We use that limited ability to predict the future for everything from catching a ball to daydreaming.

Thirdly, there is a hierarchy of abstraction in the cortex, with higher levels representing "larger" or more complex concepts, or concepts that are operative over an extended period of time. Patterns that are unrecognizable to lower levels of the hierarchy are passed to their superiors, who either have a name for that pattern and therefore have expectations, or are also stumped and continue handing them up the chain.

From there we start getting into the weeds of technical specifics, so I'll adjourn.

The great thing about the theory is that it actually has the meat to convince you of its power. I'm convinced that if I could build a sufficiently powerful and capacious system, give it a set of real-world input streams tied to interconnected cortical algorithm units, that a working intelligence would be grown - just as we grow babies into thinking adults.

So, my current task for implementing a computer-based algorithm is trying to design a way to grow the network of constituent neurons and cortical columns without the problem of biasing your network towards randomness. It's fun.

2 comments:

Kepler said...

... localroger himself has posted on my blog. I think that's deserving of a holy shit.

I love your work. I think I've read everything you've posted online. Have you written about the Gunpowder Point Algorithm online?

How did you notice the link? Grepping the blogspot feed?

Anonymous said...

Here are some links that I believe will be interested