On the Measure of Intelligence by François Chollet - Part 2: Human Priors (Paper Explained)
deep learning machine learning arxiv explained neural networks ai artificial intelligence paper chollet keras google francois intelligence iq iq test deep neural networks prior skill performance measurement measure test number intelligent smart learning generalization ability experience humans evolution nature nurture psychometrics range adaptability arc kaggle difficulty entropy core knowledge objectness navigation contact agent goal
In this part, we go much more in-depth into the relationship between intelligence, generality, skill, experience, and prior knowledge and take a close look at what priors are built into humans. This will form the basis for comparing the intelligence of humans and AI systems.

OUTLINE:
0:00 - Intro & Recap
3:00 - Optimize for Generality
5:45 - Buying Skill with Data and Priors
12:40 - The Human Scope
17:30 - Human Priors
24:05 - Core Knowledge
28:50 - Comments & Conclusion

Paper: https://arxiv.org/abs/1911.01547
Tim Scarfe's Video: https://youtu.be/GpWLZUbPhr0

Abstract:
To make deliberate progress towards more intelligent and more human-like artificial systems, we need to be following an appropriate feedback signal: we need to be able to define and evaluate intelligence in a way that enables comparisons between two systems, as well as comparisons with humans. Over the past hundred years, there has been an abundance of attempts to define and measure intelligence, across both the fields of psychology and AI. We summarize and critically assess these definitions and evaluation approaches, while making apparent the two historical conceptions of intelligence that have implicitly guided them. We note that in practice, the contemporary AI community still gravitates towards benchmarking intelligence by comparing the skill exhibited by AIs and humans at specific tasks such as board games and video games. We argue that solely measuring skill at any given task falls short of measuring intelligence, because skill is heavily modulated by prior knowledge and experience: unlimited priors or unlimited training data allow experimenters to "buy" arbitrary levels of skills for a system, in a way that masks the system's own generalization power. We then articulate a new formal definition of intelligence based on Algorithmic Information Theory, describing intelligence as skill-acquisition efficiency and highlighting the concepts of scope, generalization difficulty, priors, and experience. Using this definition, we propose a set of guidelines for what a general AI benchmark should look like. Finally, we present a benchmark closely following these guidelines, the Abstraction and Reasoning Corpus (ARC), built upon an explicit set of priors designed to be as close as possible to innate human priors. We argue that ARC can be used to measure a human-like form of general fluid intelligence and that it enables fair general intelligence comparisons between AI systems and humans.

Authors: François Chollet

