flowersteam / explauto

An autonomous exploration library
http://flowersteam.github.io/explauto
GNU General Public License v3.0
64 stars 27 forks source link

Sampling bias in gmm_progress #80

Open jgrizou opened 7 years ago

jgrizou commented 7 years ago

Because of the boundary constraints on the motor/sensory dimension, the sampling of a new motor/sensory command/goal is biased with increase probability to sample a point at the boundary.

This is due to line https://github.com/flowersteam/explauto/blob/master/explauto/interest_model/gmm_progress.py#L34L35 where the sampled point is constrained to be within the boudaries. A quick visualization of the problem is below.

2017-01-04 15 24 45

It leads to the following patterns of goal selection in a 7 arm experiments. The right plot show in red the goal selected, we clearly see an oversampling on the boundaries, here [-1, 1] in each dimension.

0007

The simplest solution to unbias this sampling step is to keep sampling until the point sampled is within the boundary. The resulting resampling strategy looks much better/less biased. It was run with the same seed, the effect is the same for many seeds.

0007

This has been implemented in pull request #79 by:

jgrizou commented 7 years ago

@clement-moulin-frier are you ok to use the version described above and in #78 as a comparison point for the algortihm you published?

I am working on an algorithm for exploration and I want to compare with existing algortihms in explauto, I think the changes made above and in #78 do not impact the fundamentals of the algorithm, yet improve the parameter usability and the sampling method.