Olivier Georgeon's research blog—also known as the story of little Ernest, the developmental agent.

Keywords: situated cognition, constructivist learning, intrinsic motivation, bottom-up self-programming, individuation, theory of enaction, developmental learning, artificial sense-making, biologically inspired cognitive architectures, agnostic agents (without ontological assumptions about the environment).

Tuesday, November 20, 2012

Training Ernest 7


This video demonstrates that Ernest develops different behaviors depending on the experience he has during his youth. Here, we have two instances of Ernest: Ernest 1 (brown) is initially kept in the small loop and released on step 290. Ernest 2 (bleu) is confronted to the complex environment right from his birth.

Ernest 1 develops more sophisticated behaviors than Ernest 2 because he is trained to touch both of its sides when he faces a wall. Consequently, after being released, he has a more exploratory behavior than Ernest 2.

Ernest 2 learns to preferably turn to the right when he faces a wall. Consequently, he tends to keep spinning in limited areas of the environment. Ernest 2's learning is limited by the fact that the environment is initially too complex for him to notice sophisticated sequences that involve touching to both sides.

The importance of training is an interesting property of Ernest because it accounts for theories of developmental learning.


(Demo implemented with Ernest r296 and Vacuum r203)

Monday, October 29, 2012

Ernest's source code

Ernest's source code is available here with the instructions to use it. The cleaned-up and tested recommended revision is r296. This revision demonstrates the exact behavior of Ernest 7 reported in the Small Loop Experiment.

Monday, October 15, 2012

Interactional Motivation

 Olivier L. Georgeon, James B. Marshall, and Simon L. Gay 2012. Interactional Motivation in Artificial Systems: Between Extrinsic and Intrinsic Motivation.  In proceedings of the 2nd Joint IEEE International Conference on Development and Learning and on Epigenetic Robotics (EPIROB 2012), San Diego, pp. 1-2.

This paper presents the notion of interactional motivation that drives Ernest, and compares it to reinforcement learning as it is traditionally implemented in Partially Observable Markov Decision Processes (POMDPs).

Tuesday, August 28, 2012

Ernest 11.5 constructs goals


Like Ernest 11.4, Ernest 11.5 can recognize objects by the possibilities of interaction that they afford. Additionally, Ernest 11.5 has a specific inborn taste for stepping on flowers.

Ernest 11.5 simulates different possible sequences of interactions in spatial memory before selecting the best sequence to enact. These simulations are represented in the bottom-right area of the video. Simulations that produce predictable results (due to information available in spatial memory) are represented with orange outlines. Simulations that produce unpredictable results (due to the lack of information in spatial memory) are represented in blue. The video shows that Ernest learns to simulate increasingly elaborated sequences of interactions as time goes on (see blue squares and triangles spreading in all directions around Ernest from step 253 on).

The high value associated with stepping on flowers favors simulations that lead to even more stepping on flowers. As a result, Ernest learns to make a u-turn to return to a flower when he passes one (see Ernest keeping stepping on the flower from step 260 on).

We find this experiment interesting because it illustrates how an inborn drive can give raise to an explicit goal. Ernest's inborn tendency to step on flowers makes Ernest identify flowers as an interesting goal to reach. Once this goal is recognized, Ernest performs a rudimentary problem-solving computation to reach it. Perhaps the skill to choose a desirable point in space and find a sequence of operations to reach this point underlays higher-level problem-solving skills.

Tuesday, July 3, 2012

Ernest 11.4 recognizes objects

This video shows Ernest 11.4 learning to interact with different objects in this new version of the Small Loop.

At the beginning, Ernest learns to interact with empty places and with dark-green walls. From step 76 on, he learns to interact with cyan walls. On step 220, we introduce alga, and he starts to learn to interact with them.

Note the funny hesitation on step 234 when Ernest touches an alga for the first time, turns back, and then returns to the alga. Once this new kind of objects is learned, Ernest moves through them without hesitation.

