Par: Benoît TROUVILLIEZ

Introduction

Un sujet que je n’ai encore que peu abordé dans ce blog concerne la notion d’apprentissage artificiel (que l’on désigne également par apprentissage automatique). C’est pourquoi, je vous propose une série de billets traitant de cette problématique. Nous étudierons principalement les tâches de classification et regroupement car elles sont au cœur de nos préoccupations.

Ce premier billet va nous servir à introduire les premières notions indispensables pour comprendre le domaine, le but recherché et les étapes principales de sa résolution.

Fondements de l’apprentissage artificiel

Clarifions d’abord les fondements de l’apprentissage artificiel. Pour cela, il faut repartir des origines de l’intelligence artificielle. L’intelligence artificielle vise à faire réaliser par des machines des tâches complexes normalement abordables uniquement par des humains.

L’approche classique consiste à étudier la tâche à réaliser et à développer le programme “intelligent” qui va pouvoir l’accomplir (dans l’idéal bien sûr). Un problème qui peut être induit par cette démarche est le coût engendré par l’étude de chacune des tâches et la conception d’algorithmes uniques pour chacune d’elles. Alors comment résoudre ce problème?

La solution imaginée consiste à remonter l’intelligence artificielle à un niveau supérieur. Plutôt que d’étudier les tâches individuellement et de développer un programme intelligent pour chacune d’elles, l’étude porte sur un ensemble de tâches “similaires”. Le but du programme intelligent est alors d’observer les caractéristiques spécifiques de chacune des tâches pour s’adapter à leurs résolutions. L’intelligence artificielle n’est alors plus concrètement au niveau de la réalisation de la tâche mais au niveau de l’auto adaptation du programme ciblée sur la réalisation de la tâche. Cette philosophie porte le nom d’apprentissage artificiel.

Protocoles d’apprentissage en classification et regroupement : de l’apprentissage naturel à l’artificiel

Un algorithme d’apprentissage artificiel permet donc l’adaptation automatique à la réalisation d’une tâche appartenant à une catégorie de tâches similaires. Cette notion de catégorie de tâches est importante car chaque algorithme d’apprentissage est connu pour fonctionner sur certains types de tâches et pas sur d’autres. Il est donc nécessaire de déterminer quelles sont les algorithmes à employer en fonction du type de la tâche. Parmi ces types de tâches, nous trouvons celles de classification et regroupement de textes que nous étudions plus en détails ici.

Pour mieux comprendre le principe de l’apprentissage artificiel, nous allons établir quelques parallèles avec l’apprentissage naturel qui diffère de l’artificiel par le fait qu’il soit réalisé non pas par une machine mais par un humain.

Imaginons que nous (humain) souhaitions apprendre à faire une tâche de classification/regroupement qui nous est totalement inconnue de prime abord. Par exemple classer (ou regrouper) des revues par thème. Bon d’accord, vous savez probablement déjà le faire mais bon j’ai dit imaginons….

Comment nous y prendrions nous pour apprendre à le faire sans connaissance particulière au préalable? Nous avons déjà en partie répondu à cette question en énonçant ce qu’était un apprentissage. La clé est dans l’observation des caractéristiques de la tâche à accomplir. Mais concrètement comment cela se traduit-il?

Si nous sommes seul pour réaliser cette tâche, nous pourrions lire les revues et essayer de découvrir dans leur contenu des points de similitude ou au contraire des points de divergence entre elles. Grâce à cela, nous pourrions alors trouver une façon de regrouper nos revues par thème.

Si au contraire nous sommes accompagné d’un éminent professeur spécialiste du classement de revues, nous pourrions alors lui demander de nous indiquer les différentes thématiques de revues ainsi que de nous donner les exemples les plus usuels. Nous pourrions alors en déduire des règles pour nous permettre par la suite de classer par nous même les revues.

Notre expert pourrait également ne pas avoir beaucoup de temps à nous consacrer (il est pas mal demandé!). Dans ce cas, nous serions obligé de nous contenter que de quelques exemples délivrés par notre savant professeur et nous serions alors obligé de chercher par nous même les éléments qu’il n’auraient pas eu le temps de nous transmettre.

