Descubra cómo el aumento de datos mejora la solidez de los modelos y reduce el sobreajuste. Aprenda técnicas clave para mejorar el rendimiento Ultralytics para la visión artificial.
El aumento de datos es una técnica fundamental en el aprendizaje automático y la visión por computadora que se utiliza para aumentar artificialmente el tamaño y la diversidad de un conjunto de datos de entrenamiento mediante la creación de versiones modificadas de los datos existentes. En lugar de recopilar y etiquetar datos completamente nuevos, lo que puede llevar mucho tiempo y ser costoso, el aumento aplica varias transformaciones a las muestras originales. Estas modificaciones ayudan a los modelos de aprendizaje automático a aprender a reconocer patrones de forma más sólida, lo que garantiza que funcionen bien incluso cuando se encuentran con variaciones en entornos del mundo real. Al exponer los modelos a una gama más amplia de escenarios durante el entrenamiento, los desarrolladores pueden reducir eficazmente el sobreajuste y mejorar la generalización.
En el campo de la visión por computadora, los modelos a menudo tienen dificultades cuando se les presentan imágenes que difieren ligeramente de sus datos de entrenamiento. Las variaciones en la iluminación, la orientación o el desorden del fondo pueden confundir a un modelo que no ha visto suficiente diversidad. El aumento de datos soluciona esto simulando estas variaciones mediante programación. Por ejemplo, una imagen de un gato puede girarse, voltearse o desenfocarse ligeramente para enseñar al modelo que el sujeto sigue siendo un «gato» independientemente de estos cambios.
Este proceso es fundamental para el éxito de arquitecturas modernas como Ultralytics , que se basa en conjuntos de datos ricos y variados para lograr una alta precisión en tareas como la detección de objetos y la segmentación de imágenes. Al sintetizar nuevos ejemplos de entrenamiento , el aumento permite a los modelos aprender características invariables, es decir, características que no cambian a pesar de las alteraciones en la entrada.
El aumento de datos abarca una amplia gama de técnicas de transformación, que van desde simples ajustes geométricos hasta enfoques generativos complejos:
El impacto práctico del aumento de datos abarca numerosas industrias en las que la escasez de datos o la alta variabilidad son un reto.
En el desarrollo de vehículos autónomos, recopilar datos para todas las condiciones meteorológicas o escenarios de iluminación posibles es casi imposible. Los ingenieros utilizan el aumento de datos para simular lluvia, niebla, nieve o reflejos en imágenes de tiempo despejado. Esto garantiza que el sistema de percepción pueda detect de forma fiable detect , las señales de tráfico y otros vehículos independientemente de los factores ambientales, lo que mejora la seguridad y la fiabilidad.
El análisis de imágenes médicas a menudo adolece de conjuntos de datos limitados debido a cuestiones de privacidad y a la rareza de ciertas afecciones. El aumento permite a los investigadores ampliar pequeños conjuntos de datos de radiografías o resonancias magnéticas aplicando deformaciones elásticas, rotaciones o cambios de intensidad. Esto ayuda a entrenar modelos de diagnóstico robustos capaces de identificar tumores o fracturas con alta sensibilidad, incluso cuando varía la posición del paciente o la calidad de la exploración.
Es importante diferenciar el aumento de datos de los datos sintéticos. Si bien ambos tienen como objetivo aumentar el tamaño del conjunto de datos, los datos sintéticos se generan artificialmente desde cero (a menudo utilizando motores de simulación o renderización 3D), mientras que el aumento de datos modifica los datos existentes del mundo real. Además, el preprocesamiento de datos implica la limpieza y el formateo de los datos (por ejemplo, cambio de tamaño, normalización) para que sean adecuados para un modelo, pero a diferencia del aumento, no aumenta necesariamente el número de muestras de entrenamiento.
Los marcos modernos integran la ampliación directamente en el proceso de entrenamiento. El siguiente ejemplo muestra cómo
aplicar ampliaciones como voltear y escalar durante el entrenamiento de un modelo YOLO26 utilizando el
ultralytics paquete.
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Train with custom data augmentation hyperparameters
# fliplr: 50% chance of horizontal flip, scale: image scaling gain
results = model.train(data="coco8.yaml", epochs=10, fliplr=0.5, scale=0.5)
Al ajustar estos hiperparámetros, los desarrolladores pueden adaptar la estrategia de aumento a las necesidades específicas de su conjunto de datos y aplicación, aprovechando la flexibilidad de la Ultralytics para un desarrollo eficiente de modelos.