2015-10-26

What Artificial Intelligence is not

An lot of people seem to think that the recent successes in deep learning indicate we're closer to building intelligence. However, just because we can now build algorithms that solve more complex, less-well-structured problems doesn't mean that today's algorithms are necessarily more intelligent than older machine learning algorithms.

What is required to build an intelligent system? We can in fact build highly functional learning algorithms -- algorithms that improve given more instances of what we want them to recognize. But machine learning is simply the training of arbitrary function approximators, where "function" is defined in the mathematical sense as mapping from a domain (a set of inputs) to a range (a set of outputs corresponding to each input). Functions are mathematical objects; they are not intelligent. Pattern matching, which is the creation of a function that maps regions of some pattern space to a corresponding output, is therefore not the creation of intelligence: "dumb" algorithms can match complex patterns. Inference, by itself, is not intelligence either -- is a Bayesian equation "intelligent", or is the construction of an algorithm that computes a Bayesian equation intelligent, even if the equation itself is not? Solving logical constraints, is also, by itself, not intelligence -- is Prolog sentient? Intelligent beings are constantly modeling and predicting the world around them, comparing observed to expected, but prediction is not, by itself intelligence: recurrent neural nets are just neural nets that can hold internal state while they match a time series (i.e. the domain is the time series, the range is a variable of interest).

Robust machine learning systems are also able to generalize, and thereby absorb common sources of noise and modes of variation. Jean-Loup Gailly (creator of gzip and a chess expert) made an observation along these lines in a comment on Slashdot many years ago: that the brain hierarchically compresses knowledge into higher and higher levels of abstraction, breaking old abstractions and forming new higher-level abstractions when new knowledge is introduced, in order to achieve a higher compression ratio after incorporating the new knowledge. A beginner chess player exhaustively searches through the neighborhood of all moves around the current board position, but an expert player rarely does this -- they are thinking at a much higher level, about patterns and strategy. In effect, they have compressed a large amount of information into a relatively small number of higher-order concepts or generalizations.

All of these capabilities -- learning, pattern matching, inference, constraint satisfaction, prediction and generalization -- seem to be present in intelligent organisms, so it would be reasonable to assume that they are necessary capabilities for a system to be intelligent. However, the reverse is not necessarily true: we have no evidence that any of these capabilities, or the collection of all of them together, is sufficient for a system to become intelligent. It's a cop-out to say that maybe intelligence will spontaneously emerge if we build a big enough, complex enough system that has all of these elements, i.e. that once we have a computer that is as fast as the human brain, that it will function like the human brain. We can't conclude something about emergent phenomena without understanding how and why the emergent behavior or property arises. And just because we don't understand an opaque machine learning classifier, in spite of it doing something powerful and useful to humans, doesn't necessarily mean that the classifier is intelligent.

The elephant in the room of AI futurism is that we can't predict when we'll be able to build intelligence, because we don't know what we're building. To quote the Dread Pirate Roberts, "Anyone who tells you differently is trying to sell you something." In fact, I'd love to hear a good definition of what it means to "understand" something. I wrestled with this for a couple of years while building NLP and AI systems at Google. I could never quite come up with a good enough definition to code towards, and I haven't seen a good definition anywhere else either. Dictionary definitions like "to perceive the intended meaning of" start tying you in knots: "perceive" is circular when used in a definition for "understand"; "intended" gets into issues of Theory of Mind (which are probably inescapable anyway when discussing language, since language is about using terms that create a semantic model in somebody else's mind based on the one you have in your own). But most importantly, now you have two problems, because you have to define the word "meaning" too.

(Speaking of semantic models, check out these incredible demos by the Gallant Lab where they map the regions of the cortex that are firing while subjects are watching a movie, and correlate those regions to the WordNet English word topology.)

Another issue is how we'll know once we've built intelligence. The Turing test, unfortunately, is not going to provide the answer. If we eventually create algorithms that do better than expert humans, they'll fail the Turing test, because they'll do noticeably better than a human would at the same task. Therefore, to pass the Turing test, a superhuman intelligence would need to behave with Artificial Stupidity. This shows that the Turing test is not a test of the intelligence of the tested agent at all; it is a test of the deceivability of the observer.

Ultimately, machine learning is progressing in huge leaps and bounds, but we have made little to no progress with AI, and I don't think we will make any further progress until we understand what intelligence really is.

Update: From a comment by Melissa Basileo: "It is hard for us (perhaps impossible) to think outside of our own species' context, which is scary when I think about it as it pertains to AI. An AI would have no contextual basis for emotion, would not have the same internal motivators that we have (food, shelter, sex), which means it is very likely that if an AI ever was created, we might not be able to recognize it because it is so out of context with our own species - or biological life as we know it even."