Titans of Science: Geoff Hinton
PodcastsThe Naked ScientistsTitans of Science: Geoff HintonThe pioneer of AI shares his insights into its past, present, and future. . . 25 June 2024This episode of The Naked Scientists marks the return of a. . .

PodcastsThe Naked ScientistsTitans of Science: Geoff HintonThe pioneer of AI shares his insights into its past, present, and future. . . 25 June 2024This episode of The Naked Scientists marks the return of a brand news series of Titans of Science, where some of the movers and shakers of the scientific and technological world help us to unpick a big problem. Kicking us off is the AI pioneer Geoffrey Hinton, with a fascinating insight into artificial intelligence, how it actually works and what we need to be wary of. . . Geoff Hinton: How does AI work?Geoff HintonThis episode of Titans of Science, Chris Smith spoke to AI pioneer Geoff Hinton about how AI works, and what we should be wary of. . . Chris - Geoffrey Hinton was born on the 6th of December, 1947 in Wimbledon. He's the great, great grandson of the mathematician and educator, Mary Everest Boole and her husband, the Logician George Boole. Other notable family members include the surgeon and author James Hinton and the mathematician Charles Howard Hinton. Geoffrey attended Clifton College in Bristol before embarking on an array of undergraduate studies at Cambridge that took in philosophy and natural sciences. He graduated with a degree in experimental psychology in 1970. He continued his studies at the University of Edinburgh where he was awarded a PhD in artificial intelligence in 1978. He also worked at the University of Sussex, the University of California San Diego, and he was the founding director of the Gatsby Charitable Foundation Computational Neuroscience Unit at University College London. Geoffrey is frequently described as the godfather of AI and his pioneering research on neural networks and deep learning has paved the way for systems that are familiar to many of us now. Like ChatGPT. He warned of the dangerous post by AI when he resigned from Google last year. Geoffrey, let's start with where you grew up. Can you tell us a bit about your childhood in London and in Bristol? Were computers part of that then?Geoff - No. I grew up in Bristol and computers were pretty much unheard of. Chris - So why did you decide to pursue that?Geoff - So when I was an undergraduate at Cambridge, I got very interested in how the brain works and there's two different ways you could study how the brain works. You could do experiments on the brain or you could try and make computer models of how it works. So if you've got a theory of how something works, you can test out the theory by seeing if you can write a computer program that behaves according to the theory and actually works. And it turns out most of the early theories of how the brain works don't actually work if you simulate them on a computer. Chris - Did that strike you as odd at the time then? Is that what set you on the path to trying to understand better why the brain is different to the logic of a computer?Geoff - So at the time, the idea of doing science by simulating things on computers was fairly new and it seemed just like the right approach to trying to understand how the brain learns or at least a complimentary approach to doing experiments on the brain. Chris - And so what did you do?Geoff - So I spent my time, when I was a graduate student in Edinburgh, writing computer programs that pretended to be networks of brain cells and trying to answer the question, how should the connections between brain cells change? So the collection of brain cells hooked up in a network can learn to do complicated things like, for example, recognise an object in an image or recognise a word in speech or understand a natural language sentence. Chris - Do we have a clear idea even today of how that works? Because obviously you were working towards something we had no idea about and trying to model it. Have we got there or are we still in the dark?Geoff - Neither of those. We haven't fully got there, but we have a much better understanding. So we now have computer models of neural networks, things that run on a computer but pretend their networks are brain cells that work really well. You see that in these large language models and in the fact that your cell phone can recognise objects now it can also recognise speech. So we understand how to make things like that work and we understand that the brains quite like many of those things. We are not quite sure exactly how the brain learns, but we have a much better idea of what it is that it learns. It learns to behave like one of these big neural networks. Chris - If it's down to the fact that we've got brain cells talking to brain cells and they're just big populations of connections, is that not relatively easy to model with a computer? What's the holdup? Why is it hard to do this? Well,Geoff - The tricky thing is coming up with the rule about how the strength of a connection should change as a result of the experience the network gets. So for example, very early on in the 1940s or maybe early 1950s, a psychologist called Hebb had the idea that if two neurons, two brain cells fire at the same time, then the connection between them will get stronger. If you try and simulate that on a computer, you discover that all the connections get much too strong and the whole thing blows up, you have to have some way of making them weaker too. Chris - I love that line, 'What fires together, wires together. ' It's never left me. Because I remember reading Hebb's book when I was at University College London. So how did you try and address that then? Was it sort of just a damping problem? You make it so that the nerve cells get bored more easily as it were so that doesn't overheat in the way that the computer would otherwise have them do?Geoff - Well that's kind of the first thing you think of and you try that and it still doesn't work very well. So the problem is can you get it to work well enough so that it can do complicated things like recognise an object in an image or in the old days recognise something like a handwritten digit. So you take lots of examples of twos and threes and so on and you see if you can make it recognise which is a two and which is a three. And it turns out that's quite tricky. And you try various different learning rules to discover which ones work and then you learn a lot more about what works and what doesn't work. Chris - What does and doesn't work and why?Geoff - Okay, I'll tell you something that does work because that's obviously more interesting. You have a layer of neurons that pretend to be the pic cells. So an image consists of a whole bunch of pixels and the pixels have different brightnesses and that's what an image is. It's just numbers that say how bright each pixel is. And so that's the input neurons. They're telling you the brightness of pixels and then you have output neurons. If you're recognising digits, you might have 10 output neurons and they're telling you which digit it is. And typically the network to at least to begin with wouldn't be sure. So it hedges its bets and it'd say it's probably a two, it might just be a three, it's certainly not a four. And it would represent that the output unit for a two would be fairly active. The output unit for a three would be a little bit active and the output unit for a four would be completely silent. And now the question is how do you get those pixels as inputs to cause those activities in the outputs? And here's a way to do it that all the big neural networks now use. So this is the same algorithm that is used to train big chatbots like GPT-4. It's used to train the things that recognise objects and images and it's called back propagation. And it works like this. You have some layers of neurons between the inputs and the outputs. So the neurons that represent the pixel intensities have connections to the first hidden layer and then the second hidden layer and then the third hidden layer and finally to the outputs. So they're called hidden layers because you don't know to begin with what they should be doing. And you start off with just random connections in these networks. So the network obviously doesn't do anything sensible. And when you put in an image of a digit, it will typically hedge its bets across all the possible 10 digits and say they're all more or less equally lightly because it hasn't got a clue what's going on. And then you ask the following question, how could I change one of the strengths of the connections between a neuron in one layer and a neuron in another layer so that it gets a little bit better at getting the right answer? So suppose you're just trying to tell the difference between twos and threes. To begin with, you give it a two and it says 'with a probability 0. 5, it's a two with a probability 0. 5, it's a three. ' It's hedging its bets. And you ask, well how could I change connection strength so that it would say 51% two and 49% three. And you can imagine doing that by just tinkering with the connections. You could choose one of the connection strengths in the network and you can make it a little bit stronger and see if that makes the network work better or work worse. If it makes it work worse. Obviously you make that connection a little bit weaker and that's sort of a bit like evolution. You're taking one of these underlying variables, a connection strength, and you're saying if I change it a little bit, how can I change it to make things work better and save those changes? And you could do that and it's obvious that in the end that will work, but it would take huge amounts of time. So in the early days we would use networks that had thousands of connections. Now these big chatbots have trillions of connections and it would just take forever to train it that way. But you can achieve pretty much the same thing by this algorithm called back propagation. So what you do is you put in an image, let's say it's a two. The weights are initially random, the weights on the connections. So information will flow forward through the network and it'll say 50% is a two and 50% is a three. And now you send a message back through the network and the message you send back is really saying, 'I'd like you to make it more likely to be a two and less likely to be a three. So I'd like you to raise the percentages on two and lower the percentages on three. ' And if you send the message back in the right way, you can figure out for all the connections at the same time how to change them a little bit so the answer is a little bit more correct. That's called back propagation. It uses calculus, but it's essentially doing this tinkering with connection strengths that evolution would do by just changing one at a time. But the back propagation algorithm can figure out for all of them at the same time how to change each one a tiny bit to make things work better. And so if you have a trillion connections, that's a trillion times more efficient than just changing one and seeing what happens. Chris - But how does the layer at the bottom know what's going to be changed above it to make sure that the input that it then gets is the right one so that the change it's just made to it, and its probability, ends up being even better so that you don't end up changing yourself. Then that feeds forward, back up, the network changes something else, but then it becomes less optimal for you if you get what I'm saying. Geoff - I get just what you're saying. It's a very good question. And essentially what's happening is, if you take a connection early in the network, it's kind of making an assumption. It's saying suppose all the other connections stayed the same, how would changing my connection strength make things better? So it's assuming all the other ones stayed the same. And then it's saying if I change my connection strength, how would it make things better? And they're all doing that. So if you change the connection strengths by a lot, things could actually get worse. because you could choose a way to change each connection strength that if you did that change alone would make things better. But when you do all the changes at the same time, it makes things worse. But it turns out if you make the changes very small, that problem goes away. If you make the changes very small, then I figure out how to change one connection strength. And because the changes in all the other connection strengths are very small, it's very unlikely they'll turn, for example, a change that helps into a change that hurts. Geoff Hinton: Why does AI get things wrong?Geoff HintonThis episode of Titans of Science, Chris Smith spoke to AI pioneer Geoff Hinton about how AI works, and what we should be wary of. . . Chris - Can those individual layers tell us what they 'think' though? Because one of the problems that researchers when I go and talk to them say to me is that they would very much like to know how when they build these sorts of systems, it's arriving at its conclusion. It's so-called explainable. So when it sees a picture of cancer having been trained to recognise cancers, it can explain what particular features of the picture it saw singled out those cells as cancerous. And some models do this but others don't. Now is the way that they do it by those things, being able to tell you what they changed in order to make the output that they got. Geoff - It's not so much to tell you what they changed, but tell you how they work. So for example, if you take the layer of neurons that receives input from the pixels, let's suppose we're trying to tell the difference between a two and a three. You might discover that one of those neurons in that layer is looking for a row of bright pixels that's horizontal, near the bottom of the image with a row of dark pixels underneath it and a row of dark pixels above it. And it does that by having big positive connection strengths to the row of pixels that it wants to be bright and big. Negative connection strengths to the row of pixel cells. It wants to be dark. And if you wind it up like that, or rather if it had learned to wire itself up like that, then it would be very good at detecting a horizontal line. That feature might be a very good way to tell the difference between a two and a three because twos tend to have a horizontal line at the bottom and threes don't. So that's fine for the first hidden layer, the first layer of feature detectors. But once you start getting deeper in the network, it's very, very hard to figure out how it's actually working. And there's a lot of research on this, but in my opinion, it's going to be very, very difficult to ever give a realistic explanation of why one of these deep networks with lots of layers makes the decisions it makesChris - Is the explanation you've given me for how this works pretty generic. So if I took any of these models, they're probably working in a similar sort of way. And if so, when someone says 'I'm working on AI', given that we have that sort of platform, what are they actually working on? How are we trying to change, improve, or develop AI away from that main principle, that core fundamental operating algorithm that you've described for us?Geoff - On the whole, we're not trying to develop it away from that algorithm. Some people do, but on the whole, what we're trying to do is design architectures that can use that algorithm to work very well. So let me give you an example in natural language understanding. In about 2014, neural networks suddenly became quite good at translating from one language to another. So you'd give them as inputs a string of English words and you'd want them as outputs to produce a string of French words. In particular, given some string of English words. You'd like them to produce the first French word in the sentence, and then given a string of English words plus the first French word in the sentence, you'd like them to produce the second French word in the sentence. So they're always trying to predict the next word. And you train them up on lots of pairs of English and French sentences. And to begin with in 2014, when you're trying to figure out the next word, you'd have influences from all the previous words. And then people discovered a bit later on that rather than letting all the previous words influence you equally, what you should do is look at previous words that are quite similar to you and let them influence you more. And so you are not trying to get rid of the basic algorithm or circumvent it, you're trying to figure out how to supplement it by wiring in certain things like attention that make it work better. Chris - When we hear that one problem with the large language models that we are seeing manifest very much now is that they can hallucinate, where does that behaviour come from? How do they generate these spurious things that don't exist, but they're said with enormous authority in the outputs from these sorts of engines? Where does that come from?Geoff - So first, let me make a correction. It ought to be called confabulation, not hallucination. When you do it with language, it's called confabulation. And this was studied a lot by people in the 1930s. And the first thing to realise is that this makes them more like people, not less like people. So if you take a person and you ask them to remember something that happened quite a long time ago, they will, with great confidence, tell you a lot of details that are just wrong. And that's very typical of human memory. That's not exceptional at all. That's how human memory is. And that's why if you're ever on a jury, you should be very suspicious. When people remember things, they often remember things wrong. So the big chatbots are just like people in that respect. And the reason they're like that, and the reason people are like that, is you don't actually store things literally. We used to have a computer memory where you could take, for example, a string of words, then you could store it in the computer memory, and later you could go and retrieve that string of words and you get exactly the right string of words. That's not what happens in these big chatbots. What the big chatbots do is they look at strings of words and they're trying to change the weights in the network so that they can predict the next word. And all of the knowledge they have of all the strings of words they've seen is in the weights on those connections. And when you get them to recall something, what they're really doing is regenerating it just as you are with people. And so they're always constructing these memories and there's actually no difference between a real memory and a fake memory except the one's right from the point of view of the person constructing it. You don't know which is real and which is fake. You just say what seems plausible to you. And the chatbots do the same. Now the chatbots are worse than people at confabulating, but they're getting better.