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.