Episode 24: What is Artificial Intelligence?
- Links to this episode: Spotify / Apple Podcasts
Unofficial, reviewed transcript. It may still contain mistakes; check the podcast when wording matters.
Speakers are labeled by first name where identified. Unidentified-speaker labels may refer to different people. Bracketed question marks indicate uncertain wording.
Transcript
[00:00:00] Bruce: The Theory of Anything podcast could use your help. We have a small but loyal audience, and we'd like to get the word out about the podcast to others so others can enjoy it as well. To the best of our knowledge, we're the only podcast that covers all four strands of David Deutsch's philosophy as well as other interesting subjects. If you're enjoying this podcast, please give us a five-star rating on Apple Podcasts. This can usually be done right inside your podcast player, or you can Google The Theory of Anything podcast Apple or something like that. Some players have their own rating system, and giving us a five-star rating on any rating system would be helpful. If you enjoy a particular episode, please consider tweeting about us or linking to us on Facebook or other social media to help get the word out. If you are interested in financially supporting the podcast, we have two ways to do that.
[00:00:45] Bruce: The first is via our podcast host site Anchor. Just go to anchor.fm slash four dash strands, F-O-U-R dash S-T-R-A-N-D-S. There's a support button available that allows you to do reoccurring donations. If you want to make a one-time donation, go to our blog, which is fourstrands.org. There is a donation button there that uses PayPal. Thank you. Welcome back to The Theory of Anything podcast. Hey, Cameo, how's it going?
[00:01:28] Cameo: It's going great. Bruce, how about you?
[00:01:31] Bruce: I'm doing fairly well, and I'm excited about today's episode. We're gonna talk about artificial intelligence, not artificial general intelligence, but specifically artificial intelligence, which is a subject that, it's what I've been studying for the last four years in school, and I find it to be a really interesting subject. I know a lot of people are really only interested in artificial general intelligence, and once they realize artificial intelligence isn't the same thing, and it's not artificial, it's not even a path to artificial general intelligence, they kind of lose interest in it. In this episode, I'm gonna make the case that it is in and of itself, a really interesting area of study that ties very deeply into David Deutsch's four strands, two of the four strands, really all four of the four strands, I'm gonna make the case. And therefore, it is a particularly interesting subject in and of itself, even though it's not a path to artificial general intelligence.
[00:02:33] Bruce: So in this presentation, you've actually seen once before Cameo, this is the one that you hired me to give at your company.
[00:02:40] Cameo: Oh, yes.
[00:02:41] Bruce: I changed it some, and I made it so it's a lot nerdier.
[00:02:48] Cameo: Well, and that's funny because it's not like, I mean, you were presenting it to engineers, so it was already pretty nerdy.
[00:02:58] Bruce: It was always pretty nerdy. Yeah. But then I didn't have to worry about philosophers. So now I'm presenting to both engineers and philosophers.
[00:03:05] Cameo: I see.
[00:03:06] Bruce: That is literally as nerdy as it gets.
[00:03:08] Cameo: Right. Yes, I think you're right.
[00:03:12] Bruce: All right. So I do have visuals for this, but they really aren't necessary. I'm going to explain everything. So the audio version of the podcast shouldn't really be missing out much at all. So let's start. Okay. Let's talk about what is artificial intelligence. Okay. So Peter Norvig. So Peter Norvig is a huge name in artificial intelligence. That's why I'm quoting him. The most popular textbook on artificial intelligence is called Artificial Intelligence: A Modern Approach, and it's by Peter Norvig and Stuart Russell. And when I started studying David Deutsch's Four Strands, one of the things that I became interested in was artificial intelligence, and I found that textbook. I bought it. It's a thousand pages. I read the textbook, and by read, I mean skimmed, but I went through the whole thing, and I've got like notes all throughout the textbook.
[00:04:08] Bruce: And that was what led to my interest in going back to school and studying artificial intelligence. So he is a very famous individual because of that textbook and because of his other work related to that. So he says, artificial intelligence is all about what to do when you don't know what to do. Okay, so what does that mean? By the way, that quote comes from Peter Norvig visiting my artificial intelligence class that has video lectures. He was one of the professors in the video lectures. He's not the main professor, but he was like visiting Thad Starner who is my professor. Thad Starner went on to say, AI is the study of finding clever hacks to exponential problems. Okay, now that may not be very meaningful. It will be to you probably because you've gone through our podcasts. Our podcasts included computational theory. So you have some background in this now, and you can understand why these statements have some significance and how they tie to computational theory, which is one of the four strands.
[00:05:17] Bruce: So what they're saying is, well, I'll give a graph here in a second that explains it better. What they're saying is that AI has a specific purpose, and it is, how do you handle a situation that has an exponential problem? So that the problem is essentially in theory solvable, but in practice, you can't solve it. So to address that, artificial intelligence came up with a concept of intelligence as being, quote, quote, intelligence as being something they call, quote, a rational agent. Now, why are we putting that in scare quotes? Well, the reason why is because their definition of intelligence and rational doesn't match the Popperian definition. And is therefore, in a certain sense, wrong, okay? However, as we'll see what they came up with, it captures something important still. It captures something that's meaningful and proved to be very fruitful because of that, okay?
[00:06:17] Bruce: So what is intelligence? And for that matter, what is rationality? Okay, so from the standpoint of Karl Popper's Theory of Knowledge, rationality is essentially from our first four podcasts. It's going with better theories and discarding worse theories. And as we talked about back in those episodes, there's never any certainty. You don't ever prove anything. You simply have the ability to measure between two theories and to say this one is better. It solves more problems, it has fewer problems, some combination of that, various other criteria that we talked about in those episodes. And you're able to pick which theory is better. And it's rational to go with the theories that have survived criticism rather than the ones that have criticism has caused problems for. And so that's what rationality and even intelligence actually is. But nobody really knows that.
[00:07:16] Bruce: The artificial intelligence community, unfortunately, doesn't know much about Popper. You can find references to him in Artificial Intelligence: A Modern Approach, but just a few. And they haven't really caught on to the importance of the connection between Popper's theory and what we call intelligence is in terms of human intelligence. What they did instead is they defined rationality as taking the best possible action in a situation. Okay, and that's straight from Artificial Intelligence: A Modern Approach. Okay, page 30. Now, if you really think about that, that's not a terrible definition of rationality. The word rationality, if someone says it, they probably don't necessarily mean Popper's theory. They probably don't even know Popper's theory, right? So they probably use the word in other ways that are related but not quite the same.
[00:08:08] Bruce: And this is the way words are. We talked about this in our last episode, that words don't have definitive definitions behind them. That's kind of just not true. Instead, they have uses. And if I'm using the word rational in, say, an economic sense, that's very close to the artificial intelligence sense, okay? One could criticize that when someone talks about economics as rational agents, as the agent makes choices for themselves that match their values, okay? It's kind of a circular definition, and therefore you could argue it's not a good explanation of rationality. In many ways, it doesn't matter that it's not a good explanation of rationality. We understand what they're talking about in economics, and thinking of it in that way allows us to work out economic theory that is true. So we're talking about rationality in that sense. So if I'm trying to solve a problem, there is in principle an optimal solution to that problem, perhaps.
[00:09:13] Bruce: But maybe I can't compute that optimal solution because it's intractable. It's an exponential problem. But we know it exists. We know there is an optimal solution. And so what we're really looking for is a method of getting something of getting to the optimal solution tractably or getting to something nearer to the optimal solution that's good enough for our purposes. This is the definition of rationality as the artificial intelligence community defines it. And it's important to understand. In some ways, you might say the fact they've, quote, defined it wrong is why they're on the wrong path to artificial general intelligence. And actually, I think that's true. On the other hand, they're on the path to something really important and something really interesting that is different than the study of artificial general intelligence. It's about how to solve problems.
[00:10:09] Bruce: And that's of use, right? Coming up with automated ways to solve problems, that's absolutely what we want to do. Therefore, this is a science that deserves recognition all on its own. So this version of rationality, it's computable. And that's another thing that becomes really important. Since they're trying to design algorithms, they need a definition of rationality that allows them to compute. And Popper's isn't really computable at this point. We don't understand it well enough to come up with a definitive way to put it. If we could, presumably that would mean we could build an artificial general intelligence. So the fact that they've come up with something that they know how to start implementing, that's important to starting to make progress. But it has little to do with human intelligence, and it's probably more a matter of defining it in terms of computationality or computability.
[00:10:59] Bruce: So just to quickly review, there's a set of problems called the NP problems. These are the decision and search problems. This is stuff that came from our computational theory episodes. There's a subset of those that are the P problems, the polynomial problems, the ones that can be solved in polynomial time and thus are considered tractable, although even polynomial algorithms could be far too slow in some cases. Then you have anything outside of that set is exponential. Then you have a set called NP complete, which is the hardest exponential problems, the ones that are universal. So there's not a lot of hope that we will ever find a P version of those. We don't have a proof that... We don't have a proof that shows that P and NP don't equate, but because those problems are universal, and solving one would mean you could solve every problem in NP, if you could come up with a polynomial time algorithm for it.
[00:12:02] Bruce: Nobody really believes that those two are equated sets. They believe they're separate sets. We've basically theorized they are separate sets, and there is not a single counterpiece of evidence otherwise at this point. Therefore, that theory has to be refuted, and it's not. It so far has survived all attempts to refute it. So that makes it a good scientific theory. So what we're talking about for artificial intelligence, then, is that exponential set, the stuff that we know for sure is exponential. How do you solve those problems as best as possible? Now, this leaves a little bit of error here, because machine learning is part of artificial intelligence, but it's not really about exponential problems. So I'm going to say that artificial intelligence, the non-machine learning kind, is primarily about solving exponential problems rationally.
[00:12:57] Bruce: But machine learning is really a bit different. There's a relationship, but they're not quite the same. And then just for our definitional purposes, artificial intelligence is the umbrella term. Underneath it, there are two subsets. One is machine learning, and the other one is other kinds of artificial intelligence that aren't machine learning. And then under machine learning, there's supervised learning, unsupervised learning, and reinforcement learning, or at least there's probably more than that. And there's like semi-supervised learning. I mean, there's a lot of other things, but those are three main categories we're going to talk about that encompass enough.
[00:13:35] Cameo: Well, will you go back just one step? Because this is, I think, for a lay person, pretty much everyone just thinks when they're hearing words like artificial intelligence, they don't know about all this stuff that's underneath, you know? And even a little bit in technology, you'll hear people talking about ML, and they also don't really know very much about all those subgroups underneath, supervised learning, unsupervised learning, and reinforcement learning.
[00:14:07] Bruce: Yes.
[00:14:08] Cameo: And I do appreciate, for anybody who's just listening, the reinforcement learning has a cute little dog icon. I love it.
[00:14:17] Bruce: Pavlov’s dog, yeah. We will do a future episode where I will go through my presentation on reinforcement learning, which you've also seen before. And that is a really fascinating field for various reasons. And it's the one that I have found the most interesting. It's not the most productive, though. And that's kind of, in some ways, that's what gets me excited about it, is the fact that they haven't really figured out how to make it super useful yet. There's clearly more work to be done and big breakthroughs to come in that field. It's also the most general of the algorithms, right? It has more general ability to solve problems than any of the other algorithms that exist under any of the other umbrellas. As we'll see, though, it's not that general.
[00:15:09] Unidentified speaker: Well, you can [unclear].
[00:15:11] Bruce: It's very general, but it's far less general than it first appears.
[00:15:14] Cameo: Sure.
[00:15:15] Bruce: Sure.
[00:15:15] Cameo: I'm with you.
[00:15:17] Bruce: Okay. So let's talk about some subcategories of artificial intelligence. Now we're talking about the non-machine learning varieties. And one of the things that you'll notice right off the bat is that they don't seem particularly intelligent in the human sense of the word. So I kind of want to emphasize that we're not talking about human intelligence. We're talking about, quote, economic rationality, how to get a near-optimal answer or an optimal answer. So the first one would be what's called the search problem. So let's imagine that you have, you're in a city and you have a map that shows how the cities are connected and how many miles there are between the different cities. And you want to get to another city and you want to take the optimal path that has the shortest number of miles. Sure. We'll define optimal here as the shortest number of miles.
[00:16:09] Bruce: You could also define optimal in a different way. You could define it as the shortest amount of hours because you drive different speeds on different roads. And either would be fine. But our purposes, we're going to say smallest number of miles. So you got the shortest path. So now one obvious way to do that is you try every path. Okay. You start at your start location. You see what happens if you go this path. You see what happens if you go that path. You keep track of it. When you finally find your destination, you keep track of how many miles it took to get there by that path. And then you simply pick the best path.
[00:16:48] Unidentified speaker: Right.
[00:16:49] Bruce: And then so that by itself would be an AI algorithm. Not a very good one, but that would be an AI algorithm. Artificial intelligence would be about the study of how to make that algorithm more optimal. Okay. So for instance, there are things you could do where you could say, well, you know, the need to search every single possible path might involve, you know, going to Tahiti. You know, you can't really drive to Tahiti, but and then back. Right. I mean, like, there's a there's a potentially infinite number of paths. Well, not infinite, but very large number of paths possible. It would be really nice if you could use some sort of heuristic that said, you know, at this point, we've gone so far. I'm certain that this isn't the right path anymore. I need to abandon the search. So AI would be the study of how to come up with those heuristics. And one of them, one of the most useful ones is that you could say, well, I know what the distance is between me and my destination as the crow flies.
[00:17:54] Bruce: And I know what my what the distance is. If I, you know, take this path and at that location, what the distance is from as the crow flies, you could use you know that the path can't be any shorter than that. Right?
[00:18:08] Cameo: Certainly. Yes.
[00:18:09] Bruce: Okay. Just the fact that the laws of physics demand that you can now take that, you know, a real graph might have a negative on it, but in a physical world, you can't have a negative distance. So you could then use that to make your search faster. Okay. You use that heuristic and you could probably just, I won't go into the specifics, but you could imagine how you might use that heuristic to clip off searches that aren't relevant. Okay. And this is a huge part of what we call artificial intelligence. And in fact, you'll see that it's kind of the basis for a lot of the other types of artificial intelligence I'm about to explain. Okay. So another one might be non-optimal search algorithms. So they have the kind of the ones you would hear about the most would be hill climbing, simulated annealing, and genetic algorithms. If you're seeing the visual version, I've got some pictures of what those look like.
[00:19:01] Bruce: Hill climbing is very literal. Sometimes it's really hill descending, but we usually still call it hill climbing. It's very literally like imagine that you're on a hill. And so you decide, okay, from where I am on this hill, which direction is up? And so that's the direction you go. And it takes you up to a peak. Now, it may not be the global maximum peak, but it will find you some sort of local peak. And then once you're there, you can say, well, is this good enough? Okay. And then simulated annealing does something similar. It adds on to there this idea of temperature where it causes you to jump out of the local peak at higher temperatures so that you're more likely to find the global peak. In fact, simulated annealing offers certain guarantees of finding the global maximum if you turn the temperature up slowly enough. I think the problem is that you never know how much to turn up the temperature, and so you can never really guarantee it in real life.
[00:20:09] Bruce: And the reason why it's called simulated annealing is because that's how in physics, annealing actually works. Right. And how it finds a near-optimal energy state is by doing something very similar to this. It's been inspired by physics. Genetic algorithm is one that's been inspired by biology. You do the search by having a population. Now, genetic algorithms are different than genetic programming, so I should make a distinction there. You're typically just dealing with a string of numbers or something that you're trying to find the right optimal string. And you would have a population of candidates, and then they would breed, and they would share information between them, and then you might do mutations on a few. And then over time, the better candidates will survive better because they're the ones that get bred into the next generation.
[00:21:02] Bruce: And it's very cool. I've actually written programs that work like this. It's just almost strange how it just ends up working. It just happens to, through an evolutionary process, it happens to find an ideal set of strings or something close to it. And genetic algorithms are better than like hill climbing or simulated annealing because it actually learns something about the fitness landscape that it's trying to explore. It gets kind of modeled in the population just by the way the algorithm works.
[00:21:34] Cameo: Oh, interesting.
[00:21:35] Bruce: Okay, so that would be non-optimal search algorithms. That's a branch of artificial intelligence. Now, adversarial search is another branch. Now, so far, all of these are kind of types of search. Okay, this is something I want to come back to. So adversarial search is what you would be doing if you were playing a game of chess with a computer or tic-tac-toe. Basically, what you do is you take the board position as it currently is, whatever it is, and you try every single possible move and you see what board position that creates. Then you say, okay, I'm going to assume my opponent is trying to maximize their score, so it then tries to find the optimal move of the opponent. And then given the optimal move of the opponent, it then says, then what's my optimal move against that move? And it just continues to search out until it finds, you know, if it could, it would try to find a successful strategy that wins the game.
[00:22:34] Bruce: But that would be a search that no computer could do. It would be intractable, okay, as per computational theory. So instead, it tries to go out and search as far as it can. Let's say maybe seven moves ahead. It very quickly becomes intractable to go much beyond seven moves. What they typically do is they try to figure out which moves are more likely to be interesting, and then they try to search just those. And then maybe it goes out seven moves, and then it has some way of evaluating the board, and it says, okay, of all my different possible moves seven generations out, this is the optimal board position I could hope for out of everything I've searched so far. And so I'm going to make that move that leads to that optimal board position. And that's how a game of chess works. Now, how do you evaluate a board? A really simple, not great algorithm might be something like, you know how they give points for pieces on the chessboard, a pawns worth one point and a queen's worth 10 points or something like that.
[00:23:34] Bruce: You could maybe evaluate the board based on that. That would be a very simple thing that would probably work well enough. A grandmaster would beat you easy if you were using that as your board evaluation algorithm. So they have to come up with better ones than that. But that is how adversarial search works. This is the minimax algorithm, and this is how you do adversarial games and do artificial intelligence for them. OK, one of the things that's interesting is like Deep Blue. This belongs in the maybe the next discussion with the reinforcement learning, but Deep Blue, it had a handmade board evaluation algorithm. So it was coded by a human. Whereas AlphaGo and AlphaChess, they actually don't have a board evaluation coded by a human. They use machine learning to code the board evaluation algorithm, using reinforcement learning, in fact. And that's why those are better than what a human can do, because using machine learning, you can come up with a better, more effective board evaluation algorithm than what a human knows how to program by hand.
[00:24:43] Bruce: Interesting. This is one of the main distinctions between artificial intelligence that isn't machine learning and artificial intelligence that is machine learning. Now, a constraint satisfaction problem would also be a kind of artificial intelligence. The easiest example of this would be solving a Sudoku problem. So a Sudoku problem, you've got certain numbers, they're supposed to add up to certain values. I don't even remember how to play. My wife loves it.
[00:25:14] Cameo: They have to have a 1 through 9 in each column, each square.
[00:25:19] Bruce: And that's what it is. Yeah. And so they give you certain numbers, and then you have to find numbers that will fit those constraints. So a constraint satisfaction algorithm would solve a Sudoku problem by intelligently trying things out until it found a set of numbers that fits the constraints. Sometimes Sudoku problems have one solution. Sometimes they have more than one solution. And in fact, that sometimes affects how hard the problem actually is for a human to solve.
[00:25:51] Cameo: I'm still with you.
[00:25:53] Bruce: Okay. And then logic and planning problems would be another kind of artificial intelligence. The kind of canonical example would be like the Wumpus world, which you either know what that is or you don't.
[00:26:03] Cameo: I don't.
[00:26:04] Bruce: It doesn't matter. You know what? I used to have a game, a handheld electronic game back in the day that was called Dungeons & Dragons. It was the pen and paper game, and it was actually Wumpus world. I didn't know that at the time. You were a little archer, and you were going through a maze, and there were pits, and you could tell if you were next to a pit or not, so you had to be cautious not to fall into the pit by moving into another cell.
[00:26:28] Cameo: And now that I remember playing that game.
[00:26:30] Bruce: Yeah, that's Wumpus world. And then you're trying to find the arrow, and then you're trying to find the dragon, and then you need to shoot the dragon with the arrow, and you have to use logic to figure out, is it safe to move in this direction? Is this the right direction which to shoot the arrow to kill the dragon? So that's the Wumpus world. And so you have to use logic to figure out, have I eliminated the bad moves, and am I down to the good moves? And do I have enough evidence that I know that this is the right move, or what is the probability, maybe, if you can't actually determine for certain that this is the right move? Along those same lines, you've got the block worlds. This is another one that's very famous in artificial intelligence, where you're trying to start with block ABC, and you want to stack them as ABC. What are the moves you need to make to stack them?
[00:27:24] Bruce: And they'll try to write agents that know how to do this. It's really cool when they do it with robotics, where the robotic hand has to reach out, and it has to read the block, and it has to move the block, and things like that. But they'll also do it virtually to make it a little easier. And then artificial intelligence has all sorts of things with just propositional logic or first-order logic, and solving problems with that. One of my favorite programs that I wrote was an HPLL [possibly DPLL] algorithm, just because I was curious about it. And it would like try to figure out, like you would give it a set of logical statements that you're saying are true, and then you would say, given those statements, is X true? And then it would figure out if X is entailed from the statements that have been given so far.
[00:28:12] Unidentified speaker: I see.
[00:28:13] Bruce: And so very cool stuff, right? So all of these are examples of artificial intelligence. Now, this next one's a little different, and so I want to dwell on it just for a second. It's probabilistic reasoning. So I'm sure you're familiar with probability theory. Trying to work with probability theory is a huge part of artificial intelligence. And in fact, there's this subbranch of probability of statistics and probability theory, which is called Bayesian statistics. And many, many, many people, like lots and lots of people, think it's a path to artificial intelligence [apparently meaning artificial general intelligence] and it's not. Because it captures certain intuitive sounding ideas about how humans feel like they reason about things. And so we'll have to do like a separate episode on Bayesian reasoning. And I'll explain why it isn't a good epistemology.
[00:29:16] Bruce: It is good artificial intelligence. You can do really useful things with Bayesian reasoning. It's not good epistemology. It's seen as a competitor to Popper, but it's actually a false competitor. So, but let's talk about it just a second. So there's a thing called the Bayes net. So Judea Pearl, I don't know if he actually invented them or if he simply popularized them. But like when you look up anything with Bayes nets, he's quoted extensively, right? Like he just dominates. And then he's the one who went on to do Causal Inference, which again is probably a podcast worth doing. And Causal Inference actually takes things like Bayes nets and moves them to a whole new level. It's very cool stuff that you can do with them. So, but Bayes nets, basically the idea of a Bayes net is it's a graph. It's a graph, a diagram, a graph, that is a computational device that allows you to solve certain kinds of probability problems.
[00:30:15] Bruce: So the example that I got on the screen, which I'll describe for the audio listeners, and this is the kind of a canonical example that comes from a textbook, is you have an alarm and your alarm goes off when there's a burglary, but there's also a chance it gets set off by accident if there's an earthquake. And then you don't get reports directly from the alarm because you're at work. Instead, you have a deal with your neighbors, John and Mary, to call you if the alarm goes off. Now, John is more likely to call, if the alarm actually goes off, there's a 95% chance that John will call and a 5% chance he won't, but he gives false alarms, you know, 5% of that 95% is false alarms. Mary is far less likely to give false alarms. She only does it 1% of the time, but she only calls 71% of the time total. So what I want to know is, this is something you'll recognize from our podcast on statistics, is we want to know the probability of an event given evidence.
[00:31:23] Bruce: So in this case, what's the probability that there actually is a burglary if John calls and Mary doesn't call? So the Bayes net is this computational device that allows me to tractably and very quickly solve that problem and come up with what the probability is. So that I can say, okay, given the fact that John called and Mary didn't, the chances that there is a burglary are X percent, and then I kind of know based on that whether I need to worry or not. And very cool what you can do with this. This is another thing that I had to study in my artificial intelligence class in school. Now, what is Bayes' Rule and how does it relate to this? And again, this deserves its own podcast. Bayes' Rule is basically exactly what I put up on the screen here. The probability of Y given X is equal to some alpha times the probability of X given Y times probability of Y.
[00:32:19] Bruce: What does that mean? Don't need to worry about it. Okay, the key thing to realize is that the X and Y's flip on the two sides of the equation. Can you see that? Okay, that's important because if you want to know the probability of a cause given an effect, you probably don't have any way to collect that data using just straight statistics, just straight statistical regular methods, but you probably do have a way to collect the data on the probability [of an] effect given a cause. To put this kind of more straightforwardly, you want to know the probability of a disease given a symptom. There's no way to collect the data on that. Okay, think about how you would try to go about collecting the data on that. There's no tractable way to do it right now. Really stop and think about this for a second. You'll see there just isn't a good way to do it.
[00:33:18] Bruce: But if you can collect the probability of a symptom given the disease, so someone who you know has the disease, what are the odds that they have that symptom? And if you know what the probability of that disease is, so how many people in the population have that disease, how rare is the disease, you can calculate the probability of the disease given the symptom. So you never actually have to go collect that data directly to get it. You can derive it using Bayes' Rule, using things that are collectible and data that is available to you. So Bayes' Rule is an amazing thing, and a lot of my Popperian friends, I worry that because Bayesian epistemology is seen as a competitor to Popperian epistemology, that they end up denigrating all of Bayesian reasoning, and that's not correct, right? Bayesian reasoning is super important and true and correct in the domain in which it is meant to be used.
[00:34:20] Bruce: The problem with the Bayesian epistemology is that they're trying to apply it to domains where it doesn't make sense. Probabilistic reasoning isn't limited to Bayes' stuff, though. Probabilistic reasoning includes like the original version of the Google car. Now, today, the Google automated car would use machine learning, but back in the day, it did not use any machine learning. It used the theory of probabilistic robots, which I took a class in this. It's a class that was in part taught by the guy who did the Google car. And it was entirely just non-machine learning that he used. He used particle filters. I don't need to describe what those are, but basically techniques that model probability distributions of where the car is. And by comparing it to what it expects to see using Google Maps, say, like those cars actually had a connection through satellite to Google Maps and then using its detectors, it could say, OK, this is what I'm detecting.
[00:35:30] Bruce: What are the different places I might be? And then over time, as it continues detecting, it can narrow down to this is my location. And it's actually more accurate than GPS. GPS are only accurate to within—at least civil GPS. I heard military ones are better. They don't get you within a few feet. And if you're going to drive a car, you can't be off by 10 feet.
[00:35:54] Cameo: Sure, sure. Absolutely not.
[00:35:58] Bruce: OK, so this is an overview then of artificial intelligence examples, kind of main examples of what artificial intelligence is. Now let's talk about machine learning, which is the other branch. OK, so credit to my instructor, Dr. Kira, on this for the graphics I'm borrowing from his class. So machine learning's main use isn't actually to solve exponential problems like the rest of artificial intelligence. It's actually to create functions that human beings don't know how to directly program. So an example of this would be, I want to write a function that recognizes a face, your face. I want a function that recognizes Cameo in a picture. Now, back in the day, there is this branch of artificial intelligence. Actually, I don't think this branch was considered part of artificial intelligence on its own, but it had associations and links into artificial intelligence.
[00:36:58] Bruce: But just the study of computer vision. And there's all sorts of techniques that exist in computer vision. I never took that class, but I did go through all the lectures because I was interested, because I intended to take it. But they have ways to detect where a line is or detect how to segment things. And they try to use those sorts of techniques to recognize things, maybe. OK. You can get so far with those techniques. They did have face recognition algorithms before they introduced machine learning into it, but they didn't work great. And there would be humans that would spend their whole career trying to come up with what are the best ways to create features out of an image that's going to allow me to recognize a face. And they got fairly good at it, but it was kind of mediocre results. And when machine learning, specifically when deep learning, started to become popular, I can't remember who this was, but I was listening to a podcast where a guy who was in deep learning in his early days went to a conference and told the people who were doing things like facial recognition.
[00:38:14] Bruce: He says, Your jobs are all gone in five years, so it's time to switch fields. Machine learning is going to dominate this field. And he was completely right. Nobody does the by hand approach anymore. We use deep learning to figure out how to do a face recognition algorithm, and it will give results way better than anything any human had come up with. And that's because we humans can recognize a face, but we don't really understand how we do it. It's something our brain is able to do that is beyond our current understanding.
[00:38:46] Cameo: Right, right. It happens so on autopilot, we have no comprehension of how we do it.
[00:38:54] Bruce: And in fact, there seems to be like a module in the brain meant to recognize faces that can get disabled.
[00:39:03] Unidentified speaker: And yes, certainly.
[00:39:04] Bruce: There are people who can't recognize faces because that module has become damaged, and they can't relearn it. Right. Once it's gone, it seems to just be gone. At least that's what the theory currently suggests for based on everything we've been able to observe so far. And so we really don't understand how it works inside our brains. So we don't know how to program it because we don't fully understand it. So using machine learning is kind of this shortcut where we don't have to understand it. We just have to understand how to create the algorithm that creates the algorithm.
[00:39:43] Unidentified speaker: Sure.
[00:39:45] Bruce: Now, the images that I'm putting up here, for those who can see it, they're kind of cool to see. And the idea is that what we see with the image that's on the right here is we see what inside the neural network looks like. So the neural network that is learning to recognize, in this case, a yellow car, it is creating parameters as it generates the final neural network that's going to be the one that is the recognition algorithm that we're going to use. And what you can see is that what the neural network is doing is it's learning features. It's learning what features it needs to know. Automatically, it's discovering the features that matter in terms of recognizing what a car is. And you can just by looking at it, you can see that the lowest level of the neural network, the features are, there's these very low level features, and there's kind of mid level features, and there's these really high level features.
[00:40:44] Bruce: When you get to the high level features, a human can start to recognize what it is that the neural network is discovering. Right. It's looking for a wheel, you can tell. And it's very cool that a deep learning algorithm searches through the space of features and finds the right features to solve the problem we want to solve that humans just don't know how to come up with on their own. Okay. And then you can do cool things with this. Okay, you can kind of do things in a different order. Instead of recognizing a face, you can create something that generates faces. So no one had ever tried to make a program. No one would have even known where to begin to make a program that generates a realistic looking, photorealistic looking face that's not a real person. Machine learning can do that very easily. This has led, though, of course, to things like deep fakes, right?
[00:41:40] Bruce: Where now we can actually generate an image of Barack Obama saying something that he never actually said in his voice. Right.
[00:41:51] Unidentified speaker: It's terrifying.
[00:41:53] Bruce: We can't trust photographs anymore. We probably shouldn't have ever trusted them to begin with, but now we really can't trust them. We can't trust video. It's possible to generate these fakes that make it look like somebody said something they never did. So everything is now suspect, which is probably good, because everything probably should have been suspect from the outset. So this is what machine learning is about. Machine learning is really about generating, creating functions that human beings do not know how to directly program. And this is why machine learning is such an exciting field, is because it allows you to come up with programs using a machine learning approach, which my other image here kind of shows the difference between those. Programming: you put inputs into an algorithm, and output comes out. With machine learning, you have a bunch of data that goes into an algorithm.
[00:42:44] Bruce: You have a bunch of labels. This is for supervised learning that goes into an algorithm. Out comes a model, and then you use the inputs. They go into the model, and an output comes out. So the input might be the image of the picture that goes into the model. The output is, oh, this is a car, and it recognizes that it's a car or recognizes that it's Cameo’s face.
[00:43:04] Cameo: Interesting.
[00:43:06] Bruce: Great. All right. So what are the types of machine learning there? We said there's three types. So supervised learning, unsupervised learning, and reinforcement learning. Now, each of these, it's interesting that the relationship between the three sub-umbrellas is how much help it gets from a human. And this is actually a very interesting point for a number of reasons. David Deutsch, in The Beginning of Infinity, he talks about how we have these things called genetic algorithms, and we use them, and he seems to be very much in doubt that they create knowledge, because he feels like the human is inputting so much knowledge. He doubts that there's any knowledge created. We're going to see that he's going a little too far there. But he's kind of right, too, in that we often give machine learning the credit for everything, when really there's just this huge input, this huge injection of knowledge that comes from the human working with the algorithm.
[00:44:10] Bruce: And the true algorithm that does the knowledge creation usually runs across both the human brain and the computer algorithm. However, this distinction matters. So for supervised learning, you're intentionally injecting in what the correct labels are that you want. So a human has to go through by hand and figure it out. So there's an obvious injection of knowledge from the human. With unsupervised learning, there's less obvious of an injection of knowledge from the human. With reinforcement learning, you're trying to generate the knowledge out of some sort of signal in the environment. For the sake of describing what a signal is, imagine you're trying to make a machine learning program that figures out when to buy and sell in the market. The signal would be how much money you've lost or made.
[00:45:03] Cameo: I see. Okay.
[00:45:04] Bruce: So you're picking some signal that exists in the real world, and then you're using that to inform the algorithm how to evolve itself. Okay. So supervised learning, canonical example. Imagine that we have a number of square feet and a number of bedrooms. We've got data on houses with a number of square feet and number of bedrooms and what the sales prices were. So the features would be the square feet and the number of bedrooms, and the correct values, what the value we want to predict is the sales price. So I feed that information into a machine learning algorithm, let's say linear regression, and it comes up with a line that best matches that set of data. In this case, I'm cheating and I'm making it look like way better than it really ever would be in real life. Yeah, sure. And then based on that, you use that line and you say, okay, given some number of square feet in bedrooms that is in a house that has yet to sell, I predict that the sales price will be this amount.
[00:46:08] Bruce: Now, it's not too hard to guess that this algorithm is not going to be a great algorithm, because the number of square feet and number of bedrooms probably tells you very little, unless you also know what state you're in or what your location is within the state, things like that. So part of machine learning is figuring out what are the right features to actually make a good prediction, so that you can actually make a fairly accurate prediction. And, you know, typically a human figures that out. This is a case where we have the injection of knowledge coming from the human that's subtle, that's more subtle than the actual labels that we're placing on things. Now, unsupervised learning would be like the image I've got here. Imagine just an image full of lots of dots. And I say, I want you to take all these dots, you know, that are based on this data, whatever it is, and I want you to pull it off and make it into three clusters.
[00:47:02] Bruce: And so the algorithm will say, okay, I found these three clusters that seem to be together. So they may be similar. This could then, you know, let's say this data happened to be sales based on sales. You would suddenly find, oh, I've got three kinds of customers that have different needs. Or maybe you say, oh, this collection of customers buy similar things, so I can use this as a recommendation engine.
[00:47:28] Cameo: Interesting. Much how Amazon uses that data.
[00:47:34] Bruce: Okay. And then finally, reinforcement learning. The characteristics of reinforcement learning are exploration, delayed rewards, and continuous learning. So how does it compare to? It's probably easiest to try to compare it to supervised and unsupervised learning. It's similar to supervised learning in that there are rewards for good behavior. So there's got kind of a loss function. So loss function would be, basically, the way machine learning works is that you've got some sort of loss function that tells you how far off you are from the ideal results. And then it tries to minimize that loss function. It tries to search out which parameters are the best ones, weights in the neural network, let's say. Are the best ones that minimize the loss function. So you've got something similar going on with reinforcement learning via rewards. You've also got something similar going on with unsupervised learning in that they have no correct results to work with.
[00:48:26] Bruce: There's no labels that come from a human. But it's not, so it's tempting to say something like, reinforcement learning is a kind of semi-supervised learning. But you shouldn't say that because semi-supervised learning is an actual thing. Okay. It's altogether different. So semi-supervised learning would be that you label some of the data, but not all of it, by a human, and then you use the partial labels to resolve the problem using the data that's not labeled also. So reinforcement learning is not that. It's really quite different than from that, actually. So reinforcement learning is the algorithm that allowed us to create AlphaGo. And so when we do a future presentation on reinforcement learning, I'll talk about how reinforcement learning was used to beat the Go master. It's important to know, though, that Lee Sedol, who was the Go master, the world champion of Go that AlphaGo beat, there's a documentary on this, which is an awesome documentary.
[00:49:26] Bruce: Absolutely recommend it. It's free. You just go Google for it. Just Google AlphaGo on YouTube or something. And Lee Sedol, going into that match, he was completely confident that there was not a chance a computer could beat him. And by the time he was done, he won one match out of five. And he was ecstatic that he managed to win one match. Because AlphaGo was so good. And you can see, like, when they were training AlphaGo, they got—not a Go master, but someone really good at go, who was kind of middle ranked or whatever, to come in and help. And he almost quit because he was so mad that AlphaGo could beat him. Because everybody knew that it was impossible to use AI to make a good go program. Everybody knew that. It was common knowledge that go is so hard to solve for using the minimax algorithm like chess that we talked about a moment ago.
[00:50:28] Bruce: Because AlphaGo has got so many possible moves that drastically change whether you're in where you are in the fitness landscape. It was just known no computer program can be written. And in fact, they used to say that's going to require real intelligence, which obviously didn't turn out to be true. But they were so convinced it was impossible to write a good go program. So whenever these go players got beat by AlphaGo, it was this initial embarrassment that really shocked them. And then they would start to realize, oh my gosh, this is better than a human. You know, Lee Sedol, the fact that he beat it once, this is like bragging rights now.
[00:51:08] Cameo: Right.
[00:51:11] Bruce: So anyhow, just kind of an interesting side point there. OK, so now up to this point, it should be obvious that we are overlapping with one of the four strands, and that's computational theory. I've kind of really tried to emphasize that overlap, OK?
[00:51:28] Cameo: Yeah, absolutely.
[00:51:30] Bruce: But there's actually a second more important overlap in my mind, and that is through Popperian epistemology, specifically through something known as universal Darwinism. Universal Darwinism, this is a teaser for next time. So universal Darwinism is the idea that Darwinian evolution principles apply to many things outside of biology. OK, now if you understand Popperian epistemology, that's an application of Darwinian theory outside of biology. So that was the first step of realizing that there's this universal use for Darwinism that's got nothing to do with biology. And now we've got two areas that get applied in science, in the case of Popperian epistemology, and in biology. So Wikipedia defines universal Darwinism as, and this is a quote from Wikipedia, starting in the 1950s, Donald T. Campbell was one of the first and most influential authors to revive the tradition of universal Darwinism and to formulate a generalized Darwinian algorithm directly applicable to phenomena outside of biology.
[00:52:41] Bruce: Now, Campbell, who was just, he's given credit for, Campbell himself never used the term universal Darwinism. And the term exists before Campbell, but he's given credit for starting the theory modernly. Does that make sense?
[00:52:58] Cameo: Yes. Yes. Like resetting it and getting people focused back on it again.
[00:53:03] Bruce: Yes. And the way it is formulated today is based on, somehow rooted in his formulation, not the ones that came before him. Okay. So Campbell got his ideas almost entirely from Karl Popper. Okay. Why there's this direct tie to Popperian epistemology. Okay. So Campbell, this is a quote from Campbell in evolutionary epistemology. He says, it is primarily through the works of Karl Popper that a natural selection epistemology is available today. In fact, if you read that article, evolutionary epistemology that I'm quoting from, like, significant portions of it is Campbell saying, here's what Popper said on the subject.
[00:53:46] Cameo: Right, right.
[00:53:47] Bruce: He extensively quotes Popper to start off this concept of universal Darwinism. Furthermore, Popper strongly endorsed Campbell's work. So Popper, in an article called Campbell on Evolutionary Theory of Knowledge, said, Professor Campbell's remarkable contribution shows the greatest agreement with my epistemology and, what he cannot know, an astonishing anticipation of some of which I have not yet published when he wrote his paper.
[00:54:17] Cameo: Oh, well, that's a nice compliment.
[00:54:23] Bruce: So, what I'm going to argue in the next episode is that artificial intelligence has deep ties to universal Darwinism and therefore has deep ties to Popperian epistemology, even though it's got nothing to do with scientific explanatory knowledge, for the most part. This is in some way a general, so universal Darwinism could be thought of as a generalization of Popper's epistemology. Popper's epistemology was meant originally to be about science specifically. Universal Darwinism is about how we come up with solutions to problems. Typically, we would call this knowledge. There's some debate over whether this is the right definition of knowledge or not. But solutions to problems, whether it's through scientific explanatory knowledge or not, that would be universal Darwinism. Okay. And so artificial intelligence is the algorithmic study of universal Darwinism.
[00:55:23] Bruce: I am going to make that claim.
[00:55:25] Cameo: Okay. And that's going to be our starting point for next time.
[00:55:30] Bruce: Yes.
[00:55:31] Cameo: Okay, I like it.
[00:55:32] Bruce: Okay. And then we will also go on to discuss a lot more about machine learning. I've kind of just barely touched the surface. I want to talk about how machine learning gets used in real life and kind of some of the cool things that people have done with it.
[00:55:46] Cameo: I think that sounds exciting.
[00:55:48] Bruce: All right. Well, thank you for joining us, everybody. We'll see you next time.