A Python library for autonomous exploration
The Explorers framework is aimend at creating, testing and comparing autonomous exploration strategies of sensorimotor spaces. The framework is largely strategy-agnostic, and is aimed as expressing motor babbling, goal babbling and intrinsically motivated exploration algorithms, among other. It is also able to express strategies that feature transfer learning, such as the reuse algorithm we introduce in (Benureau, Fudal & Oudeyer, 2014).
At the center of the framework, an explorer receives observations and provides motor commands for the environment to execute.
We can then easily express a typical goal babbling architecture (the feedback and update is subsequently assumed for all explorers and not pictured).
Here, the explorer interacts with the environment, rather than the inverse model. Such an architecture allows to filter motor commands that are proposed by the inverse model, and eventually to select another goal if the motor command is not satisfactory or possible to execute.
The framework is organized in a modular way. This allows to create flexible hierarchical architectures made of several, atomic or themselves composite, exploration strategies.
Likewise, multi-learners architecture are completely natural.
explorers python package is an implementation of the Explorer framework. Examples are provided; they run in a few seconds, and allow for instance to quickly understand the difference between motor and goal babbling, and how the different environmental and exploration parameters affect the result.
Precomputed ipython notebook examples of goal babbling and reuse are available, so you examine an execution without installing anything. To modify the values of the parameters and see the results, you need to install the code though.
# the forest package has to be installed manually for now. git clone https://github.com/flowersteam/forest cd forest; python setup.py install; cd ..; pip install numpy bokeh environments explorers "ipython[notebook]"
Download the examples.
git clone https://github.com/humm/explorers cd explorers/examples/
You can run the commented notebook examples on goal_babbling. You can zoom and interact with every graph. :
ipython notebook goal_babbling.ipynb ipython notebook reuse_example.ipynb
Alternatively, you can execute the python files. The resulting graphs will automatically open in a browser; while the commentary is available in the code.
python goal_babbling.py python reuse_example.py
The code should, but might not, work out of the box. Should you have any problem setting up the examples or any questions about the algorithms or the library, contact firstname.lastname@example.org or create an issue on github.