Ernest's previous management of bundles (Ernest 11.2) no longer works in this environment because objects can no longer be identified by disjoint bundles of interactions. Some interactions (e.g., bump) are afforded by different objects (dark-green walls and cyan walls). Ernest 11.4, however, does not actually need to fully recognize objects. He adapts to this environment by only learning "compresences" of pairs of interactions. We borrowed the term compresence from the bundle theory of objects to designate the tie between two interactions that are afforded by the same location in space. In this video, compresences are represented by gray circles that contain interactions (in sequential and spatial memory, top and bottom right areas of the video).

The question of identifying objects by bundles of interactions that are consistently compresent remains an open and difficult question. The notion of compresence seems  to be still controversial in philosophy of objects. Identifying objects raises the question of making analogies between objects, and learning categories of objects based on similarities in the interactions that they afford.

In this experiment:

Touching a cyan wall ahead generates a specific feeling (cyan squares). Touching a cyan wall on the side generates the same feeling as touching a dark-green wall on the side (dark-green squares). Bumping into a cyan wall feels the same as bumping into a dark-green wall (red triangles). Once learned, touching walls ahead "evokes" bumping ahead (light-red triangles in spatial memory, bottom right area of the video). As previously, the evocation of bumping refrains Ernest from trying to move forward towards walls.

Touching an alga ahead generates a specific feeling (light-green squares). Touching an alga on the side generates the same feeling as touching an empty square on the side (white squares). Moving to an alga feels the same as moving to an empty square (white triangles).

(Demo implemented with Ernest r261 and Vacuum r186)

Wednesday, May 30, 2012

Ernest 11.3 in e-puck


Ernest 11.3 is an adaptation of Ernest 11.2 for the e-puck robot.

This video shows the e-puck robot in the "Box Environment" (left). The possibilities of interaction and the LED signals are the same as with Ernest 7 in e-puck.

The top-right part of the video shows the sequential trace with the same symbols as previously.

