If a robot is going to take over the world, we've got to get to a more general artificial intelligence where a machine can think for itself. So, how do we do that? There are two ways and both are inspired by nature itself. One is by reverse engineering the brain and the other is by copying evolution. Graihagh Jackson sat down with Georgia Mills to see how this would work in practice...
Georgia - We're going to use evolution to make the next generation of super robots.
Graihagh - So if we take us humans as examples, how did we get clever?
Georgia - Well, there are a number of different theories on exactly when and how humans and our ancestors became intelligent and, even though we don't know the exact reason we became smart,
we do know the mechanism and that's evolution. So, the individuals who weren't so smart gradually got booted from the gene pool, essentially...
Graihagh - To put it nicely...
Georgia - Yes. Booted - dead. Meaning that as a species we got smarter and smarter and then, eventually, we get to where we are today where we are able to cure diseases, sending rockets into space...
Graihagh - I mean this is a really complicated process; it involves genes and environmental pressures. So how do you mimic this?
Georgia - Well, if we think about evolution it involves a code, so that's DNA, and when a living thing has offspring, there are tiny changes in this code which is maybe caused by mixing the DNA with another organism or by errors in the code, so that's a mutation and this causes variation. And if some things do better than others in this variation, we have what we call natural selection which is kind of the bare bones of evolution. So if you take this idea and change it from a biological code into computer code...
Graihagh - Simple!
Georgia - Simple! You can create a system where these little iterations crop up in each generation of code and then you can have a system in place, which acts as the natural selection, testing the code for the output you want. It selects the ones that are most successful and then the idea is, as each generation goes on, you get better, and better, and better at doing what you want to do.
Graihagh - All I'm imagining is robots having sex and I'm assuming that's not quite how it's going to work in practice...
Georgia - Maybe one day!
Graihagh - I'm not sure I'd want to witness that though.
Georgia - I would.
Graihagh - That is recording Georgia. You do realise everything I record is licensed to go in?
Georgia - You're not going to use that... So at the moment it's more like the idea of an algorithm that makes this little piece of software run around on a computer screen - that kind of very basic thing. But there is an example here in Cambridge where someone has built a robot that can make these little babies, test them and then make more and more babies that can go on and do better and better. I actually went to see this robot at a conference and I was introduced to it by a Louis Osprobreck. It looks to me like one of the stereotypical factory robots - a sort of overreaching arm. What is it actually trying to do?
Louis - It is a factory robot. It has a gripper and like a hot glue gun in front (an industrial one). So it only has two types of components; it has wooden cubes and he has those cubes with the motors in there and it glues them together to build the robot. We are trying to automate a design for a robot so it's randomly coming up for a robot that walks and we are iterating this design by testing it. So we built ten robots and we test how it works and then take the best ones and use like evolution to generate a next generation of robots. And then we built them again, test them again, and so on. And eventually the small robots can move forward when we turn on its motors. Over there, that's one of the working robots.
Georgia - Can I see it walk?
Louis - Sure...
Georgia - I don't know quite how to explain what just happened. The squares sort of had a spasm
and then it moved around. What's going on here?
Louis - As I say, we glue these cubes together and two of them have a motor in there which can move one side of the cube back and forth. We don't know in advance whether it's going to work and how it's going to work, but somehow it moves away.
Graihagh - They were doing what! They were crawling?
Georgia - Crawling is a kind way of putting it. Imagine two cubes just stuck together and sort of swizzling about and then, somehow, this kind of cube abomination sort of shuffles slowly across a table.
Graihagh - Sounds great, but what is this demonstrating.
Georgia - So this cube whizzing along is, actually, twice as good as the first cube this robot created but what was interesting, there was no input from a coder or an engineer to make this new one better - it was all left to the robot. So what happened is it made ten little babies and in these baby cubes there are these variations in quite how they're glued together, and then these ten babies are tested against each other and the fastest one of these cubes that twists along it's sort of said, you're the winner, you've survived, you're in the gene pool. The computer takes the design from that cube baby and says, this is the winner. Makes ten slight iterations from that design, like the mutations I mentioned earlier, and then does the whole process again. So the idea being each generation the designs get slightly, slightly, better and I think after ten generations they got twice as fast at crawling.
Graihagh - I imagine you'd be able to scale this up beyond just crawling into other skills that we might actually need to form something that resembles artificial intelligence then?
Georgia - So there are examples of people using this kind of mimicking of evolution to design the best kind of antennae or to design mirrors that can funnel light for solar panels, and things like that and there's no reason, in principle, that it can't be used to try and make intelligent computers.
Graihagh - In a way then these computers are thinking outside the box. They're thinking in ways that humans wouldn't be able to think unless thinking of ways that they can change and evolve to be much better in their design than perhaps we even could design them to be.
Georgia - Well, I'd hold you back on the word thinking there. There is no thinking going on. It is just making random changes in this code and then, by just simply testing and changing, and testing and changing again, the actual effect we get is something that looks like this robot has been really creative and has solved the problem but really, it's just using this random process of evolution.
Graihagh - By having this process being random, I'm assuming that's not perfect. There aren't environmental pressures which say, do this, it's completely random, so surely there's got to be a catch here.
Georgia - You've got your finger on it right there. So the thing about evolution; it doesn't say let's go and have great big brains, that's exactly what we need. There are a whole host of things that might be selected for. There's also the problem that evolution, unfortunately, takes millions of years so we want to speed the process up. And the other problem is mutations - I mentioned them earlier -they're often bad. If you think about mutations, they're associated with things like cancer, but we have the advantage here so we can be a bit sneaky. We can say only good mutations in the code from now on, we can speed up generation times and things like that, and we can say we only want it to be selected for intelligence. So we have these advantages here over evolution, but it's still not clear if it will actually be enough to get these super-intelligent computers.