One-Shot Learning
Explore l'apprentissage à un coup (One-Shot Learning) en IA. Apprends comment classer des objets à partir d'une seule image en utilisant Ultralytics YOLO26 et des réseaux siamois pour une vision par ordinateur efficace.
L'apprentissage en un exemple (One-Shot Learning) est une technique de classification spécialisée en machine learning (ML) conçue pour apprendre des informations sur des catégories d'objets à partir d'un seul exemple d'entraînement. Contrairement aux algorithmes traditionnels de deep learning (DL), qui nécessitent des datasets massifs contenant des milliers d'images annotées pour généraliser efficacement, l'apprentissage en un exemple imite la capacité cognitive humaine à saisir instantanément un nouveau concept. Par exemple, une personne peut généralement reconnaître un oiseau exotique spécifique après l'avoir vu une seule fois ; cette méthodologie tente de reproduire cette efficacité dans les systèmes d'intelligence artificielle (AI). Elle est particulièrement précieuse dans les scénarios où l'étiquetage des données est coûteux, où les données sont rares, ou lorsque de nouvelles catégories doivent être ajoutées dynamiquement sans réentraîner l'intégralité du modèle.
Link to this sectionMécanismes derrière le concept#
Le principe fondamental de l'apprentissage en un exemple consiste à déplacer l'objectif de la classification standard vers l'évaluation de similarité. Au lieu d'entraîner un réseau de neurones (NN) à produire une étiquette de classe spécifique (par exemple, "chien" ou "chat"), le modèle apprend une fonction de distance. Une architecture courante utilisée pour cela est le réseau de neurones siamois, qui se compose de deux sous-réseaux identiques partageant les mêmes poids du modèle.
Pendant le fonctionnement, le réseau effectue une extraction de caractéristiques pour convertir les images d'entrée en vecteurs numériques compacts appelés embeddings. Le système compare ensuite l'embedding d'une nouvelle image de requête à l'embedding de l'unique "exemple" de référence. Si la distance mathématique — souvent calculée à l'aide de la distance euclidienne ou de la similarité cosinus — est inférieure à un certain seuil, les images sont considérées comme appartenant à la même classe. Cela permet au modèle de vérifier l'identité ou de classifier des objets en fonction de leur proximité dans l'espace des caractéristiques appris.
Le code Python suivant montre comment extraire des embeddings et calculer la similarité à l'aide d'un modèle de classification YOLO26 du package ultralytics.
import numpy as np
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model for feature extraction
model = YOLO("yolo26n-cls.pt")
# Extract embeddings for a reference 'shot' and a query image
# The embed() method returns the feature vector directly
shot_vec = model.embed("reference_img.jpg")[0]
query_vec = model.embed("query_img.jpg")[0]
# Calculate similarity (higher dot product implies greater similarity)
similarity = np.dot(shot_vec, query_vec) / (np.linalg.norm(shot_vec) * np.linalg.norm(query_vec))
print(f"Similarity Score: {similarity:.4f}")Link to this sectionDistinction entre les paradigmes associés#
Il est important de différencier l'apprentissage en un exemple des autres techniques d'apprentissage économes en données, car elles résolvent des problèmes similaires par le biais de contraintes différentes :
- Few-Shot Learning (FSL) : Il s'agit de la catégorie plus large englobant l'apprentissage en un exemple. Dans le FSL, le modèle reçoit un petit "ensemble de support" d'exemples, allant généralement de deux à cinq images par classe. L'apprentissage en un exemple est simplement le cas extrême où la taille de l'ensemble de support est exactement de un.
- Zero-Shot Learning (ZSL) : Le ZSL traite de la reconnaissance de catégories que le modèle n'a jamais vues visuellement. Au lieu d'une image de référence, le ZSL repose sur des attributs sémantiques ou des descriptions textuelles (par exemple, identifier un "zèbre" en associant des caractéristiques visuelles à la description textuelle "cheval rayé") via le traitement du langage naturel (NLP).
- Transfer Learning : Cela implique de prendre un modèle pré-entraîné sur une grande base de données comme ImageNet et de l'ajuster (fine-tuning) sur une nouvelle tâche. Bien que le transfert learning alimente les extracteurs de caractéristiques utilisés dans l'apprentissage en un exemple, le transfert learning standard nécessite généralement plus d'un exemple pour mettre à jour les poids efficacement sans surapprentissage (overfitting).
Link to this sectionApplications concrètes#
L'apprentissage en un exemple a ouvert des capacités dans des secteurs où la collecte de vastes quantités de données d'entraînement est peu pratique.
Link to this sectionReconnaissance faciale et sécurité#
L'application la plus omniprésente de l'apprentissage en un exemple se trouve dans la sécurité biométrique. Lors de la configuration de Face ID sur un smartphone ou de l'inscription à un système d'accès pour les employés, l'appareil capture une représentation mathématique unique du visage de l'utilisateur. Lors d'une utilisation quotidienne, le système de reconnaissance faciale compare le flux de la caméra en direct à ce "shot" unique stocké pour vérifier l'identité. Cela repose sur des techniques d'embedding robustes, telles que celles discutées dans la recherche fondamentale FaceNet, pour garantir que les changements d'éclairage ou d'angle ne brisent pas la correspondance de similarité.
Link to this sectionContrôle qualité industriel#
Dans l'IA dans l'industrie manufacturière, la création d'un dataset équilibré de pièces "défectueuses" est difficile car les défauts sont rares et incohérents. L'apprentissage en un exemple permet aux systèmes de vision par ordinateur (CV) d'apprendre la représentation d'une seule pièce de référence "parfaite". Tout élément sur la chaîne de montage qui produit un embedding significativement éloigné de cette référence est signalé pour la détection d'anomalies. Cela permet une assurance qualité immédiate sans avoir besoin de milliers d'images de pièces cassées, le tout pouvant être géré et déployé via la Plateforme Ultralytics.
Link to this sectionDéfis et perspectives d'avenir#
Bien que puissant, l'apprentissage en un exemple est sensible au bruit ; si l'image de référence unique est floue, obstruée ou non représentative, la capacité du modèle à reconnaître cette classe diminue considérablement. Les chercheurs utilisent souvent le méta-apprentissage, ou "apprendre à apprendre", pour améliorer la stabilité et la généralisation du modèle. À mesure que les architectures évoluent, les nouveaux modèles comme YOLO26 intègrent des extracteurs de caractéristiques plus robustes qui rendent l'inférence en un exemple plus rapide et plus précise, ouvrant la voie à des appareils d'edge AI plus adaptatifs et intelligents.






