What AI did wrong, and an isomorphism of failure
2007-10-26 by julianmorrison
General artificial intelligence has consistently failed. Although the number of problems thought to be general has been chipped away with narrow AI, the problem of generality shows no sign of being reduced.
At the same time, a theory of the organization of mind has been constructed from empirical data about the nature of learning. This has two systems.
System one is very slow learning, very fast responding, and can solve some incredibly difficult problems so quickly and definitively they never even appear as problems (example: vision). It’s equivalent to the unconscious mind.
System two is quick learning, and can follow rules, but is laboriously slow at processing. You use system two if you’re “thinking”. It’s equivalent to the conscious mind.
(credit: T. Gilovich, lecture on YouTube, whose content is paralleled here)
Hypothesis: AI has failed because every general AI first tries to imitate system two. They try to achieve something that “reasons”. However in the real brain system two is a backwater, a monitoring unit that does not really participate in the main line of computation. A complete emulation of system two would be a very incomplete mind. Non-progress is an illusion. They are successfully achieving the wrong goal.
Evidence: the problems of Symbolic AI are the same problems as those encountered by a human trying to do general thought with system two. If anything, symbolic AIs are better than humans at doing the wrong job. Both of them bog down on anything complex or where broad swathes of domain knowledge must be taken under consideration. Both are prone to “worrying” (repeated symbolic manipulations that revisit the same few states without developing the problem).
I propose: general AI should first seek to emulate system one.
“System one is very slow learning, very fast responding, and can solve some incredibly difficult problems so quickly and definitively they never even appear as problems (example: vision). It’s equivalent to the unconscious mind.
I propose: general AI should first seek to emulate system one.”
but the question is what exactly is that system? how does it work? how would you write a computer program that did “system1″ type things?
I have some vaguely similar ideas. I think that the “system 1″ that you describe works on analogical reasoning. See
http://www.amazon.com/Metaphors-We-Live-George-Lakoff/dp/0226468011
I’m trying to work out how one might usefully pursue this idea.
@Roko
It’s obvious “system one” behaves a lot like a cache
( http://www.overcomingbias.com/2007/10/cached-thoughts.html ).
It also seems to me to behave like a hash table (slow to populate, quick and direct to access), only it’s an associational hash table where activating an input activates not just the one output, but all related and transitively related outputs (with the effect falling off with transitive distance).
Other characteristics:
- It has memory, but in the simplest sense: partially activating an output makes the same output more sensitive to later triggers. This is the mechanism that carries activations forward in time.
- As well as the tendency to spread, activations suppress alternatives. That is, when concept A contradicts B, adding weight to A adds negative weight to B.
- These features also lead to learning, because encountering X while Y is active forges a bidirectional link between X and Y. So later encountering Y will trigger X - a classic learned response.
Looking at the above, it almost looks like the beginnings of a design for a data structure, no? Importantly, it’s unambitious. It scales all the way down to a simple lookup table.
This might sound like neural nets, but I think that would be the wrong approach. Neural nets are too low level, they’re below the design. It’s like imagining that learning to photo-etch silicon will get you closer to copying a computer CPU. Not quickly it won’t, because silicon is just a means, the CPU is in the abstract design, and that requires higher concepts.
I would say this is an interesting mid-point between connectionist ideas and symbolic AI. A symbol acquires meaning from its connections and a connection matters because of the symbols it links.
I’m not yet learned enough to know if this idea is new.
BTW, congrats, you are my first commenter
Also, another thought: “system one” is not a blank slate. It comes ready loaded with expectations and it automatically performs some computations quickly, but not others.
The YouTube video I saw gave the example of various drawn lines on a piece of paper. We immediately, automatically calculate the rough average of their lengths. We do NOT immediately or automatically sum their lengths, even though this is the normal mathematical way to construct an average.
Pre-populating the lookup table with such small-scale processing modules would be an important step towards modeling the instinct that precedes learning.
[...] What AI did wrong, and an isomorphism of failure [...]
@julian: I think what you say is true, but you haven’t really said anything specific enough to go anywhere with.
Try actually writing a program to implement what you’re talking about; it’d be a useful exercise.
You may want to start with “how does my AGI solve narrow problems that are already solved?” - say, for example, how does it learn to play chess or draughts given the rules of the game? or “how would my program understand natural language in a microdomain like SHRDLU?”
*************************
It’s relatively easy (albeit time-consuming) to come up with a particular mechanism for solving a specific problem, or narrowly defined problem class, which I might call P. But usually that particular mechanism will fail miserably on other problems, say on Q and R. If you then write programs that solve Q and R well, you end up with three programs which are written in totally different styles, perhaps even different languages, and which have no obvious common generalization.
This is the state of current AI research. Lots of disparate problem-solvers which work well on very specific problems, but break absolutely outside these narrow domains. Commonsense knowledge and natural language understanding remain elusive. No-one knows how to write a program that will solve problems that the designers hadn’t thought of; thus current AIs cannot understand something that their designers didn’t already understand, although AIs can solve specific instances that their designers would not have been able to solve.
[...] to the below: E.Y. has convinced me that we can’t dare to build a neural AI, because it’s [...]