Aumento de datos

Definición breve

El aumento de datos es una técnica que consiste en generar nuevas muestras a partir de los datos existentes mediante transformaciones, con el objetivo de mejorar el rendimiento y la generalización del modelo.

Explicación del concepto

En muchos problemas de aprendizaje automático, especialmente en visión por computadora, la cantidad de datos disponibles puede ser limitada.

El aumento de datos permite crear variaciones de los datos originales aplicando transformaciones como:

  • rotaciones
  • cambios de escala
  • traslaciones
  • volteos (flips)
  • modificaciones de color

Estas nuevas muestras ayudan al modelo a aprender patrones más robustos sin necesidad de recopilar más datos reales.

Cómo funciona

El proceso de aumento de datos sigue estos pasos:

  1. Se selecciona una muestra del dataset original.
  2. Se aplican transformaciones aleatorias a la muestra.
  3. Se añade la nueva versión transformada al conjunto de entrenamiento.
  4. El modelo se entrena con estas variaciones.

Las transformaciones se aplican generalmente en tiempo real durante el entrenamiento.

Por qué es importante

El aumento de datos es una técnica clave para mejorar la generalización del modelo.

Sus beneficios incluyen:

  • reducción del sobreajuste
  • aumento de la diversidad de los datos
  • mejora de la robustez del modelo
  • mejor rendimiento con datasets pequeños

Permite simular diferentes condiciones del mundo real sin necesidad de recopilar nuevos datos.

Ejemplo conceptual

Supongamos que se entrena un modelo para reconocer imágenes de gatos.

En lugar de usar solo imágenes originales, se pueden generar nuevas versiones:

  • gatos girados
  • gatos en diferentes posiciones
  • gatos con distintos niveles de iluminación

Esto ayuda al modelo a reconocer gatos en diversas condiciones.

Ejemplo en PyTorch

En PyTorch, el aumento de datos se implementa utilizando transformaciones.

Python
from torchvision import transforms
transform = transforms.Compose([
transforms.RandomHorizontalFlip(),
transforms.RandomRotation(15),
transforms.ToTensor()
])

Estas transformaciones generan nuevas variaciones de los datos durante el entrenamiento.

Conceptos relacionados

Resumen

El aumento de datos es una técnica que permite generar nuevas muestras a partir de datos existentes mediante transformaciones, mejorando la capacidad de generalización del modelo. Es especialmente útil en escenarios con datos limitados y juega un papel clave en el entrenamiento de modelos robustos.