Cet exemple humoristique illustre trois processus d’apprentissage naturel de classification/regroupement. Si l’on souhaite faire réaliser ces mêmes processus à une machine, l’apprentissage devient alors artificiel. Le terme d’apprenant désigne alors le système “qui doit apprendre la tâche”. Comme nous, la machine peut être confrontée à des apprentissages où elle doit apprendre seule ou au contraire avec l’aide d’un professeur (on l’appelle plus couramment Oracle en apprentissage artificiel).

Il existe de ce fait trois grands axes de protocoles d’apprentissage artificiel utilisés pour les tâches de classification et de regroupement :

  • non supervisé : Aucun Oracle n’est disponible. L’algorithme doit découvrir par lui même les similitudes et divergences dans les données fournies pour apprendre la tâche de regroupement.
  • supervisé : Un Oracle est disponible et étiquette les données. L’algorithme va alors apprendre la tâche de classification en se basant sur les étiquettes posées par l’Oracle.
  • semi-supervisé : Un Oracle est partiellement disponible et étiquette quelques données. L’algorithme va alors apprendre la tâche de classification en se basant sur les étiquettes posées par l’Oracle et en découvrant par lui même les informations manquantes.

Il existe d’autres types de protocoles d’apprentissage artificiel utilisés pour d’autres types de tâches comme par exemple l’apprentissage par renforcement utilisé entre autres dans la robotique. Nous ne les aborderons cependant pas en détails dans ce billet.

Les phases des protocoles d’apprentissage artificiel en classification et regroupement

Comme notre exemple de classer des revues nous le laissait transparaître, un protocole d’apprentissage artificiel se déroule en phases différentes selon les conditions dans lesquels on apprend.

L’apprentissage non supervisé n’en comporte qu’une seule puisque l’apprenant découvre directement la tâche de regroupement depuis les données. Cette phase est appelée regroupement, même si elle est plus connue sous sa dénomination anglaise clustering. Dans l’exemple ci-dessous, les trois données X1, X2 et X3 sont regroupées dans deux groupes distincts regroupant X1 et X2 dans Y1 et X3 seul dans Y2.

Les algorithmes supervisés en comportent deux distinctes :

  • la phase d’entraînement où l’on présente les données étiquetées par l’Oracle. Dans cette phase, le but de l’algorithme est de déterminer des critères permettant de prédire l’étiquetage de l’Oracle Y d’une entrée X par une sortie Y’ la plus proche possible de Y.
  • la phase de classification où l’algorithme va étiqueter des données vierges X avec des étiquettes Y’ en fonction des règles apprises lors de la première étape.

Ces deux phases peuvent être exécutée de manières consécutive ou itérative. Concrètement, il est en fait possible de revenir à la phase d’apprentissage après le début de la phase de classification. On obtient alors une sorte d’itération entre les deux phases visant à perfectionner l’apprentissage au fil de l’eau que de nouveaux exemples sont disponibles.

Cela amène alors à différencier deux sous types de protocoles d’apprentissage pour la supervision :

  • apprentissage supervisé en ligne où l’on effectue des itérations entre les deux phases
  • apprentissage supervisé hors ligne où l’on effectue consécutivement l’entraînement puis la classification

Les algorithmes semi-supervisés fonctionnent sur les deux même phases mais acceptent en plus des données non étiquetées pendant la phase d’entraînement.

Dans ce cadre, le but n’est pas tant d’attribuer une étiquette à la donnée que de prendre en considération que cette donnée est “rencontrable” en classification. En effet, les algorithmes supervisés partent du principe que les données fournies lors de la phase d’apprentissage sont totalement représentatives de celles “rencontrables” en classification. Cette contrainte n’est pas toujours respectable surtout si l’étiquetage de données est coûteux. La non représentativité des données d’apprentissage est alors un problème pour ces algorithmes. Le but de la semi supervision est donc d’offrir la possibilité de renseigner l’algorithme sur la nature réelle du problème à couvrir sans devoir pour autant engager un coût trop important dans l’étiquetage.

Conclusion

Nous abordons dans le prochain billet la question des moyens d’apprendre pour la classification et les regroupements (biais et modèles).

Mots clefs : , , , , , , , , , , ,