Suivez nous sur
Classe de maître IA :

AI 101

Qu'est-ce que l'apprentissage en quelques coups ?

mm
Le kit de préparation mis à jour on

L'apprentissage en quelques étapes fait référence à une variété d'algorithmes et de techniques utilisés pour développer un modèle d'IA en utilisant une très petite quantité de données d'entraînement. L'apprentissage en quelques étapes vise à permettre à un modèle d'IA de reconnaître et de classer de nouvelles données après avoir été exposé à relativement peu d'instances de formation. La formation en quelques étapes contraste avec les 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 en quelques étapes est utilisé principalement dans la vision par ordinateur.

Pour développer une meilleure intuition pour l'apprentissage en quelques coups, examinons le concept plus en détail. Nous examinerons les motivations et les concepts derrière l'apprentissage en quelques coups, explorerons différents types d'apprentissage en quelques coups et couvrirons certains modèles utilisés dans l'apprentissage en quelques coups à un niveau élevé. Enfin, nous examinerons quelques applications pour l'apprentissage en quelques coups.

Qu'est-ce que l'apprentissage en quelques coups ?

"Few-shot learning" décrit la pratique de la formation d'un modèle d'apprentissage automatique avec un minimum de données. En règle générale, les modèles d'apprentissage automatique sont formés sur de grands volumes de données, plus ils sont volumineux, mieux c'est. Cependant, l'apprentissage en quelques prises de vue est un concept d'apprentissage automatique important pour plusieurs raisons différentes.

L'une des raisons de l'utilisation de l'apprentissage ponctuel 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 en quelques prises 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 en quelques coups peut idéalement rendre les modèles plus robustes et capables de reconnaître des objets basés sur moins de données, créant des modèles plus généraux par opposition aux modèles hautement spécialisés qui sont la norme.

L'apprentissage en quelques étapes 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 gros volumes de données, soit un modèle flexible.

Sous-catégories

L'expression «apprentissage en quelques coups» n'est en fait qu'un type d'apprentissage utilisant très peu d'exemples de formation. Étant donné que vous n'utilisez que "quelques" exemples de formation, il existe des sous-catégories d'apprentissage en quelques coups qui impliquent également une formation avec une quantité minimale de données. L'apprentissage "one-shot" est un autre type de formation de modèle qui consiste à apprendre à un modèle à reconnaître un objet après avoir vu une seule image de cet objet. Les tactiques générales utilisées dans l'apprentissage ponctuel et l'apprentissage ponctuel sont les mêmes. Sachez que le terme apprentissage « en quelques coups » peut être utilisé comme terme générique pour décrire toute situation dans laquelle un modèle est formé avec très peu de données.

Approches de l'apprentissage en quelques coups

La plupart des approches d'apprentissage en quelques étapes peuvent appartenir à l'une des trois catégories suivantes : approches au niveau des données, approches au niveau des paramètres et approches basées sur les métriques.

Approches au niveau des données

Les approches au niveau des données pour l'apprentissage en quelques coups sont très simples dans leur concept. Pour entraîner un modèle lorsque vous ne disposez pas de suffisamment de données d'entraînement, vous pouvez simplement obtenir plus de données d'entraînement. Il existe différentes techniques qu'un scientifique des données peut utiliser pour augmenter la quantité de données de formation dont il dispose.

Des données d'entraînement similaires peuvent sauvegarder les données cibles exactes sur lesquelles vous entraînez un classificateur. Par exemple, si vous entraînez un classificateur à reconnaître des types spécifiques de chiens mais qu'il manque de nombreuses 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 composent un chien. .

L'augmentation des données peut créer davantage de données d'entraînement pour un classifieur. Cela implique généralement d'appliquer des transformations aux données d'apprentissage 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 basés sur ce qu'ils apprennent des quelques exemples authentiques de données de formation dont vous disposez.

Approches au niveau des paramètres

Méta-apprentissage

Une approche au niveau des paramètres de l'apprentissage en quelques coups implique l'utilisation d'une technique appelée "méta-apprentissage”. Le méta-apprentissage implique 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 des paramètres 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 « élève ». Le modèle de l'enseignant apprend à encapsuler l'espace des paramètres, tandis que l'algorithme de l'élève apprend à reconnaître et à classer les éléments réels dans l'ensemble de données. Autrement dit, 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 le grand espace de paramètres qui résulte de trop peu de données de formation. D'où le « méta » dans le méta-apprentissage.

