Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Hard Negative Mining

La minería de negativos difíciles encuentra los negativos que el modelo más confunde con positivos y centra en ellos el entrenamiento, reduciendo los falsos positivos en detección y búsqueda.

La minería de negativos difíciles es una estrategia de entrenamiento que busca los ejemplos negativos en los que más se equivoca un modelo y concentra el aprendizaje en ellos. Un ejemplo negativo no pertenece a la clase objetivo, y un negativo difícil es uno que el modelo sigue puntuando como positivo: un recorte del fondo que un detector delimita como objeto o una imagen no relacionada que un modelo de incrustaciones sitúa junto a la consulta. La mayoría de los negativos son fáciles y, una vez que el modelo los gestiona, apenas aportan señal de aprendizaje. Por eso, seleccionar los más difíciles afina las fronteras de decisión y reduce los falsos positivos.

Cómo funciona la minería de negativos difíciles#

Lo que se considera difícil depende de la tarea:

La minería se realiza sin conexión o en línea. La minería sin conexión ejecuta un modelo entrenado sobre un gran conjunto de datos que solo contiene negativos, recopila sus falsos positivos, los añade al conjunto de entrenamiento y vuelve a entrenar el modelo. Los detectores clásicos de peatones con ventana deslizante se entrenaban de esta forma: buscaban falsas alarmas en imágenes sin personas y volvían a entrenarse con ellas. La minería en línea selecciona ejemplos difíciles dentro de cada lote de entrenamiento. SSD ordena sus cajas predeterminadas negativas según la pérdida de clasificación y conserva solo las que tienen mayor pérdida, hasta un máximo de 3 negativos por positivo. La minería en línea de ejemplos difíciles (OHEM) aplica la misma idea a las propuestas de región de los detectores de dos etapas. La selección de SSD ocupa unas pocas líneas:

import torch
import torch.nn.functional as F

torch.manual_seed(0)

# Simulated objectness logits for 8,400 candidate boxes: 20 cover an object, the rest are background
logits = torch.randn(8400) - 3
labels = torch.zeros(8400)
labels[:20] = 1
loss = F.binary_cross_entropy_with_logits(logits, labels, reduction="none")

# Keep every positive plus only the highest-loss negatives, at most 3 per positive
positives = labels == 1
negative_loss = loss.masked_fill(positives, 0)
hard_negatives = negative_loss.topk(3 * int(positives.sum())).indices
kept = torch.cat([positives.nonzero().squeeze(1), hard_negatives])

print(f"boxes in the loss: {len(kept)} of {len(loss)}")
print(f"mean negative loss: all {loss[~positives].mean():.3f}, mined {loss[hard_negatives].mean():.3f}")

La pérdida conserva 80 de las 8.400 cajas: los 20 positivos y los 60 negativos que el modelo más puntúa como objetos. La pérdida media de esos 60 negativos seleccionados es de 0,648, frente a 0,075 para los 8.380 negativos; así, el gradiente se concentra en el fondo que realmente confunde al modelo.

  • Muestreo de negativos: Selecciona un subconjunto manejable de todos los negativos, a menudo al azar. La minería de negativos difíciles elige los que más confunden al modelo.
  • Pérdida focal: Incluye todos los ejemplos en la pérdida, pero reduce el peso de los que se clasifican correctamente. Esto permite entrenar con todas las cajas candidatas a detectores de una etapa como RetinaNet sin muestreo explícito.
  • Aprendizaje activo: Selecciona ejemplos sin etiquetar que generan dudas para que una persona los anote, incluidos posibles positivos. La minería de negativos difíciles se centra en ejemplos ya confirmados como negativos.
  • Reequilibrio de clases: Corrige las frecuencias desiguales de las clases mediante submuestreo y aumento del peso. Una clase negativa frecuente no tiene por qué ser difícil.
  • Aumento de datos: Crea variaciones de las muestras existentes, pero no puede introducir un objeto confuso que nunca haya estado en el conjunto de datos.

Aplicaciones en el mundo real#

  • Detección de seguridad en almacenes: Un detector de carretillas elevadoras que señala repetidamente transpaletas, reflejos en estanterías y plataformas elevadoras de tijera erosiona la confianza de los operarios con falsas alertas. Recopilar esas escenas como imágenes negativas y volver a entrenar enseña al detector las características que distinguen una carretilla elevadora de equipos parecidos.
  • Búsqueda visual de productos: Cuando una búsqueda de una zapatilla negra concreta clasifica demasiado alto modelos similares de otras líneas de productos, estos se convierten en negativos difíciles. Entrenar con ellos, por ejemplo como negativos en los tripletes ancla-positivo-negativo de una red siamesa, enseña al modelo de incrustaciones a mantener diferencias sutiles como la forma de la suela, la posición del logotipo y el material.

Flujo de trabajo de minería sin conexión#

Cada ronda de minería sin conexión ejecuta el modelo actual, confirma lo que ha señalado y vuelve a incorporar los casos confirmados al entrenamiento:

El paso de revisión es importante porque un «falso positivo» suele ser un objeto real que los anotadores han pasado por alto, y añadirlo como negativo enseñaría al modelo a suprimir detecciones verdaderas. Ultralytics YOLO trata una imagen de entrenamiento con un archivo de etiquetas ausente o vacío como una imagen de fondo, así que cada punto de anclaje de esa imagen recibe una puntuación objetivo de cero y se penaliza cualquier predicción con confianza que aparezca allí. Por eso, añadir negativos seleccionados a un conjunto de datos YOLO26 consiste simplemente en copiar las imágenes sin etiquetas. El progreso se refleja en una precisión mayor con la misma exhaustividad, medida tanto en el conjunto de prueba completo como en una partición dedicada de negativos difíciles.

Entrenar solo con los negativos más difíciles puede ser contraproducente. En el entrenamiento de incrustaciones faciales de FaceNet, elegir los negativos más difíciles al principio podía hacer que el modelo colapsara y asignara el mismo punto a todas las caras. Por eso, sus autores entrenaron con negativos semidifíciles, que están más lejos del ancla que el positivo, pero siguen dentro del margen triplete.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático