Glosario

Aumento de datos

Mejora tus modelos de aprendizaje automático con el aumento de datos. Descubre técnicas para aumentar la precisión, reducir el sobreajuste y mejorar la solidez.

Entrena los modelos YOLO simplemente
con Ultralytics HUB

Saber más

El aumento de datos es una técnica utilizada en el aprendizaje automático para ampliar artificialmente el tamaño de un conjunto de datos de entrenamiento creando versiones modificadas de los datos existentes. Este proceso implica aplicar diversas transformaciones a los datos originales, como girar, voltear, escalar o recortar imágenes. Al aumentar la diversidad de los datos de entrenamiento, el aumento de datos ayuda a mejorar la capacidad de generalización de los modelos de aprendizaje automático, haciéndolos más robustos y menos propensos al sobreajuste. El sobreajuste se produce cuando un modelo aprende demasiado bien los datos de entrenamiento, incluidos el ruido y los valores atípicos, lo que puede dar lugar a un rendimiento deficiente con datos nuevos y desconocidos.

Ventajas de la ampliación de datos

El aumento de datos ofrece varias ventajas clave. En primer lugar, ayuda a reducir el sobreajuste al exponer el modelo a una gama más amplia de variaciones durante el entrenamiento. Esto hace que el modelo sea menos sensible a características específicas de los datos de entrenamiento y más capaz de generalizar a datos nuevos y desconocidos. En segundo lugar, puede mejorar la precisión y el rendimiento de los modelos, especialmente cuando el conjunto de datos original es pequeño o carece de diversidad. Al crear más ejemplos de entrenamiento, el aumento de datos proporciona al modelo más oportunidades de aprender los patrones subyacentes en los datos. Por último, puede mejorar la robustez de un modelo, haciéndolo más resistente a los cambios en los datos de entrada, como variaciones en la iluminación, la orientación o el ruido de fondo.

Técnicas habituales de aumento de datos

Se utilizan varias técnicas habituales para aumentar los datos, sobre todo en tareas de visión por ordenador:

  • Transformaciones geométricas: Incluyen operaciones como rotación, traslación, escalado, cizallamiento y volteo. Por ejemplo, girar una imagen unos grados o voltearla horizontalmente puede crear nuevos ejemplos de entrenamiento válidos.
  • Transformaciones del espacio de color: Ajustar el brillo, el contraste, la saturación o el tono de una imagen puede simular diferentes condiciones de iluminación y mejorar la capacidad del modelo para generalizarse en diversos entornos.
  • Filtros de núcleo: Aplicar filtros para enfocar o desenfocar las imágenes puede ayudar al modelo a aprender características que sean invariables a estos cambios.
  • Borrado aleatorio: Borrar aleatoriamente partes de una imagen puede ayudar a que el modelo sea más robusto frente a oclusiones o partes perdidas de objetos.
  • Mezclar imágenes: Técnicas como MixUp y CutMix consisten en mezclar imágenes y sus correspondientes etiquetas para crear nuevos ejemplos de entrenamiento. Por ejemplo, MixUp interpola linealmente tanto las imágenes como sus etiquetas.

Aumento de datos en visión por ordenador

En visión por ordenador, el aumento de datos es especialmente útil porque puede simular una amplia gama de escenarios del mundo real con los que podría encontrarse un modelo. Por ejemplo, en la detección de objetos, un modelo Ultralytics YOLO la primera vez que se menciona YOLO en una página entrenado con imágenes aumentadas puede aprender a detectar objetos independientemente de su orientación, tamaño o condiciones de iluminación. Esto es crucial para aplicaciones como los vehículos autónomos, donde el modelo debe funcionar de forma fiable en condiciones diversas e impredecibles. Por ejemplo, aplicando diversas transformaciones como rotación, escalado y adición de ruido a imágenes de peatones y vehículos, se puede entrenar a un sistema de conducción autónoma para que detecte con precisión estos objetos en diversos escenarios del mundo real. Del mismo modo, en la clasificación de imágenes, aumentar las imágenes con diferentes ajustes de color puede ayudar al modelo a generalizarse mejor a diferentes condiciones de iluminación.

Aumento de datos en otros ámbitos

Aunque el aumento de datos se utiliza mucho en visión por ordenador, también es aplicable en otros ámbitos, como el procesamiento del lenguaje natural (PLN) y el procesamiento de audio. En PNL, técnicas como la sustitución de sinónimos, la retrotraducción y la inserción/eliminación aleatoria de palabras pueden aumentar los datos de texto. En el procesamiento de audio, añadir ruido de fondo, cambiar el tono o estirar el tiempo del audio puede crear diversos ejemplos de entrenamiento.

Aplicaciones en el mundo real

  • Sanidad: En el análisis de imágenes médicas, el aumento de datos puede utilizarse para entrenar modelos en un número limitado de imágenes médicas. Por ejemplo, aplicando rotaciones, giros y pequeñas deformaciones a las resonancias magnéticas, un modelo puede aprender a detectar anomalías con mayor precisión en diferentes pacientes y condiciones de imagen.
  • Agricultura: El aumento de datos puede ayudar a entrenar modelos para detectar enfermedades o plagas de las plantas a partir de imágenes tomadas en diversas condiciones. Aumentando las imágenes de los cultivos con diferentes iluminaciones, ángulos y niveles de zoom, los modelos pueden rendir con solidez en el campo, ayudando a los agricultores a identificar los problemas pronto y tomar medidas correctivas.

Aumento de datos frente a otras técnicas

Es importante distinguir el aumento de datos de otras técnicas relacionadas:

  • Preprocesamiento de datos: Aunque tanto el aumento de datos como el preprocesamiento de datos preparan los datos para el entrenamiento del modelo, el preprocesamiento suele implicar pasos como la normalización, la estandarización y el tratamiento de los valores perdidos. Estos pasos son esenciales para garantizar que los datos tienen un formato adecuado para el modelo. El aumento de datos, por otra parte, se centra en aumentar la diversidad de los datos de entrenamiento.
  • Generación de Datos Sintéticos: Los datos sintéticos implican la creación de puntos de datos totalmente nuevos, a menudo utilizando modelos generativos como las Redes Adversariales Generativas (GAN). Esto es diferente del aumento de datos, que modifica los datos existentes. Los datos sintéticos pueden ser especialmente útiles cuando los datos reales son escasos o sensibles, como en las aplicaciones médicas o financieras.

Herramientas y bibliotecas

Varias herramientas y bibliotecas admiten el aumento de datos. En Python, bibliotecas como OpenCV y TensorFlow ofrecen una amplia gama de funciones para la transformación de imágenes. Además, bibliotecas especializadas como Albumentations ofrecen tuberías de aumento muy optimizadas y diversas. Ultralytics HUB también proporciona herramientas para el aumento de datos, facilitando la integración de estas técnicas en el proceso de entrenamiento del modelo. Explora técnicas de aumento de datos como MixUp, Mosaico y Perspectiva Aleatoria para mejorar el entrenamiento de modelos.

Leer todo