Research:
Self Modeling: Frequently Asked Questions

 


What exactly did you do in this project?

We have demonstrated how a physical robot can create an "internal model" of itself, and then use that model to generate successful motor patterns for locomotion, before and after damage. Most current robotic systems plan their behavior using a built-in mathematical model whose from is provided externally by engineers. Some robots can adapt without a model, but require many physical trials. Our result shows that a machine can adapt without being given a model and without extensive trials, by gradually developing an internal model of itself.

How does it work?

The robots starts off not knowing what its shape is. It only knows that it is made of 8 motors and 8 pieces, but it does not know how they are arranged - for all it knows, they could be forming a snake, a star, a tree, a five legged machine, or any one from a very large space of possibilities (more than a billion). The robot performs some random motor action and records two tilt angles. It then creates candidate models that would explain this sensation. What is very important to emphasize is that the machine does not have a single model of itself - it has many, simultaneous, competing, different, candidate models. The models compete over which can best explain the past experiences of the robot (experiences are sensation-actuation relationships). In parallel, the robots contemplates multiple, candidate, competing new behaviors. The behaviors compete over which can make the internal candidate models disagree in their predictions (this is why it is necessary to have multiple, different, models - otherwise there is no disagreement). The behavior that creates the most disagreement in prediction among models is carried out physically, and the cycle continues. Once the models have converged (they do not disagree in their predictions), any model can be used to plan actions. This entire process is done before and after damage. The idea of multiple models echoes Gerald Edelman's Neural Darwinism concept.

Why is this important?

These result concern emergent self-models in machines. This is important for two reasons: For practical reasons, it many offer a way to allow robots to adapt to new situations without requiring a mathematical model that is usually laboriously constructed by teams of engineers. Instead, robots could construct their own models automatically, thereby saving engineering effort, but also allowing them to generate models for unforeseen tasks and unforeseen conditions (such as damage). On a more theoretical sense, we believe that the process we developed here may shed light on how animals and humans create internal models, and may offer a path to achieve a higher level of machine cognition.

Is this related to "consciousness"?

There is not an agreement of what exactly is consciousness, so it is difficult to discuss how this project is related to this concept. It is generally agreed that consciousness involves some form of a predictive internal model of the world. Note that self-consciousness may involve having a model of oneself within a model of the world. If and how these models are formed in animals and humans, to what degree they are innate or acquired, and how they are represented, is not clear. Our work offers one possible hypothesis. But more importantly, it offers a systematic way to achieve this in a machine. The self -model we have shown here is very very simple, and we have given the machine a lot of help, for example, by giving it a set of building blocks from which it could construct a model. Ultimately, we would like to see much more complex models created from much simpler building blocks.

What are your goals?

We have two goals. First, we are interested in developing algorithms that will allow robots to be more robust and adaptive to new tasks, conditions and environments. Our second goal is to gain some quantitative (algorithmic) understanding as to how self-models might arise in nature.

Does this idea have any applications?

There are applications in the field of robotics and elsewhere. In robotics, consider a case where you have a robot that cannot be attended to by a human (for example, it is in a space mission or a hazardous environment). It then suffers an unforeseen damage, or encounters an unforeseen situation. Using the approach discussed here, the robot may be able to diagnose what has happened are create a compensatory or new controller - and do so without many physical trials that might be costly, slow or risky. Beyond robotics, there are many other machines that could benefit from continuous diagnosis and repair. We have shown that the same algorithm can perform damage diagnosis for bridges or infer a hidden decision network from observations.

Is this the first instance of a robot that models itself?

Robust-control, system identification and reinforcement learning methods have been previously used to adjust coefficients of an externally given model using regression methods. We believe that this is the first time that topology ("body Schema") is generated from scratch, and especially using the principle of exploiting disagreement among competing internal models. 

How does this fit in within the robotics field?

There is currently a dichotomy in the field of robotics: Classic model-based approaches require an engineer to provide a model that is used to program the robot. On the other hand, there are model-less approaches where a machine trains a reactive controller that responds to sensations without a model, perhaps like an insect, but requires physical training. Here we propose a third idea - that the machine uses a model, but the model is not programmed - it is emergent.

Is this project related to the GOLEM project and the SELF-REPLICATING project?

In the golem project we produced a system that automatically designed and automatically fabricated robots, using artificial evolution and 3D-printing. That project demonstrated evolutionary adaptation, but required many trials. In the self-replication project, the robots are able to physically self-reproduce, but they required a built-in kinematic model. Here we show how robots can physically adapt without being given a model and without doing many trials. Ultimately, we would like to combine many of these traits into a single machine that can evolve, adapt and reproduce in reality.

What can this robot do besides locomote?

Not much. However, it would be fairly easy to add other modules to the robot, like a module with a gripper, or a module with a camera, or a hollow 'cargo' module, so it could do other things. Our goal in this project was to investigate and demonstrate self-modeling.

What are your next steps?

We're interested in exploring several directions. One direction is to see to what degree of fidelity can a robot model itslef and its environment: Can it learn Physics of the world? Can it create a model from much simpler building blocks? And if so, how would we be able to tell the robot to do anything - if we can't understand its internal model, we can't reward it for anything specific.

Who are you?

This research was done at the Computational Synthesis Lab at Cornell University. Team members are Josh Bongard, Viktor Zykov, and Hod Lipson. Josh Bongard was a postdoctoral researcher at Cornell while performing this research and since then moved to the University of Vermont where he is now an Assistant Professor. Victor Zykov is a Ph.D. student at CCSL, and Hod Lipson is an Assistant Professor at Cornell, and directs the Computational Synthesis Lab.


Revised: September 25, 2007 .