The bottom-center shows the new spatial memory (in an egocentric referential with the robot's front oriented towards the right). When Ernest enacts an interaction, the area that is concerned by this interaction is marked by a halo in spatial memory. Interactions that concern empty places are in white, interactions that concern walls are in green. The superimposition of different interactions in the same spatial location reveals occurrences of empty place phenomena (white halos) and wall phenomena (green halos).

Note that wrong associations can occur due to false detections. For example: false detection of a wall on the left on steps 221 and 222 (time 2:23). (We turned on additional light to provoke more false detections from step 100, time 0:59.)

The bottom-right part of the video represents coefficients of spatial overlapping between interactions (red segments). The more consistent the overlapping, the shorter the segment. Over time, interactions that concern the same kind of phenomena become grouped together because they consistently overlap. Two bundles of interactions emerge: white interactions form a bundle that represents empty places, green interactions form a bundle that represents walls.

On step 229, the false detection made on step 221 and 222 yields to a wrong association between the two bundles (mixed white and green halo in the center of spatial memory on time 2:25, and long red segment between the two bundles). This wrong association, however, does not impact Ernest's behavior too much because it remains weak.

This experiment demonstrates that Ernest 11.3 handles the imprecision in the robot’s displacements and in the sensors by keeping track of probabilities of presence of phenomena in Ernest's surrounding space. Simultaneously, Ernest gradually learns the notions of empty space phenomenon and wall phenomenon by associating the interactions that they afford. In turn, the recognition of phenomena helps Ernest organize its behavior by prompting interactions adapted to the phenomena that surround him.

Thursday, May 24, 2012

A Challenge for Emergent Cognition

The Small Loop Problem: A challenge for artificial emergent cognition. Olivier L. Georgeon, James B. Marshall. In proceedings of BICA2012, Annual Conference on Biologically Inspired Cognitive Architectures. Palermo, Italy, pp. 137-144. (October 31, 2012).

This paper presents the Small Loop Problem and how Ernest 11.2 handles it.

Wednesday, April 25, 2012

Ernest 7 in e-puck

Here is Ernest 7 in an e-puck robot.

We implemented "touch" with the infrared sensors available on the front, left, and right side of the robot. The range of these sensors was set to approximately 5cm. When Ernest "touches", the corresponding led flashes. When the touching detects a wall, the two additional leds on the rear flash. When it bumps into a wall, all the leds flash.The symbols in the trace are the same as previously.

This video shows that Ernest learns to touch ahead before moving forward to avoid bumping, and learns to turn when it reaches a wall.

Tuesday, April 24, 2012

Ernest 11.2 in the Small Loop Problem


This video shows Ernest 11.2's temporal memory (up-left) and spatial memory (right) in the Small Loop Problem (bottom-left).

Like Ernest 11.1, Ernest 11.2 keeps track of interactions in his spatial memory. Touch interactions are represented by squares, move by white triangles, bump by red triangles, turn by half-circles.

Interactions that are enacted at the same spatial place are bundled together to represent the phenomenon that afforded them. The Small Loop Problem offers two kinds of phenomena: empty squares and walls. In temporal memory, the construction of bundles is represented by gray rounded rectangles (upper part). In spatial memory, bundles are represented by gray circles that contain interactions. These circles are fading to represent spatial memory decay.

For example, on step 13, Ernest bundles together the interactions touch front wall and bump. On step 19, the fact that Ernest touches a wall activates the still-partial wall bundle in front of Ernest (right side of spatial memory). This activation reminded Ernest that moving forward would cause bumping, which made him refrain from trying to move forward.

Ernest 11.2's spatial mechanism helps him perform better than Ernest 7 in the Small Loop Problem. Ernest 11.2 does not, however, constitute a full solution to the Small Loop Problem because he has pre-implemented knowledge. The position of interactions relatively to Ernest's body were hard-wired in spatial memory. Additionally, the consequences that certain interactions have on spatial memory were pre-implemented: move translates spatial memory and turn rotates spatial memory. A full solution to the Small Loop Problem must eliminate such pre-implemented assumptions.

Tuesday, April 10, 2012

Designing Environment-Agnostic Agents

Designing Environment-Agnostic Agents. Olivier L. Georgeon, Ilias Sakellariou. In proceedings of ALA2012, Adaptive Learning Agents workshop, at  AAMAS 2012, 11th International Conference on Autonomous Agents and Multiagent Systems. 25-32. (June 4-5th 2012).

In this paper, we define the notion of environment-agnostic agents. We also presents Ernest in NetLogo.

Tuesday, March 27, 2012

The Small Loop Problem

We submit the Small Loop Problem to the community of artificial developmental cognition.

The Small Loop Problem consists of implementing an artificial agent that would "smartly" organize its behavior through autonomous interaction with the Small Loop Environment shown in this video.

See our Small Loop Platform in NetLogo for a comprehensive explanation and illustration of this problem.

Our work thus far has only partially solved this problem. This video shows that Ernest indeed manages to learn to perceive its environment and to organize its behavior as we have demonstrated previously in this blog. Ernest, however, still does not manage to capture spatial regularities that would be required to "smartly" handle the passage in the upper-right corner of the loop.

While this problem may seem simplistic, we believe that it captures fundamental questions about self-motivation and early-stage developmental cognition. We suspect that the solution requires making the agent capable of some form of rudimentary reflexivity.

Friday, March 16, 2012

Ernest at Innorobo



This presentation of Ernest was shown at the Innorobo symposium in Lyon. Here is a shorter video without the audio presentation.

Thursday, March 8, 2012

Object persistence

Unable to display content. Adobe Flash is required.

This video shows how we expect Ernest to learn about objects in the world. To do so, Ernest needs a Spatial Memory that keeps track of the places where Ernest enacted interactions. We implemented a mechanism that emulates a vestibular system to allow Ernest to keep track of his displacements in space.

In Ernest's Spatial Memory, blue half-circles represent places where Ernest turned; blue triangles represent places where he moved forward; red circles represent places where he bumped; green circles represent places where he situates the origin of visual perception that "attracts" him. These symbols are shrinking over time to represent memory decay.

This video shows that Ernest constructs a rough outline of the object in Spatial Memory, and localizes possibilities of interactions relatively to this object.

The big question now is how to make Ernest exploit this knowledge and how to entangle this knowledge construction mechanism with Ernest's "intrinsic motivation".

(Demo implemented with Ernest r228 and Vacuum r166)

Thursday, March 1, 2012

Ernest 11.1 Local Space Memory

Unable to display content. Adobe Flash is required.
This video shows the content of Ernestine's local space memory during the Ernest 11.1 experiment. As discussed previously, Ernest attributes "causes" of interactions to "phenomena" situated in the external environment.

Ernest 11.1 uses vision and touch to localize places in local space memory that "represent" external phenomena:
- Line segments are places that are constructed using vision.
- Circle arcs are places that are constructed using both touch and vision.

Additionally, Ernest 11.1 localizes places of interactions represented by small symbols:
- Small triangles are places where Ernest enacted a move forward interaction.
- Small half-circles are places where Ernest enacted a turn interaction.

Places of interaction are localized relatively to Ernest and also possibly relatively to external phenomena:
- Fading blue symbols (triangles and half-circles) behind Ernestine represent interactions localized relatively to Ernestine.
- Bi-color blue and yellow symbols represent eating interactions (while moving forward or while turning) localized relatively to fish.
- Bi-color green and red triangles represent bumping interactions (while trying to move forward) localized relatively to walls.
- Bi-color gray and pink symbols represent cuddling interactions (while moving forward or turning) localized relatively to Ernesto.

Over time, this video shows that phenomena "evoke" possibilities of interaction based on previous episodes of interaction (e.g., fish become associated with different manners of eating fish, etc.). In the future, we expect that such a spatio-temporal episodic memory will help Ernest perform mental simulations of possible courses of action. Neuro-physiological studies suggest that the hippocampus supports this kind of spatio-temporal episodic memory in the vertebrate's brain (e.g., Barthoz, 1997).

Reference
Berthoz A. (1997) Le sens du mouvement. Odile Jacob: Paris.

Ernest 11.1

Unable to display content. Adobe Flash is required.
Ernest 11.1 works similarly as Ernest 11.0. Ernest 11.1 , however, has the improved local space memory that is shown in the next post.

Note that, in this run, Ernestine becomes more prone to eating fish than cuddling with Ernesto, while Ernesto becomes more prone to cuddling with Ernestine than eating fish.

(Demo implemented with Ernest r225 and Vacuum r165)

Friday, February 17, 2012

Implementing spatial awareness

Implementing Spatial Awareness in an Environment-Agnostic Agent. Simon Gay, Olivier Georgeon, Jong Wook Kim. Presented at the 21st Annual Conference on Behavior Representation in Modeling and Simulation (BRIMS 2012). Amelia Island, Florida. March 12-15. 62-69.

This paper presents Ernest 10.4 and our more general work on endowing an autonomous agent with a sense of space. We introduce the notions of local space memory, persistence memory, and bundles. In particular, we argue that this initial spatial awareness lays the bases for the emergence of external causality. Ernest now attributes the cause of sensory stimulations to phenomena situated in the external environment.

Saturday, January 28, 2012

Dynamic Local Space Memory

Unable to display content. Adobe Flash is required.
This video shows the content of Ernesto's local space memory in the previous experiment. It gives a representation of what Ernesto knows about his surrounding environment. Objects appear as arcs because Ernesto ignores their thickness and only knows their average distance and their span in his visual field.

At each instant, Ernesto focuses his attention on a particular place in space represented by a point (most often magenta but sometimes black, red, or pink). Additionally, Ernesto flashes yellow when he eats a fish and pink when he cuddles with Ernestine.

Ernesto's sensory system is sensible to the relative movement of the place of attention. This relative movement is represented by a speed vector attached to the magenta point. This direct sensibility to relative movement is consistent with neuro-physiological theories such as Alain Berthoz's (1997).

This video shows that Ernest's attention is still very scattered. A more elaborated control of attention is probably needed.

Reference
Berthoz A. (1997) Le sens du mouvement. Odile Jacob: Paris.

Friday, January 27, 2012

Ernest 11

Unable to display content. Adobe Flash is required.
Ernest 11 can handle dynamic environments. This video presents two instances of Ernests named Ernesto and Ernestine. Ernesto is the one that has no pelvic fins (on the right at the beginning). Like Ernests 10.5, Ernests 11 enjoy cuddling with each other.

Ernests 11 can adjust the pace of their actions. Such adjustment allows them to slow down or to accelerate, and to turn and translate simultaneously. For example, on steps 93 and 112, Ernesto slows down to catch a fish that comes towards him. Conversely, on step 310, Ernestine accelerates to catch a fish that is running away.

(This video on Youtube)