
Francois Chollet | Why abstraction is the key to intelligence, and what we’re still missing
What this covers
9/15/2021 New Technologies in Mathematics Seminar
Speaker: Francois Chollet, Google
Title: Why abstraction is the key to intelligence, and what we’re still missing
Abstract: This talk provides a personal perspective on the way forward towards more human-like and more intelligent artificial systems. Traditionally, symbolic and probabilistic methods have dominated the domains of concept formation, abstraction, and automated reasoning. More recently, deep learning-based approaches have led to significant breakthroughs, including successes in games and combinatorial search tasks. However, the resulting systems are still limited in scope and capabilities — they remain brittle, data-hungry, and their generalization capabilities are limited. We will address a set of questions: why is conceptual abstraction essential for intelligence? What is the nature of abstraction, and its relationship to generalization? What kind of abstraction can deep learning models generate, and where do they fail? What are the methods that are currently successful in generating strong conceptual abstraction? Finally, we will consider how to leverage a hybrid approach to reinforce the strength of different approaches while compensating for their respective weaknesses.
Source description (no synthesized summary yet).
Deep learning excels at value-centric abstraction for perception tasks but fundamentally cannot solve reasoning problems requiring program-centric abstraction; true AI progress requires hybrid systems combining both forms of abstraction, with deep learning guiding discrete program synthesis rather than replacing it.
- Deep learning's manifold-based geometry cannot handle discrete, non-interpolative problems like sorting or program synthesis
- Generalization requires autonomously generating new abstractions, not operationalizing pre-existing human abstractions
- Intelligence emerges from the combination of continuous (perception) and discrete (reasoning) abstraction, not from either alone
This asset isn't compiled yet
You're seeing its claims, ranked. Compile it to build the argument threads, weight them, and check each claim against your library — the full view.
The story of Alan Turing proposing that AI should begin by solving chess because it involves memory, learning, reasoning, and analysis is instructive: chess was eventually solved, but it taught nothing about human cognition—only about the Alpha-Beta algorithm—because by fixing the task, researchers were able to take shortcuts without needing true intelligence.
“A famous story in AI is the story of Alan Turing. Uh in the he proposed that the field of AI should [7:44] start with his novel chess because chess any limits uh, which is memory, learning, reasoning, analysis, and so on. And so, surely if we can solve chess, then we should be able to understand all these cognitive mechanisms. And as a matter of fact, we did solve chess eventually. And when we did it, it turned out not to teach us anything about human cognition but the Alpha Beta algorithm how deeply it say computer alpha run out of human cognition.”
The shortcut rule is a principle of system design stating that if you optimize for a specific metric, you will take shortcuts along every possible dimension of your problem that is not captured by your metric; in AI, this means that focusing on task-specific skill yields task-specific skill but not generalizable cognitive abilities, because skill is orthogonal to generalization.
“the shortcut rule, which is a well-known principle of system design that says that basically if you start optimizing for a specific metric, you will take shortcuts along every possible dimension of your problem that is not captured by your metric.”
The ARC dataset deliberately avoids interpolative structure and provides only few examples, making it unsuitable for deep learning; many people have tried deep learning and GPT-3 on ARC with no success, but program synthesis is very effective on ARC.
“One interesting thing about the ARC dataset is that lots of people have tried using deep learning on ARC, uh including using very large pre-trained models like GPT-3. Um, and no one has uh managed to achieve anything with it because ARC problems are not interpolative in nature. And uh you only have a few examples per task anyway. Um, so it just doesn't work. Uh, on the other hand, uh program synthesis uh is very effective on the ARC dataset.”
Deep learning is extremely data-hungry, brittle, and sensitive to small perturbations; it only works on data that stays extremely close to training distributions and cannot deal effectively with the real world because the real world is variable, changing, surprising, and uncertain, requiring exposure to every possible situation in advance.
“it's not even close to being flexible. Plus uh it's uh very data hungry. We can solve any task, but that requires a dense sampling of every possible situation that pertains to that task. And uh it does not really withstand contact with the real world very well, because the real world is very uh viable, very, you know, always changing, very surprising, very uncertain.”
Deep learning excels at value-centric abstraction and is fundamentally a geometrical method performing smooth geometric morphing between input and target vector spaces via gradient descent, learning a distance function that defines a manifold; it is therefore well-suited to perception problems but cannot solve discrete problems requiring program-centric abstraction.
“Deep learning excels at the first form of abstraction. Value-centric abstraction, which makes sense because deep learning models are continuous. In fact, they are differentiable. They're being differentiable parametric models. So, it's very intuitive that they would be able to produce abstractions that are grounded in geometry. They are geometrical machines.”
Program synthesis is the method to solve reasoning and discrete problems through combinatorial search over graphs of operators from a domain-specific language (DSL); it can solve problems from very few examples (unlike deep learning which requires dense data) but faces the challenge of combinatorial explosion as the set of possible programs grows exponentially with program size.
“the answer is program synthesis. Uh which is to say combinatorial search over graphs of operators taken from a domain-specific language, a DSL. So, it's basically discrete search over graphs, as opposed to continuous optimization. Um and there are many different flavors of that, like genetic programming and so on.”
Within a manifold, it is always possible to interpolate between two inputs by morphing one into another via a continuous path along which all points fall on the manifold; the ability to interpolate between samples is the key to understanding generalization in deep learning because it allows making sense of points never seen by relating them to nearby points on the manifold.
“the manifold hypothesis implies that within one of these manifolds, it's always possible to interpolate between two inputs. And by interpolate, I mean morphing one input into another via a continuous path along which all points on the path fall on the manifold... the ability to interpolate between samples is the key to understanding generalization in deep learning. It is the reason why deep learning works. If you have data points that can be interpolated, then it means you can start making sense of points you have never seen before, which is generalization.”
Codex uses language models to interpolate code snippets from Stack Overflow and GitHub; it is not program synthesis but rather an autocomplete tool that can incrementally improve programmer productivity in the same way Gmail autocomplete saves time, but it cannot solve novel problems.
“Codex basically uses a language model to uh kind of interpolate code snippets from Stack Overflow and GitHub. Um it is not a program synthesis engine. It is not it is not performing program synthesis... it is not program synthesis. It is not... it generates code, but it generates code through the interpolation... when you write code, you are you are doing program synthesis because you are you are performing search over uh uh you know, a space programs which are graphs. You're not generating uh word by word like character by character a string that is plausible.”
Core knowledge is a set of innate cognitive human priors (identified by Elizabeth Spelke) that are possessed by humans, guide our ability to learn throughout life, form the atomic building blocks of thinking, are innate or acquired very early (first 1-2 years), universal across humans, and ancient (found in non-human primates and animals).
“core knowledge is basically the the set of uh innate cognitive human priors that are possessed by humans and that guide uh our ability to learn throughout our lives. In particular, at the beginning of our lives, which would our our lives in general. They form basically the atomic building blocks of thinking. So, this is uh based on work that was done primarily by uh Elizabeth Spelke from Harvard, and she identified six uh different core knowledge systems. Uh there might be more. I mean, this is uh this is very much ongoing work. Um and uh these core knowledge systems are innate, or at least uh we are able to acquire them very very early in the first 2 months or year of our lives, and uh universal, meaning that every human being is going to acquire the same uh systems. And they are uh very ancient. Uh you will find them in non-human primates. Uh you will also find many of them in different animals, you know, in birds, for instance.”
The power to generalize in deep learning is much more a consequence of the natural structure of your data than a property of your model; you will only be able to generalize if your data follows the manifold hypothesis, and the more informative and less noisy your data, the better you can generalize.
“the power to generalize in this setup is much more a consequence of the natural structure of your data than it is a consequence of any property of your model... you will only be able to generalize if your data actually follows the manifold hypothesis. If the points can be interpolated. And obviously, the more informative and the less noisy your videos are, the better you'll be able to generalize.”
Intelligence is fundamentally the ability to autonomously produce abstractions, not merely to encode and operationalize pre-existing human abstractions; this is analogous to the difference between creating a cartoon character (that can only play pre-taught scenes) and creating a life form (that can independently adapt).
“an automaton uh is going to operationalize abstractions that we are providing these creatures. And on the other hand, if you are intelligent, uh you're able to polish your own abstractions, and so you can adapt to arbitrary situations. And the automaton can only handle situations that match uh the abstractions uh that were given to it. And so adaptability uh that characterizes uh intelligence.”
Topology-based abstraction is more powerful than geometry-based abstraction because distances are not robust to small perturbations, but structure can be robust to small perturbations; topology underlies robust and flexible abstraction.
“that's that's why topology-based abstraction is actually more powerful than geometry-based abstractions because distances are not robust to small perturbations, but structure can be robust to small perturbations. So, uh topology is is what underlies a robust and flexible uh abstraction.”
The breakthroughs in AI over the past five years—self-driving, game-playing (Dota, Go, Chess), text and code generation—have been powered by deep learning, yet none of these successes brings us closer to general AI in the same way Deep Blue's chess mastery did not in the 1990s, because there is a fundamental difference between task-specific skill and general intelligence.
“no matter what the task, we seem to be able to achieve above human-level performance if we put our minds to it...However, none of this actually brings us 1 in closer to generality in the same sense that you know, in the '90s I Deep Blue was superhuman at chess, but that did not bring us closer to general AI. We're still exactly as far to generality in AI today as we were 10 years ago.”
The manifold hypothesis states that all natural data lies on a low-dimensional manifold within the high-dimensional space where it is encoded; this is accurate for any perception problem including MNIST digits, human faces, voice sounds, and natural language.
“the manifold hypothesis posits that all natural data lies on a low-dimensional manifold within the high-dimensional space where it is encoded. And as far as we know, this is pretty much accurate for any perception problems. It's true for MNIST digits like in this example. Obviously, it's also true for human faces, the sounds of human voice, even natural language.”
To make both continuous optimization (deep learning) and discrete optimization (program synthesis) efficient, a universal recipe exists: introduce modularity, hierarchy, and reuse; reuse is fundamentally another word for abstraction, and this principle applies universally to all optimization—deep learning is continuous optimization with modularity and hierarchy hardcoded as stacked layers and architectural patterns like convolution (abstracting spatial position) and RNNs (abstracting temporal axis).
“if you want to use, you know, whether it's continuous optimization like deep learning or program synthesis, if you want to use them in practice, you need to make them efficient. And if you want to make something more efficient, there's a universal recipe you can use. You introduce modularity and hierarchy, and you introduce reuse. And reuse is very much just another word for abstraction. And that's basically universal truth.”
Generalization can be quantified as the efficiency with which you operationalize past information to deal with future situations—an information conversion ratio that can be precisely quantified using algebraic information theory and provides a quantified definition and measure of intelligence.
“generalization can be quantified as the efficiency with which you operationalize past information in order to deal with the future. So, you can interpret as an information conversion ratio. Uh and that that can give you a quantified definition and measure of intelligence. Uh and if you like equations, you can use algebraic information theory to precisely quantify it.”
The distinction between a language model generating strings of characters (what Codex does) and true program synthesis is that program synthesis must contain a model of execution, understanding of what the program does, and must perform testing and refinement; true program synthesis understands the difference between what a program looks like (the string) and what it represents (the execution graph).
“I mean the the difference is in program synthesis you are you are performing search over uh uh you know, a space programs which are graphs. You're not generating uh word by word like character by character a string that is plausible. Right. Um when as as a software engineer, when you write code, you are you are doing program synthesis because [58:39] you are you have a mental model of what the program should does, how it executes like. You're not just stringing words because well, I mean sometimes you are. Sometimes you just look something up on Stack Overflow, you copy and paste it.”
Until you can generate new abstractions, you will not be able to deal with the real world—with the wildness of programs in the wild, cars on roads, coffee machines in kitchens, all the chaos and novelty of reality.
“until you have the second one, you will not be able to actually deal with the real world, with the with the the wild west of programs in the wild and cars on the road and and and, you know, coffee machines and kitchens in the world.”
Deep learning will not be able to do everything, but will be involved in various different solutions developed to various different problems within AI; it is not correct to say deep learning is a universal solution, but correct to say it will play a role in multi-method approaches.
“you cannot really say that deep learning is going to be able to do everything, but you could say that deep learning is going to be uh involved in the various different solutions that we will develop to various different problems uh within the field of AI.”
Human intelligence combines perception and intuition with explicit reasoning, using continuous (value-centric) and discrete (program-centric) abstraction in an interwoven way at every level; to achieve truly general AI, both forms of abstraction must be leveraged together, as focusing only on one hemisphere leaves the field incomplete.
“if you want to get to generally I, we really start uh uh to leverage both of them, both kinds of abstraction at the same time in a way that could support each other and and unlock uh uh the limitations of each other.”
Domestic robots, which seem like a very simple task if you're close to generality, remain completely out of reach today because handling the variability of different patients and different hazards is impossible with current methods.
“domestic robots, seems like they're very very simple task if you're anywhere close to generality, but it remains to be seen. Uh you know, being able to handle the the variability variability of the different patients in different hazards is completely out of reach today.”
GPT-3 is able to solve very basic IQ test-like reasoning problems (completing number sequences) not because it demonstrates reasoning ability but because it has memorized templates of these problems online and can generalize from the memorized templates; on novel problems like ARC tasks, GPT-3 completely fails because it has not seen them online and cannot adapt to new situations, demonstrating it is not intelligent.
“like GPT-3 for instance, can actually solve very basic IQ test-like reasoning problems. Like complete complete this string of numbers for instance. But it's entirely ineffective on ARC tasks. Even though financially ARC tasks are not very different. What's But what's the difference? Why is it effective in one and and not the other? It's because for the very basic IQ test-like questions, it has seen them online. It's just memorized them. Uh like this it's memorized something that's a template of the thing that is uh that can that can actually generalize to new instances. Uh with ARC, they're all novel. All the tasks are novel. So it has not seen them online. So it cannot do anything.”
Generalization is not a binary property of a system but a spectrum ranging from static systems (chess) with no generalization need, to robust AI handling known distribution variations, to flexible AI handling broad domains (self-driving, robotics), to extreme generalization corresponding to open-ended intelligence capable of handling arbitrary domains the creator did not anticipate.
“generalization is not a binary property of a system. You know, there are not systems that can generalize or not generalize. It's actually more of a spectrum. And you can characterize AI systems by their level of generalization. On the very lowest end, you have software systems that don't have to adapt to past experience because they're purely static systems operating in a world without novelty, without uncertainty like chess playing. And then the second level after that is robust AI which corresponds to the statistical learning definition uh of generalization.”
The universe is made of many different things that are analogous and similar to each other, surrounded by isomorphisms—a property described as the kaleidoscope hypothesis—and generalization is powered by identifying and mining reusable bits of structure through noticing analogies and abstract similarities, which is the definition of intelligence and generalization power.
“an interesting observation about the universe and that applies to pretty much any problem domain you can think of is that uh the universe is made of many different things that are all similar, all analogous to each other. Um we are surrounded by isomorphisms. And I call this the kaleidoscope hypothesis.”
When humans perform difficult reasoning (like proving a theorem), they do not exhaustively consider all steps but start with an intuitive sketch of where they're going and the big stepping stones they'll leverage; human reasoning is efficient because intuition structures explicit reasoning, making the search process through solution space extraordinarily efficient.
“when you do difficult reasoning as a human. You're not just considering you know explicitly considering all the steps one by one. You start out with an intuitive sketch of where you're going and that sketch is uh is a form of pattern recognition. The fact that it is possible and so by the way, so the human brain is extraordinarily slow and limited. Uh it reacts you know on the on the order of 50 milliseconds uh which is which is very so it can only like you can perform reasoning chains in a very short amount of time and there's only a very limited sequence of humans that can get possibly fired in that amount of time because it just don't have the time uh to find sequence.”
The Abstraction and Reasoning Corpus (ARC) is designed as an intelligence test for both humans and machines, grounded purely in core knowledge (objectness, elementary geometry and topology, numbers, agentness) without requiring prior knowledge like language, with every task being novel and sharing only abstract similarities with other tasks, controlling for experience through few-shot learning from 2-3 examples.
“you may be interested in the abstraction and reasoning corpus which is a kind of intelligence test that's meant to be used by humans and machines that they released sometime ago in 2019. It's very similar to Raven's matrices like IQ tests. And you can also see it as an input output program synthesis data set. And the key idea is that in this dataset every task you see is new. It only shares abstract similarities with other tasks. So you're controlling for experience because you're doing few shot program learning typically just from three three examples two or three examples. And you're controlling for priors because the tasks that are featured are grounded purely in core knowledge.”
Quantized variational autoencoders use discrete codes embedded in continuous manifolds, but this does not fundamentally change deep learning's nature—it still requires the discrete symbols to have continuous structure; if they do not (like prime numbers with no continuous structure), this approach fails completely because the artificial embedding cannot be used for meaningful interpolation.
“using discrete codes uh in a deep learning model does not fundamentally change the nature of deep learning. What you're going to be doing is that you're going to be finding ways to embed your discrete symbols into continuous manifold. And that will only work if your discrete symbols are basically if they're structured, if they are you know, if they actually lie on the interpretive manifold. If they do not, like if you look if you look at prime numbers and such which have no sort of continuous structure. Um it's it's not going to work at all.”
Interactive theorem proving with AI and machine learning is a promising direction for testing generalization ability and represents a legitimate test case for whether AI systems can truly reason and adapt to new mathematical domains.
“interactive theorem proving and using AI and machine learning to help automate interactive theorem proving...What do you think about that as a as as a a serious test of generalization ability? Yeah, I think I think that's that's very promising and I definitely want some more of that.”
The ARC dataset is designed using a 2D grid format because the speaker has an unspoken hypothesis that the human brain reasons in 2D; they have no plans to expand ARC to 1D strings or other formats like sounds, remaining focused on 2D grid representations.
“I really like 2D grids of symbols for some reason. I have kind of this uh uh unspoken hypothesis that the the human brain does uh reasoning in 2D. Um so, that's that's why I tend to gravitate towards 2D grids instead of like strings, for instance, strings of symbols. That said, you know, you could convert ARC tasks to to 1D strings. Um but yeah, I'm I'm I'm more interested in the 2D grids. So, you know, I I have no plans to switch to to to just you know, 1D strings or sounds or something else. I do have plans to expand the ARC data set, but it's still going to be very much in the same format.”
State-of-the-art on ARC tasks was approximately 30% when the Kaggle competition ended, with all solutions based on program synthesis; current state-of-the-art is around 70%, but all solutions still use the same basic templates and discrete problem-solving approaches.
“right now the state of the art is roughly 30% of the ARC task tasks solved, which is pretty good actually.”