Chargement...
 
Tao

CedricReunion28juin2007nicolas

...

"Robot Programming by Demonstration with Echo State Network"

"A key issue in robotics is to design robot architecture for specific tasks. This ranges from hand-coded optimal control approach towards fully automatic Learning Robotics (...). In this scope, Robot programming by demonstration provides an efficient way to design robot behavior by showing a behavior rather than explicitly program it. The goal is to provide a possibly non-specialist teacher with the ability to incrementaly shape a robot behavior, which is relevant in a context of a complex noisy and dynamic environment. In the scope of our contribution, we consider demonstrations as trajectories of a dynamical system in the sensory-motor space. We rely on Echo State Network, a novel neural network approach, to model complex dynamical patterns from which behaviors are extracted. The resulting algorithm is evaluated in the context of mobile robot in a real-world environment for a set of task such as target acquisition/following or performing sequences of actions."


Avancement:
  • bloque sur un petit bug sur les ESN : probleme quand la valeur singulière explose. donc facile au détecter (au pire)
  • TODO: mettre a jour les valeurs DONE
    • RN(10), resolution 8x6 [learning : test]
      • homing, hue : [20.5% +- 4.15 : 28.8% +- 8.26]
      • homing, hue+brillance : [19% +- 3.6 : 24.6% +- 6.0]
      • homing, rgb : [18.8% +- 3.5 : 21.8% +- 4.7 ]
      • slalom, hue : [8.1% +- 0.6 : 14% +- 2.0]
      • slalom, hue+brillance : [8.9% +- 0.8 : 14% +- 2.0]
      • slalom, rgb : [10.3% +- 1.1 : 11.7% +- 1.4]
    • RN(0), resolution 8x6 [learning : test]
      • slalom, hue : [12.5% +- 1.6 : 14.9% +- 2.3]
      • slalom, hue+brillance : [12.1% +- 1.5 : 14.3% +- 2.1]
      • slalom, rgb : [9.8% +- 0.9 : 13.2% +- 1.7]
    • RN(10), Entrelacement avec hue [learning : test]
      • homing, 16x12 + 8x6 + 4x3 : [17.5% +- 3.0: 27.5% +- 7.5]
      • homing, 16x12 + 8x6 : [17.2% +- 2.9: 27.5% +- 7.6]
      • homing, 16x12 + 4x3 : [17.9% +- 3.2: 29.3% +- 8.5]
      • homing, 8x6 + 4x3 : [22.0% +- 4.8: 26.5% +- 6.9]
      • homing, 4x3 : [27.4% +- 7.4 : 28.3% +- 7.9]
    • RN(0), Entrelacement avec hue [learning : test]
      • homing, 16x12 + 8x6 + 4x3 : [29.1% +- 8.4: 39.8% +- 15.7]
      • homing, 16x12 + 8x6 : [37.3% +- 15: 45.0% +- 21.0]
      • homing, 16x12 + 4x3 : [29.8% +- 8.8: 41.0% +- 16.7]
      • homing, 8x6 + 4x3 : [32.7% +- 10.6: 34.1% +- 11.6]
      • homing, 4x3 : [34.8% +- 12.0: 35.3% +- 12.4]

  • note: on optimise le bassin d'attraction d'un système dynamique. C'est a dire a chaque point dans l'espace sensoriel, on cherche un fonction qui nous donne un deplacement dans l'espace moteur pour converger, dans l'espace sensoriel, vers un point fixe, qui se trouve le but de la démonstration. L'intuition : on compte sur la redondance des perceptions dans l'environnement pour avoir suffisament d'exemples pour fabriquer cette convergence. Evidemment ca dépend aussi de la capacité a généraliser du controleur (les rdn sont a priori un bon choix). Au final, on souhaite modéliser un controleur qui garantit le retour a l'état stable. La démo classique: point rouge au centre de la caméra, asservissement sur le point rouge. (expé à faire).

  • notes sur la validation expérimentale :
    • validation off-line (+/- déja fait) : ce qu'on évalue c'est l'erreur en classification
    • validation on-line (a faire, cf. plus bas) : ce qu'on évalue c'est le comportement du système dynamique qu'on a construit (ex. convergence vers point fixe dans le cas du tracking d'une cible rouge)

questions sur les ESN:
  • protocole de présentation des données:
    • rappel: pour apprentissage type backprop, on passe plusieurs fois une séquence.
    • rappel: dynamique interne du réservoir, entre chaque passage on fait un "washout" ??
    • rappel: l'ESN apprend la dynamique globale, on veut du local (ce qui nous interesse : soit des sous-partie de la démo ; soit la démo a partir d'un point d'entrée quelconque)
  • protocoles d'apprentissage (possibles), question: "quel readout ? comment l'entrainer ?"
    • readout : couche simple reservoir-outputs ; methode: reglin classique
      • avantages : super simple, biblio
      • inconvénients: pas de cycle, donc énormémement de passage, prend en compte une séquence entière, explosion du calcul ; comment on passe les N séquences??? (meme ESN toutes séquences ? cf. aussi la suite)
    • methode widrow-hoff / backprop
      • un esn, un readout perceptron, on passe les N séquences
      • ensemble control (1) : un esn + un perceptron en readout par séquence, ensuite combinaison de tous les esn
      • ensemble control (2) : un seul esn, plusieurs perceptron en readout, chaque perceptron apprend une séquence, et combinaison de tous les readout ((?PB? : aggrégation)
      • avantages: readout facile a entrainer
      • inconvénients: protocoles de présentations des séquences (ensemble control meilleures pistes?)
  • méthode de validation (ensemble)
    • contrairement aux cas précédents, la temporalité joue un role : ici on va faire :
      • une sorte de N-fold ou chaque ESN (ou readout) est validé sur une séquence non utilisée pour l'apprentissage
      • la performance de l'ensemble avec différentes options d'aggrégation sur des données non utilisées pour aucune ESN/readout
      • problème: cohérence pour comparer les résultats ESN et autres.

Expériences (sur robot) à faire:
  • asservissement point rouge. En vue : une démo ou on guide le robot avec le point rouge.

Problématiques intéressantes et prospectives:
  • (cf. michele) : néttoyage des exemples pour réduire le nombre d'exemples perturbateurs (étiquette par cohérente avec la tache)
  • etude des reservoirs dans les cas ou les ESN ne reconvergent pas aprés une perturbation (cf. exp de nicolas)
  • methode de sampling (1) : boosting...?
  • methode de sampling (2) : methode de fusion des données avant apprentissage pour construire une séquence de "méta-démonstration"


Collaborateur(s) de cette page: cedric et nicolas .
Page dernièrement modifiée le Mardi 17 juillet 2007 11:45:26 CEST par cedric.