Distributed, predictive perception of actions

advertisement

Connection Science, Vol. 15, No. 4, December 2003, 231–243

Research Note

Distributed, predictive perception of actions: a biologically inspired robotics architecture for imitation and learning

Yiannis Demiris* and Matthew Johnson y

Department of Electrical and Electronic Engineering, Imperial College

London, Exhibition Road, London, SW7 2BT

*email: y.demiris@imperial.ac.uk

y email: matthew.johnson@imperial.ac.uk

Abstract.

One of the most important abilities for an agent’s cognitive development in a social environment is the ability to recognize and imitate actions of others. In this paper we describe a cognitive architecture for action recognition and imitation, and present experiments demonstrating its implementation in robots. Inspired by neuroscientific and psychological data, and adopting a

‘simulation theory of mind’ approach, the architecture uses the motor systems of the imitator in a dual role, both for generating actions, and for understanding actions when performed by others. It consists of a distributed system of inverse and forward models that uses prediction accuracy as a means to classify demonstrated actions. The architecture is also shown to be capable of learning new composite actions from demonstration.

Keywords : robot imitation, inverse and forward models, simulation theory

1.

Introduction

One of the most important abilities for an agent’s cognitive development in a social environment is the ability to recognize and imitate actions of others (Nadel and Butterworth

1999). Understanding the mechanisms underlying the imitation ability has been a field of intense research for several years in several fields of scientific enquiry (for state of the art collections, see (Dautenhahn and Nehaniv 2002) and (Meltzoff and Prinz 2002)). In human infants, imitation skills have been a testbed for assessing children’s cognitive development, including abnormal development (e.g. autistic cases (Charman et al.

1997)). In the last few years it has attracted the attention of roboticists (Billard 2000,

Breazeal and Scassellati 2002, Demiris et al.

1997, Schaal 1999), since equipping robots with the ability to imitate holds the promise of easily programmable robots.

In this paper we will present a cognitive architecture that allows the recognition, imitation and learning of actions, and describe its computational implementation on two robots. Following our earlier work (Demiris 1999, Demiris and Hayes 2002, Demiris

2002) the architecture employs a generative , or motor-based simulation approach to understanding actions: we understand other people’s actions by mentally rehearsing them. These approaches have been advocated at a more theoretical level for several

Connection Science ISSN 0954-0091 print/ISSN 1360-0494 online # 2003 Taylor & Francis Ltd http://www.tandf.co.uk/journals

DOI: 10.1080/09540090310001655129

232 Y. Demiris and M. Johnson years (Weimer 1977, Jeannerod 2001). In this paper we will examine the algorithmic and representational requirements for such approaches through a robotic implementation using distributed, hierarchical structures. We will demonstrate how new composite action representations can be learned by imitation.

2.

Background

Figure 1 shows the classical approach to understanding actions: the imitator observes the demonstrated action, which is represented in some symbolic manner, classifies it and subsequently sends it to the motor system for execution. This approach, although highly successful in the robotics domain (e.g. (Kuniyoshi et al.

1994)), is not compatible with a variety of experimental data from the life sciences (for a full review of these data, see

(Demiris and Hayes 2002)). The most important difference is that the decomposition above enforces a strong decoupling of the perceptual and motor areas, and does not hypothesize any involvement of the motor systems during observation. Indicatively, brain scanning (PET and fMRI) data (Decety et al.

1997, Meltzoff and Decety 2003) have shown strong activation of the motor areas of the human brain during the observation of actions, as well as their execution. Furthermore, neurons in the rostral part of inferior area 6 (area F5) of the premotor cortex of macaque monkeys have been found to be active when the monkey performs an action, as well as when the monkey observes the same action being performed by a demonstrator (Gallese et al.

1996, Rizzolatti et al.

1996). These data, along with Motor Evoked Potential (MEP) data from the muscles of humans during action observation experiments (Fadiga et al.

1995), indicate a strong involvement of the motor systems even during the observation of actions done by others.

The architecture that we are using in our experiments attempts to overcome these incompatibilities by involving the motor systems of the observer during the demonstration process. The observer uses its motor systems to generate hypotheses during the demonstration ( what could I do if I was in that situation/configuration?

), and ranks the hypotheses according to the accuracy of the predictions they generate as the demonstrated action unfolds. Action planning, imagination, execution and perception share a generative computational substrate.

