Descubra el aprendizaje activo, un método de machine learning rentable que aumenta la precisión con menos etiquetas. ¡Aprenda cómo transforma el entrenamiento de la IA!
El aprendizaje activo es un enfoque dinámico en aprendizaje automático (AM) diseñado para optimizar proceso de formación eligiendo selectivamente los puntos de datos más informativos para la anotación. En el aprendizaje supervisado estándar, un modelo se alimenta pasivamente de un gran conjunto de datos preetiquetados, lo que puede resultar ineficaz y costoso si los datos incluyen ejemplos redundantes o poco informativos. si los datos incluyen ejemplos redundantes o poco informativos. El aprendizaje activo cambia este paradigma al permitir que el modelo consulta interactiva a una fuente de información -a menudo un experto humano u "oráculo"- para solicitar etiquetas para casos específicos o ambiguos, específicas y ambiguas. Esta estrategia específica reduce significativamente la cantidad de datos de entrenamiento necesarios para precisión, lo que la hace ideal para proyectos con presupuestos limitados o plazos estrictos.
El proceso de aprendizaje activo funciona como un ciclo iterativo, a menudo descrito como un flujo de trabajo humano. Este ciclo Este ciclo garantiza que el esfuerzo humano se centre únicamente en los datos que más contribuyen a la mejora del modelo. El flujo de trabajo típico implica:
La eficacia de este método depende en gran medida de la estrategia de muestreo. El muestreo de incertidumbre es la técnica más común, en la que el algoritmo selecciona las instancias más cercanas a su límite de decisión. En sobre estas estrategias en varios estudios sobre aprendizaje activo.
El siguiente fragmento de código muestra cómo implementar un bucle básico de muestreo de incertidumbre. Carga un modelo, predice sobre las imágenes, e identifica aquellas con detecciones de baja confianza, marcándolas para su revisión manual.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on a list or directory of unlabeled images
results = model.predict(["image1.jpg", "image2.jpg"])
# Identify images where the model is uncertain
uncertain_samples = []
for result in results:
# Check if detections exist and if the maximum confidence is below a threshold
if result.boxes.conf.numel() > 0 and result.boxes.conf.max() < 0.6:
uncertain_samples.append(result.path)
print(f"Flagging {result.path} for manual labeling.")
print(f"Total uncertain images found: {len(uncertain_samples)}")
El aprendizaje activo es especialmente valioso en etiquetado de datos es costoso o requiere especializados.
Aunque el aprendizaje activo implica el uso de datos no etiquetados, es distinto de otros paradigmas de aprendizaje automático:
La aplicación del aprendizaje activo requiere un sólido sistema de operaciones de aprendizaje automático (MLOps) para gestionar el flujo de datos entre el modelo, el conjunto de datos y la interfaz de anotación. Las herramientas de gestión y de datos son esenciales para saber qué muestras se han consultado. Aunque las bibliotecas de uso general como scikit-learn ofrecen cierta utilidad, los flujos de trabajo de visión por ordenador a menudo requieren una integración personalizada con los conjuntos de datos de imágenes para visualizar y anotar las imágenes seleccionadas. de datos de imágenes para visualizar y anotar las imágenes seleccionadas de forma eficaz. Los usuarios avanzados pueden explorar el repositorio repositorio GitHub deUltralytics para ver cómo pueden estructurarse pueden estructurarse para alimentar estos bucles de curación de datos.