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.
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.
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.
Se utilizan varias técnicas habituales para aumentar los datos, sobre todo en tareas de 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.
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.
Es importante distinguir el aumento de datos de otras técnicas relacionadas:
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.