L'apprentissage machine, c'est quoi ?

Accueil
Home
Apprendre ?
Membres
Recherche
Stage/Thèse
Publications
Liens

Chez tous les êtres vivants, à des degrés divers et à l'aide de mécanismes très variables (génétiques, chimiques ou culturels), on observe une aptitude à acquérir de nouveaux comportements à partir des interactions avec leur environnement. L'objectif de l'Apprentissage Machine (« Machine learning ») est d'étudier et de mettre en œuvre de telles mécanismes sur des systèmes artificiels. Les deux définitions suivantes balisent assez bien le domaine d'activités de l'apprentissage machine et ses objectifs :
  • « Apprendre consiste à construire et à modifier des représentations ou des modèles à partir d'une série d'expériences » (Michalski 86)
  • « Apprendre consiste à améliorer les performances d’un système sur une tâche donnée à partir d’expériences » (Mitchell 96)

Domaines utilisant l’apprentissage ...

La généralisation des ordinateurs rapides et l'omniprésence des réseaux facilitent la création et l'échange de bases de données, de documents textuels et plus généralement de masses de connaissances de plus en plus importants. Dès lors, contrairement à ce qui se passait il y a quelques années, la difficulté ne réside plus dans l'accès à l'information mais dans son filtrage. Par exemple, dans notre travail de recherche on observe une multiplication du nombre de rapports, d'articles, de conférences, ... qui, on s'en doute aisément, présentent des niveaux d'intérêt très disparates. En parallèle, dans tous les domaines d'activité, académique ou industriel, apparait un besoin croissant de systèmes intelligents, capablent de seconder l'être humain pour effectuer des tâches lourdes ou routinières.

Or, lorsqu'on travaille sur des domaines complexes et mal formalisés il est souvent difficile, voire impossible, de décrire a priori de façon exacte et optimale les traitements que devront effectuer les programmes informatiques. Naturellement, on se trouve ainsi amené à concevoir et développer des « outils apprenants » susceptibles d'analyser de manière autonome les données issues de l'environnement et, sur cette base, aptes à prendre des décisions, voire à élaborer des stratégies d'interactions. De manière non exhaustive on peut utiliser les techniques d'apprentissage dans des problèmes de ce type :

  • L'aide à l’analyse de masses de données (Bio-informatique, Langage nature, ... )
  • La construction de systèmes de diagnostic et de décision (Médecine, Finance, ...)
  • La gestion de véhicules autonomes capables de traiter des « signaux » visuels et sonores
  • La réalisation d'interfaces homme/machine conviviales (PDA, assistants Web, ...)

Un exemple : la construction « d’arbre de décision »

Pour illustrer notre propos, voici un exemple « jouet » classique de processus d'apprentissage, qui vise à construire un « arbre de décision ». Dans un tel arbre chaque nœud correspond à une question et la suite des réponses qu'on apporte permet de descendre dans l'arbre pour d'arriver sur une feuille contenant la réponse ...

Supposons que l'on désire connaitre les raisons pour lesquels certaines molécules ont une activité toxique et d'autres pas. Pour ce faire, on recueille un échantillon de données expérimentales dans lesquelles les molécules sont décrites à l’aide « descripteurs ». Ici il y en a simplement quatre : le nombre de cycles benzène, la masse de la molécule, le PH de la solution la contenant et la présence d’un radical carboxyle (COOH)
A partir de cet échantillon on obtient l'arbre ci-contre. L'objectif du système est donc de trouver les variables pertinentes permettant d'obtenir l'arbre le plus petit et le plus efficaces possible. En effet, il ne s'agit pas de compacter l'information initiale mais bien de produire un arbre capable d'inférer la bonne réponse pour des individus autres que ceux qui ont servi à apprendre.

Sur un tel exemple le problème est évidemment trivial à traiter, mais lorsque l'on travaille sur des bases de plusieurs centaines de milliers de molécules décrit chacun par des centaines de variables on imagine sans peine la complexité théorique et algorithmique du problème qui est à résoudre. Ainsi, les données de départ pourraient être des images satellites représentants différents types de surfaces et le but de l'apprentissage serait d'apprendre à discriminer automatiquement ces surfaces.

Bien sur, la construction d'arbre de décision n'est pas, et de très loin, la seule technique qui est utilisée en apprentissage machine. Parmi les approches intensivement étudiées en ce début de siècle on trouve : la programmation logique inductive (PLI), les approches bayésienne et à base de modèle de Markov, les séparateurs à vastes marges (SVM) , les algorithme génétique, la classification conceptuelle, l'inférence grammaticale, l'apprentissage par renforcement, et plus classiquement, l'analyse des données ...

Une approche multi-disciplinaires ...

Ainsi, de part la diversité des approches produites et la complexité des problèmes traités, l'apprentissage machine se trouve au carrefour de nombreuses disciplicines tels les mathématiques, les sciences humaines et bien sûr l'intelligence artificielle ... En outre, des domaines à priori plus éloignés de l'informatique comme la Biologie et la Physique sont également une source importante d'idées et de méthodes. La carte ci-dessous propose une topologie approximatives des liens entre les types d'apprentissage et les domaines scientifiques apparentés ...

Et notre équipe dans tout cela ? Eh bien en positionnant votre pointeur sur cette carte vous verrez les approches sur lesquelles nous travaillons principalement. De surcroît la lecture des pages de notre équipe et celle des projets sur lesquels nous travaillons vous permettra d'avoir une vue complète de nos activités de recherche au laboratoire Leibniz !

Dernière modification : 26/09/05, gb