• Aucun résultat trouvé

Deuxième partie

5.6 Algorithme de création de règles

La création de nouvelles règles est habituellement réalisée par un algorithme de regrou-pement (clustering) incrémental. Réaliser un partitionnement des données est une tâche complexe lorsque les données arrivent en flux. La majorité des algorithmes existants se basent sur deux structures de données : une première contenant le partitionnement actuel qui évolue avec les données, et une deuxième contenant des informations sur le flux de données pour prendre la décision de création de nouveaux groupes (clusters).

L’algorithme que nous avons mis au point est beaucoup plus simple : il cherche seule-ment à compléter le partitionneseule-ment existant. Lorsque le partitionneseule-ment existant est insuffisant, un nouveau groupe est créé pour le compléter et uniformiser le découpage de l’espace.

L’algorithme utilisé pour créer de nouvelles règles, avec les prototypes et conclusions associés, est en deux étapes. Une première étape de regroupement incrémental naïf permet d’assurer une séparation minimum des données. Une deuxième étape, basée sur l’utilisa-tion du rejet de distance, permet d’avoir une séparal’utilisa-tion plus fine. Contrairement à celui d’Evolve, cet algorithme permet la création de nouvelles règles, même lorsque le système travaille avec un espace de représentation de dimension cinquante, comme c’est le cas avec le jeu de caractéristiques HBF49 [Delaye and Anquetil, 2013] que nous utilisons.

5.6.1 Regroupement incrémental naïf

L’algorithme de regroupement incrémental naïf est très simple, il consiste à créer au minimum une règle par classe. Même si toutes les règles participent à la reconnaissance de toutes les classes, il est indispensable d’avoir au moins une règle par classe pour garantir de bonnes performances de reconnaissance. Le prototype associé peut ainsi suivre l’évolution des données de cette classe, sans devoir faire de compromis avec les autres classes. Il parait en effet peu logique d’avoir un seul prototype modélisant deux symboles différents.

L’objectif de cet algorithme de regroupement incrémental naïf est de garantir une sé-paration minimale, qu’il y ait au moins une règle par classe. Cette sésé-paration minimale

des données dans l’espace d’entrée peut ensuite être affinée par un algorithme de regroupe-ment incréregroupe-mental avancé. Dans tous les cas, indépendamregroupe-ment du second algorithme utilisé, ce regroupement incrémental naïf est obligatoire pour garantir le bon fonctionnement de l’apprentissage incrémental.

En pratique, lorsqu’une nouvelle classe est ajoutée, la première donnée de cette classe sert de centre au nouveau prototype, et la matrice de covariance est initialisée à sa valeur par défaut.

Cet algorithme de regroupement incrémental naïf permet déjà, en dépit de sa simplicité, d’obtenir des résultats très satisfaisants tant qu’il n’y a pas plusieurs types de symboles différents par classe.

5.6.2 Utilisation du rejet de distance

La seconde étape de regroupement est réalisée à l’aide de l’option de rejet de distance. C’est une méthode très simple, mais efficace car elle permet de créer de nouveaux pro-totypes là où il en manque. Le principal avantage de l’utilisation de l’option de rejet de distance évolutive d’Evolve ∞ est que son seuil de rejet est basé sur une mesure interne. Ce seuil est fixé de manière automatique et en accord avec les données et l’espace de repré-sentation utilisé comme nous l’avons expliqué en section 5.5.1. Le rejet de distance permet de délimiter le modèle de connaissance du classifieur. L’utiliser comme algorithme de re-groupement incrémental permet d’étendre le modèle du classifieur là où c’est nécessaire.

L’utilisation de la capacité de rejet du classifieur permet d’obtenir un partitionnement relativement uniforme de l’espace d’entrée. De nouveaux prototypes sont créés dans les espaces vides entre les prototypes existants. Cette technique créée ainsi un maillage de l’espace d’entrée en étendant le partitionnement existant, avec approximativement la même densité.

Enfin, le fait que le seuil de rejet utilisé pour le rejet de distance soit la plus petite distance entre les prototypes existants garantit un espacement minimum. Le modèle du classifieur est donc étendu, mais la densité de prototypes n’augmentera pas plus que néces-saire. Par conséquent, cette technique nous préserve du problème de sur-partitionnement.

5.7 Conclusion

Nous avons présenté dans ce chapitre le classifieur évolutif en-ligne Evolve ∞ que nous avons mis au point à partir du classifieur Evolve. Nous avons décrit plusieurs contributions que nous avons apportées à ce système, dont un algorithme d’apprentissage intégrant de l’oubli pour maintenir son caractère évolutif, et une capacité de rejet multiple et évolutive. Evolve est un système d’inférence floue (fuzzy inference system) d’ordre un. C’est un système à deux étages : les prémisses et les conclusions des règles d’inférence. Les prémisses forment la partie générative du système, elles sont modélisées par des prototypes dans l’espace d’entrée. Les conclusions forment la partie discriminante du système, elles sont obtenues par des régressions linéaires.

Chapitre 5. Evolve ∞ : un classifieur évolutif en-ligne 105

L’algorithme d’apprentissage d’Evolve est incrémental, et fonctionne en temps réel grâce à sa faible complexité. Il traite les données une par une pour construire un mo-dèle de connaissance global, sur l’ensemble des données du flux. Son architecture sous forme d’ensemble de règles lui permet d’intégrer de nouvelles connaissances et de nouvelles classes pendant son utilisation, sans pour autant perturber la connaissance existante, et ainsi d’obtenir un très bon compromis plasticité/stabilité. L’algorithme d’apprentissage Evolve n’intègre pas d’oubli, ce qui fait qu’il n’est pas capable de suivre des changements de concepts s’ils interviennent après une longue période d’apprentissage. Le gain de son algorithme d’apprentissage diminue avec le temps, l’inertie de son modèle de connaissance augmente et le système finit par ne plus évoluer.

Evolve ∞ intègre notamment de l’oubli dans son algorithme d’apprentissage pour main-tenir la capacité d’évolution du système au cours du temps. Cet oubli est à la fois intégré dans le processus d’apprentissage des prémisses et dans celui des conclusions. L’oubli main-tient le gain du processus d’apprentissage et permet d’empêcher la convergence du modèle de connaissance du système. Le classifieur peut ainsi suivre les évolutions du style d’écri-ture de l’utilisateur avec le temps, lorsque celui-ci passe de novice à expert et déforme de plus en plus ses gestes, à la manière d’une signature.

Evolve ∞ dispose également d’une capacité de rejet multiple et évolutive. L’option de rejet de distance permet de rejeter les données qui ne correspondent pas aux données d’apprentissage. Elle est notamment utilisée par l’algorithme de création de règles pour étendre le modèle de connaissance du classifieur lorsque cela est nécessaire. L’option de rejet de confusion permet de limiter les erreurs commises par le système lorsqu’il hésite entre plusieurs classes. Elle dispose d’une architecture avancée, avec des seuils de rejet multiples, pour de meilleures performances. Un algorithme d’apprentissage flou permet d’apprendre ces différents seuils et de les faire évoluer en synergie avec l’apprentissage du classifieur. Une mesure de confiance interne est également disponible, et permet d’évaluer la confiance du système lors du processus de reconnaissance, même au tout début de l’apprentissage du système. Elle permet notamment au superviseur actif en-ligne IntuiSup, qui est présenté chapitre 6, de prendre la décision d’interagir avec l’utilisateur lorsque celui-ci est dans la boucle d’apprentissage. Cette mesure peut être utilisée à un stade très précoce de l’apprentissage, ce qui est particulièrement utile dans la période d’apprentissage initiale du système.

Dans Evolve ∞, la création de nouvelles règles est réalisée par un algorithme de regrou-pement incrémental spécifique. Cet algorithme permet de créer de nouvelles règles lorsque de nouvelles classes sont ajoutées, et lorsqu’une classe évolue brusquement (changements de concepts abrupts). Il tire notamment parti de l’option de rejet de distance pour étendre le modèle de connaissance du système lorsque cela est nécessaire.

Evolve ∞ est un classifieur évolutif générique, qui peut être utilisé dans n’importe quelle situation d’apprentissage en-ligne. La capacité d’Evolve ∞ à apprendre pendant son utilisation en fait un classifieur très adapté pour les contextes où très peu de données d’ap-prentissage sont disponibles initialement, comme celui de la reconnaissance de commandes gestuelles personnalisées. Lorsque l’utilisateur est dans la boucle d’apprentissage, il est nécessaire d’avoir un système de supervision actif en-ligne comme celui que nous allons

Chapitre 6

IntuiSup : un superviseur actif

en-ligne

6.1 Introduction

Ce chapitre présente le superviseur IntuiSup (Intuitive Supervisor) qui permet de su-perviser l’apprentissage d’un classifieur de commandes gestuelles. Cet environnement a été mis au point pour superviser l’apprentissage du classifieur Evolve ∞, mais peut aussi bien superviser l’apprentissage de n’importe quel autre classifieur évolutif, comme ceux vus au chapitre 3. Le seul prérequis est que le classifieur fournisse un score de confiance lors de la reconnaissance des données pour pouvoir réaliser la sélection des données d’apprentissage. L’apprentissage et la reconnaissance de commandes gestuelles est une situation d’ap-prentissage croisé : l’utilisateur doit mémoriser les commandes et le classifieur doit les apprendre à les reconnaitre. Afin de pouvoir apprendre et améliorer le classifieur pendant son utilisation, il est nécessaire d’interagir avec l’utilisateur pour pouvoir consolider l’éti-quetage des données. Les données peuvent en effet être étiquetées avec l’étiquette reconnue dans certains cas, mais il est parfois nécessaire que l’utilisateur confirme ou corrige cet étiquetage pour apprendre efficacement.

D’un autre côté, solliciter constamment l’utilisateur est ennuyeux, et réduit considé-rablement la fluidité d’utilisation des commandes gestuelles. Il faut faire un compromis entre le nombre d’interactions avec l’utilisateur et le nombre d’erreurs de reconnaissance. Nous avons donc mis au point un système de supervision active en-ligne pour optimiser la coopération entre l’utilisateur et le classifieur dans cette situation d’apprentissage croisé.