Links:
YouTube: https://www.youtube.com/c/yannickilcher
Twitter: https://twitter.com/ykilcher
Discord: https://discord.gg/4H8xxDF
BitChute: https://www.bitchute.com/channel/yannic-kilcher
Minds: https://www.minds.com/ykilcher
 Hi there! Today we're going to continue with On the Measure of Intelligence by François Chollet. Now if you remember last time, if you haven't seen last time, go watch part 1 if you're interested. This is a multi-part series on this paper. Why? Because the paper itself is very long. It's 40 pages, the main part, and it's a big wall of text. So I've opted to basically pull out notes and show you the notes that I have pulled out and to divide this into multiple parts. So last time we went over sort of the history of assessing intelligence and the basics. And I know I said this time I'm going to get into the math, but I lied. So I realized that there's still a lot that comes up in part 2 of the paper before we get into the actual math. So this part is going to be about the prerequisites to that and then next time math. I'm sorry to disappoint anyone. You might just skip this one if you want. I do have to shout out Tim Scarf who of course runs the Machine Learning Street Talk channel podcast with me and Connor Shorten together. Tim has just made an entire video about this paper, about On the Measure of Intelligence, and his videos are usually like super high quality, like higher than mine, and it's the entire paper. So if you want to, you know, know the end of the story or, you know, have a different take on the paper, definitely can recommend his video. I do make a guest appearance there, so yeah, that's a given. And I will still finish the paper on this channel just in my regular in this style right here. So all the options are available to you. Let's dive into part 2. So if you remember part 1, we sort of went over what it means to be intelligent and we differentiated basically two things, which are skills and abilities. So a skill is how well you achieve a given task or how well you can do in a given task. So this could be chess or, you know, Go or something very, very measurable. An IQ test is a specific task. So these things right here, they're all tasks. But these tasks aren't the thing we're interested in. Just because a machine is good at chess doesn't mean it's intelligent. And what we want is sort of a generalizable skill. So we want to assess how generalizable is an ability. So can I throw a computer at a new problem that it has never seen before and it can solve that. And that's going to be this generalizability, this notion of can you solve things that you have never encountered before and weren't prepared for. That is going to be the basis for us to measure intelligence. So Chollet says you have to optimize directly for generality and flexibility rather than task performance if you want to build an intelligent agent. You have to sort of build something that is not just good at a thing. It is good at getting good at things. That's almost a quote worthy thing. So if you just give it a single task, the learner will just take any available shortcut. So if you just say you have to be good at chess, the developer of a system can exploit all the tricks that make you good at chess. And you don't have to be smart. You just know basically if you had enough memory you could just memorize all the moves of all chess games ever. That's why we say hard-coded chatbots are not intelligent. So hard-coded chatbots, they simply match your input to a database of reg exes and then they answer. And we're not very impressed because as soon as I give them something that is not covered by their reg exes, they fail. They just say I don't know or something like this. In fact what is intelligent is the engineer in that case. So the engineer that makes the program is intelligent. So he has this drawing, I think I've shown it last time, where you have the environment and there is this agent. And if the agent is really good with the environment, you might consider that intelligent, but in Sholeh's mind you have to also consider here the developer of the agent. It could be that the developer is very intelligent and just builds the agent to interact with the environment in a matter that it gets a lot of reward. It's very good at a skill, but the agent itself might not be intelligent. So it says intelligence, the intelligence of a process is not encoded by the performance of a system, but by the fact that the same process can be applied to different tasks. So in this case if I have a new task, a new environment, so E2 right here, the question is could I throw the same agent at that even if it hasn't seen it before? Or would I be able to take the same developer that develops me a new agent, agent 2, that then can solve the task? In the case where I can throw over the agent, that would make an argument that the agent is intelligent, but if I can't you'd have to make the argument that the developer is the intelligent part here, which of course is the point of what he's saying right here. So hard-coded programs themselves are not intelligent, but, and this is the case, the same counts for adding more training data. So not only is the hard coding not intelligent, it's also, Chollet says, not intelligent if you simply add more training data. So a machine learning system that sort of learns to how to interact with these environments. If you can imagine that you have lots of environments, environment, environment, environment, environment, and so on, that give you a dense sampling of the environment space. So you have all of these environments, you build all of them, and you train this agent to interact well with all of them. So you give it lots of compute, lots of data, and the environments are really a dense sampling of the environment space. It will be able, even though it has never seen environment 2, this environment right here, it might be just able to generalize to this environment, given that it has been trained on all the environments here, like it has been trained on every possible environment around this environment that is similar to this environment, it could generally generalize to environment 2, but also we wouldn't view that as intelligent, because in a sense this skill has been bought with data. And this notion of buying skill comes up a lot in this paper. So Suley says there are two ways to buy a skill, and by buying he basically means you don't buy as opposed to intelligently solving the skill. So whenever you buy a skill, that's not intelligent, Suley says, and you can buy a skill by either hard coding the solution or giving lots of data. And there is like this spectrum where you hard code, completely hard code a solution, and here is where you completely only feed data. So here would be something like GPT-3. There are almost no priors there, it's just a transformer, big transformer, and you just throw in data, lots and lots and lots and lots and lots of data. So in this measure, last time I've had lots of people, when GPT-3 came out, I've had people commenting on the part one of this paper saying, isn't GPT-3 intelligent? Because it can sort of generalize to these tasks that it hasn't been trained on. By the way, if you haven't seen the GPT-3 video, you should go watch it. Something tells me this video is popular, it might be five times as many views as any other video. So at least it's not a terrible video. But in essence, GPT-3 can solve these tasks that it wasn't trained for, right? And therefore you might argue in this definition right here, it could be intelligent because it can generalize. But there is this counteraction where Shirley says, maybe you have just bought that skill with lots and lots of data. Now I actually don't know what to say to this because I mean it really seems like GPT-3 generalizes to tasks it has never seen before, but also it has had a lot of data. And so as of right now it is not really clear where the line is here. When are we going to argue that GPT-3 is actually... It could be that it has had lots of data, but also it is intelligent. How are we going to make that distinction? And I guess we're going to get into the math part, but I can tell you right now the math part is so abstract as it is not really practical. It is like a theoretical framework that you might be able to approximate. But you know there is like a wishy-washy thing going on. But he basically says, okay there's this spectrum of hard coding over here and then fully learning from data and with all of these methods and you know in between methods. Like a CNN would be here because it has like considerable priors because of its architecture and so on. And over here would be something like an A star search with like a learned heuristic or things like this. You can get good with any of these things, but the intelligence is orthogonal to that. So orthogonal to that is the intelligence axis. It has nothing... Sholay says this has nothing to do with this dimension. You can buy skill with this, but it's basically like it's like a triangle almost sort of where you have hard coding, data and then intelligence. And it's like its own axis. So the hard coding refers to the priors of a system that the developer has basically built in. And the learning from data refers to its experience. So basically the more experience a system has had, the more it can generalize to a new skill. That doesn't mean it's intelligent, it just means had more experience or respectively more priors. So the example gives a locality-sensitive hashing which is basically like a nearest neighbor method with enough data can solve any task. Like nearest neighbor enough data can solve any task. I think it's a famous theorem that establishes that. So keep that in mind. That is why we basically need to pay attention to how much data went into this algorithm and sort of subtract that from our notion of how good, how intelligent it is. Yeah that's what he says. When we measure intelligence via skill, and this is really the only thing we can measure, we can only measure how good an agent is at a given skill. Anything higher than that we can't measure. So we must measure a skill, but we should factor out priors and experience. And that's gonna come up later. We should also pay attention to generalization difficulty. So generally how difficult is the task to solve given the experience we had. Because if the task is more difficult in a generalization sense, so if it's harder to from what we know get to the point where we can solve the task, then that would display higher intelligence. Yeah it says solving tasks via experience and priors has nothing to do with intelligence. It's just more experience, more priors. So goes back to human intelligence. It says how universal is actually human intelligence. And it gets to the to the point where he says it's not very universal. Because first of all there's no free lunch theorem where it says any two optimization algorithms will perform the same if you integrate across all possible problems. So it's even questionable whether something like general intelligence could even like universal intelligence could even exist. But if we look at the DG factor which is used sometimes to assess human intelligence, or is the measure for human intelligence that is established right now, then they only encompass tasks that humans can perform and understand. Of course and I would say they only encompass tasks where human actually differ with respect to each other. Because if you're making these tests and you have a human for 40 minutes or so, you're not going to give the humans tasks where they don't differentiate from one another. So it's going to be a range like a very very small subset of tasks that are exactly hard enough such that a couple of humans can't solve them, a couple of humans can't solve them. They're going to be you know understandable by humans, and understandable ideally by any human. You don't have to have special pre-knowledge, not have studied biology in order to answer the questions, or not have a higher degree in math or something. So the reference for the G factor is very much a reference frame of human values. And he compares this to physical fitness. So if we call someone physically fit, what do we mean? We mean this general abstract concept of physical fitness where it's not really one skill. So you can measure humans in how fast they run, how high they jump, how fast they swim and so on, and how much they can lift. And across that you'll find generally that all of these things correlate and the result we call physical fitness. But it's not like physical fitness is a universal measure. So we only measure humans at tasks that humans can solve and are different at. So the physical fitness is very human centric and so is intelligence. So that's the analogy. I think it's a very good one. He says he gives this example where humans are for example very very good at shortest path traveling salesman problems. Give up to a certain number of nodes in the graph. Humans can solve them extremely well to like very good degree. But as soon as you go to a longest path problem, which shouldn't be that much harder if you just look at it from an algorithmic perspective, but humans are terrible at it. Absolutely terrible. And that probably has to do with the fact that we have a prior. And the prior is much much more adapt to shortest path problems than longest path problems. Because in our history, in our evolutionary history, it made a lot of sense to build in a navigational unit in the brain that calculates shortest routings. But it's probably like the your fitness is not very much affected by you being able to calculate the longest path unless you want to really avoid something. And just yeah I don't know. You really want to walk in these shoes. So that should be taken into effect and it shows that intelligence is a very human centric concept. So when we talk about general artificial intelligence, what we mean is it's tied to a scope of problems. And that's going to be important that we can only measure intelligence in this framework with respect to a scope of problems and the scope that we consider is the human scope. So why human centric? Because we must have a scope and the human scope is the only meaningful scope. It's the only one we know that you know there is one thing in the universe that we think is intelligent that we know of and that's humans. Or to a degree like what can make the argument it's general biological life on earth but we measure intelligence with a human scope intelligence test and that's the thing we have. We don't have anything else. So we ask ourselves what are priors of humans? What has evolution built into humans? And Chollet decides on three levels of priors. The low level priors which are like reflexes. So if I pinch you, you flick like if I flick you, you move back and if I shine a bright light at your eyes you close them and so on. So this Chollet says it's not very interesting because there's nothing to do like we feel that it has nothing to do with intelligence. And then there are, I'm gonna skip this one, say there are knowledge priors. So the knowledge priors are you know things like the fact that there are objects in this world. That's a knowledge prior that the human have. That's built into you. The notion that the world consists of objects and you can interact with these objects. The navigation capability. We say okay navigate there. Humans can do it very very well as I already said. They're very good at shortest path problems and so on. Intuitive navigation. That's built into you by evolution. That's a prior. Goal directedness. Humans generally view the world in terms of agents and in terms of agents having a goal. Like chasing after something. He makes this example and if we observe something we often want to frame it in terms of agents that pursue goals. And as soon as we can do that, that allows us to some degree to predict the world. And that's probably why this evolved. So very valuable skill. Social intuition and things like counting, like basic arithmetic, are built into humans. And Choulet says if we measure intelligence this is what we must account for. So these things should not count towards intelligence because they're already built into humans if we measure human intelligence. So you wouldn't test human intelligence by making them count because that's built into the humans. Now the third kind of priors that human have are meta learning priors. And the meta learning priors is basically your ability to learn something. This is your meta learning prior. It's just your ability to learn something that is not learned. No one has to teach you how to learn something. I guess they're like learning strategies and so on. But you as a human are incredibly good at picking up new skills. And the skill of picking up new skills, that's built into you. Among these are assumptions that the world is a hierarchical and causal place. That's how you see the world. And because you see the world like this, you can pick up these new skills very very quickly. You can explain through explaining the world. You can pick up new skills. And that is usually what we mean by intelligence. If someone sees a new unencountered before situation, thinks about it, which basically interprets the world in the hierarchical and causal way, and then is able to come up with a skill that solves the problem. And we generally view that as intelligence. So if we want to measure intelligence, we should measure this, basically how good you are picking up new skills, while accounting for these things. When we compare to humans. So Chollet says tests of intelligence should be founded on human-like knowledge priors. It basically makes the case that these should, if we build machines and compare them to humans in, let's say in terms of intelligence, we should build into the machines these things right here. These we should give them, like we should give them a counting module that they can use, like a calculator app. We should just build that in and make that available for the agent to use, like basic arithmetic. You shouldn't have to learn this. We should build in the notion that there are objects. We should build in the basic navigation module and so on that the agent can use. You can almost think of it like, you know, there's whatever your reinforcement learning agent, A, it consists of like this, maybe this big neural network with lots of layers, but then each layer maybe has access to, you know, the calculator app right here, and each layer has access to maybe also memory. I would guess memory is one of those priors as well. Or you know, it has access to a navigation prior. Let's draw a little world map right here. This is Google Maps. It can do that. It can query that sort of. And we shouldn't, if we want to build something that's intelligent, just compared to humans, we shouldn't, we should build in the navigation. We shouldn't, at least as much as human can do it. I mean, it's cool to have a machine learning system learn navigation, but that makes it less comparable. So it says either we should match the humans or we should account for the difference. So we should kind of let the difference be in, let the difference between the humans and the machines into the measure of our intelligence. Further, if you test intelligence, all of these priors should be explicitly described and not rely on additional priors. So that's often the case in IQ tests. There are so many priors that are not explicitly described because we just, you know, we just think, yeah, every human can count. We don't need to write down that our prior assumptions are that the humans can count or understand language. And that's, I hear sometimes a problem in IQ tests that basically the better you understand language, the better you score at these tests. And therefore the tests are more like a measure of language ability than intelligence. So there, this is a lot much informed by, so I think the psychometrics community is on the same path right here. Yeah, he goes into this theory of human core knowledge where he basically expands on what the human priors are. So this core knowledge theory takes on four different categories. So the first one is object-ness and elementary physics, which means you as a human have an inherent knowledge that there are objects, as I said, but also of elementary physics, that stuff sticks together, persistence of objects. And some people say, you know, this is learned. So children, young children, they do not know object persistence and that's why peekaboo is so interesting. But because they think you're gone, right? They think, you know, if a parent goes to the toilet, they really think the parent doesn't exist anymore and only later they learn object persistence. But I would question whether or not that's actually a learned thing or simply a built-in module that gets switched on at that particular point because probably evolution deems it not necessary to waste resources on that module before that. So I would, you know, I would be cautionary saying that object persistence and all of these things, in fact, are learned. I would argue more that they are built in and are simply switched on at a given time during development. Because we also know these things like object persistence, I think that's, you can almost pinpoint the month of a human's life when that's switched on. That will be so accurate. And if this is really learned, then, you know, you'd have to assume like a very regular structure of the training data distribution that a baby gets to experience. So I'm not sure here. But, you know, it's not my opinion, it's a show-lease. Yeah, contact interaction, the fact that you can interact with objects by contacting them, or that objects can interact with each other by being next to each other. That's built into you as well. You don't have to learn that. If you compare this to like an RL agent that has to learn all of this from pixels, basically, you can see why Sholei has a problem with the current direction of deep learning and claiming that things are intelligent there because the comparison is just very invalid. So the second core knowledge you have is agent-ness and goal-directedness, and we have already discussed that. Then natural numbers and elementary arithmetic. In, you know, you can small numbers, you can add, subtract, compare, sort, that sort of thing. And elementary geometry and topology, where in there would be orientation and navigation, and then distance orientation if it's something is inside or outside of a room and so on. Now I have heard, and this might be a myth, that there are languages where left and right, like relative directions, have no meaning, like doesn't exist in the language, but they always use absolute directions, and then these people automatically have a much, much better orientation at all time. Like if they get into a building, they can always tell you where north is. I don't know, maybe that's a myth, but I would guess that's pretty cool, and just shows you the flexibility of something like orientation. Sure, we can all orient, but it seems like by simply learning a different language, you can sort of supercharge that drive for orientation. So again, it sort of feels like there is a lot of nature versus nurture going on in here, in that all of these things, yes, you probably have a tendency built in to learn objectness and physics and so on, but then also probably a lot of it might be learned in addition, or you might just be able to supercharge one of these modules that's inside of you. I think there's lots of room for discussion here. So he says tests for intelligence should only involve core knowledge, and the AI systems taking these tests should hard code that core knowledge. So basically what he said before, we should build in these things right here, these core knowledge things, we should build these into the AI systems if we want to compare them to humans. Because if they have these things and only these things built in, then they sort of have the same starting point as a human. Now in this case, this is where I sort of disagree, because the notion that we can ever explicitly list the priors that humans have, to me seems a bit ridiculous. So I guess we can sort of approximate this at first, but we will never exhaustively exactly describe what the priors are, what is learned. We've seen this with the orientation, like how much of that is learned and prior. And then secondly, even if we could list them pretty exactly, what says that we can exactly program them into an agent such that it can make use of it. That's an entirely, that's even harder challenge. So I'm not so sure a bit this AI systems should hard code core knowledge. He's gonna try that with this ARC challenge that we're going to look at in like the last part of this series. But it's a cool test for intelligence, I admit that, but I doubt that anyone really manages to hard code the core knowledge. And he says tests should only involve core knowledge. And we're going to see how valid that claim is for his own ARC challenge. Now luckily in the math part that's gonna come up, he doesn't strictly rely on these things. So he gives us a way how we can compare, even if the priors of two systems are different, we can compare which one's more intelligent. Alright, so that was part two of this series. You know, it's already been a while now and this is only part two. And I do promise next time we're gonna get into the math. I hope you like this and go check out Tim Scarves video on the same topic. Yeah, as I said, usually much higher quality videos than mine. And I'll see you next time. Bye bye.
 Hi there! Today we're going to continue with On the Measure of Intelligence by
 François Chollet. Now if you remember last time, if you haven't seen last time,
 go watch part 1 if you're interested. This is a multi-part series on this
 paper. Why? Because the paper itself is very long. It's 40 pages, the main part,
 and it's a big wall of text. So I've opted to basically pull out notes and
 show you the notes that I have pulled out and to divide this into multiple parts.
 So last time we went over sort of the history of assessing intelligence and
 the basics. And I know I said this time I'm going to get into the math, but I
 lied. So I realized that there's still a lot that comes up in part 2 of the paper
 before we get into the actual math. So this part is going to be about the
 prerequisites to that and then next time math. I'm sorry to disappoint anyone.
 You might just skip this one if you want. I do have to shout out Tim Scarf who of
 course runs the Machine Learning Street Talk channel podcast with me and Connor
 Shorten together. Tim has just made an entire video about this paper, about On
 the Measure of Intelligence, and his videos are usually like super high
 quality, like higher than mine, and it's the entire paper. So if you want to, you
 know, know the end of the story or, you know, have a different take on the paper,
 definitely can recommend his video. I do make a guest appearance there, so yeah,
 that's a given. And I will still finish the paper on this channel just in my
 regular in this style right here. So all the options are available to you. Let's
 dive into part 2. So if you remember part 1, we sort of went over what it
 means to be intelligent and we differentiated basically two things, which
 are skills and abilities. So a skill is how well you achieve a given task or how
 well you can do in a given task. So this could be chess or, you know, Go or
 something very, very measurable. An IQ test is a specific task. So these
 things right here, they're all tasks. But these tasks aren't the thing we're
 interested in. Just because a machine is good at chess doesn't mean it's
 intelligent. And what we want is sort of a generalizable skill. So we want to
 assess how generalizable is an ability. So can I throw a computer at a new
 problem that it has never seen before and it can solve that. And that's going
 to be this generalizability, this notion of can you solve things that you have
 never encountered before and weren't prepared for. That is going to be the
 basis for us to measure intelligence. So Chollet says you have to optimize
 directly for generality and flexibility rather than task performance if you want
 to build an intelligent agent. You have to sort of build something that is
 not just good at a thing. It is good at getting good at things. That's almost
 a quote worthy thing. So if you just give it a single task, the learner
 will just take any available shortcut. So if you just say you have to be
 good at chess, the developer of a system can exploit all the tricks
 that make you good at chess. And you don't have to be smart. You just know
 basically if you had enough memory you could just memorize all the moves of all
 chess games ever. That's why we say hard-coded chatbots are not
 intelligent. So hard-coded chatbots, they simply match your input to a database
 of reg exes and then they answer. And we're not very impressed because as soon
 as I give them something that is not covered by their reg exes, they
 fail. They just say I don't know or something like this. In fact what is
 intelligent is the engineer in that case. So the engineer that makes the program
 is intelligent. So he has this drawing, I think I've shown it last time, where
 you have the environment and there is this agent. And if the agent
 is really good with the environment, you might consider that intelligent, but in
 Sholeh's mind you have to also consider here the developer of the agent. It could
 be that the developer is very intelligent and just builds the agent to
 interact with the environment in a matter that it gets a lot of reward. It's
 very good at a skill, but the agent itself might not be intelligent. So it
 says intelligence, the intelligence of a process is not encoded by the performance
 of a system, but by the fact that the same process can be applied to different
 tasks. So in this case if I have a new task, a new environment, so E2 right here,
 the question is could I throw the same agent at that even if it hasn't seen it
 before? Or would I be able to take the same developer that develops me a new
 agent, agent 2, that then can solve the task? In the case where I can throw
 over the agent, that would make an argument that the agent is intelligent,
 but if I can't you'd have to make the argument that the developer is the
 intelligent part here, which of course is the point of what he's saying right
 here. So hard-coded programs themselves are not intelligent, but, and this is the
 case, the same counts for adding more training data. So not only is the hard
 coding not intelligent, it's also, Chollet says, not intelligent if you simply add
 more training data. So a machine learning system that sort of learns to how to
 interact with these environments. If you can imagine that you have lots
 of environments, environment, environment, environment, environment, and so on, that
 give you a dense sampling of the environment space. So you have all of
 these environments, you build all of them, and you train this agent to interact
 well with all of them. So you give it lots of compute, lots of data, and the
 environments are really a dense sampling of the environment space. It will be able,
 even though it has never seen environment 2, this environment right
 here, it might be just able to generalize to this environment, given that it has
 been trained on all the environments here, like it has been trained on every
 possible environment around this environment that is similar to this
 environment, it could generally generalize to environment 2, but also we
 wouldn't view that as intelligent, because in a sense this skill has been
 bought with data. And this notion of buying skill comes up a lot in
 this paper. So Suley says there are two ways to buy a skill, and by buying he
 basically means you don't buy as opposed to intelligently solving the
 skill. So whenever you buy a skill, that's not intelligent, Suley says, and you can
 buy a skill by either hard coding the solution or giving lots of data. And
 there is like this spectrum where you hard code, completely hard code a
 solution, and here is where you completely only feed data. So here would
 be something like GPT-3. There are almost no priors there, it's just a
 transformer, big transformer, and you just throw in data, lots and
 lots and lots and lots and lots of data. So in this measure, last time I've had
 lots of people, when GPT-3 came out, I've had people commenting on the part one of
 this paper saying, isn't GPT-3 intelligent? Because it can sort of
 generalize to these tasks that it hasn't been trained on. By the way, if you
 haven't seen the GPT-3 video, you should go watch it. Something tells me this
 video is popular, it might be five times as many views as any other video.
 So at least it's not a terrible video. But in essence, GPT-3 can solve these
 tasks that it wasn't trained for, right? And therefore you might argue in this
 definition right here, it could be intelligent because it can generalize.
 But there is this counteraction where Shirley says, maybe you have just bought
 that skill with lots and lots of data. Now I actually don't know what to say to
 this because I mean it really seems like GPT-3 generalizes to tasks it has
 never seen before, but also it has had a lot of data. And so as of right now it is
 not really clear where the line is here. When are we going to argue
 that GPT-3 is actually... It could be that it has had lots of data, but also
 it is intelligent. How are we going to make that distinction? And I guess we're
 going to get into the math part, but I can tell you right now the math part is
 so abstract as it is not really practical. It is like a theoretical
 framework that you might be able to approximate. But you know there is
 like a wishy-washy thing going on. But he basically says, okay there's this
 spectrum of hard coding over here and then fully learning from data and with
 all of these methods and you know in between methods. Like a CNN would be
 here because it has like considerable priors because of its architecture and
 so on. And over here would be something like an A star search with like a
 learned heuristic or things like this. You can get good with any of
 these things, but the intelligence is orthogonal to that. So orthogonal to that
 is the intelligence axis. It has nothing... Sholay says this has nothing to do with
 this dimension. You can buy skill with this, but it's basically like it's like a
 triangle almost sort of where you have hard coding, data and then intelligence.
 And it's like its own axis. So the hard coding refers to the priors of a system
 that the developer has basically built in. And the learning from data refers to
 its experience. So basically the more experience a system has had, the more
 it can generalize to a new skill. That doesn't mean it's intelligent, it just
 means had more experience or respectively more priors. So the example
 gives a locality-sensitive hashing which is basically like a nearest neighbor
 method with enough data can solve any task. Like nearest neighbor enough
 data can solve any task. I think it's a famous theorem that
 establishes that. So keep that in mind. That is why we basically need to
 pay attention to how much data went into this algorithm and sort of
 subtract that from our notion of how good, how intelligent it is. Yeah that's
 what he says. When we measure intelligence via skill, and this is
 really the only thing we can measure, we can only measure how good an agent is at
 a given skill. Anything higher than that we can't measure. So we must measure a
 skill, but we should factor out priors and experience. And that's gonna come up
 later. We should also pay attention to generalization difficulty. So generally
 how difficult is the task to solve given the experience we had. Because if the
 task is more difficult in a generalization sense, so if it's harder to
 from what we know get to the point where we can solve the task, then that would
 display higher intelligence. Yeah it says solving tasks via experience and priors
 has nothing to do with intelligence. It's just more experience, more priors. So
 goes back to human intelligence. It says how universal is actually human
 intelligence. And it gets to the to the point where he says it's not very
 universal. Because first of all there's no free lunch theorem where it says
 any two optimization algorithms will perform the same if you integrate across
 all possible problems. So it's even questionable whether something like
 general intelligence could even like universal intelligence could even exist.
 But if we look at the DG factor which is used sometimes to assess human
 intelligence, or is the measure for human intelligence that is established
 right now, then they only encompass tasks that humans can perform and
 understand. Of course and I would say they only encompass tasks where human
 actually differ with respect to each other. Because if you're making these
 tests and you have a human for 40 minutes or so, you're not going to give
 the humans tasks where they don't differentiate from one another. So it's
 going to be a range like a very very small subset of tasks that are exactly
 hard enough such that a couple of humans can't solve them, a couple of humans
 can't solve them. They're going to be you know understandable by humans, and
 understandable ideally by any human. You don't have to have special
 pre-knowledge, not have studied biology in order to answer the questions, or not
 have a higher degree in math or something. So the reference for the
 G factor is very much a reference frame of human values. And he compares this to
 physical fitness. So if we call someone physically fit, what do we mean?
 We mean this general abstract concept of physical fitness where it's
 not really one skill. So you can measure humans in how fast they run, how high
 they jump, how fast they swim and so on, and how much they can lift. And
 across that you'll find generally that all of these things correlate and the
 result we call physical fitness. But it's not like physical fitness is a universal
 measure. So we only measure humans at tasks that humans can solve and are
 different at. So the physical fitness is very human centric and so is
 intelligence. So that's the analogy. I think it's a very good one. He
 says he gives this example where humans are for example very very good at
 shortest path traveling salesman problems. Give up to a certain number of
 nodes in the graph. Humans can solve them extremely well to like very good degree.
 But as soon as you go to a longest path problem, which shouldn't be that much
 harder if you just look at it from an algorithmic perspective, but
 humans are terrible at it. Absolutely terrible. And that probably has to do
 with the fact that we have a prior. And the prior is much much more adapt to
 shortest path problems than longest path problems. Because in our history, in our
 evolutionary history, it made a lot of sense to build in a navigational unit in
 the brain that calculates shortest routings. But it's probably like the
 your fitness is not very much affected by you being able to calculate the
 longest path unless you want to really avoid something. And just
 yeah I don't know. You really want to walk in these shoes. So that should be
 taken into effect and it shows that intelligence is a very human centric
 concept. So when we talk about general artificial intelligence, what we
 mean is it's tied to a scope of problems. And that's going to be important
 that we can only measure intelligence in this framework with respect to a scope
 of problems and the scope that we consider is the human scope. So why human
 centric? Because we must have a scope and the human scope is the only meaningful
 scope. It's the only one we know that you know there is one thing in the universe
 that we think is intelligent that we know of and that's humans. Or to a
 degree like what can make the argument it's general biological life on earth
 but we measure intelligence with a human scope intelligence test and that's the
 thing we have. We don't have anything else. So we ask ourselves what are
 priors of humans? What has evolution built into humans? And Chollet decides on
 three levels of priors. The low level priors which are like reflexes. So if I
 pinch you, you flick like if I flick you, you move back and if I shine a
 bright light at your eyes you close them and so on. So this Chollet says it's not
 very interesting because there's nothing to do like we feel that it has
 nothing to do with intelligence. And then there are, I'm gonna skip this one,
 say there are knowledge priors. So the knowledge priors are you know things
 like the fact that there are objects in this world. That's a knowledge prior that
 the human have. That's built into you. The notion that the world consists of
 objects and you can interact with these objects. The
 navigation capability. We say okay navigate there. Humans can do it very
 very well as I already said. They're very good at shortest path problems and so on.
 Intuitive navigation. That's built into you by evolution. That's a prior. Goal
 directedness. Humans generally view the world in terms of agents and in terms of
 agents having a goal. Like chasing after something. He makes this example and if
 we observe something we often want to frame it in terms of agents that pursue
 goals. And as soon as we can do that, that allows us to some degree to predict the
 world. And that's probably why this evolved. So very valuable skill. Social
 intuition and things like counting, like basic arithmetic, are built into humans.
 And Choulet says if we measure intelligence this is what we must account
 for. So these things should not count towards intelligence because
 they're already built into humans if we measure human intelligence. So you
 wouldn't test human intelligence by making them count because
 that's built into the humans. Now the third kind of priors that human have are
 meta learning priors. And the meta learning priors is basically your
 ability to learn something. This is your meta learning prior. It's just your
 ability to learn something that is not learned. No one has to teach you how to
 learn something. I guess they're like learning strategies and so on. But you as
 a human are incredibly good at picking up new skills. And the skill of picking
 up new skills, that's built into you. Among these are assumptions
 that the world is a hierarchical and causal place. That's how you see the
 world. And because you see the world like this, you can pick up these new skills
 very very quickly. You can explain through explaining the world. You can
 pick up new skills. And that is usually what we mean by intelligence. If someone
 sees a new unencountered before situation, thinks about it, which
 basically interprets the world in the hierarchical and causal way, and then is
 able to come up with a skill that solves the problem. And we generally view that
 as intelligence. So if we want to measure intelligence, we should measure this,
 basically how good you are picking up new skills, while accounting for these
 things. When we compare to humans. So Chollet says tests of intelligence
 should be founded on human-like knowledge priors. It basically makes the case that
 these should, if we build machines and compare them to humans in, let's say in
 terms of intelligence, we should build into the machines these things right
 here. These we should give them, like we should give them a counting module that
 they can use, like a calculator app. We should just build that in and make that
 available for the agent to use, like basic arithmetic. You shouldn't have to
 learn this. We should build in the notion that there are objects. We should build
 in the basic navigation module and so on that the agent can use. You can almost
 think of it like, you know, there's whatever your reinforcement learning
 agent, A, it consists of like this, maybe this big neural network with lots of
 layers, but then each layer maybe has access to, you know, the calculator app
 right here, and each layer has access to maybe also memory. I would guess
 memory is one of those priors as well. Or you know, it has access to a navigation
 prior. Let's draw a little world map right here. This is Google Maps. It can do
 that. It can query that sort of. And we shouldn't, if we want to build something
 that's intelligent, just compared to humans, we shouldn't, we should build in
 the navigation. We shouldn't, at least as much as human can do it. I mean, it's cool
 to have a machine learning system learn navigation, but that makes it less
 comparable. So it says either we should match the humans or we should account
 for the difference. So we should kind of let the difference be in, let the
 difference between the humans and the machines into the measure of our
 intelligence. Further, if you test intelligence, all of these priors
 should be explicitly described and not rely on additional priors. So that's
 often the case in IQ tests. There are so many priors that are not explicitly
 described because we just, you know, we just think, yeah, every human can count. We
 don't need to write down that our prior assumptions are that the humans can
 count or understand language. And that's, I hear sometimes a problem in IQ tests
 that basically the better you understand language, the better you score at these
 tests. And therefore the tests are more like a measure of language ability than
 intelligence. So there, this is a lot much informed by, so I think the
 psychometrics community is on the same path right here. Yeah, he goes into this
 theory of human core knowledge where he basically expands on what the human
 priors are. So this core knowledge theory takes on four
 different categories. So the first one is object-ness and elementary physics, which
 means you as a human have an inherent knowledge that there are objects, as I
 said, but also of elementary physics, that stuff sticks together, persistence of
 objects. And some people say, you know, this is learned. So children, young
 children, they do not know object persistence and that's why peekaboo is
 so interesting. But because they think you're gone, right? They think, you know,
 if a parent goes to the toilet, they really think the parent doesn't
 exist anymore and only later they learn object persistence. But I would question
 whether or not that's actually a learned thing or simply a built-in module that
 gets switched on at that particular point because probably evolution deems it not
 necessary to waste resources on that module before that. So I would, you know,
 I would be cautionary saying that object persistence and all of these
 things, in fact, are learned. I would argue more that they are built in and are
 simply switched on at a given time during development. Because we also know
 these things like object persistence, I think that's, you can almost
 pinpoint the month of a human's life when that's switched on. That will be so
 accurate. And if this is really learned, then, you know, you'd have to assume like
 a very regular structure of the training data distribution that a baby gets to
 experience. So I'm not sure here. But, you know, it's not my opinion, it's
 a show-lease. Yeah, contact interaction, the fact that you can interact with
 objects by contacting them, or that objects can interact with each other by
 being next to each other. That's built into you as well. You don't have to
 learn that. If you compare this to like an RL agent that has to learn all of this
 from pixels, basically, you can see why Sholei has a problem with the current
 direction of deep learning and claiming that things are intelligent there
 because the comparison is just very invalid. So the second core knowledge you
 have is agent-ness and goal-directedness, and we have already discussed that. Then
 natural numbers and elementary arithmetic. In, you know, you can small numbers, you
 can add, subtract, compare, sort, that sort of thing. And elementary geometry and
 topology, where in there would be orientation and navigation, and then
 distance orientation if it's something is inside or outside of a room and so on.
 Now I have heard, and this might be a myth, that there are languages where left
 and right, like relative directions, have no meaning, like doesn't exist in the
 language, but they always use absolute directions, and then these people
 automatically have a much, much better orientation at all time. Like if they
 get into a building, they can always tell you where north is. I don't know,
 maybe that's a myth, but I would guess that's pretty cool, and just shows you
 the flexibility of something like orientation. Sure, we can all orient, but
 it seems like by simply learning a different language, you can sort of
 supercharge that drive for orientation. So again, it sort of feels like
 there is a lot of nature versus nurture going on in here, in that all of these
 things, yes, you probably have a tendency built in to learn objectness and physics
 and so on, but then also probably a lot of it might be learned in addition, or
 you might just be able to supercharge one of these modules that's
 inside of you. I think there's lots of room for discussion here.
 So he says tests for intelligence should only involve core knowledge, and the AI
 systems taking these tests should hard code that core knowledge. So basically
 what he said before, we should build in these things right here, these core
 knowledge things, we should build these into the AI systems if we want to
 compare them to humans. Because if they have these things and only these things
 built in, then they sort of have the same starting point as a human. Now in this
 case, this is where I sort of disagree, because the notion that we can
 ever explicitly list the priors that humans have, to me seems a bit
 ridiculous. So I guess we can sort of approximate this at first, but we
 will never exhaustively exactly describe what the priors are, what is learned.
 We've seen this with the orientation, like how much of that is learned and
 prior. And then secondly, even if we could list them pretty exactly, what says
 that we can exactly program them into an agent such that it can make use
 of it. That's an entirely, that's even harder challenge. So I'm not so sure a
 bit this AI systems should hard code core knowledge. He's gonna try that with
 this ARC challenge that we're going to look at in like the last part of this
 series. But it's a cool test for intelligence, I admit that, but I doubt
 that anyone really manages to hard code the core knowledge. And he says tests
 should only involve core knowledge. And we're going to see how
 valid that claim is for his own ARC challenge. Now luckily in the math part
 that's gonna come up, he doesn't strictly rely on these things. So he
 gives us a way how we can compare, even if the priors of two systems are
 different, we can compare which one's more intelligent. Alright, so that was
 part two of this series. You know, it's already been a while now and this is
 only part two. And I do promise next time we're gonna get into the math. I hope
 you like this and go check out Tim Scarves video on the same topic. Yeah, as
 I said, usually much higher quality videos than mine. And I'll see you next
 time. Bye bye.