3.

Cognitive architecture

The architecture we are using in these experiments shares computational elements with other proposed generative approaches to action recognition (Demiris and Hayes 2002,

Schaal 1999, Wolpert et al.

2003), but extends them by incorporating an incremental learning mechanism; new behaviours can be learned as demonstrated, and are immediately available to be used in further learning. Following recent changes in our knowledge of how the brain motor control structures are organised (for a review see (Rizzolatti et al.

1998)), we adapt a hierarchical, distributed action representation approach, that emphasises concurrent execution of several modules, rather than a monolithic classifier of the type depicted in figure 1. In the following subsections, we will describe the components

Figure 1. Classical decomposition of the imitation task.

Distributed, predictive perception of actions 233 of this architecture, and how they are combined to perform the functions this architecture supports.

3.1.

Basic components

The essence of the biological data we described earlier, i.e. that the motor systems are involved during the demonstration of an action, has been captured through the use of inverse and forward models :

Inverse models , also known as controllers, or behaviours (Demiris and Hayes 2002,

Mataric 1998), which given a goal and the current state of the controlled system, output the necessary motor commands that are needed in order to achieve or maintain that goal. These are used frequently in control engineering (Narendra and

Balakrishnan 1997) and have been used for modelling motor planning and control

(Wolpert and Kawato 1998, Wolpert et al.

2003).

Forward models , also known as predictors, which given motor commands and the current state of the controlled system, output the predicted next state of that system

(or in other versions, the predicted feedback (Karniel 2002)). Like inverse models, they have been used in motor control modelling (Miall and Wolpert 1996), and they have been hypothesised to exist in the cerebellum (Miall et al.

1993).

Figure 2 shows a typical arrangement of an inverse and a forward model, as used in motor control. With this arrangement, an inverse model, encoding a particular behaviour, is given the current state and a target goal (for example, raise arm to 45 degrees). The inverse model outputs the motor commands that would achieve that target goal, and these are sent to the musculoskeletal system, which in turn, feeds back proprioceptive information. However, this feedback takes a significant amount of time before it is available, so, in parallel to this, the motor commands are also sent to a forward model which will output a prediction of what the next state will be. This predicted state is compared with the target goal, and any errors are used to adjust its confidence on how well it is performing.

Subsequently, parallelism is introduced to this arrangement. Multiple pairs of inverse and forward models (figure 3), encoding different behaviours, are sent the target goal.

They all propose motor commands that they hypothesize will achieve the target goal.

Figure 2. Basic structure: a pair of inverse and forward models, and their relation with the body and the environment. Only connections relevant to the experiments reported here are shown (e.g. feedback from the musculoskeletal systems can be used to improve the forward models, but is not used here).

234 Y. Demiris and M. Johnson

Figure 3. Outline of the cognitive architecture.

These motor commands are sent to the forward models (each inverse model sends its motor commands to its corresponding forward model) which output a set of predicted next states. The pair that has generated the next state prediction that is most compatible with the target goal receives reinforcement (increases its confidence), while the rest decrease their confidences. Although not used in the experiments reported here, the errors can also be used so that the behaviours can adapt their internal parameters (if any) so they can suggest better hypotheses. For example, an error in the prediction of the gripper’s next position will decrease the confidence of the corresponding behaviour, but will also alter the parameters of the behaviour (for example, the gains in a PID controller that moves the gripper), so that the predictions can potentially be improved.

We use this distributed architecture in a dual role. By feeding in a target goal, the architecture can be used to select the most appropriate motor commands to achieve it.

However, by feeding in the state of the demonstrator instead, we can also use this architecture to recognise what is being demonstrated. The inverse models receive the current state of the demonstrator, and output the motor commands, as if they were in that state, and had to achieve the respective behaviours they encode . In other words, the imitator uses its motor systems to mentally simulate possible behaviours (taking the demonstrator’s perspective, which includes in visual tasks, a coordinate frame transformation) while the demonstrator’s behaviour is being unfolded. These motor commands are sent to the forward models (they are inhibited from being sent to the musculoskeletal system) each of which again outputs a prediction of the next state, but now that state is the demonstrator’s next state . This state prediction is compared with the next state of the demonstrator, and the errors are used as reinforcement signals to the various inverse models. At the end of the demonstration (or earlier if required, for example for more immediate imitation), the inverse model with the highest confidence is the behaviour to be imitated.

