Active Learning
Descubre cómo el aprendizaje activo optimiza el entrenamiento de IA. Aprende a usar YOLO26 de Ultralytics para identificar datos informativos, reducir costos de etiquetado y aumentar la precisión.
Active Learning es un enfoque estratégico en machine learning (ML) en el que el algoritmo selecciona de forma proactiva los puntos de datos más informativos para su etiquetado, en lugar de aceptar de forma pasiva un conjunto de datos previamente etiquetado. En el supervised learning tradicional, los modelos suelen requerir cantidades masivas de datos anotados, lo que puede resultar costoso y llevar mucho tiempo crear. Active learning optimiza este proceso identificando ejemplos "inciertos" o "difíciles" —aquellos cercanos al límite de decisión o donde el modelo carece de confianza— y solicitando a los anotadores humanos que etiqueten únicamente esas instancias específicas. Este bucle iterativo permite a los modelos alcanzar una alta accuracy con muchas menos muestras etiquetadas, lo que lo hace muy eficiente para proyectos con presupuestos limitados o restricciones de tiempo.
Cómo funciona el ciclo de aprendizaje activo#
El núcleo de active learning es un bucle de retroalimentación al que a menudo se le denomina human-in-the-loop. En lugar de entrenar una sola vez con un conjunto de datos estático, el modelo evoluciona a través de ciclos de consulta y actualización.
-
Initialization: El proceso comienza con un pequeño conjunto de training data etiquetado utilizado para entrenar un modelo inicial, como Ultralytics YOLO26.
-
Selección de consulta: El modelo evalúa un gran conjunto de datos sin etiquetar. Utilizando una estrategia de consulta (la más común es el muestreo por incertidumbre), selecciona las imágenes o textos donde sus predicciones son menos seguras.
-
Annotation: Estas muestras de alta prioridad se envían a un experto humano, a menudo llamado "oráculo" en la active learning literature, para el data labeling.
-
Reentrenamiento: Los nuevos datos etiquetados se añaden al conjunto de entrenamiento y el modelo se vuelve a entrenar. Este modelo actualizado está entonces mejor equipado para seleccionar el siguiente lote de muestras confusas.
Aplicaciones en el mundo real#
El aprendizaje activo es indispensable en sectores donde los datos son abundantes pero el etiquetado requiere conocimientos especializados o altos costes.
- Medical Image Analysis: En campos como la radiología, el etiquetado requiere expertos certificados por el consejo cuyo tiempo es extremadamente valioso. En lugar de pedir a un médico que anote miles de escaneos claros, un sistema active learning puede filtrar casos ambiguos —como tumores en etapa temprana o anomalías raras— permitiendo que el experto se centre únicamente en imágenes que realmente mejoran la capacidad diagnóstica del modelo.
- Autonomous Vehicles: Los coches autónomos generan petabytes de datos de vídeo. Etiquetar cada fotograma es imposible. Active learning ayuda a los ingenieros a identificar edge cases, como peatones con disfraces o conduciendo con nieve intensa, que los modelos de object detection estándar podrían pasar por alto. Al priorizar estos escenarios raros, las empresas mejoran la seguridad sin desperdiciar recursos en grabaciones repetitivas de autopistas.
Ejemplo en Python: Filtrado de predicciones inciertas#
El siguiente ejemplo demuestra una lógica sencilla de "muestreo de incertidumbre" utilizando Ultralytics YOLO26. Cargamos un modelo, ejecutamos la inferencia en imágenes y marcamos aquellas en las que la puntuación de confidence esté por debajo de cierto umbral para su revisión manual.
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# List of unlabeled image paths
unlabeled_images = ["https://ultralytics.com/images/bus.jpg", "https://ultralytics.com/images/zidane.jpg"]
# Run inference
results = model(unlabeled_images)
# Identify samples with low confidence for active learning
uncertain_threshold = 0.6
for result in results:
# Check if any detection confidence is below the threshold
if result.boxes.conf.numel() > 0 and result.boxes.conf.min() < uncertain_threshold:
print(f"Active Learning Query: {result.path} needs human labeling.")Distinguir conceptos relacionados#
Es importante diferenciar el aprendizaje activo de paradigmas de entrenamiento similares:
- Semi-Supervised Learning: Aunque ambos métodos utilizan datos no etiquetados, semi-supervised learning asigna automáticamente pseudo-labels a los datos basándose en las predicciones de alta confianza del modelo. Por el contrario, active learning solicita explícitamente la intervención humana en las predicciones de baja confianza.
- Transfer Learning: Esto implica tomar un modelo preentrenado (como uno entrenado en ImageNet) y adaptarlo a una nueva tarea. Active learning se centra en qué datos etiquetar, mientras que transfer learning se centra en reutilizar características aprendidas.
- Reinforcement Learning: Aquí, un agente aprende interactuando con un entorno y recibiendo recompensas. Active learning es diferente porque busca etiquetas de ground truth estáticas de un oráculo, en lugar de optimizar una secuencia de acciones para obtener una recompensa.
Integración con MLOps#
Implementar active learning de manera efectiva requiere una sólida canalización de Machine Learning Operations (MLOps). Necesitas infraestructura para gestionar el control de versiones de datos, activar trabajos de reentrenamiento y servir la interfaz de anotación a los humanos. Las herramientas que se integran con el Ultralytics ecosystem permiten a los usuarios moverse sin problemas entre inferencia, curación de datos y entrenamiento. Por ejemplo, el uso de custom training scripts permite a los desarrolladores incorporar rápidamente nuevos lotes de datos de active learning en sus modelos YOLO.
Para lecturas adicionales sobre estrategias de muestreo, los investigadores suelen consultar estudios exhaustivos en la active learning literature. Además, comprender las model evaluation metrics es crucial para verificar que el bucle de active learning está mejorando realmente el rendimiento.






