Yolo Vision Shenzhen
Shenzhen
Únete ahora
Glosario

Aprendizaje con un solo ejemplo

Descubra el poder del aprendizaje 'One-Shot', una técnica revolucionaria de IA que permite a los modelos generalizar a partir de datos mínimos para aplicaciones del mundo real.

El aprendizaje único (One-Shot Learning, OSL) es un sofisticado método de aprendizaje automático (AM) en el que se diseña un modelo para reconocer y categorizar nuevos objetos a partir de un único ejemplo etiquetado. A diferencia de los métodos tradicionales de aprendizaje profundo (deep learning, DL) que requieren de datos de entrenamiento para lograr una precisión, OSL imita la capacidad cognitiva humana de captar un nuevo concepto al instante tras verlo una sola vez. Esta capacidad de capacidad es especialmente crucial para aplicaciones en las que el etiquetado de datos es caro, los datos escasean o aparecen categorías aparecen dinámicamente, como en la verificación de identidades o la identificación de anomalías poco frecuentes.

Mecanismos de aprendizaje único

El mecanismo central de OSL consiste en desplazar el problema de la clasificación a la evaluación de diferencias. En lugar de para memorizar clases específicas (como "gato" frente a "perro"), el sistema aprende una función de similitud. función de similitud. Para ello se suele utilizar una arquitectura de arquitectura de red neuronal (NN ) conocida como red siamesa. Las redes siamesas utilizan subredes idénticas que comparten las mismas para procesar simultáneamente dos imágenes de entrada distintas. simultáneamente.

Durante este proceso, la red convierte entradas de alta dimensión (como imágenes) en vectores compactos de baja dimensión conocidos como incrustaciones. Si las dos imágenes pertenecen a la misma Si dos imágenes pertenecen a la misma clase, la red se entrena para situar sus incrustaciones cerca en el espacio vectorial. Por el contrario, si Por el contrario, si son diferentes, sus incrustaciones se separan. Este proceso depende en gran medida de una para captar la esencia única de un objeto. de un objeto. En el momento de la inferencia, una nueva imagen se clasifica comparando su incrustación con la única "toma" almacenada de cada clase mediante una métrica de distancia. "de cada clase utilizando una métrica de distancia, como la distancia euclidiana o la distancia cosenoidea. distancia euclidiana o la similitud coseno.

El siguiente fragmento de Python ilustra cómo extraer incrustaciones utilizando YOLO11 y calcular la similitud entre una "y una nueva imagen de consulta.

import numpy as np
from ultralytics import YOLO

# Load a pre-trained YOLO11 classification model
model = YOLO("yolo11n-cls.pt")

# Extract embeddings for a 'shot' (reference) and a 'query' image
# The model returns a list of results; we access the first item
shot_result = model.embed("reference_image.jpg")[0]
query_result = model.embed("test_image.jpg")[0]

# Calculate Cosine Similarity (1.0 = identical, -1.0 = opposite)
# High similarity suggests the images belong to the same class
similarity = np.dot(shot_result, query_result) / (np.linalg.norm(shot_result) * np.linalg.norm(query_result))

print(f"Similarity Score: {similarity:.4f}")

Distinción de paradigmas de aprendizaje relacionados

Para entender la OSL hay que distinguirla de otras técnicas de aprendizaje con pocos datos. Aunque comparten el objetivo de eficiencia, sus limitaciones difieren significativamente:

  • Aprendizaje de Pocos Tiros (FSL): Esta es la categoría más amplia que engloba el OSL. En el FSL, el modelo recibe un pequeño conjunto de ejemplos, normalmente entre dos y cinco por clase. entre dos y cinco por clase. OSL es simplemente el caso más extremo de FSL en el que el número de ejemplos ($k$) es igual a uno.
  • Zero-Shot Learning (ZSL): ZSL lleva la escasez de datos un paso más allá al exigir al modelo que identifique clases que nunca ha visto visualmente. Se basa en la búsqueda semántica y los metadatos, asociando características visuales con descripciones textuales (por ejemplo, identificar una "cebra" sabiendo que se parece a un "caballo a rayas"). "caballo a rayas").
  • Aprendizaje por transferencia: Este consiste en tomar un modelo preentrenado en un conjunto de datos masivo, como ImageNety en un conjunto de datos más pequeño y específico. Aunque el aprendizaje por transferencia reduce los requisitos de datos, por lo general sigue necesitando más de un ejemplo para evitar el sobreajuste. el sobreajuste.

Aplicaciones en el mundo real

El aprendizaje único ha permitido inteligencia artificial (IA) funcionar en entornos dinámicos en los que el reentrenamiento de los modelos es poco práctico.

  1. Reconocimiento facial: El caso de uso El caso de uso más común es la seguridad biométrica. Cuando un usuario registra su rostro en un smartphone, el dispositivo captura una única representación de referencia (el "one shot"). Posteriormente, el sistema utiliza los principios OSL para verificar la la identidad del usuario comparando la imagen en directo con la referencia almacenada, lo que aumenta considerablemente la seguridad de los datos. la seguridad de los datos. Este método se popularizó Este método fue popularizado por investigaciones como el trabajo FaceNet de Google, que utilizó la pérdida de tripletes para el aprendizaje de incrustación. para el aprendizaje de la incrustación.
  2. Control de calidad industrial: En la fabricación, los defectos pueden ser extremadamente raros y variados. Es difícil difícil recopilar un gran conjunto de datos de piezas rotas para el formación tradicional. OSL permite a un sistema de visión por ordenador aprender el aspecto de una pieza "perfecta" a partir de una imagen de referencia. Cualquier pieza que se desvíe significativamente en el espacio de incrustación se marca como un evento de detección de anomalías, lo que permite un control de calidad inmediato en las nuevas líneas de producción.

Retos y perspectivas

A pesar de su utilidad, el aprendizaje único se enfrenta a problemas de generalización. Dado que el modelo infiere una clase es susceptible al ruido o a los valores atípicos de la imagen de referencia. Los investigadores suelen emplear metaaprendizaje, o "aprender a aprender", para mejorar la estabilidad de estos modelos. Frameworks como PyTorch y TensorFlow evolucionan continuamente para soportar estas arquitecturas avanzadas. Además, la incorporación de datos sintéticos puede ayudar a aumentar la proporcionando una representación más robusta para que el modelo aprenda de ella.

Únase a la comunidad Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora