Blog / AI
AI

Qu’est-ce que le Few-Shot Learning ?

Découvrez comment l’apprentissage à partir de quelques données permet de former des modèles d’IA avec des données limitées afin de fournir des solutions efficaces dans le monde réel.
12 min de lecture
What is Few-Shot Learning blog image

L’apprentissage à petite échelle a transformé l’IA et l’apprentissage automatique. Avec l’apprentissage à la volée, les algorithmes sont formés sur de petits ensembles de données. Si vous avez besoin d’entraîner un modèle d’IA sur des données limitées, l’apprentissage à petite échelle pourrait bien être la solution que vous recherchez.

Où est utilisé l’apprentissage par petites touches ?

L’apprentissage à court terme est appliqué dans le monde réel à peu près partout. Que vous ayez besoin d’un véritable LLM à usage général ou simplement d’un scraping alimenté par l’IA, l’apprentissage à court terme sera utilisé sur votre modèle au moins dans une certaine mesure.

  • ici
  • Robotique: Lorsqu’ils apprennent à ramasser des objets, les robots autonomes n’ont pas besoin de grands ensembles de données. Ils expérimentent le processus et procèdent ensuite à des généralisations.
  • Technologie personnalisée: Les claviers de téléphone et les montres de fitness utilisent très efficacement l’apprentissage à partir de quelques images.
  • Produits pharmaceutiques: Lors de la découverte de nouveaux médicaments, les scientifiques utilisent souvent des ensembles de données très limités. L’apprentissage à petite échelle peut être mis à profit dans les premiers essais pour accélérer les choses.
  • Traitement des langues: Les linguistes et les archéologues sont souvent confrontés à des langues mortes et inutilisées. Les sources de première main de ces écrits sont rares. L’IA peut utiliser l’apprentissage à court terme pour aider à déchiffrer ces langues.
  • Reconnaissance d’images: La reconnaissance faciale nécessite un apprentissage en quelques étapes. La plupart des gens ne vont pas former une IA en utilisant des milliers de photos d’une seule personne. Ce même concept s’applique également aux espèces rares et menacées.

Apprentissage en quelques minutes vs. autres paradigmes

L’apprentissage à quelques coups fait partie d’une famille plus large de techniques d’apprentissage automatique appelée apprentissage à plusieurs coups. Dans le cas de l’apprentissage par n-shot, n représente le nombre d’exemples étiquetés par classe sur lesquels un modèle est formé.

Voici d’autres exemples d’apprentissage par n-shot.

  • Zero-Shot: Un modèle utilise des connaissances antérieures pour deviner une classe qu’il n’a pas encore vue. Imaginons un modèle formé sur les chevaux et les tigres. Ce modèle n’a jamais vu de zèbre, mais il peut déduire qu’un cheval à rayures est un zèbre.
  • One-Shot: Un modèle est formé sur un seul exemple par classe. Lorsqu’un smartphone apprend votre visage à partir d’une seule photo et vous permet de déverrouiller l’écran, il s’agit d’un apprentissage en une seule fois.

Comment fonctionne l’apprentissage à quelques coups ?

Le modèle “Few-shot” est plus complet que les modèles “zero-shot” et “one-shot”, mais il s’appuie toujours sur des ensembles de données très limités. Avec les bonnes données d’entraînement, les modèles peuvent rapidement faire des généralisations pour identifier des modèles et des tendances.

À l’instar de ses équivalents à zéro et à un coup, l’apprentissage à quelques coups s’appuie sur les principes suivants.

  • Exploitation des connaissances antérieures: Les modèles utilisent les connaissances et la formation acquises lors de tâches précédentes pour identifier des modèles dans de nouvelles données inédites.
  • Adaptation spécifique à la tâche: Les modèles modifient leurs représentations internes (classes) et leur processus de prise de décision pour traiter correctement de nouvelles données avec des exemples limités.
  • Généralisation à partir de petits ensembles de données: Avec des données d’apprentissage soigneusement sélectionnées, les modèles peuvent se généraliser efficacement après avoir vu seulement quelques échantillons.

Types d’apprentissage à quelques coups

L’apprentissage à la volée n’est pas figé dans le marbre. Il fait partie de l’industrie de l’IA, plus vaste et en constante évolution. Toutefois, le secteur est parvenu à un consensus général sur les techniques énumérées dans les sections suivantes.

Apprentissage par transfert

Diagramme de l'apprentissage par transfert

Lorsqu’un modèle apprend d’une tâche et utilise ces connaissances dans une nouvelle tâche, on parle d'”apprentissage par transfert”. Tout comme les êtres humains, l’IA peut utiliser son expérience passée pour s’adapter à de nouvelles situations. Les connaissances du modèle sont transférées et deviennent pertinentes lorsqu’il s’agit d’accomplir une nouvelle tâche.

Imaginez que vous appreniez à une IA à jouer à Call of Duty. Vous avez ensuite besoin de ce modèle pour jouer à Fortnite. Il sait déjà comment viser, se déplacer et utiliser une stratégie de combat. L’expérience antérieure du modèle dans Call of Duty lui donne de meilleures chances de réussite dans Fortnite.

L’apprentissage par transfert ne se limite pas à l’IA ou à l’apprentissage automatique. Les humains utilisent l’apprentissage par transfert tous les jours. L’apprentissage par transfert a été le principal moteur de la révolution agricole. Les hommes préhistoriques ont appris à cultiver certains types d’aliments. Nos ancêtres ont ensuite transféré ces compétences à tous les autres aliments d’origine végétale qu’ils pouvaient trouver. Enfin, ils ont appliqué ces mêmes principes à la domestication du bétail.

Augmentation des données

Diagramme d'augmentation des données

Pour développer l’apprentissage en quelques coups, nous pouvons utiliser l’augmentation des données. Dans le monde réel, nous générons souvent des données fictives présentant des similitudes avec les données réelles. Cela implique souvent d’ajouter du hasard et du bruit aux données fictives.

L’interpolation et l’extrapolation facilitent la compréhension de l’augmentation des données. Regardez le graphique ci-dessous. Comme vous pouvez le constater, nous ne disposons que de quatre données réelles. Notre ligne en pointillés utilise ces points pour créer un modèle. En utilisant ces points, nous pouvons extrapoler que si X=5, Y=10 et si X=0, Y=0. Nous pouvons interpoler que lorsque X=1,5, Y=3.

Augmentation des données à l'aide d'un graphique

Nous pouvons identifier des tendances dans nos données limitées. Une fois que nous avons compris les tendances, nous pouvons générer une infinité de données supplémentaires en suivant les règles établies par les données d’origine. Une formule (Y = 2X) permet d’augmenter notre ensemble de données de 4 photos en un ensemble infini de points.

Dans le monde réel, rien n’est parfait et les exemples comme celui qui précède n’existent souvent pas. Imaginez que vous entraîniez une IA sur les chevaux. Vous disposez d’une photo réelle d’un cheval brun. Vous procédez à des retouches astucieuses et vous obtenez des photos d’un cheval rouge, d’un cheval noir, d’un cheval blanc et d’un zèbre. À partir de votre seule photo de cheval, vous avez généré un ensemble de données beaucoup plus vaste.

Pour en savoir plus sur l’augmentation des données , cliquez ici.

Méta-apprentissage

Méta diagramme d'apprentissage

Le méta-apprentissage porte davantage sur la résolution de problèmes que sur les données réelles. Avec le méta-apprentissage, on apprend à un modèle à décomposer des problèmes plus importants en problèmes plus petits et à utiliser différentes stratégies pour différents types de problèmes. Repensez à l’ordre des opérations que vous avez appris à l’école primaire.

Regardez le problème suivant : (2+(2*3))/4= ?. Pour résoudre ce problème, il faut le décomposer.

(2+(2*3))/4= ?

  1. 2*3=6. Nous pouvons maintenant simplifier ce résultat en (2 + 6)/4.
  2. 2+6=8. Notre problème est maintenant 8/4.
  3. 8/4=2. La chaîne de problèmes plus petits se connecte pour prouver que (2+(2*3))/4=2.

En divisant le problème en plusieurs étapes, nous pouvons conclure que notre réponse est 2. Lorsque nous enseignons aux machines qu’elles peuvent résoudre des problèmes importants en les divisant en plusieurs étapes, elles utilisent des stratégies appropriées pour chaque problème plus petit. Elle utilise alors des stratégies appropriées pour chacun des petits problèmes. C’est ce qu’on appelle le méta-apprentissage. La machine apprend des stratégies de résolution de problèmes qu’elle peut appliquer à une myriade de scénarios différents.

Prenons un autre exemple que tu as appris très tôt. Une phrase doit commencer par une majuscule et se terminer par un signe de ponctuation. Lorsqu’un modèle apprend cela, il n’apprend pas seulement à écrire une phrase. Le modèle apprend à communiquer efficacement toutes ses idées d’une manière que les humains peuvent lire et comprendre.

Comme dans les autres exemples ci-dessus, le méta-apprentissage a été utilisé par l’homme pendant des centaines de milliers d’années avant d’être adapté à l’apprentissage automatique.

Apprentissage métrique

Diagramme d'apprentissage métrique