4.

Experiments

We implemented this architecture on two robots in an experimental scenario involving imitation of gripper movements. Although we have simplified some of the visual processing (by adding colour markers to the grippers, and having the robots facing each other, thus simplifying coordinate frame transformations), the set-up incorporates all the

Distributed, predictive perception of actions 235 components necessary for testing the architecture on real robots. Previous approaches have been in simulation (Demiris and Hayes 2002), or are theoretical models (Wolpert et al.

2003).

The robots used are ActivMedia Peoplebots, equipped with pan-tilt-zoom cameras, two degrees of freedom gripper, and sonar and infrared sensors (which are not used in these experiments). All processing is done on-board, in real-time. Figure 4 shows the robots used in the experiments. The two robots are placed facing each other; the demonstrator robot executes a behaviour from its repertoire (which for the purposes of these experiments is limited to sequences of gripper movements). The imitator robot ‘mentally rehearses’ and ranks hypotheses during the demonstration, and subsequently replicates the one with the highest confidence. If it does not recognise the behaviour, but recognises its components (see below, on the implementation of behaviours), it assembles a composite inverse model and adds a new pair of inverse-forward models to its repertoire.

4.1.

Implementation of inverse models

Inverse models are specified as graphs. The most basic inverse model, a ‘primitive’, is a single node implemented as a simple motor program, which sends out motor commands to the robot (and the forward model). In the simplest possible case, the primitive is concerned with one degree of freedom (e.g. open/close gripper, and raise/lower platform).

More composite inverse models can be created, by having more basic ones arranged serially and/or concurrently in a graph (for example, figure 5), and indicating the start time of each of them.

Associated with each inverse model is a goal state, which is a single instance of the imitator’s state vector, and which represents the point at which the inverse model can indicate itself to be ‘complete’, in terms of execution of its motor program. Although

Figure 4. The imitator robot (left), and the robotic set-up (right).

236 Y. Demiris and M. Johnson

Figure 5. An example inverse model, where the required behaviour is to raise the platform whilst opening the gripper, close the gripper, lower the platform and subsequently open the gripper. (Arcs indicate components that need to be executed concurrently.) every inverse model currently requires a fully specified state vector to define its goal, the special component ‘Don’t Care’, can be used to indicate elements of the state vector that are irrelevant to the inverse model, and consequently disregarded during execution.

A goal state with every element defined as ‘Don’t Care’ can be said to specify an inverse model with no specific target goal, and there is at least one ‘goal-less’ inverse model for every degree of freedom of the imitator. These inverse models are known as ‘Motion Hold’ primitives, and they output the null motor command vector (i.e. no movement) no matter what the state input. Thus within the imitation framework they will gain in confidence when other inverse models occupying the degree of freedom are inactive. These primitives are inhibited by any positive confidences of other inverse models occupying the same degree of freedom (there is no upper limit to how many inverse models can be associated with a particular degree of freedom), and are terminated if one of the other inverse models shows continuous improvement in confidence. The motion-hold primitives have been found useful in capturing important timing and coordination elements of the demonstrated actions. For example, you can differentiate between a ‘raise and lower platform’ sequence and a ‘raise–pause for a few seconds– lower platform’.

By exploiting the graph architecture of the inverse models, more composite inverse models can be created incrementally, by having more basic ones arranged serially and/ or concurrently. The created inverse models are immediately added to the pool of inverse models to be drawn upon, if necessary, in any subsequent inverse model creation.

4.2.

Implementation of forward models

Several forward models exist, and are organised in a topographic fashion (i.e. different for each body part), a feature which correlates well with biological data in humans

(Sirigu et al.

1991). For the construction of forward models, the speed of movement for each degree of freedom was calculated, by having the corresponding robot part

(e.g. the robot gripper) executing a full movement between the two limits (top–bottom

Distributed, predictive perception of actions 237 for the gripper platform, and open–close for the gripper fingers), and recording proprioceptive values and timer values at the beginning and end of the movement (the gripper is only capable of moving with a single constant velocity). These values are scaled between

