Apprentissage actif

From Wikipedia, the free encyclopedia

L’apprentissage actif[1],[2] est un modèle d’apprentissage semi-supervisé où un oracle intervient au cours du processus. Plus précisément, contrairement au cadre classique où les données sont connues et imposées, en apprentissage actif, c'est l'algorithme d'apprentissage qui demande des informations pour des données précises.

Cette technique repose sur l'hypothèse que l’acquisition de données non étiquetées est beaucoup moins coûteuse que celle de données étiquetées. Elle repose également sur l’hypothèse que l’apprentissage est plus efficace lorsque l’on est curieux, en cherchant les données les plus intéressantes à étiqueter. L’apprentissage actif permet d'effectuer diverses tâches classiques dans le domaine de l'apprentissage automatique telles que la classification ou la régression.

Le principe de la technique est de trouver la requête la plus pertinente pendant le processus d’apprentissage afin de maximiser le gain d’informations sur le problème. C’est pour cela que ce type d’apprentissage nécessite des interactions avec un oracle (humain ou non). Contrairement à l’apprentissage passif, c’est l'apprenant (learner) qui choisit les données à étiqueter par l’oracle. À cette fin, il existe plusieurs types de processus de construction ou de sélection de ces requêtes, qui sont détaillés dans les sections suivantes. Par exemple, disons que l'on peut disposer d'un expert, un cancérologue de grande renommée (l'oracle), et donc très cher lorsque l'on souhaite identifier si sur une radiographie il y a ou non présence de tumeur cancéreuse (classification binaire : il y a une tumeur, ou non). Dans cet exemple, la création d'une base de données non étiquetées, un ensemble de radiographies, est beaucoup moins coûteuse que d’acquérir un ensemble de données étiquetées, via le diagnostic d'un expert sur chaque donnée. L'apprenant va donc réfléchir aux questions les plus intéressantes à poser, c'est-à-dire sur les cas les plus ambigus, afin de maximiser son savoir sur ces radiographies tout en minimisant le coût (les honoraires du médecin).

Par rapport à l’apprentissage supervisé passif, l’apprentissage actif permet d’obtenir de bons résultats avec un ensemble de données étiquetées réduit. Cependant, le cadre et le problème en lui-même influencent les performances.

Il existe trois grands processus d'apprentissage qui doivent être couplés à des stratégies de sélection de données à étiqueter. Nous détaillerons d'abord ces trois processus, puis les stratégies communes de sélection. Dans une dernière partie seront détaillées les limitations rencontrées dans l'usage de telles méthodes.

Formalisme

On définit ici le formalisme utilisé plus bas.

Soient un ensemble de données non-étiquetées et l'ensemble des étiquettes correspondantes. Les correspondent aux étiquettes prédites par le modèle courant .

Dans une tâche de classification, chaque étiquette correspond à une valeur discrète, dénommée la classe de la donnée, c'est-à-dire . Par contre si l'on cherche à faire de la régression, chaque étiquette est une valeur continue,

On note alors la probabilité d'associer l'étiquette à la donnée dans le modèle . désigne la donnée optimale à étiqueter.

Processus d’apprentissage

Les trois processus d’apprentissage principaux sont la synthèse de requête, la sélection sur un flux de données entrant et l’échantillonnage sur une base de données. Cependant, celui-ci dépend du problème, des données et du contexte dans lequel il évolue. Dans la suite de la section qui détaillera ces trois types de processus, on considérera qu’une requête est une demande d'étiquetage par l’oracle d’une donnée non étiquetée.

Synthèse de requêtes

Les premiers travaux en apprentissage actif se sont faits via la synthèse de requêtes : l’apprenant crée lui-même les requêtes sur les espaces les plus ambigus de l’espace des données. Un exemple d'un scénario simple peut être un problème de classification binaire avec des données mono-dimensionnelles réel, tel que le jeu du "Plus ou Moins". Cela revient à chercher la limite séparant les deux classes, qui correspond à un réel . L'apprenant va alors successivement créer des requêtes sur la limite actuelle prédite afin d’affiner cette prédiction en suivant la réponse de l'oracle.

Cependant, la génération de nouvelles données par l’apprenant donne parfois des résultats impossibles pour l’oracle à étiqueter, car dans l'espace des données synthétisables, toutes les données ne sont pas forcément valides. Par exemple, Lang et Baum[3] ont utilisé la synthèse de requête pour reconnaître des chiffres écrits à la main. Mais le problème est que l’algorithme créait des symboles qui n’existaient pas, car il mélangeait plusieurs chiffres différents, et que l’on ne peut donc pas classifier.

Apprentissage en ligne

La seconde manière de procéder est d’utiliser des techniques issues de l'apprentissage en ligne : il se fait sur des données qui arrivent de manière successive. Dans le cas de l’apprentissage actif, l’apprenant décide, à chaque nouvelle donnée reçue si cette dernière nécessite d'être étiquetée ou non. Il existe plusieurs méthodes pour définir si une donnée mérite d’être étiquetée ou non en fonction de la connaissance que cela apporterait à l’apprenant (détaillées plus tard). Cette méthode permet de réduire l’espace mémoire consommé par l’apprentissage (par exemple dans une application mobile ou embarquée, où l’espace mémoire est limité).

Par exemple, Fujii et al[4] ont utilisé la sélection d’échantillon sur un flux (en réalité sur une base, mais ils prennent les données une par une, ce qui revient à les prendre en flux) afin de construire une base de données pour connaître le sens d’un verbe polysémique dans un contexte donné. En effet, annoter à la main un corpus entier de phrase est long et fastidieux pour un être humain. L'apprentissage actif est donc utilisé pour sélectionner les “meilleurs” échantillons de ce corpus et en faire la base d’un autre algorithme qui donne le bon sens à un verbe dans son contexte en fonction de cette base.

Apprentissage hors ligne

Dans beaucoup de contextes d’apprentissage, on peut obtenir une base de données non étiquetées facilement. La tâche de l’apprenant est donc de déterminer quelle est la donnée à étiqueter qui rapporterait le plus d’informations afin d’améliorer la classification.

Comme dit dans la section précédente, il est simple de passer d'une base de données à un flux. Cependant, ceci dépend du problème étudié et de ce que l'on veut faire. L'avantage principal des méthodes hors ligne est la connaissance de l'ensemble des données dès le début de l'apprentissage et donc en théorie, améliore la décision de sélection des requêtes à étiqueter. Ceci peut avoir pour conséquence de converger vers une solution acceptable avec moins de requêtes.

Stratégies de sélection des requêtes

Problèmes pratiques

Notes & Références

Related Articles

Wikiwand AI