Avec l’apprentissage métrique, on apprend à un modèle à comparer les similitudes entre les données plutôt que de simplement leur attribuer des étiquettes. Il utilise ensuite une fonction pour comparer les métriques et voir dans quelle mesure les nouvelles données sont proches des données vues précédemment. Teachable Machine nous permet d’expérimenter avec des images et de voir comment l’apprentissage métrique fonctionne réellement.

Imaginons que nous formions un modèle à l’aide d’un ensemble de photos de chats. Le modèle analyse ces images et apprend à comparer différentes caractéristiques telles que la fourrure, les moustaches et la forme des oreilles.

Une fois que le modèle a terminé son apprentissage, nous lui donnons une nouvelle photo de chat. Il compare les données de cette nouvelle image à ses données d’apprentissage. Après avoir examiné les données relatives à la fourrure, aux moustaches et à la forme des oreilles, il calcule un score de similarité. Si la nouvelle image est similaire à 98 % aux données précédentes, le modèle déterminera qu’il est très probable qu’il s’agisse d’un chat.

Si le modèle a été entraîné à l’aide d’autres méthodes à dire “les chats sont mignons”, après avoir été sûr à 98 % que cette nouvelle image est un chat, il peut exécuter une logique supplémentaire provenant d’autres types d’entraînement et dire “la photo de votre chat est mignonne”.

Problèmes inhérents à l’apprentissage à quelques coups

Lorsqu’il s’agit d’apprentissage à partir de quelques données, les petits ensembles de données sont à la fois une force et une faiblesse. L’apprentissage automatique comporte de nombreux pièges. Pour éviter les problèmes ci-dessous, il faut former des modèles plus petits en utilisant les concepts que nous avons abordés dans les sections précédentes.

Généralisation

Les modèles à peu d’images peuvent donner de bons résultats dans des domaines tels que la reconnaissance faciale, mais lorsqu’ils sont confrontés à des scénarios entièrement nouveaux, ils échouent souvent lorsque les données ne sont pas suffisamment similaires à celles qu’ils ont déjà vues.

Un LLM traditionnel reçoit des millions, voire des milliards ou des trillions de points de données. Cela permet au modèle de gérer efficacement les valeurs aberrantes et de faire des prédictions décentes lorsqu’il traite des données qu’il n’a jamais vues auparavant.

Si un modèle n’a vu qu’une poignée d’images de chats dessinés au crayon, il peut très bien ne pas reconnaître l’image d’un chat réel. Sans un ensemble de données solide, le modèle ne peut pas toujours faire des généralisations solides.

Diversité des données

Les petits ensembles de données ne parviennent souvent pas à capturer la véritable diversité présente dans les ensembles de données plus importants. Imaginons qu’un modèle ait été formé sur un petit ensemble de personnes et que toutes leurs adresses se trouvent aux États-Unis. Ce modèle risque d’être biaisé et de supposer que toutes les personnes sont originaires des États-Unis. Vous pouvez atténuer ce problème en utilisant des ensembles de données larges et diversifiés. Nos ensembles de données peuvent vous aider à améliorer les performances de votre modèle.

À la fin des années 2010, ce problème affectait les modèles d’IA dans le monde entier. Ce problème refait encore parfois surface dans l’IA moderne. Lorsqu’un modèle est entraîné sur les médias sociaux, il adopte souvent les préjugés qu’il y voit. Nous avons tous entendu parler des robots d’IA racistes de la fin des années 2010. Voici comment cela se produit.

Représentation des caractéristiques

Le problème de la diversité des données est une arme à double tranchant. Revenons à notre modèle hypothétique qui reconnaît les animaux. Si ce modèle apprend uniquement que tous les chats ont quatre pattes, il verra la photo d’un cheval et décidera qu’il est incroyablement similaire à un chat.

Si un modèle de reconnaissance faciale apprend qu’un visage a des yeux, des oreilles, une bouche et un nez, mais qu’on ne lui a pas appris à comparer correctement ces caractéristiques avec ses données d’apprentissage, le modèle donnera des résultats incorrects (et parfois dangereux). Si n’importe qui possédant ces caractéristiques peut déverrouiller votre téléphone, cela crée un énorme problème de sécurité.

Conclusion

L’apprentissage par petites touches peut réduire le besoin de grands ensembles de données. L’homme utilise l’apprentissage à court terme depuis le tout début. Ce n’est que récemment que nous l’avons adapté à l’IA. Il y a quelques obstacles. La généralisation, la diversité des données et la représentation des caractéristiques constituent des obstacles majeurs lors de la création de petits modèles. L’apprentissage par transfert, l’augmentation des données, le méta-apprentissage et l’apprentissage métrique nous offrent de formidables outils pour surmonter ces difficultés, non seulement pour les grands modèles, mais aussi pour les petits modèles.