0.0 and 1.0. The forward models can then output predicted proprioceptive values at the next time step (100 ms intervals are used) by using the known velocity, the direction of movement and the current recorded proprioceptive value. For more complex movement profiles, more complex forward models will have to be used, for example by using a recurrent neural network to associate current position, speed and direction of movement with the next predicted values.

4.3.

Implementation of the framework

Apart from the fundamental elements above, for the architecture to work on an imitator robot it also requires the extraction of the visual information of the state of the demonstrator, and of the imitator’s proprioceptive state. The two quantities extracted for the experiments reported here are the height of robot gripper from base and the gripper fingers positions. A visual calibration preceeds the experiment; the demonstrator robot executes a sequence involving moving the gripper from the lowest possible position to the highest possible position, and subsequently opening and closing the gripper fingers completely. The visual coordinates during the calibration are collected and normalised to give positional information in the range of 0.0 to 1.0. The calibration process is important since it allows us to overcome the lack of depth perception due to the use of a single camera.

4.3.1.

Calculation of confidences.

The inverse models are executed as parallel processes in the robots. During observation, the motor commands they generate are inhibited from being sent to the motor system, and they are only sent to the forward models. Each of the forward models output predictions for the state of each of the degrees of freedom that are involved in this movement, which are compared to the actual values that come at the next time step. The prediction error is given by:

E ( t ) ¼ i ¼ 1 j x i

( t ) px i

( t ) j (1) where x i

( t ) is the actual value of the demonstrator’s state at time t , and px i

( t ) is the predicted value that was given by the forward model for time t .

N is the number of degrees of freedom involved in this behaviour. The confidence value of the inverse model is then accumulated according to the following update rule:

C ( t ) ¼

8

<

:

1

C ( t 1) þ Kr

E ( t )

C ( t 1) KpE ( t ) if E ( t ) < otherwise

A

(2) where C ( t ) is the confidence of the inverse model at time t , A is a constant threshold value, which is set experimentally (it is dependent upon the noise of the visual and proprioceptive systems; typical values are around 0.01), and Kr and Kp are gains constants.

The value A is essentially a threshold describing the boundary between the reward and punishment regions, and can be seen as an indication of the unavoidable inaccuracy of the forward models when real robots (vs. simulated ones) are used. There is a balance between the selection of A and the selection of Kr and Kp ; typically for small values

238 Y. Demiris and M. Johnson of A (e.g. 0.01) Kr is much larger than Kp (typical values Kr ¼ 10 000, Kp ¼ 100), since it is harder for the confidence to rise when the reward region is small. By using 1/ E ( t ) we have also achieved the desired property of having a higher reward the closer the prediction is to the actual value.

4.3.2.

Learning new behaviours.

During the demonstration, all the inverse models currently in the imitator’s repertoire get activated. The learning mechanism constantly attempts to learn new composite behaviours.

At each iteration, the confidence of each inverse model is updated. When each one of them completes, the learning algorithm is initiated (figure 6), receiving metrics gathered from the completed inverse model, and forms a learning event (a template (inverse model

Z (Inv Z), confidence of Z (Conf Z), start time of Z (Start Z), end time of Z (End Z))).

This is pushed into a buffer of learning events, and the following operations are performed:

1.

(Overlap check): the duration of the inverse model is calculated, and the information is used to determine whether the inverse model overlaps timewise with any of the other learning events in the buffer. If it does, then it was executed in parallel, and its associated learning event is marked up to reflect the other events it overlaps with.

2.

(Redundancy check): the event buffer, the contents of which form a candidate new behaviour, is checked against all existing behaviours to determine whether a behaviour created from the events in the stack would be redundant. A behaviour is redundant if the graph that it is composed of already exists in the repertoire of the imitator. If this is the case, then the algorithm returns the null behaviour, which is ignored by the framework.

3.

(Creating new inverse models): if the new behavior would not be redundant, the algorithm initiates the process of creating a new graph, to represent the new inverse model. The events in the learning event buffer are flushed to an inverse model

Figure 6. Graphical representation of the learning loop.

