Basics of AI approaches
So you can imagine when people first set out to create artificial intelligence, there might have been many different approaches. Very broadly speaking, there were two major groups. There are those who said, "Hey, let's just give computers very clear instructions to help them do the tasks that we would normally associate with intelligence."
What do I mean by that? Well, let's take a simple example: say Tic-Tac-Toe. Actually, one of the first games that I ever wrote on a computer was Tic-Tac-Toe. We can review ourselves on Tic-Tac-Toe strategy. Let me make that a little bit bigger.
If I tell someone else how to play Tic-Tac-Toe, or if I were to tell myself, I say, "Well, you know, I like to," and I'm not even sure if this is the optimal strategy. I like to start in a corner because a lot of people will then respond to me in the center. Then I like to go on the other side of the corner, and they don't know where I'm going yet because it doesn't look like I'm about to get three in a row. Most people don't like to go to one of these middle areas, and they like to try to get a streak, so they might put their O there.
But then I like to put my X there because then I have them. If they block me, I'm going to get my three in a row there or vice versa. That’s how I think about Tic Tac Toe. Now, obviously, if I'm going second, if I have to play more defensively, I might have another strategy.
Well, if you were writing a computer program to play Tic-Tac-Toe, what you might want to do, especially if you wanted to use the strategy that I just suggested, you might say, "Okay, if the board is empty like this, then put your first move over here." Obviously, I'm just simplifying it a lot. Then do that, and you might say, if you could really put in every scenario for something as simple as Tic-Tac-Toe, "If the board is like this and we're assuming that we're playing as X, if it's like that, then..."
And I'm not going to take the time to put every scenario in here, then do this: put your X here in this bottom right corner. You could imagine all of the different scenarios. If someone put their O there, what do I do? If I put someone’s O there, what do you do? Then just give very clear instructions, and you can actually make something that is very good at Tic-Tac-Toe just by doing this.
Now, people have used this type of technique to do much, much more complex things—play games like chess, play games like checkers. It’s not quite that straightforward, but essentially what it's doing is looking at all of the different scenarios and sometimes going two, three, four, five, ten moves ahead, figuring out, "Okay, is that a good outcome if I move there, or is that a good outcome if I move over there based on what the other side might do?" Then they’ll make their move accordingly.
That’s actually the basics of how some of the earlier chess programs really worked. Now, a lot of folks had trouble with this because they said, "All right, you can make computers do pretty cool things just by giving it instructions, and we could make a human being do cool things by giving it instructions." But a human being isn't just about instructions.
If you were to look inside the brain, I'm not sure if I'm drawing the brain here well, but that's my drawing of a brain. It has, on the order of 100 billion neurons. Now, neurons are the cells in our brain that really are the core of what makes us think—what gives us our intelligence and all of the other functionality of the brain.
So imagine a cell here. These are all neural cells. Each of these is a neuron. They aren't just by themselves. Each of them has different strengths of connections to other neurons. So that one has a strong connection to that one. Maybe it has a weaker connection to that one. It’s not connected at all to that one, and it has a very weak connection to that one over there.
While this one has a strong connection to that, that one, and a strong connection to that one, and maybe it has a strong connection to that one as well. We can go on and on. Now, each of these cells, as I said, are neurons, and these connections are called synapses. So each of those is a synapse.
The way, or a very simplified version, of how thinking works—the brain's function—is these things light up. As one neuron turns on, depending on the strength of the connections, and it's not just one turning on at a time, maybe that one and that one turn on. They are both connected to this one, and that signal is strong enough. Maybe this one turns on as well, but the strength of that synapse isn't strong enough to that one, so that one won't turn on.
People have known the basic idea of neurons and synapses for many, many decades and said, "Well, if we really want intelligence, why can't we use a computer to model something like this?" To think about creating algorithms that essentially do that. And that is where neural nets come from: the idea that you could write a computer program that has something that represents neurons and represents synapses.
In computer language or computer speak, you would call the things that are representing neurons "nodes," and you would call the connections between them. So that one’s connected to those two, and obviously, there's going to be many more. It's not just going to be those over here, but these all might have connections to them, and I'm not going to draw all of the connections.
The strength of the connection will be some number. So maybe this is a 0.5; maybe this is a 0.1, and so on and so forth. What you do is you give it some input, and this will usually be ones and zeros, say. But ones and zeros can represent anything. It can represent an image; it can represent words; it can represent sounds.
Then the neural net thinks are going to maybe, a one, this one turns on, this one turns on, and maybe that one makes this one turn on, and so on and so forth—very similar to what's happening in the human brain. Eventually, it will create some type of output. The input might be the pixels on a picture, and then the output in ones and zeros might say, "That's a dog," or it might say, "That's not a dog."
Now, for many years, we were getting a lot more progress with this way of trying to have intelligence or show intelligence. But more recently, we're seeing a lot of progress on the neural net side of things. What's really interesting about this is you're not giving clear instructions. No one’s writing down, "This has to be a 0.5, and this has to be a 0.1." Instead, the program, the computer, can learn this needs to be a 0.5 and this needs to be a 0.1 by learning on a lot, a lot of data.
We'll talk more about that in other videos.