Yolo Vision Shenzhen
Shenzhen
Iscriviti ora
Glossario

One-Shot Learning

Esplora l'apprendimento one-shot nell'IA. Scopri come classify da una singola immagine utilizzando Ultralytics e le reti Siamese per una visione artificiale efficiente.

L'apprendimento one-shot è una tecnica di classificazione specializzata nel machine learning (ML) progettata per apprendere informazioni sulle categorie di oggetti da un singolo esempio di addestramento. A differenza dei tradizionali algoritmi di deep learning (DL), che richiedono enormi set di dati contenenti migliaia di immagini annotate per generalizzare in modo efficace, l'apprendimento one-shot imita la capacità cognitiva umana di cogliere istantaneamente un nuovo concetto. Ad esempio, una persona è solitamente in grado di riconoscere un uccello esotico specifico dopo averlo visto una sola volta; questa metodologia cerca di replicare tale efficienza nei sistemi di intelligenza artificiale (AI). È particolarmente utile in scenari in cui l'etichettatura dei dati è costosa, i dati sono scarsi o è necessario aggiungere nuove categorie in modo dinamico senza dover riqualificare l'intero modello.

Meccanismi alla base del concetto

Il principio fondamentale dell'apprendimento one-shot consiste nello spostare l'obiettivo dalla classificazione standard alla valutazione della somiglianza . Anziché addestrare una rete neurale (NN) a produrre un'etichetta di classe specifica (ad esempio, "cane" o "gatto"), il modello apprende una funzione di distanza. Un'architettura comune impiegata per questo è la rete neurale siamese, che consiste di due sottoreti identiche che condividono gli stessi pesi del modello.

Durante il funzionamento, la rete esegue l' estrazione delle caratteristiche per convertire le immagini in ingresso in vettori numerici compatti noti come embedding. Il sistema confronta quindi l'embedding di una nuova immagine di query con l'embedding della singola immagine di riferimento "scatto". Se la distanza matematica, spesso calcolata utilizzando la distanza euclidea o la similarità coseno, è inferiore a una certa soglia, le immagini vengono classificate come appartenenti alla stessa classe. Ciò consente al modello di verificare l'identità o classify in base alla loro vicinanza nello spazio delle caratteristiche apprese.

Il seguente Python mostra come estrarre gli embedding e calcolare la similarità utilizzando un YOLO26 modello di classificazione dal ultralytics pacchetto.

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}")

Distinguere i paradigmi correlati

È importante differenziare l'apprendimento One-Shot dalle altre tecniche di apprendimento efficienti in termini di dati, poiché risolvono problemi simili attraverso vincoli diversi:

  • Apprendimento con pochi esempi (FSL): questa è la categoria più ampia che comprende l'apprendimento con un solo esempio. Nell'FSL, al modello viene fornito un piccolo "insieme di supporto" di esempi, che in genere varia da due a cinque immagini per classe. L'apprendimento con un solo esempio è semplicemente il caso estremo in cui la dimensione dell'insieme di supporto è esattamente uno.
  • Zero-Shot Learning (ZSL): lo ZSL si occupa del riconoscimento di categorie che il modello non ha mai visto visivamente. Invece di un'immagine di riferimento, lo ZSL si basa su attributi semantici o descrizioni testuali (ad esempio, identificare una "zebra" associando le caratteristiche visive alla descrizione testuale "cavallo striato") tramite l' elaborazione del linguaggio naturale (NLP).
  • Apprendimento trasferito: questo comporta l'utilizzo di un modello pre-addestrato su un ampio database come ImageNet e la sua messa a punto su un nuovo compito. Mentre il transfer learning alimenta gli estrattori di caratteristiche utilizzati nell'One-Shot Learning, il transfer learning standard di solito richiede più di un esempio per aggiornare efficacemente i pesi senza overfitting.

Applicazioni nel mondo reale

One-Shot Learning ha sbloccato capacità in settori in cui la raccolta di grandi quantità di dati di addestramento è impraticabile.

Riconoscimento facciale e sicurezza

L'applicazione più diffusa dell'apprendimento one-shot è nella sicurezza biometrica. Quando si imposta Face ID su uno smartphone o si effettua la registrazione in un sistema di accesso per dipendenti, il dispositivo acquisisce una singola rappresentazione matematica del volto dell'utente . Durante l'uso quotidiano, il sistema di riconoscimento facciale confronta le immagini live della fotocamera con questo "one shot" memorizzato per verificare l'identità. Ciò si basa su tecniche di incorporamento robuste, come quelle discusse nella ricerca fondamentale FaceNet, per garantire che i cambiamenti di illuminazione o angolazione non compromettano la corrispondenza di somiglianza.

Controllo qualità industriale

Nell'ambito dell'intelligenza artificiale applicata alla produzione, creare un set di dati equilibrato di parti "difettose" è difficile perché i difetti sono rari e incostanti. L'apprendimento one-shot consente ai sistemi di visione artificiale (CV) di apprendere la rappresentazione di una singola parte di riferimento "perfetta". Qualsiasi articolo sulla linea di assemblaggio che produce un embedding significativamente distante da questo riferimento viene segnalato per il rilevamento delle anomalie. Ciò consente un controllo di qualità immediato senza la necessità di migliaia di immagini di parti difettose, che possono essere gestite e distribuite tramite Ultralytics .

Sfide e prospettive future

Sebbene potente, l'apprendimento one-shot è sensibile al rumore; se l'immagine di riferimento è sfocata, ostruita o non rappresentativa, la capacità del modello di riconoscere quella classe si riduce significativamente. I ricercatori spesso utilizzano il meta-apprendimento, o "apprendimento dell'apprendimento", per migliorare la stabilità e la generalizzazione del modello. Con l'evoluzione delle architetture, i modelli più recenti come YOLO26 stanno incorporando estrattori di caratteristiche più robusti che rendono l'inferenza one-shot più veloce e accurata, aprendo la strada a dispositivi AI edge più adattivi e intelligenti .

Unitevi alla comunità di Ultralytics

Entra nel futuro dell'AI. Connettiti, collabora e cresci con innovatori globali

Iscriviti ora