Distributed, predictive perception of actions 239 creation module, which adds in the inverse models associated with the received events. Events which do not overlap in time with any other event are added in sequentially. Events that were executed in parallel undergo a resolving process where a degrees-of-freedom conflict analysis is performed:

If the inverse models that overlap have one or more common degrees of freedom, the one with the highest confidence is selected.

If they do not, they are added in parallel to the new graph.

The learning algorithm operates constantly and adds new inverse models online, as the demonstration unfolds. To avoid a combinatorial explosion, usage of the inverse models is monitored and only the most frequently occuring ones are retained in the long term.

4.4.

Results

Several experiments were performed involving the demonstration of simple and composite gripper movements. A typical experiment is shown in figure 7—this shows the evolution of confidence values during the demonstration of a composite action by the demonstrator. Visual sampling of the state of the demonstrator, formation of prediction of next state, and confidence updating for all behaviours occur at 10Hz.

The graph of figure 7 was selected as a representative one since it demonstrates two aspects of the architecture: (a) that it performs correctly in the task of recognizing the demonstrated behaviours by ‘mentally generating them’ (parts 1 and 2 of the graph),

Figure 7. Observing and learning new behaviours.

240 Y. Demiris and M. Johnson and (b) that it is capable of learning composite behaviours and incorporating them in this

‘mental generation’ framework.

In the first part of the experiment (0–100 K iterations), the demonstrator is performing a composite behaviour which involves the concurrent execution of a raise gripper platform and an open-gripper movement. In the second part (100–180 K iterations), another composite behaviour is demonstrated (concurrent execution of a lower gripper platform and close gripper). In the third part (iterations from 180 K onwards), the first composite behaviour is repeated. Initially, only the primitives are present in the behavioural repertoire; of those, the primitives ‘raise’ and ‘open’ are active when the composite behaviour containing them is demonstrated. The learning algorithm constructs a new inverse model by putting together these primitives in a new graph; since they do not compete in terms of degrees of freedom, they are placed in parallel. In the last part of the figure (part 3), we can see the learnt composite inverse model ending up with high confidence, when the imitator sees the demonstrator performing it again.

The experiments are repeatable, across a variety of combinations of primitives, and have been tested in arbitrarily long sequences. There is a high degree of scalability due to the distributed nature of the architecture, and the parallel execution of the inverse models; there is no theoretical limit to the number of behaviours that can be added. To improve the efficiency of the architecture, contextual information can be used to reduce the number of inverse models that are activated; for example, when the demonstrator deals with a non-graspable object, grasping behaviours do not need to be activated.

The benefits of such context-based reduction of potential behaviours are likely to become apparent when more complex tasks are tackled. We are currently conducting experiments using this architecture to deal with other possible actions including moving in a room, and grasping or pushing objects to test this hypothesis.

5.

Discussion

The experiments demonstrate that our architecture enables a robot to use its motor systems in a dual role, for executing actions as well as perceiving them when performed by others. This activation of the motor systems during observation is in agreement with the recent biological data on humans and monkeys we described in the background section.

Indeed, previous work using a simpler version of this architecture in a simulated environment (Demiris 1999, Demiris and Hayes 2002) has even produced testable predictions regarding the behaviour of the mirror neurons with respect to the speed of the demonstrated actions

1

.

The architecture also allows the continuing development of higher, more complex inverse models, from elementary ones following demonstration. Although in the experiments we have shown here, the starting set of primitives and the forward models are hard coded, these can also be developed using learning (Jordan and Rumelhart 1992).

Elsewhere (Demiris 2002), it has been shown that using an architecture incorporating

Meltzoff ’s Active Intermodal Matching mechanism (a mechanism that is hypothesised to underlie early infant imitation skills (Meltzoff and Moore 1997)), new primitive inverse models can be created. This mechanism relies on the existence of a body schema

(Reed and Farah 1995), which the imitator uses in order to directly map elementary postural movements of the demonstrator to its own equivalent ones, using either geometric representations of posture (Demiris et al.

1997), or representations based on the frequencies of spiking neurons representing visual and proprioceptive movement (Eneje and

Demiris 2003). Bootstrapping development of visuomotor primitives using such mechanisms, and subsequently using our architecture to develop higher behavioural

