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 one-shot 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 jeux de données massifs contenant des milliers d'images annotées pour se généraliser efficacement, l'apprentissage one-shot imite la capacité cognitive humaine à saisir un nouveau concept instantanément. 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 où de nouvelles catégories doivent être ajoutées dynamiquement sans réentraîner l'ensemble du modèle.
Mécanismes derrière le concept#
Le principe fondamental de l'apprentissage one-shot consiste à faire passer l'objectif d'une classification standard à une é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 employée à cet effet est le réseau de neurones siamois, qui se compose de deux sous-réseaux identiques partageant les mêmes poids de 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 du unique « shot » 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, il est déterminé que les images appartiennent à 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 de 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 paquet 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}")Distinction 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 one-shot. Dans le cadre du FSL, le modèle reçoit un petit « jeu de support » d'exemples, allant généralement de deux à cinq images par classe. L'apprentissage one-shot est simplement le cas extrême où la taille du jeu 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 s'appuie 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 automatique 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'affiner sur une nouvelle tâche. Bien que le transfer learning alimente les extracteurs de caractéristiques utilisés dans l'apprentissage one-shot, le transfer learning standard nécessite généralement plus d'un exemple pour mettre à jour efficacement les poids sans surapprentissage.
Applications concrètes#
L'apprentissage one-shot a débloqué des capacités dans des secteurs où la collecte de vastes quantités de données d'entraînement est impraticable.
Reconnaissance faciale et sécurité#
L'application la plus omniprésente de l'apprentissage one-shot 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 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 « one shot » 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é.
Contrôle qualité industriel#
Dans l'IA dans la fabrication, créer un jeu de données équilibré de pièces « défectueuses » est difficile car les défauts sont rares et incohérents. L'apprentissage one-shot 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 article 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 nécessiter des milliers d'images de pièces cassées, ce qui peut être géré et déployé via la plateforme Ultralytics.
Défis et perspectives d'avenir#
Bien qu'il soit puissant, l'apprentissage one-shot 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 se dégrade considérablement. Les chercheurs emploient 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, des modèles plus récents comme YOLO26 intègrent des extracteurs de caractéristiques plus robustes qui rendent l'inférence one-shot plus rapide et plus précise, ouvrant la voie à des appareils d'edge AI plus adaptatifs et intelligents.






