Méta-apprentissage : Apprendre comment apprendre

machine learningmeta-apprentissagemeta-learninglearning to learninductive learningmeta reinforcement learning
Hind Chenini - 7/12/2022, 1:27:51 PM0 commentaire

Méta-apprentissage : Quand l'apprentissage évolue en décidant consciemment la stratégie à utiliser pendant l'apprentissage 


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 :


  • C'est quoi le méta-apprentissage ?


  • Pourquoi le méta-apprentissage ?


  • La différence entre algorithmes d'apprentissage et algorithmes de méta-apprentissage


  • Le processus général du méta-apprentissage


  • Les différentes approches du méta-apprentissage



1.  C'est quoi le méta-apprentissage ?


Supposons que vous avez le set d'images suivant :



Si on vous demande de deviner le créateur de l'image suivante :


Claude Monet Femme à l'ombrelle tourne vers la droite 1886 huile sur toile 131 x 88 cm Muse d'Orsay Paris © Bridgeman Images



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.


Et si vous n'avez pas des données assez large ?


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.


2.  Pourquoi le méta-apprentissage ?


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



3.  La différence entre algorithmes d'apprentissage et algorithmes de 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.



4.  Le processus général du méta-apprentissage


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 :


  • Le modèle de base "learner", afin d'entraîner un set de paramètres sur les données du méta-entraînement Dtr (voir Figure 1). Ces méta-paramètres servent en tant que connaissance préalable pour le "meta-learner", comme par exemple l'initialisation pour le fine-tuning des paramètres. Le choix de ces paramètres se fait selon la tâche à effectuer, par exemple pour une tâche de traitement de langage, l'utilisation des méta-paramètres des modèles pré-entraînés sur un large corpus de données comme BERT, et pour une tâche de vision par ordinateur avec un ensemble de données relativement plus petit, l'utilisation des informations obtenues par des modèles supervisés pré-entraînés sur ImageNet.


  • Le modèle du méta-apprentissage "meta-learner", qui est entraîné généralement après plusieurs étapes d'entraînement sur le modèle de base "learner". Celui-ci est responsable de la mise à jour des poids du "learner" et de l'optimisation de son entraînement.


4.1.  Comment ce méta-entraînement se déroule précisément ?


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 :


  •        Meta-forward : le processus du méta-entraînement du "meta-learner" dans lequel l'étape du "meta-forward" inclue quelques étapes d'entraînement du "learner" (à savoir, la propagation en avant et la rétropropagation et l'optimisation des paramètres)


  •        Meta-backward : la mise à jour ou méta-optimisation des paramètres après la rétropropagation des gradients du "meta-loss", ce dernier indique à quel point le "meta-learner" arrive à performer sa tâche d'entraînement du modèle.



Processus général du méta-apprentissage



4.2.  Entraîner le modèle à faire des prédictions sur les données de test


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.



4.3.  Comment un modèle de méta-apprentissage est évalué ?


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".



5.  Les différentes approches du méta-apprentissage


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.



5.1.  Méta-apprentissage optimisé


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:


  •        Méta-apprentissage indépendant du modèle ( MAML)


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.




5.2.  Méta-apprentissage basé sur le modèle


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:


  •        Méta-apprentissage à mémoire augmentée ( MANN )


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.





5.3.  Méta-apprentissage appliqué aux métriques de similarité


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 :


  •        Méta-apprentissage par few-shot


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.



  •        Siamese


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.







5.4.  AutoML ou apprentissage automatique automatisé


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.



  •        Azure AutoML


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.







5.5.  Apprentissage par méta-renforcement


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 :


  • Un modèle à mémoire : un modèle d'apprentissage par méta-renforcement a besoin d'une mémoire pour stocker et récupérer les informations à propos de la tâche en cours. L'intention de cette conception est d'alimenter un historique dans le modèle afin que la stratégie puisse intégrer la dynamique entre les états, les récompenses et les actions dans le PDM actuel et ajuster sa stratégie en conséquence.


  • Un algorithme de méta-apprentissage : ce qui permet de définir comment mettre à jour les poids du modèle en fonction de ce qu'il a appris d'une tâche. Dans le but d'optimiser le modèle pour la résolution d'une nouvelle tâche en un minimum de temps possible. Généralement, c'est une mise à jour de descente de gradient ordinaire de la cellule LSTM. Sinon, d'autres méthodes ont prouvé leur performance comme MAML.


  • Une distribution de PDMs : le processus de décision markovien représente l'ensemble du processus par lequel l'agent observe le résultat de son environnement, puis prend des décisions en fonction. L'agent doit être capable de s'adapter au changement de conditions et aux différents PDMs.



        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.




  •        Deep meta-reinforcement learning


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 :

Réalisé par
Expaceo