Distributed, predictive perception of actions 241 structures from observation can add a significant source of new knowledge to the cognitive development of an individual.

We are currently extending this research in two directions:

Technological direction: we are working towards lifting some of the current limitations in our robotic experiments. A 3-D body model of the robots is being constructed, so that the transformation between the state of the demonstrator and the state of the imitator can be performed regardless of the viewing angle between them. In the cases where the demonstrator and the imitator share the same body morphology, this

‘correspondence problem’ (Nehaniv and Dautenhahn 2002) is of moderate difficulty.

For different morphologies, it will require more theoretical advances, for example the adoption of a different ‘state’ representation (see below)

More importantly, we are extending the architecture on the theoretical dimension; there are several challenging extensions to be tackled here, that we are working on, by examining new ways of representing state information:

– Object-oriented actions: we are currently working on actions involving objects, for example pushing boxes and grasping soda-cans. We are tackling this by using state representation involving agent-object relations such as for example the distance of the gripper from the object.

– Imitation of human actions: we are working on extracting the hand and body information of a human demonstrator performing a task, in particular grasping an object, so the human can provide the source of demonstration to the robot. This will require adopting a more qualitative description of the action and the next state

(e.g. prediction at time t þ 1 will be that ‘hand will be closer to object’) moving away from quantitative data (which are inapplicable since our robots have radically different morphology from humans).

Although, as discussed above, there are several challenges that remain to be addressed, the experiments reported here demonstrate that a ‘simulation-theory’ approach to understanding the actions of others, based on utilizing the motor systems of the observer to simulate the actions of the demonstrator, can be implemented on robots, and used to perceive and learn simple actions. Utilizing the ‘execution machinery’ to help in perception allows the individual’s motor development to assist in the development of its social perception skills.

Acknowledgements

This research was funded by UK’s Engineering and Physical Sciences Research Council

(EPSRC) project GR/S11305/01, and the Royal Society. We would also like to thank the anonymous reviewers for their constructive comments.

Note

1.

It is not possible to replicate these experiments on our current robots due to hardware limitations with respect to the available speeds of gripper movements.

References

Billard, A., 2000, Learning motor skills by imitation: a biologically inspired robotic model.

Cybernetics and Systems , 32 : 155–193.

Breazeal, C., and Scassellati, B., 2002, Robots that imitate humans.

Trends in Cognitive Sciences , 6

(11): 481–487.

242 Y. Demiris and M. Johnson

Charman, T., Swettenham, J., Baron-Cohen, S., Cox, A., Baird, G., and Drew, A., 1997, Infants with autism: an investigation of empathy, pretend play, joint attention and imitation.

Developmental

Psychology , 33 (5): 781–789.

Dautenhahn, K., and Nehaniv, C., 2002, Imitation in Animals and Artifacts (Cambridge, MA, USA:

MIT Press).

Decety, J., Grezes, J., Costes, N., Perani, D., Jeannerod, M., Procyk, E., Grassi, F., and Fazio, F., 1997,

Brain activity during observation of actions: influence of action content and subject’s strategy.

Brain , 120 : 1763–1777.

Demiris, J., 1999, Movement Imitation Mechanisms in Robots and Humans, PhD thesis, University of

Edinburgh, Scotland, UK.

Demiris, J., Rougeaux, S., Hayes, G. M., Berthouze, L., and Kuniyoshi, Y., 1997, Deferred imitation of human head movements by an active stereo vision head. In Proceedings of the 6th IEEE

International Workshop on Robot Human Communication (Sendai, Japan: IEEE Press), pp. 88–93.

Demiris, Y., 2002, Imitation, mirror neurons, and the learning of movement sequences. In Proceedings of the International Conference on Neural Information Processing (ICONIP-2002) (IEEE Press), pp. 111–115.

Demiris, Y., and Hayes, G., 2002, Imitation as a dual route process featuring predictive and learning components: a biologically-plausible computational model. In K. Dautenhahn and C. Nehaniv

(eds) Imitation in Animals and Artifacts (MIT Press).

Eneje, E., and Demiris, Y., 2003, Towards robot active intermodal matching. In A. Billard and R. Siegwart

(eds), Proceedings of the IROS’03 Workshop on Programming by Demonstration (IEEE Press).

