So, where are the robots? We've been told for 40 years already that they're coming soon. Very soon they'll be doing everything for us. They'll be cooking, cleaning, buying things, shopping, building. But they aren't here. Meanwhile, we have illegal immigrants doing all the work, but we don't have any robots. So what can we do about that? What can we say? So I want to give a little bit of a different perspective of how we can perhaps look at these things in a little bit of a different way. And this is an x-ray picture of a real beetle, and a Swiss watch, back from '88. You look at that -- what was true then is certainly true today. We can still make the pieces. We can make the right pieces. We can make the circuitry of the right computational power, but we can't actually put them together to make something that will actually work and be as adaptive as these systems.
지금 로봇들은 어디 있나요? 지난 40년간 우리는 머지않아 로봇들을 볼 수 있을 것이라고 들어 왔습니다. 곧 있으면 로봇들이 대신 요리를 하고 방 청소를 하고 물품을 구입하고 쇼핑을 하고 건설 노동을 해 줄 것이라고 들었죠. 하지만 아직까지도 상상 속의 이야기일 뿐입니다. 아직까지 로봇들의 노동은 도입되지도 않고, 대신 불법 이민자들이 온갖 노동을 맡아서 하고 있죠. 이 문제에 대해 논의를 하고자 합니다. 먼저 이 문제를 좀 다른 관점에서 접근해 여러분들이 로봇이라는 것의 새로운 면을 볼 수 있도록 할 것입니다. 지금 보시는 것은 88년도에 찍은 딱정벌레와 스위스 시계의 X선 사진입니다. 그 때나 지금이나 변한 것은 별로 없습니다. 우리는 여전히 기계 부품들을 만들고 연산 능력을 가진 전자 회로를 만듭니다. 하지만 여전히 딱정벌레처럼 무엇인가를 하는 동시에 주변 환경에 적응할 수 있는 기계를 만들지는 못하죠.
So let's try to look at it from a different perspective. Let's summon the best designer, the mother of all designers. Let's see what evolution can do for us. So we threw in -- we created a primordial soup with lots of pieces of robots -- with bars, with motors, with neurons. Put them all together, and put all this under kind of natural selection, under mutation, and rewarded things for how well they can move forward. A very simple task, and it's interesting to see what kind of things came out of that.
이제 다른 관점에서 한 번 살펴봅시다. 가장 강력한 디자이너이자 모든 디자이너들의 스승인 '진화'를 통해 한 번 살펴보죠. 우리는 원시 지구의 상태를 모방해 쇠 막대기, 전동기와 같은 로봇 부품들로 이루어진 원생액을 만들어봤습니다. 그 부품들로 로봇들이 만들어지면 자연 선택을 적용시키고 돌연변이도 만들고 앞으로 얼마나 움직이는지에 따라 보상도 했죠. 굉장히 간단한 것이지만 결과는 아주 흥미로웠습니다.
So if you look, you can see a lot of different machines come out of this. They all move around. They all crawl in different ways, and you can see on the right, that we actually made a couple of these things, and they work in reality. These are not very fantastic robots, but they evolved to do exactly what we reward them for:
여기 보시면 이 과정을 통해 얼마나 많은 종류의 기계들이 탄생했는지 알 수 있습니다. 모두 다 이리저리 움직이고 있죠. 오른쪽에는 현실에서 실제로 움직이는 로봇들도 보입니다. 그다지 멋있거나 환상적이진 않지만 진화시킨 목적을 충분히 달성했습니다. 바로 앞으로 움직이는 것이죠.
for moving forward. So that was all done in simulation, but we can also do that on a real machine. Here's a physical robot that we actually have a population of brains, competing, or evolving on the machine. It's like a rodeo show. They all get a ride on the machine, and they get rewarded for how fast or how far they can make the machine move forward. And you can see these robots are not ready to take over the world yet, but they gradually learn how to move forward, and they do this autonomously.
이건 시뮬레이션 뿐만 아니라 현실 속 실제 기계에도 적용 가능한 이야기입니다. 여기 우리가 실제로 만든 로봇이 있습니다. 로봇에 존재하는 여러 개의 두뇌들이 서로 경쟁하고 진화하는 중이죠. 약간 로데오와 비슷합니다. 각각의 두뇌는 이 로봇을 조정할 기회를 갖게 되는데 가장 빠른 시간 내에 가장 멀리 이 기계를 앞으로 움직일 경우 가장 큰 보상을 받죠. 아직 세계를 제패할 수준은 아니지만 시간이 지날수록 점점 앞으로 움직이는 방법을 터득하고 그 모든 과정을 스스로 해내는 것을 볼 수 있습니다.
So in these two examples, we had basically machines that learned how to walk in simulation, and also machines that learned how to walk in reality. But I want to show you a different approach, and this is this robot over here, which has four legs. It has eight motors, four on the knees and four on the hip. It has also two tilt sensors that tell the machine which way it's tilting.
지금까지는 시뮬레이션에서 혹은 현실 세계에서 움직이는 방법을 배우는 로봇들만 보여드렸습니다. 이제 약간 다른 종류의 로봇을 소개하겠습니다. 여기 네 개의 다리가 달린 이 로봇은 8개의 전동기가 달려 있습니다. 네 개는 무릎에, 다른 네 개는 엉덩이쪽에 있죠. 기계가 어느 쪽으로 기울어져 있는지를 알려주는 센서도 장착되어 있습니다.
But this machine doesn't know what it looks like. You look at it and you see it has four legs, the machine doesn't know if it's a snake, if it's a tree, it doesn't have any idea what it looks like, but it's going to try to find that out. Initially, it does some random motion, and then it tries to figure out what it might look like. And you're seeing a lot of things passing through its minds, a lot of self-models that try to explain the relationship between actuation and sensing. It then tries to do a second action that creates the most disagreement among predictions of these alternative models, like a scientist in a lab. Then it does that and tries to explain that, and prune out its self-models.
그러나 이 기계는 자기 자신이 어떤 구조인지 전혀 모릅니다. 여러분은 이 로봇을 '볼' 수 있는데 비해 이 기계는 자신이 뱀인지 나무인지 전혀 알지 못하죠. 때문에 이 기계는 자신이 무엇인지 탐지하려고 할 것입니다. 가장 먼저 무작위로 움직임을 하나 시도해봅니다. 그리고는 스스로가 어떤 구조로 돼 있는지 알아내려고 하죠. 화면을 보시면 로봇이 실제로 움직인 것과 센서로 느낀 정보의 관계를 설명하기 위해 현재 어떤 구조들을 생각 중인지 알 수 있습니다. 그 다음에는 후보군 사이에서 결과값이 서로 다르게 나올 것으로 예상되는 움직임을 시도해봅니다. 실험실 안의 과학자처럼요. 그 결과를 나름대로 해석하면서 후보 구조의 종류를 좁혀 나갑니다.
This is the last cycle, and you can see it's pretty much figured out what its self looks like. And once it has a self-model, it can use that to derive a pattern of locomotion. So what you're seeing here are a couple of machines -- a pattern of locomotion. We were hoping that it wass going to have a kind of evil, spidery walk, but instead it created this pretty lame way of moving forward.
이건 마지막 단계인데 이제 스스로가 어떤 구조인지 찾아냈다는 것을 알 수 있습니다. 이처럼 자가 모형을 완성시키면 그것을 이용해 앞으로 움직일 일련의 과정을 유도해냅니다. 여기 로봇이 유도해낸 움직임의 과정을 볼 수 있습니다. 거미처럼 움직이기를 바랐지만 보시는 것처럼 우스꽝스러운 모습으로 움직이더군요.
But when you look at that, you have to remember that this machine did not do any physical trials on how to move forward, nor did it have a model of itself. It kind of figured out what it looks like, and how to move forward, and then actually tried that out. (Applause)
하지만 여기서 주목할 것은 이 로봇이 앞으로 움직이기 위해 아무거나 마구 시도한 것이 아니고 처음엔 자신에 대한 인식조차 없었다는 점입니다. 즉 아무것도 없는 상태에서 스스로가 어떤 구조로 돼 있는지 알아내고 앞으로 움직이는 법을 터득한 후 실제로 앞으로 움직였다는 것이죠. (박수)
So, we'll move forward to a different idea. So that was what happened when we had a couple of -- that's what happened when you had a couple of -- OK, OK, OK -- (Laughter) -- they don't like each other. So there's a different robot. That's what happened when the robots actually are rewarded for doing something. What happens if you don't reward them for anything, you just throw them in?
이제 또 다른 아이디어로 넘어갑시다. 방금 전까지 보여드린 것은-- 방금 전까지 보여드린 것은-- 알았어. 알았어. 그만해. (웃음) 서로 싫어하는 것 같군요. 여기 또 다른 로봇이 있습니다. 방금 전까지 보여드린 것은 결과가 좋을 때 보상을 한 경우였습니다. 그런데 보상을 하지 않으면 어떻게 될까요?
So we have these cubes, like the diagram showed here. The cube can swivel, or flip on its side, and we just throw 1,000 of these cubes into a soup -- this is in simulation --and don't reward them for anything, we just let them flip. We pump energy into this and see what happens in a couple of mutations. So, initially nothing happens, they're just flipping around there. But after a very short while, you can see these blue things on the right there begin to take over.
여기 그림과 같은 정육면체가 있습니다. 이 정육면체는 회전하거나 옆으로 누울수도 있죠. 이 정육면체 1,000개를 시뮬레이션에서 만든 다음 어떠한 보상도 하지 않은 상태에서 계속해서 옆으로 눕도록 했습니다. 돌연변이 몇 개가 나타난 후 어떻게 되는지 보죠. 처음엔 아무것도 일어나지 않습니다. 하지만 시간이 좀 흐르자 오른쪽 파란색의 개체수가 늘어나는 것을 확인할 수 있습니다.
They begin to self-replicate. So in absence of any reward, the intrinsic reward is self-replication. And we've actually built a couple of these, and this is part of a larger robot made out of these cubes. It's an accelerated view, where you can see the robot actually carrying out some of its replication process. So you're feeding it with more material -- cubes in this case -- and more energy, and it can make another robot. So of course, this is a very crude machine, but we're working on a micro-scale version of these, and hopefully the cubes will be like a powder that you pour in.
자가 복제를 하는 것입니다. 외부 보상이 없을 경우 자가 복제를 통해 스스로 보상하는 것이죠. 비슷한 것을 실제로 만들어봤습니다. 이건 더 큰 로봇의 일부분일 뿐입니다. 빠른 속도로 재생시키면 로봇이 자가 복제하는 모습을 볼 수 있죠. 스스로를 복제시킬 원료와 에너지만 공급해주면 또 다른 로봇을 저절로 탄생시키는 것입니다. 물론 이건 아주 단순한 기계에 해당되지만 현재 우리는 이 기계를 초소형으로 축소시키는 작업을 하고 있습니다. 잘 된다면 이 정육면체들은 분말 가루와 같은 모습을 지니게 될 것입니다.
OK, so what can we learn? These robots are of course not very useful in themselves, but they might teach us something about how we can build better robots, and perhaps how humans, animals, create self-models and learn. And one of the things that I think is important is that we have to get away from this idea of designing the machines manually, but actually let them evolve and learn, like children, and perhaps that's the way we'll get there. Thank you. (Applause)
그럼 여기서 무엇을 배울 수 있을까요? 지금까지 소개해드린 로봇들은 그 자체로는 별 쓸모가 없습니다. 그러나 어떻게 해야 더 나은 로봇을 만들 수 있는지 또 인간과 다른 동물들이 어떻게 자신에 대해 인식하고 배우는지에 대한 답을 제시할 수도 있습니다. 마지막으로 제가 중요하게 생각하는 것 중 하나는 인간이 수동적으로 기계를 설계하는 것을 탈피해야 한다는 것입니다. 마치 아이처럼 기계 스스로가 진화하고 배울 수 있도록 하면 아마 그런 날이 머지않아 올 것입니다. 감사합니다. (박수)