Oct 13th 2014

Developmental Artificial Intelligence (UCBL)

This course will teach you the cognitive science background and the programming bases to design robots and virtual agents capable of autonomous cognitive development driven by their intrinsic motivation.

Developmental A.I. is a new branch of A.I. that aims to create an artificial system that can develop autonomously like a newborn baby. If implemented in a robot, it will initially behave like a newborn animal that explores and plays with its environment. The very long-term objective would be to create a robot capable of reaching human-level intelligence.

This goes beyond mere sensorimotor adaptation, because it involves autonomous goal construction, self-motivation, and playful behavior. It addresses fundamental questions of cognition such as sense-making, individual choices, creativity, and free will. The mechanisms at play precede and ground higher-level intelligence such as problem solving, symbolic reasoning, and language acquisition.

A key feature of developmental learning algorithms is to generate self-programming. Self-programming means that the data that is learned can be re-executed by the system itself. This radically differentiates developmental learning algorithms from traditional machine learning such as neural networks and reinforcement learning algorithms, which learn values and weights.

Self-programming raises many questions. For example:

- Learning executable code to what end? This is the problem of the agent’s intrinsic motivation.

- What programming language and what execution engine for the learned code? This is the problem of the agent’s cognitive architecture.

- How to assess the system’s capacity to self-program? This relates to the problem of defining and measuring intelligence.

The course will teach you the necessary background in cognitive science to answer these questions, specifically: constructivist epistemology, biologically inspired cognitive architectures, and the theories of situated cognition and enaction.

You will be offered different activities in order to analyze and reflect upon these theories, individually or collaboratively.

Optional programming activities will also teach you to design robots or virtual agents capable of rudimentary cognitive development. Please see the demos on our website.

More info: