• Aucun résultat trouvé

Dans le chapitre 3, nous utilisons des techniques d’apprentissage par renfor-cement pour des problèmes de classification. L’avantage de l’apprentissage par renforcement est que la tâche peut être séquentielle et que des décisions intermédiaires discrètes peuvent être prises. Pour voir la tâche de classification comme un problème de renforcement, il suffit de considérer que les obser-vations de l’agent sont les informations disponibles à propos de la donnée à classer, que la prise de décision finale est la classe, et que la récompense, qui définit la tâche, dépend de l’exactitude de la classification (par exemple, une récompense de+1 si la donnée est correctement classée ; 0 sinon).

L’un des premiers travaux qui modélise une tâche de prédiction séquentielle par un MDP est [JC07], qui cherche à résoudre une tâche de classification où chaque sélection de caractéristique a un coût. Le travail plus récent de [GK11] considère une tâche où un ensemble de classifieurs est utilisé : le but est de n’en utiliser qu’une partie pour chaque donnée. Un coût de calcul est associé à chaque classifieur, et le temps de calcul total doit être minimisé.

D’autres travaux plus récents [He+12 ; Rüc+13 ; DA14] formulent la tâche de classification comme un MDP avec des actions pour sélectionner les caractéristiques utilisées et parfois pour la classification.

3

Méthodes de gradient

politique pour la

classification

Nous présentons ici notre première contribution. Il s’agit d’une nouvelle méthode hiérarchique utilisée pour des problèmes de classification, où l’en-semble du modèle (d’une part la hiérarchie, d’autre part les classifieurs) sont appris en une seule étape, grâce à des algorithmes d’apprentissage par renforcement utilisés en apprentissage statistique.

3.1 Introduction

Les problèmes de classification ont déjà été beaucoup étudiés en apprentis-sage statistique [Pan+02], mais la complexité en calcul des modèles per-mettant de les résoudre est fortement reliée au nombre de classes, avec généralement une complexité linéaire par rapport aux nombres de catégories possibles. Si nous considérons la classification d’une entrée de dimension

N avec C classes possibles, la complexité en calculs d’un perceptron est en O(N ×C) ; il est possible d’améliorer cette complexité en O(N ×M )+O(M ×C)

avec un réseau de neurones profonds (M ≪ N et M ≪ C) mais face à des

problèmes avec un très grand nombre de classes, comme la classification de textes, la reconnaissance d’objets... la complexité par rapport au nombre de classes reste problématique. Ainsi, est apparue la nécessité de développer des modèles spécifiques afin de réduire les coûts de classification, principalement lors de l’inférence.

Diverses méthodes ont été développées ces dernières années ; les sorties y sont généralement organisées grâce à une structure afin de réduire la complexité. On distingue deux principales catégories de modèles qui répondent à cette problématique :

— les méthodes hiérarchiques ou arbres de décision, où les classes sont associées aux feuilles d’un arbre. Chaque entrée permet de détermi-ner une trajectoire jusqu’à une feuille, qui renvoie la classe associée

([Ben+10 ; Liu+13a ; Wes+13]). La prédiction est donc basée sur une stratégie diviser pour régner. Ces modèles sont habituellement appris grâce à des algorithmes gloutons basés sur diverses heuristiques qui permettent de construire la structure de l’arbre à partir d’un ensemble d’entraînement.

— les codes correcteurs d’erreur (Error-Correcting Output Codes, ECOC) où chaque classe est associée à un code binaire ; la classification consiste ensuite à prédire le code et non directement la classe ([DB95 ; Sch97 ; Cis+11 ; ZX13 ; LB05])

Ces deux groupes de méthodes permettent habituellement d’obtenir une

complexité logarithmique durant la prédiction plutôt qu’une complexité linéaire par rapport au nombre de classes. Cependant, la plupart nécessitent de construire la structure utilisée (qu’il s’agisse des codes associés aux classes ou de la structure de l’arbre) lors d’une étape préliminaire, avant de construire les classifieurs.

Nos deux contributions permettent de construire en une seule étape la hiérar-chie (ou le code) et les classificateurs. Nous allons les présenter brièvement.

Nous proposons d’abord une nouvelle famille d’arbres de décision appelée

Reinforced Decision Trees (RDTs) qui garde les avantages des arbres de décision (une inférence rapide et de bonnes performances) et qui apprend en une même étape la structure globale et les classifieurs associés. L’idée principale est de considérer le problème de classification comme un problème

séquentiel, où une politique (apprise) guide une entréex (la donnée à classer)

à travers les branches d’un arbre depuis la racine jusqu’à une feuille. L’al-gorithme d’apprentissage, inspiré des méthodes de gradient de la politique [BB99] d’apprentissage par renforcement, nous permet d’apprendre à la fois la manière dont les entrées sont guidées à travers l’arbre mais également l’association des classes dans les feuilles de l’arbre. La différence avec les techniques habituelles de classification par arbres de décision est que cette méthode cherche à optimiser directement un objectif global (dérivable) plu-tôt que d’utiliser un algorithme glouton, où des choix d’optima locaux sont faits successivement. Par rapport aux algorithmes classiques de classification, la structure hiérarchique de ce modèle permet de réduire la complexité en calculs durant la prédiction.

Le second modèle, Reinforced Error-Correcting Output Codes (RECOC), utilise le même procédé pour apprendre des codes binaires, associés aux

catégories, en même temps que les classificateurs qui permettent d’associer un code à l’entréex à classer. L’avantage du modèle par rapport à RDT est

une utilisation plus facile de mini-batchs, ce qui rend une parallélisation plus facile et permet un apprentissage et une inférence beaucoup plus rapide pour un grand nombre de données.

Nous présenterons d’abord le modèle Reinforced Decision Trees, puis Rein-forced Error-Correcting Output Codes. Nous exposerons les résultats des expériences effectuées avec ces deux modèles, puis nous présenterons les travaux déjà existants, proches de nos modèles.