IA 101
Qu’est-ce que l’apprentissage à quelques exemples ?

L’apprentissage à quelques exemples fait référence à une variété d’algorithmes et de techniques utilisés pour développer un modèle d’IA à l’aide d’une très petite quantité de données de formation. L’apprentissage à quelques exemples vise à permettre à un modèle d’IA de reconnaître et de classer de nouvelles données après avoir été exposé à un nombre relativement faible d’exemples de formation. La formation à quelques exemples se distingue des méthodes traditionnelles de formation des modèles d’apprentissage automatique, où une grande quantité de données de formation est généralement utilisée. L’apprentissage à quelques exemples est utilisé principalement dans la vision par ordinateur.
Pour développer une meilleure intuition de l’apprentissage à quelques exemples, examinons le concept en détail. Nous allons examiner les motivations et les concepts derrière l’apprentissage à quelques exemples, explorer différents types d’apprentissage à quelques exemples et couvrir certains modèles utilisés dans l’apprentissage à quelques exemples à un niveau élevé. Enfin, nous allons examiner certaines applications pour l’apprentissage à quelques exemples.
Qu’est-ce que l’apprentissage à quelques exemples ?
« L’apprentissage à quelques exemples » décrit la pratique de la formation d’un modèle d’apprentissage automatique avec une quantité minimale de données. Typiquement, les modèles d’apprentissage automatique sont formés sur de grands volumes de données, plus il y a de données, mieux c’est. Cependant, l’apprentissage à quelques exemples est un concept d’apprentissage automatique important pour plusieurs raisons.
Une raison d’utiliser l’apprentissage à quelques exemples est qu’il peut réduire considérablement la quantité de données nécessaires pour former un modèle d’apprentissage automatique, ce qui réduit le temps nécessaire pour étiqueter de grands ensembles de données. De même, l’apprentissage à quelques exemples réduit le besoin d’ajouter des fonctionnalités spécifiques pour diverses tâches lors de l’utilisation d’un ensemble de données commun pour créer différents échantillons. L’apprentissage à quelques exemples peut idéalement rendre les modèles plus robustes et capables de reconnaître les objets en fonction de moins de données, créant ainsi des modèles plus généraux par opposition aux modèles très spécialisés qui sont la norme.
L’apprentissage à quelques exemples est le plus souvent utilisé dans le domaine de la vision par ordinateur, car la nature des problèmes de vision par ordinateur nécessite soit de grands volumes de données, soit un modèle flexible.
Sous-catégories
L’expression « apprentissage à quelques exemples » est en fait juste un type d’apprentissage utilisant très peu d’exemples de formation. Puisque vous utilisez juste « quelques » exemples de formation, il existe des sous-catégories d’apprentissage à quelques exemples qui impliquent également la formation avec une quantité minimale de données. « L’apprentissage à un seul exemple » est un autre type de formation de modèle qui consiste à enseigner à un modèle à reconnaître un objet après avoir vu juste une image de cet objet. Les tactiques générales utilisées dans l’apprentissage à un seul exemple et l’apprentissage à quelques exemples sont les mêmes. Soyez conscient que le terme « apprentissage à quelques exemples » peut être utilisé comme un terme générique pour décrire toute situation où un modèle est formé avec très peu de données.
Approches de l’apprentissage à quelques exemples
La plupart des approches d’apprentissage à quelques exemples peuvent être classées en trois catégories : les approches de niveau de données, les approches de niveau de paramètre et les approches basées sur les métriques.
Approches de niveau de données
Les approches de niveau de données pour l’apprentissage à quelques exemples sont très simples en concept. Pour former un modèle lorsque vous n’avez pas suffisamment de données de formation, vous pouvez simplement obtenir plus de données de formation. Il existe diverses techniques qu’un data scientist peut utiliser pour augmenter la quantité de données de formation dont il dispose.
Des données de formation similaires peuvent étayer les données cibles exactes sur lesquelles vous formez un classificateur. Par exemple, si vous formez un classificateur pour reconnaître des types spécifiques de chiens mais que vous manquez d’images de l’espèce particulière que vous essayez de classer, vous pouvez inclure de nombreuses images de chiens qui aideraient le classificateur à déterminer les caractéristiques générales qui constituent un chien.
La mise à l’échelle des données peut créer plus de données de formation pour un classificateur. Cela implique généralement d’appliquer des transformations aux données de formation existantes, telles que la rotation d’images existantes afin que le classificateur examine les images sous différents angles. Les GAN peuvent également être utilisés pour générer de nouveaux exemples de formation en fonction de ce qu’ils apprennent des quelques exemples authentiques de données de formation que vous avez.
Approches de niveau de paramètre
Méta-apprentissage
Une approche de niveau de paramètre pour l’apprentissage à quelques exemples implique l’utilisation d’une technique appelée « méta-apprentissage ». Le méta-apprentissage implique d’enseigner à un modèle comment apprendre quelles fonctionnalités sont importantes dans une tâche d’apprentissage automatique. Cela peut être accompli en créant une méthode pour réguler la façon dont l’espace de paramètre d’un modèle est exploré.
Le méta-apprentissage utilise deux modèles différents : un modèle enseignant et un modèle étudiant. Le « modèle enseignant » et un « modèle étudiant ». Le modèle enseignant apprend à encapsuler l’espace de paramètre, tandis que l’algorithme étudiant apprend à reconnaître et à classer les éléments réels du jeu de données. Pour le dire autrement, le modèle enseignant apprend à optimiser un modèle, tandis que le modèle étudiant apprend à classer. Les sorties du modèle enseignant sont utilisées pour former le modèle étudiant, montrant au modèle étudiant comment négocier l’espace de paramètre important qui résulte de trop peu de données de formation. D’où le « méta » dans méta-apprentissage.
Un des principaux problèmes avec les modèles d’apprentissage à quelques exemples est qu’ils peuvent facilement surajuster les données de formation, car ils ont souvent des espaces à haute dimension. La limitation de l’espace de paramètre d’un modèle résout ce problème, et bien qu’il puisse être accompli en appliquant des techniques de régularisation et en sélectionnant les fonctions de perte appropriées, l’utilisation d’un algorithme enseignant peut améliorer considérablement les performances d’un modèle à quelques exemples.
Un modèle de classificateur d’apprentissage à quelques exemples (le modèle étudiant) essaiera de généraliser en fonction de la petite quantité de données de formation dont il dispose, et sa précision peut s’améliorer avec un modèle enseignant pour le guider à travers l’espace de paramètre à haute dimension. Cette architecture générale est appelée « apprenti basé sur le gradient ».
Le processus complet de formation d’un apprenti basé sur le gradient est le suivant :
- Créez le modèle de base (modèle enseignant)
- Formez le modèle de base sur l’ensemble de support
- Faites en sorte que le modèle de base renvoie des prédictions pour l’ensemble de requête
- Formez l’apprenti (modèle étudiant) sur la perte dérivée de l’erreur de classification
Variations du méta-apprentissage
Le méta-apprentissage agnostique au modèle est une méthode utilisée pour augmenter la technique de base de méta-apprentissage basé sur le gradient que nous avons couverte ci-dessus.
Comme nous l’avons couvert ci-dessus, un apprenti basé sur le gradient utilise l’expérience antérieure acquise par un modèle enseignant pour affiner et fournir des prédictions plus précises pour une petite quantité de données de formation. Cependant, commencer avec des paramètres initialisés aléatoirement signifie que le modèle peut toujours potentiellement surajuster les données. Pour éviter cela, un « apprenti agnostique au modèle » est créé en limitant l’influence du modèle enseignant/modèle de base. Au lieu de former le modèle étudiant directement sur la perte pour les prédictions faites par le modèle enseignant, le modèle étudiant est formé sur la perte pour ses propres prédictions.
Pour chaque épisode de formation d’un apprenti agnostique au modèle :
- Une copie du modèle d’apprenti actuel est créée.
- La copie est formée avec l’aide du modèle de base/modèle enseignant.
- La copie renvoie des prédictions pour les données de formation.
- La perte calculée est utilisée pour mettre à jour l’apprenti.
Apprentissage métrique
Les approches d’apprentissage métrique pour concevoir un modèle d’apprentissage à quelques exemples impliquent généralement l’utilisation de métriques de distance de base pour faire des comparaisons entre les échantillons d’un jeu de données. Les algorithmes d’apprentissage métrique comme la distance cosinus sont utilisés pour classer les échantillons de requête en fonction de leur similarité avec les échantillons de support. Pour un classificateur d’images, cela signifierait simplement classer les images en fonction de la similarité des caractéristiques superficielles. Après qu’un ensemble de support d’images est sélectionné et transformé en un vecteur d’incrustation, la même chose est faite avec l’ensemble de requête, puis les valeurs pour les deux vecteurs sont comparées, le classificateur sélectionnant la classe qui a les valeurs les plus proches du vecteur de requête.
Une solution métrique plus avancée est le « réseau prototypique ». Les réseaux prototypiques regroupent les points de données ensemble en combinant les modèles de regroupement avec la classification métrique basée décrite ci-dessus. Comme dans le regroupement K-means, les centroïdes pour les clusters sont calculés pour les classes dans les ensembles de support et de requête. Une métrique de distance euclidienne est ensuite appliquée pour déterminer la différence entre les ensembles de requête et les centroïdes de l’ensemble de support, en affectant l’ensemble de requête à la classe de l’ensemble de support qui est la plus proche.
La plupart des autres approches d’apprentissage à quelques exemples ne sont que des variations des techniques de base couvertes ci-dessus.
Applications pour l’apprentissage à quelques exemples
L’apprentissage à quelques exemples a des applications dans de nombreux sous-domaines de la science des données, tels que la vision par ordinateur, le traitement automatique des langues, la robotique, les soins de santé et le traitement du signal.
Les applications de l’apprentissage à quelques exemples dans l’espace de la vision par ordinateur incluent la reconnaissance de caractères efficace, la classification d’images, la reconnaissance d’objets, la poursuite d’objets, la prédiction de mouvement et la localisation d’action. Les applications de traitement automatique des langues pour l’apprentissage à quelques exemples incluent la traduction, la complétion de phrase, la classification d’intention d’utilisateur, l’analyse de sentiment et la classification de texte multilabel. L’apprentissage à quelques exemples peut être utilisé dans le domaine de la robotique pour aider les robots à apprendre des tâches à partir de quelques démonstrations, permettant aux robots d’apprendre à effectuer des actions, à se déplacer et à naviguer dans le monde qui les entoure. La découverte de médicaments à quelques exemples est un domaine émergent de l’IA dans les soins de santé. Enfin, l’apprentissage à quelques exemples a des applications pour le traitement du signal acoustique, qui est le processus d’analyse des données sonores, permettant aux systèmes d’IA de cloner des voix en fonction de quelques échantillons d’utilisateur ou de convertir la voix d’un utilisateur en une autre.