Le système de supervision actif en-ligne IntuiSup est composé de deux parties comme présenté figure 6.1 :

— la méthode d’étiquetage implicite ; — la méthode d’étiquetage explicite ; avec deux variantes pour l’étiquetage explicite :

— la méthode d’échantillonnage évolutive ESU (Evolving Sampling by Uncertainty) ; — la méthode d’échantillonnage avec « dopage » B-ESU (Boosted-ESU) ;

La superviseur IntuiSup combine un étiquetage implicite de la majorité des données bien

Superviseur actif en-ligne IntuiSup

Étiquetage implicite Étiquetage explicite

Échantillonnage avec un seuil de sélection constant

Méthode d’échantillon-nage évolutive ESU

Méthode d’échantillon-nage avec dopage B-ESU

A B

A B

A est composé de B

B est un sous-type de A

Figure 6.1 – Détail de l’architecture du superviseur actif en-ligne IntuiSup.

reconnues, avec un étiquetage explicite des données complexes. Cet étiquetage explicite est réalisé par la méthode d’échantillonnage évolutive ESU, qui peut-être complétée par la méthode de « dopage » (boosting) de l’apprentissage pour former B-ESU.

Le système de supervision actif en-ligne IntuiSup permet de superviser l’apprentissage en-ligne d’un classifieur évolutif lorsque l’utilisateur est dans la boucle. Une majorité des données bien reconnues est étiquetée implicitement pour renforcer le modèle du classifieur sans solliciter l’utilisateur. Pour permettre au classifieur d’apprendre de ses erreurs, le sys-tème de supervision interagit également avec l’utilisateur pour permettre l’apprentissage, avec les bonnes étiquettes, des données mal reconnues. L’échantillonnage des données qui sont étiquetées explicitement est basé une mesure de confiance du classifieur. Cela per-met de sélectionner les données qui sont éloignées du modèle de connaissance actuel du classifieur, et d’apprendre à partir des données complexes et mal modélisées pour l’instant. Cette méthode d’échantillonnage qui sélectionne les données qui ne sont pas en adé-quation avec le modèle du classifieur, est similaire à une option de rejet. D’une manière similaire, il est ici nécessaire de faire un compromis entre le nombre d’erreurs et de sol-licitations de l’utilisateur. Nous avons donc réalisé un sondage parmi les participants à une expérimentation de commandes gestuelles qui nous a permis de choisir le compromis E2RR : une erreur pour deux rejets/sollicitations (an Error for 2 Rejections Rate), comme expliqué en section 2.4.3 (page 43). Puisque le système est dans une situation d’apprentis-sage en-ligne, le compromis erreur/sollicitation va changer avec l’évolution du système. La méthode d’échantillonnage évolutive ESU (Evolving Sampling by Uncertainty) est basée sur une modélisation statistique de l’évolution du système, pour faire évoluer l’échantillonnage et ainsi maintenir le compromis erreur/sollicitation souhaité au cours du temps.

Cette méthode d’échantillonnage est basée sur la mesure de confiance interne qui est fournie par Evolve ∞. L’intérêt d’utiliser cette mesure de confiance interne, plutôt que la

Chapitre 6. IntuiSup : un superviseur actif en-ligne 109

capacité de rejet d’Evolve ∞, est qu’elle est très réactive et efficace à un stade très précoce de l’apprentissage. La capacité de rejet d’Evolve ∞ est en effet basée sur une architec-ture multi-seuils qui nécessite un certain nombre d’exemples d’apprentissage avant d’être pleinement efficace. Enfin, le compromis erreur/sollicitation auquel fait face le superviseur actif IntuiSup est différent du compromis erreur/rejet auquel est confronté le classifieur Evolve ∞. Dans le cadre de l’apprentissage actif, les interactions ont un impact sur l’ap-prentissage du classifieur, et donc sur le futur taux d’erreur. Il est alors intéressant de sortir du compromis idéal erreur/rejet pendant une courte période afin d’obtenir un compromis futur plus intéressant.

La méthode d’échantillonnage évolutive ESU est complétée par une méthode de « do-page » de l’apprentissage pour obtenir B-ESU (Boosted-ESU), qui permet d’optimiser l’im-pact des interactions avec l’utilisateur sur l’apprentissage. L’idée de cette méthode est de redistribuer les interactions au cours du temps pour les concentrer aux moments où elles seront les plus bénéfiques pour le classifieur. Cette méthode augmente automatiquement le taux d’échantillonnage au début de l’utilisation du système, et pendant les changements de concepts, pour augmenter la quantité de données étiquetées et accélérer le processus d’apprentissage. Cette amélioration plus rapide du classifieur ainsi obtenue permet ensuite de réduire le taux d’échantillonnage, car le classifieur commet moins d’erreurs. Le taux d’échantillonnage obtenu au final est plus bas, et les interactions avec l’utilisateur sont réduites pour la suite de l’utilisation du système.