Fadiga, L., Fogassi, L., Pavesi, G., and Rizzolatti, G., 1995, Motor facilitation during action observation: a magnetic stimulation study.

Journal of Neurophysiology , 73 (6): 2608–2611.

Gallese, V., Fadiga, L., Fogassi, L., and Rizzolatti, G., 1996, Action recognition in the premotor cortex.

Brain , 119 : 593–609.

Jeannerod, M., 2001, Neural simulation of actions: a unifying mechanism for motor cognition.

NeuroImage , 14 : 103–109.

Jordan, M., and Rumelhart, D., 1992, Forward models: supervised learning with a distal teacher.

Cognitive Science , 16 : 307–354.

Karniel, A., 2002, Three creatures named forward model.

Neural Networks , 15 : 305–307.

Kuniyoshi, Y., Inaba, M., and Inoue, H., 1994, Learning by watching: extracting reusable task knowledge from visual observation of human performance.

IEEE Transactions on Robotics and

Automation , 10 (6): 799–822.

Mataric, M., 1998, Behavior-based robotics as a tool for synthesis of artificial behavior and analysis of natural behavior.

Trends in Cognitive Sciences , 2 (3): 82–87.

Meltzoff, A. N., and Decety, J., 2003, What imitation tells us about social cognition: a rapprochement between developmental psychology and cognitive neuroscience.

Phil. Trans. of the Royal Society of London B , 358 : 491–500.

Meltzoff, A. N., and Moore, M. K., 1997, Explaining facial imitation: a theoretical model.

Early

Development and Parenting , 6 (2): 157.1–14.

Meltzoff, A. N., and Prinz, W., 2000, The Imitative Mind: Development, Evolution and Brain Bases

(Cambridge University Press).

Miall, R. C., Weir, D. J., Wolpert, D. M., and Stein, J. F., 1993, Is the cerebellum a smith predictor?

Journal of Motor Behavior , 25 (3): 203–216.

Miall, R. C., and Wolpert, D. M., 1996, Forward models for physiological motor control.

Neural

Networks , 9 (8): 1265–1279.

Nadel, J., and Butterworth, G., 1999, Imitation in Infancy (Cambridge University Press).

Narendra, K. S., and Balakrishnan, J., 1997, Adaptive control using multiple models.

IEEE

Transactions on Automatic Control , 42 (2): 171–187.

Nehaniv, C., and Dautenhahn, K., 2002, The correspondence problem. In K. Dautenhahn and C.

Nehaniv (eds), Imitation in Animals and Artifacts (MIT Press) Chapter 2, pp. 41–61.

Reed, C. L., and Farah, M. J., 1995, The psychological reality of the body schema: a test with normal participants.

Journal of Experimental Psychology: Human Perception and Performance , 21 (2):

334–343.

Distributed, predictive perception of actions 243

Rizzolatti, G., Fadiga, L., Gallese, V., and Fogassi, L., 1996, Premotor cortex and the recognition of motor actions.

Cognitive Brain Research , 3 : 131–141.

Rizzolatti, G., Luppino, G., and Matelli, M., 1998, The organization of the cortical motor system: new concepts.

Electroencephalography and Clinical Neurophysiology , 106 : 283–296.

Schaal, S., 1999, Is imitation learning the way to humanoid robots?

Trends in Cognitive Sciences , 3

(6): 233–242.

Sirigu, A., Grafman, J., Bressler, K., and Sunderland, T., 1991, Multiple representations contribute to body knowledge processing.

Brain , 114 : 629–642.

Weimer, W. B., 1977, A conceptual framework for cognitive psychology: Motor theories of the mind.

In R. Shaw and J. Brandsford (eds), Perceiving, Acting and Knowing: Toward an Ecological

Psychology (Hillsdale, New Jersey, USA: Lawrence Erlbaum Associates) Chapter 10, pp. 268–311.

Wolpert, D. M., Doya, K., and Kawato, M., 2003, A unifying computational framework for motor control and social interaction.

Phil. Trans. of the Royal Society of London B , 358 : 593–602.

Wolpert, D. M., and Kawato, M., 1998, Multiple paired forward and inverse models for motor control.

Neural Networks , 11 : 1317–1329.

Download