L'un des principaux problèmes des modèles d'apprentissage à quelques coups est qu'ils peuvent facilement sur-adapter les données d'apprentissage, car ils ont souvent des espaces de grande dimension. Limiter l'espace des paramètres d'un modèle résout ce problème, et bien que cela 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 d'enseignement peut considérablement améliorer les performances d'un modèle à quelques coups.

Un modèle de classificateur d'apprentissage à quelques coups (le modèle étudiant) s'efforcera de généraliser en fonction de la petite quantité de données d'entraînement qui lui est fournie, et sa précision peut s'améliorer avec un modèle d'enseignant pour le diriger à travers l'espace de paramètres de haute dimension. Cette architecture générale est appelée méta-apprenant « à base de gradient ».

Le processus complet de formation d'un méta-apprenant basé sur le gradient est le suivant :

  1. Créer le modèle d'apprenant de base (enseignant)
  2. Former le modèle d'apprenant de base sur l'ensemble de support
  3. Faire en sorte que l'apprenant de base renvoie des prédictions pour l'ensemble de requêtes
  4. Former le méta-apprenant (étudiant) sur la perte dérivée de l'erreur de classification

Variations sur le méta-apprentissage

Méta-apprentissage indépendant du modèle est une méthode utilisée pour augmenter la technique de méta-apprentissage basée sur le gradient de base que nous avons décrite ci-dessus.

Comme nous l'avons vu ci-dessus, un méta-apprenant basé sur le gradient utilise l'expérience antérieure acquise par un modèle d'enseignant s'affiner et fournir des prévisions plus précises pour une petite quantité de données d'entraînement. Cependant, commencer avec des paramètres initialisés de manière aléatoire signifie que le modèle peut encore potentiellement surajuster les données. Afin d'éviter cela, un méta-apprenant "Modèle-agnostique" 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 méta-apprenant indépendant du modèle :

  1. Une copie du modèle de méta-apprenant actuel est créée.
  2. La copie est entraînée avec l'aide du modèle de base/modèle de l'enseignant.
  3. La copie renvoie des prédictions pour les données d'apprentissage.
  4. La perte calculée est utilisée pour mettre à jour le méta-apprenant.

Apprentissage métrique

Approches d'apprentissage métrique pour concevoir un modèle d'apprentissage en quelques étapes impliquent généralement le utilisation des mesures de distance de base pour faire des comparaisons entre les échantillons d'un ensemble de données. Des algorithmes d'apprentissage métrique comme la distance cosinus sont utilisés pour classer les échantillons de requête en fonction de leur similitude avec les échantillons de support. Pour un classificateur d'images, cela signifierait simplement classer les images en fonction de la similitude des caractéristiques superficielles. Une fois qu'un ensemble d'images de support a été sélectionné et transformé en un vecteur d'incorporation, la même chose est faite avec l'ensemble de requêtes, puis les valeurs des deux vecteurs sont comparées, le classificateur sélectionnant la classe qui a les valeurs les plus proches de l'ensemble de requêtes vectorisées. .

Une solution plus avancée basée sur les métriques est la "réseau prototype”. Les réseaux prototypes regroupent des points de données en combinant des modèles de regroupement avec la classification basée sur les métriques décrite ci-dessus. Comme dans le clustering K-means, les centroïdes des clusters sont calculés pour les classes des 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êtes et les centroïdes de l'ensemble de support, en attribuant l'ensemble de requêtes aux classes d'ensemble de support les plus proches.

La plupart des autres approches d'apprentissage en quelques coups ne sont que des variations des techniques de base décrites ci-dessus.

Applications pour l'apprentissage en quelques coups

L'apprentissage en quelques étapes a des applications dans les nombreux sous-domaines de la science des données, tels que la vision par ordinateur, le traitement du langage naturel, la robotique, les soins de santé et le traitement du signal.

Les applications d'apprentissage en quelques prises de vue dans l'espace de vision par ordinateur incluent la reconnaissance efficace de caractères, la classification d'images, la reconnaissance d'objets, le suivi d'objets, la prédiction de mouvement et la localisation d'action. Les applications de traitement du langage naturel pour l'apprentissage en quelques coups incluent la traduction, la complétion de phrases, la classification des intentions de l'utilisateur, l'analyse des sentiments et la classification de texte multi-étiquettes. L'apprentissage en quelques coups peut être utilisé dans le domaine de la robotique pour aider les robots à apprendre des tâches à partir de quelques démonstrations seulement, 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 en quelques clics est un domaine émergent des soins de santé liés à l'IA. Enfin, l'apprentissage en quelques coups 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'utilisateurs ou de la conversion de la voix d'un utilisateur à un autre.