Meta World. Source
Les techniques de méta-apprentissage fournissent des méthodologies pour observer les performances de différents modèles d'apprentissage automatique en fonction du résultat cible et de sa corrélation avec les métadonnées. Cette observation permettra ensuite de s'adapter plus rapidement à l'apprentissage d'une nouvelle tâche cible. Dans cet article, vous allez voir plus en détails une introduction au méta-apprentissage qui aborde les points suivants :
Supposons que vous avez le set d'images suivant :
Si on vous demande de deviner le créateur de l'image suivante :
Vous allez probablement répondre Monet. L'apprentissage par petits lots d'exemplaires n'est pas trop compliqué pour l'humain. Par contre, pour faire apprendre à une machine à identifier le style ou les caractéristiques spécifiques à un type de données, il en faudra des milliers et des milliers d'exemplaires, surtout pour l'apprentissage des réseaux de neurones profonds. Mais pourquoi l'homme est capable d'apprendre des nouvelles tâches seulement en quelques essais ? La réponse à cette question, c'est que l'homme bénéficie de ses connaissances préalables accumulées par l'expérience. Donc, il commence par construire une liste d'hypothèses sur les caractéristiques discriminatoires qui définissent chaque catégorie. Il connaît déjà la notion du style, il sait aussi que ce sont des images de tableaux de peinture, qu'il existe plusieurs styles de peinture différents, et que ça peut être aussi les couleurs, la texture ou la luminosité, etc.
Le méta-apprentissage peut être défini comme la compréhension des stratégies de la manière d'apprendre sans connaissance préalable des données. Cela consiste à percevoir le contexte d'apprentissage par le "meta-learner" et à connaître les attentes et les exigences de la tâche d'apprentissage via les expériences d'apprentissage précédentes réalisées par le "learner".
Le méta-apprentissage, c'est extraire la connaissance à partir de plusieurs tâches précédentes, afin de faciliter l'apprentissage de nouvelles tâches. Tout algorithme d'apprentissage automatique peut être conçu comme un "learner". Et toute procédure d'optimisation des hyperparamètres, peut-être considérée comme un "meta-learner" qui guide, accélère et contribue à l'optimisation du "learner".
Un modèle qui apprend à apprendre, est un modèle dont la performance à effectuer chaque tâche s'améliore avec l'expérience et le nombre de tâches. Sous condition que les tâches aient la même structure. C'est parce que le méta-apprentissage a besoin des structures des tâches sous-jacentes pour apprendre, sinon il ne sera pas capable d'apprendre une nouvelle tâche plus vite que lorsqu'il apprend à partir de zéro.
Figure 1
En d'autres termes, le méta-apprentissage est l'apprentissage du processus d'apprentissage sous forme d'algorithmes implémentés à des métadonnées des expériences d'apprentissage automatique. Ces métadonnées peuvent être les paramètres d'un réseau de neurones, son architecture, etc. Et au-delà des caractéristiques des algorithmes, les statistiques nécessaires à la tâche comme la similarité des performances des algorithmes, etc.
Donc, le méta-apprentissage n'a pas besoin de l'expérience pour seulement apprendre une tâche spécifique, mais principalement, pour apprendre les biais inductifs - représentés par un ensemble d'hypothèses sur les données via les propriétés de l'algorithme comme la mesure de performance ou les paternes extraits à partir des données - et les appliquer efficacement sur de nouvelles situations spécifiques - inférence inductive -. Cela permet de faciliter l'apprentissage futur, le mieux généraliser, et plus rapidement avec seulement peu de données. Par conséquent, l'objectif du mécanisme du méta-apprentissage est d'étendre le processus traditionnel d'apprentissage de base d'un scénario à biais statique à un biais dynamique tout en découvrant et démontrant une façon pour apprendre comment apprendre efficacement dans un contexte où les données changent tout le temps.
Est-ce spécifique à la classification des images ?
En raison de sa nature plutôt abstraite, le méta-apprentissage n'est pas seulement spécifique à la classification des images, il peut être appliqué à de nombreux problèmes d'apprentissage automatique différents comme la régression, la modélisation du langage (NLP), l'apprentissage de compétences (apprentissage par renforcement), etc.
L’apprentissage automatique a quelques contraintes :
* Le manque ou l'indisponibilité de grands ensembles de données s'est avéré être un énorme problème pour résoudre les défis critiques de l'apprentissage automatique et de l'intelligence artificielle.
* Beaucoup de temps nécessaire pour la construction du modèle, l’apprentissage et le "fine-tuning" des paramètres, pour n'apprendre qu'une seule tâche à partir de chaque ensemble de données spécifique.
* Coût élevé du fait du temps consacré aux expériences de test au cours de la phase d’apprentissage.
Le méta-apprentissage aide les algorithmes d’apprentissage automatique à faire face à ces problématiques par l’optimisation de l’apprentissage des algorithmes et la sélection de ceux qui performent le mieux. Aussi, en méta-apprentissage, le modèle peut continuer à utiliser l'apprentissage obtenu à partir des tâches précédentes sans avoir à les apprendre de zéro, et à partir de seulement une petite quantité de données. Ce qui permet de :
* Avoir des systèmes d'intelligence artificielle plus rapides
* Être plus adaptables aux différents environnements
* Se généraliser à plusieurs tâches
* Optimiser l'architecture des modèles et les hyperparamètres
Les applications du méta-apprentissage
Un algorithme d'apprentissage automatique consiste à entraîner un modèle avec des données connues pour faire des prédictions avec des nouveaux exemples inconnus. Alors qu'un algorithme de méta-apprentissage apprend à partir des sorties d'un modèle d'apprentissage automatique qui a appris à partir des données.
Différence entre l'apprentissage automatique et le méta-apprentissage
Attention à ne pas confondre le méta-apprentissage avec l'apprentissage par transfert. Premièrement, parce que ce dernier nécessite une quantité massive de données pour commencer, et deuxièmement, la capacité d'apprendre de nouvelles tâches rapidement - qui ne sont pas forcément relatives aux tâches précédentes - lors de l'inférence du modèle n'est jusque-là pas considérée par les approches conventionnelles.
La différence entre algorithme d'apprentissage et algorithme de méta-apprentissage. Image modifiée. Source.
Globalement, il existe plusieurs approches d'implémentation du méta-apprentissage différentes. Mais pour avoir une vision générale du processus d'apprentissage d'un modèle du méta-apprentissage, nous pouvons dire que deux optimisations sont en jeu : le "learner" qui apprend les tâches et le "meta-learner" qui forme le "learner". Le processus d'entraînement consiste alors, à apprendre deux choses en particulier : les paramètres initiaux du modèle de base : "learner" et les paramètres de l'optimisateur : "meta-learner". Formulé comme ça, nous pouvons dire qu'il y a deux modèles à entraîner :
Après les étapes d'apprentissage et d'optimisation de l'entraînement du "learner", le "meta-loss" est calculé pour ensuite rétro-propager les gradients pour chaque méta-paramètre passé pour l'entraînement du "meta-learner". Cette rétropropagation se fait tout au long de l'entraînement lui-même, jusqu'aux poids initiaux du "meta-learner", similaire à une rétropropagation dans le temps d'un réseau de neurones récurrent.
Ce qui se résume à deux processus d'entraînement imbriqués :
Processus général du méta-apprentissage
Ce processus sera déroulé itérativement via un optimisateur comme ADAM, SGD, Momentum, etc. Donc, il ne consiste pas à calculer le gradient à partir des données d'entrée. Le gradient est calculé à partir des données du méta-entraînement de la tâche. Et les paramètres spécifiques à la tâche sont obtenus après l'étape "meta-forward" pour être ensuite évalués pour cette tâche afin d'obtenir le "meta-loss" et mettre à jour le modèle "meta-learner" via son optimisateur.
Afin d'entraîner le "meta-learner", une métrique d'évaluation est définie "meta-loss", elle permet de récompenser les bons optimisateurs et pénaliser les mauvais, puisqu'un bon optimisateur converge rapidement, et si on considère que l'objectif est de minimiser la perte, la somme des "loss" sur toutes les itérations peut être utilisée comme "meta-loss" du "meta-learner".
Il existe une diversité d'approche de méta-apprentissage. Selon le type des métadonnées utilisées, un modèle de méta-apprentissage peut être globalement divisé en trois catégories ; basé sur l'optimisation des méta-caractéristiques : l'apprentissage à partir des propriétés de la tâche, basé sur le modèle : l'apprentissage à partir des modèles précédents eux-mêmes, et basé sur la métrique : l'apprentissage à partir des évaluations de modèles précédentes. D'autres formes d'approche comportent l'application du méta-apprentissage à des domaines d'apprentissage automatiques spécifiques comme l'automatisation de l'apprentissage automatique (AutoML) et l'apprentissage par renforcement.
Cette approche se focalise sur l'optimisation d'un réseau de neurones pour mieux accomplir une tâche. En général, plusieurs réseaux de neurones sont utilisés. Où l'un est utilisé pour l'optimisation des hyperparamètres d'un autre réseau de neurones pour améliorer ses performances.
Exemples:
Proposé par Chelsea Finn et al. dans l'article "Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks". Le modèle est entraîné en utilisant quelques exemples pour adapter le modèle plus rapidement sur les nouvelles tâches. MAML est un algorithme qui appartient à la catégorie d'optimisation générale qui est indépendante du modèle. Cela signifie qu’il peut pratiquement être appliqué à n’importe quel réseau de neurones pour n’importe quelle tâche. L'idée de base de MAML est l'apprentissage des paramètres d'un modèle pour trouver les meilleurs paramètres initiaux, de ce fait, avec de bons paramètres initiaux, le modèle peut apprendre rapidement sur de nouvelles tâches avec des étapes de mise à jour des gradients minimes.
Cette approche dépend d'un modèle qui est conçu spécifiquement pour un apprentissage rapide. Un modèle qui permet une mise à jour de ces paramètres rapidement et qui ne nécessite que quelques itérations pour apprendre. Cette mise à jour peut âtre réalisée par son architecture interne ou contrôlée par le "meta-learner".
Exemples:
L'article "Meta-Learning with Memory-Augmented Neural Networks" de Adam Santoro et al., présente une approche qui appartient à la catégorie du méta-apprentissage basé sur le modèle. Elle s'appuie sur tout l'historique des modèles entraînés stocké dans une mémoire externe. Le MANN charge les paramètres du modèle le plus pertinent à partir de la mémoire externe lors de chaque nouvelle tâche inconnue.
Une autre approche du méta-apprentissage, est le méta-apprentissage basé sur les métriques. Cela consiste à construire des modèles qui dépendent d'une mesure de similarité entre les nouvelles tâches non vues et les métamodèles entraînés précédemment. Cette approche vise principalement à trouver un espace métrique dans lequel l'apprentissage est plus efficace et efficient.
Comme par exemple où la métrique est la distance entre chaque tâche non vue et le centroïde entre tous les modèles entraînés. Ces distances sont comparées et les expériences les plus similaires sont appliquées directement à la nouvelle tâche.
Exemple de classification par instance unique (1-shot ) Matching Networks Architecture (source).
En sélection d'algorithmes, les modèles sont formés à mapper les caractéristiques d'une tâche à un algorithme afin de sélectionner l'algorithme le plus performant pour chaque tâche individuelle. L'objectif du méta-apprentissage comprend la recherche des caractéristiques pertinentes des tâches appelées ensemble de support Dtr (voir Figure 1). - généralement par un CNN - et les utiliser pour l'apprentissage d'une fonction de sélection - fonction énergétique - qui permet des prédictions fiables sur les données de test appelées ensemble de requêtes Dt (voir Figure 1). Même avec peu de données ou des ensembles de données bruyants. Les fonctions énergétiques sont essentiellement toute mesure de similarité, telle que la distance euclidienne, la similarité cosinus, etc. Il existe plusieurs choix de conception possibles pour la fonction énergétique ainsi que la stratégie de l'apprentissage de celle-ci. Comme par exemple le choix de la distance euclidienne et les k-plus proches voisins. Lors du méta-apprentissage, les paramètres du CNN sont mis à jour par rétropropagation du "loss" obtenu par l'erreur de classification des ensembles de requêtes.
Exemples :
Parmi les problèmes que le méta-apprentissage permet de résoudre est l'apprentissage par few-shot, c'est le cas où l'ensemble des données ne contient qu'un nombre limité d'exemples pour faire de l'apprentissage supervisé, où chaque classe n'est représentée que par une (1-shot) ou quelques instances (few-shot), et dont il est important d'apprendre efficacement et rapidement d'eux. En apprenant une représentation caractéristique commune de toutes les tâches connues, le nouveau modèle peut être guidé à travers l'optimisation des paramètres du modèle, ce qui accélère considérablement le processus de formation.
Les réseaux Siamese appartiennent à la catégorie du méta-apprentissage basé sur la métrique. Ce sont des réseaux à apprentissage par exemple unitaire (1-shot), qui permettent de prédire correctement en se basant d'un seul exemplaire par chaque nouvelle classe. Comme la métrique se réfère à la similarité entre les tâches, le réseau Siamese conçoit une métrique qui dépend de la mesure de la similarité entre les caractéristiques de convolution et les différents éléments.
L'apprentissage automatique automatisé, concerne l'approche permettant de sélectionner automatiquement les méthodes d'apprentissage automatique ainsi que la configuration de leur hyperparamètres dans le but de maximiser les performances prédictives sur un ensemble de données particulier. Les méthodes les plus réputées en AutoML sont l'optimisation des hyperparamètres (HPO), qui consiste à choisir automatiquement les hyperparamètres pour un algorithme d'apprentissage, et la recherche des architectures neuronales (NAS), qui consiste à automatiser le design d'architecture des algorithmes d'apprentissage profonds. Le méta-apprentissage peut être appliqué pour aborder ce genre de tâches AutoML.
Parmi les problèmes rencontrés dans le domaine de sélection d'algorithmes, est le nombre très large des algorithmes et leurs différentes configurations possibles qui existent, ce qui rend la recherche de solutions acceptables dans cet espace, plus difficile. Souvent, il faut prendre en considération également le temps d'apprentissage et de test pour chaque modèle possible. Et le problème devient plus important pour de multiples critères d'évaluation.
Le méta-apprentissage est largement appliqué dans le domaine de l'AutoML, pour accélérer la recherche d'un modèle de réseau neuronal optimal. Pour les différentes combinaisons des hyperparamètres, "meta-learner" peut prédire les performances du modèle en se basant sur les expériences d'entraînement précédentes. Le "meta-learner" permet au "learner" à chercher seulement à travers les régions prometteuses sur l'espace des hyperparamètres. En plus, pour une nouvelle tâche, le "meta-learner" peut prévoir une bonne initialisation pour la sélection d'algorithme et le choix des paramètres.
Exemples:
L'une des applications du méta-apprentissage en AutoML est l'estimateur auto-sklearn, dont l'approche est présentée par Matthias Feurer et al. dans leurs articles "Efficient and robust automated machine learning" et "Auto-Sklearn 2.0: Hands-free AutoML via Meta-Learning". Leur travail repose principalement sur la sélection des méta-caractéristiques des données. Ces méta-caractéristiques comprennent par exemple le nombre de classes ou le nombre des instances dans chaque ensemble de données. Leur approche consiste à mesurer la similarité entre les données en utilisant la mesure L1 norme, et prendre les méta-caractéristiques de l'ensemble de données le plus proche pour initialiser les paramètres d'optimisation pour les nouvelles données.
Sur Azure Machine Learning, il existe plusieurs fonctionnalités AutoML intégrées. L'un des travaux de Microsoft dans le cadre de ce projet, appelé "Probabilistic Matrix Factorization for Automated Machine Learning", se base sur une approche de méta-apprentissage qui combine deux techniques : la factorisation probabiliste de matrice et les fonctions d'acquisition de l'optimisation bayésienne. L'idée de l'approche est d'utiliser la factorisation probabiliste de matrice, qui considère que si deux ensembles de données ont des résultats corrélés pendant des expériences précédentes pour quelques pipelines, il est possible que les pipelines qui restent produisent des résultats similaires aussi. Et le calcule de l'amélioration attendue pour chaque pipeline dans le but de sélectionner celui avec la valeur maximale pour le prochain pipeline à évaluer. L'amélioration attendue est une des fonctions d'acquisition d'optimisation bayésienne. Cela permet de guider sur le pipeline à utiliser pour prédire la performance attendue.
L'apprentissage par méta-renforcement est configuré selon un scénario de méta-apprentissage où un algorithme externe "meta-learner" s'appuie sur ses expériences dans de nombreux contextes de tâches pour ajuster progressivement les paramètres qui régissent le fonctionnement d'un algorithme interne "learner" de sorte qu'il puisse s'adapter rapidement aux nouvelles tâches. Donc, l'apprentissage par méta-renforcement, est le cas où ses deux algorithmes sont eux-mêmes des algorithmes d'apprentissage par renforcement, apprenants par la récompense et l'optimisation vers les comportements qui rapportent le gain maximal.
Cela consiste à apprendre à l'agent comment il peut s'adapter et améliorer ses performances pour chaque nouvelle tâche le plus rapidement possible par rapport aux tâches qui précèdent. L'algorithme "learner" qui survient dans la dynamique de l'activité du réseau, est capable d'apprendre les biais inductifs acquis par apprentissage qui s'alignent sur les tâches sur lesquelles le système est formé par la récompense. La même information est utilisée en parallèle par une procédure d'apprentissage par renforcement qui ajuste les poids du réseau interne.
Illustration du processus de l'apprentissage par méta-renforcement. Voir plus.
La configuration générale de l'apprentissage par méta-renforcement est presque similaire à celle d'un algorithme d'apprentissage par renforcement ordinaire, où chaque tâche représente un processus de décision markovien (PDM) différent. Sauf que, en plus de l'état actuel, la dernière récompense et la dernière action sont également incorporées dans l'observation de l'environnement. En général, l'objectif est d'entraîner un "meta-learner" qui peut rapidement apprendre une stratégie (optimisation du θt) pour minimiser les récompenses négatives pour chaque tâche. Le "meta-learner" utilise le "learner" comme un mécanisme de retour d'expérience, si le "learner" est efficace à apprendre une tâche, le "meta-learner" reçoit une récompense, sinon il s'adapte pour maximiser la récompense du "learner" pour les itérations qui suivent.
Trois principaux éléments sont impliqués dans l'apprentissage par méta-renforcement :
Exemples:
Une référence à l'apprentissage par méta-renforcement pour l'apprentissage multitâches. L'objectif de ce travail est de permettre aux robots d'acquérir des nouvelles compétences sur des nouvelles tâches via le méta-apprentissage.
L'une des applications de l'apprentissage par méta-renforcement emploie une forme LSTM des réseaux récurrents. Le travail de JX Wang et al. est inspiré par le support des réseaux récurrents au méta-apprentissage dans un contexte complètement supervisé, qui a encouragé son déploiement dans une approche d'apprentissage par méta-renforcement. Ce qui donne un système entraîné par un algorithme d'apprentissage par renforcement, dont la dynamique du réseau récurrent implémente son propre approche secondaire d'apprentissage par renforcement, et qui peut avoir une adaptabilité et une performance d'échantillonnage. Étant donné que dans ce contexte, la stratégie est récurrente, il n'est pas nécessaire d'ajouter explicitement l'état actuel à l'ensemble d'entrée.
Commentaires :
Aucun commentaires pour le moment
Laissez un commentaire :