D'une manière générale, depuis 1993, mes activités de recherche
concernent les systèmes adaptatifs. Plusieurs points de vue
m'intéressent :
Plan de la page :
Je liste ci-dessous avec plus ou moins de détails les points sur lesquels je travaille actuellement (liste non exhaustive), et ceux qui m'intéressent plus généralement.
Mes mots-clés favoris : apprentissage par renforcement (ie., sans connaître la dynamique et en-ligne) ; grands espaces d'états ; algorithmique ; représentation de l'état et approximation de fonction ; logiciel efficace off-the-shelf
Un problème crucial en apprentissage par renforcement, que l'on
rencontre également souvent en apprentissage automatique en général,
est celui d'approximer une fonction réelle à partir d'un ensemble
d'échantillons. Il existe un grand nombre de méthodes pour
cela. Néanmoins, il n'y a pas de méthode qui marche vraiment bien pour
un espace de grande dimension (et ici, « grand » est très
modeste : disons 100 pour fixer les idées).
On se penche sur les méthodes d'approximation de fonctions dites
non paramétriques. En particulier, on s'intéresse beaucoup aux
méthodes des moindres carrées, avec une régularisation l1 qui
fournissent des solutions très parcimonieuses. Ainsi, nous travaillons
sur l'algorithme LARS en version noyautée. En 2006, on a introduit
l'algorithme Equi-gradient descent (EGD) qui est une version à
noyau, pour la régression et l'apprentissage par renforcement du LARS.
On peut voir l'algorithme EGD comme engendrant un grand nombre, voire
une infinité comme on vient de l'étendre, de features/attributs
décrivant l'état du PDM. Ensuite, l'algorithme sélectionne de bons
attributs parmi ceux-ci.
L'EGD procède donc par une représentation en très grande dimension des
données (comme toutes les méthodes à noyaux), suivie par une sélection
des dimensions pertinentes.
Voir : le premier papier
sur l'EGD et ce papier plus
abouti.
L'un des problèmes avec ce type de méthodes est que le choix du noyau
implique aussi le choix des hyper-paramètres du noyau (largeur de
bande et matrice de covariance plus généralement pour un noyau
gaussien par exemple). Ce choix n'est pas facile a priori et
peut changer du tout au tout les résultats obtenus par
l'algorithme. On peut utiliser l'EGD en le configurant de telle sorte
qu'il cherche des noyaux gaussiens avec tel, tel ou tel
hyper-paramétrage, mais c'est lourd (c'est ce que l'on a fait dans les
premières publis). En 2008, on a proposé un algorithme original de
LARS noyauté qui optimise aussi les hyper-paramètres. Ce papier est
soumis, je le mets en ligne quand il sera accepté, ou quand le rapport
de recherche sera prêt...
On sait qu'en intelligence artificielle, il existe une
« bonne » représentation pour tout problème, représentation
extraordinaire qui rend le problème très facile à résoudre. Bien
entendu, trouver cette représentation est équivalent, donc aussi
difficile, que de résoudre le problème lui-même.
Pour la résolution d'un PDM, on a parfois une représentation
naturelle-et-utilisable-dans-la-pratique de l'état de l'agent (par
exemple, pour un système dynamique, on sait que sa position et sa
vitesse à chaque instant suffisent). Dans des tas de problèmes de
décision séquentielle, une telle représentation
naturelle-et-utilisable-dans-la-pratique n'est même pas évidente (les
jeux sont d'excellents exemples : échecs, dames, go, tétris,
pacman, poker, ...).
On sait que pour un PDM, son état permet de déterminer de manière
déterministe de l'action optimale à effectuer. Néanmoins, on constate
expérimentalement que si l'on enrichit cet état, l'apprentissage du
comportement optimal est beaucoup plus rapide. Donc, si l'état est
suffisant pour apprendre, au moins en principe, une politique
optimale, dans la pratique, on sait que l'adjonction d'information
(qui peut sembler redondante) accélère l'apprentissage. Néanmoins,
pour être utile, cette information doit bien entendu ne pas être
corrélées linéairement avec celle déjà présente par contre, une
combinaison non linéaire des attributs constituant l'état peut se
révéler grandement utile.
Nous menons donc une réflexion sur ce problème de découverte de
features utiles.
Voir : dans le cadre d'une approche basée sur la fonction valeur,
voir le papier d'ICML-A'2008 et
le papier du workshop
ECAI-ERLARS'2008. Pour une approche d'apprentissage direct d'une
politique, voir le papier
d'EWRL'2008. Pour une utilisation de la programmation génétique
pour découvrir des features en RL, voir le papier d'EURO-GP'2008. Une
synthèse de ces travaux est en cours de rédaction...
Depuis mes premiers travaux sur les algorithmes génétiques vers 1993,
je m'intéresse à la complexité « en pratique » des
algorithmes, plutôt qu'à leur complexité dans le pire des cas ou en
moyenne.
J'essaie d'y voir un peu clair en ce qui concerne la résolution de
PDM, quand on a un modèle de la dynamique, mais aussi quand on ne l'a
pas.
Nous étudions la mise en œuvre pratique et générique de l'idée
de gradient naturel, ainsi que l'évaluation de son apport dans le
cadre de l'apprentissage par renforcement.
Voir : ce papier.
Dès que j'ai des algorithmes qui me conviennent, je me mets à faire des tests sur différents problèmes :
La littérature en apprentissage pra renforcement et les sujets
connexes compte des milliers de référence, des milliers d'idées
d'algorithmes, ... Tout cela est éparse, plus ou moins validé
expérimentalement, plus ou moins utile dans la pratique.
L'apprentissage par renforcement a ceci de particulier qu'il se
déroule dans un contexte séquentiel, ce qui complique singulièrement
la concpetion et la mise au point effective d'algorithmes et de
programmes efficaces. Quand on regarde l'existant, il n'existe pour
ainsi dire aucun logiciel qui fonctionne réellement de manière
séquentiel, avec un réel souci d'efficacité et de fonctionnement sur
le long terme. Il y a aussi toute une méthodoglogie d'expérimentation
à imaginer.
J'essaie petit à petit de constituer une bibliothèque logicielle
réellement séquentielle, efficace, ... aussi facile que possible à
utiliser par un non expert, qui ne soit pas une « simple »
collection d'implantations d'algorithmes, mais un logiciel tout-en-un,
qui s'adapte au problème qu'il doit résoudre en choisissant le bon
algorithme, le bon paramétrage, ... Il y a encore beaucoup de travail
à faire.
Ici comme ailleurs, un algorithme d'apprentissage par renforcement
peut voir ses performances transformées si l'on utilise les
connaissances dont on dispose sur le problème à résoudre. Comme il
s'agît ici d'algorithmes apprenant en interagissant avec son
environnement, on peut imaginer de fournir des informations à l'agent
au fur et à mesure de son apprentissage, comme un maître apprend à ses
disciples. Il y a alors toute une « pédagogie » à développer
à destination de ces apprenants.
Mes premiers essais selon cette idée sont dans le papier ECML'2002, dont se n'est
absolument pas le thême principal. Néanmoins, dans la partie
expérimentale, j'avais expérimenté l'idée d'aider un apprenant à
sortir d'un labyrinthe en lui proposant des trajectoires lui montrant
le chemin. J'avais aussi investigué le fait de données une trajectoire
sous-optimale, à partir de laquelle l'algorithme apprend rapidement un
comportement optimal, voire des trajectoires mauvaises, à partir
desquelles il découvre assez vite qu'il peut faire bien mieux.
On a essayé d'aller plus loin sur ces idées (voir : le papier du workshop
ECAI'2006). Il reste beaucoup de travail à faire.
On a aussi travaillé sur l'idée d'apprendre tout d'abord sur un
problème simplifié, puis complexifier le problème lorsqu'une politique
correcte a été apprise pour ce problème simplifié. On peut alors
définir une séquence de problèmes allant du plus simple au problème
que l'on veut réellement résoudre in fine. L'espoir est bien
sûr qu'apprendre à résoudre un problème plus simple sera plus rapide
et que le transfert d'une politique quasi optimale vers un problème
plus complexe va améliorer considérablement la vitesse
d'apprentissage.
Ces idées tournant autour du transfer learning ont été
initialement proposées dans le résumé
de la présentation à EWRL'2001, le résumé de la présentation à
EWRL'2003, le tout étant dans
l'article de synthèse.
Tout en apprenant une politique, apprendre un modèle de la dynamique. Caractériser ce qui se passe quand on apprend en utilisant un modèle incomplet, faux, ...
(C'était une activité forte jusqu'en 2005, moins forte actuellement.)
On cherche à modéliser et simuler l'adaptation du comportement
(c'est-à-dire, son apprentissage) chez l'animal. Vivant dans un milieu
en perpétuelle modification, l'animal adapte constamment son
comportement à son environnement et poursuit donc constamment son
apprentissage dans son milieu. Cette modification du comportement a
été étudiée depuis la fin du XIXe siècle et a débouché sur des lois
importantes du comportement.
Pour l'informaticien, ces lois doivent être formalisées. Cela a
débouché sur les méthodes à base de différence temporelle
(TD-learning), dans le cadre de l'apprentissage par renforcement. Si
leur pertinence (ou plutôt, leur domaine de pertinence) est un sujet
de réflexion en lui-même, ces méthodes peuvent être utilisés pour
simuler l'adaptation du comportement animal.
On a commencé à construire un automate dont le comportement est basé
sur ces algorithmes (voir
la thèse de S. Delepoulle et
lil-01-02).
L'architecture
de l'automate est un système multi-agents, chaque agent étant contrôlé
par un algorithme TD. Les tâches à résoudre sont de nature non
markovienne.
Des simulations ont montré qu'il reproduit de manière pertinente un
certain nombre de points clés de la dynamique comportementale (courbe
d'apprentissage, façonnage, extinction, ...).
On a aussi montré expérimentalement que ces lois du comportement (basé
sur la loi de l'effet) peuvent résulter de l'évolution au cours des
générations (voir )
Nous avons aussi travaillé à la modélisation des mouvements oculaires
de suivi de cible (chez l'humain).
Mots-clés : apprentissage par renforcement
Collaboration : Jean-Claude Darcheville, Laurent Madelain et Yannic
Miossec de l'Unité de
Recherche sur l'Evolution du Comportement et l'Apprentissage.
Cadre institutionnel : projet DYNAPP (Dynamique de l'Apprentissage)
dans le programme « ACI
Systèmes Complexes et Sciences Humaines et Sociales ».
Progressivement, j'ai de plus en plus d'intérêt pour l'apprentissage automatique dans le cadre de la fouille de données. Cet intérêt est complémentaire de mes activités en apprentissage par renforcement. Quelques thèmes qui m'intéressent actuellement :
Traditionnellement basée sur des modèles numériques, la simulation de
systèmes naturels est aujourd'hui envisagée via l'utilisation de
modèles discrets à base d'agents informatiques. Ce type de modèles est
très naturel pour l'informaticien et il fait son chemin depuis les
années 1980 parmi les biologistes par exemple. Il est donc tentant
d'explorer les capacités de ce type de modèles. En outre, la
puissance et la disponibilité des ordinateurs permettent de réaliser
des simulations d'assez grande ampleur sur une machine de bureau. Dès
lors, on a imaginé un outil logiciel permettant de spécifier un
modèle, de l'animer, d'en observer l'évolution et d'en analyser les
résultats : un laboratoire virtuel.
On s'intéresse donc ici à la mise à l'épreuve de ce genre de modèles
et à la spécification et la réalisation d'un laboratoire virtuel. Nous
ne rejettons en aucun cas les modèles numériques, conscients que
chaque type de modèles possède une niche de processus qu'il modélise
bien ; aussi, la notion de couplage de modèles est-elle présente
dans cette réflexion.
Le travail s'appuie en particulier sur la modélisation du comportement
du copépode (zooplancton) dans son environnement (biologique : les
autres copépodes, ses proies et ses prédateurs ; physique : les
turbulences).
Mots-clés : couplage de modèles hétérogènes, expériences
virtuelles, modélisation, simulation et validation.
Collaboration :
Éric Ramat et
Raphaël Duboz du
Laboratoire d'Informatique du Littoral à Calais.
Cadre institutionnel : projet
Mimosa
soutenu par le GDR-PRC I3,
une action de recherche
dans le Programme National Environnement-Côtier (PNEC), le collège SMA.
Pendant un certain nombre d'années, je me suis intéressé aux
algorithmes génétiques, à leur hybridation, à leur utilisation pour la
résolution de problèmes d'optimisation combinatoire (TSP, QAP, JSP) et
à la notion de paysage adaptatifs. J'avais notamment essayé de trouver
des moyens de mesurer a priori la difficulté d'une instance de
problème d'optimisation combinatoire et comprendre d'où provient cette
difficulté, pour pouvoir choisir, a priori, la meilleure
heuristique pour résoudes une instance donnée.
Une espèce de synthèse de tout cela est disponible sous la forme de
mon hdr. On pourra voir le papier
ITOR'1999 qui fait une courte synthèse de ces travaux.
Il y a encore plus longtemps, ma thèse (janvier 1991, LIFL) concernait l'architecture et la programmation des supercalculateurs vectoriels (de type Cray Y-MP). Nous avions notamment développé différents langages de haut niveau de programmation vectorielle (Eva puis LSD), avec J-L. Dekeyser (directeur de thèse, LIFL) et Philippe Marquet (LIFL, à l'époque en thèse aussi) ; j'avais en particulier conçu le langage intermédiaire vectoriel multi-plate-formes dénommé Devil et écrit un compilateur de ce langage pour Cray Y-MP au cours d'un séjour post-doctoral au SCRI, à Tallahassee, Floride, en 1991. That was great fun!