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.
El aumento de datos es una técnica estratégica en
aprendizaje automático (AM) utilizada para
artificialmente el tamaño y la diversidad de una
conjunto de datos de entrenamiento sin necesidad de
recopilar nuevos datos brutos. Aplicando diversas transformaciones a las muestras de datos existentes, los desarrolladores pueden crear versiones modificadas pero realistas de imágenes, texto o audio.
modificadas pero realistas de imágenes, texto o audio. Este proceso es esencial para reducir
sobreajusteun problema común cuando un modelo memoriza los ejemplos de entrenamiento en lugar de aprender patrones generalizables.
En última instancia, un aumento eficaz conduce a una mayor
precisión y garantiza que el modelo
cuando se exponga a datos desconocidos en entornos reales.
Técnicas y métodos básicos
En el ámbito de la
visión por ordenador (VC)el aumento consiste en manipular las imágenes de entrada para simular diferentes condiciones. Estas transformaciones ayudan al
invariante a los cambios de orientación, iluminación y escala.
-
Transformaciones geométricas: Modifican la disposición espacial de una imagen. Las operaciones más comunes son
rotación aleatoria, volteo horizontal, recorte y escalado. Por ejemplo, con
transformaciones geométricasOpenCV
permite a un modelo reconocer un objeto independientemente de si está al revés o inclinado.
-
Transformaciones fotométricas: Ajustan los valores de los píxeles para modificar el aspecto visual sin cambiar la geometría.
sin cambiar la geometría. Ajustar el brillo, el contraste, la saturación y añadir
ruido gaussiano ayuda al modelo a manejar
condiciones de iluminación variables.
-
Mezcla avanzada: Modern
detección de objetos de objetos
utilizan a menudo técnicas complejas como Mosaic, MixUp y CutMix. Estos métodos combinan varias imágenes en una
muestra de entrenamiento, lo que anima al modelo a aprender relaciones contextuales. Puede explorar cómo implementarlos a través de
la página
integración deUltralytics Albumentations.
Aplicaciones en el mundo real
El aumento de datos es indispensable en sectores en los que los datos de alta calidad son escasos o caros de obtener.
-
Imagen médica: En
análisis de imágenes médicaslas leyes de protección de la intimidad y la rareza de determinadas afecciones limitan el tamaño de los conjuntos de datos. Aumentando las radiografías o las resonancias magnéticas con
con rotaciones y deformaciones elásticas, los investigadores pueden
detección de tumoresy garantizar que la IA pueda identificar anomalías independientemente de la posición del paciente o de la calibración de la máquina.
-
Conducción autónoma: Los coches autónomos deben navegar por entornos impredecibles. Es imposible recopilar datos
todas las condiciones meteorológicas posibles. Los ingenieros utilizan el aumento para simular lluvia, niebla o poca luz
con poca luz en imágenes de días despejados. Esto prepara
vehículos autónomos para reaccionar
reaccionar con seguridad en condiciones meteorológicas adversas, lo que mejora significativamente los niveles de seguridad descritos por organizaciones como la
NHTSA.
Aplicación del aumento en Ultralytics YOLO
En ultralytics simplifica la aplicación de aumentos directamente dentro de la biblioteca
entrenamiento de modelos tubería. Puede ajustar
hiperparámetros para controlar la intensidad y la probabilidad de las transformaciones.
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model with custom data augmentation parameters
# These arguments modify the training data on-the-fly
model.train(
data="coco8.yaml",
epochs=5,
degrees=30.0, # Apply random rotations between -30 and +30 degrees
fliplr=0.5, # 50% probability of flipping images horizontally
mosaic=1.0, # Use Mosaic augmentation (combining 4 images)
mixup=0.1, # Apply MixUp augmentation with 10% probability
)
Distinguir conceptos relacionados
Es importante diferenciar el aumento de datos de otras estrategias de datos similares:
-
vs. Datos sintéticos: Mientras que el aumento modifica los datos existentes del mundo real,
datos sintéticos se generan
completamente desde cero mediante simulaciones informáticas o
IA generativa. El aumento añade variedad a lo que se tiene; los datos sintéticos crean lo que no se tiene.
-
vs. Preprocesamiento de datos:
El preprocesamiento de datos consiste en
la limpieza y el formateo de los datos (por ejemplo, cambio de tamaño, normalización) para adaptarlos a un modelo. El aumento se produce
después del preprocesamiento y se centra en ampliar la diversidad del conjunto de datos más que en su formato.
-
vs. Aprendizaje por transferencia:
El aprendizaje por transferencia aprovecha
conocimiento de un modelo preentrenado (por ejemplo, entrenado en
ImageNet) para resolver una nueva tarea. Aunque a menudo se utilizan juntos, el aprendizaje por transferencia se refiere a los pesos del modelo, mientras que el aumento
se refiere a los datos de entrada.
Para profundizar en las bibliotecas de aumento modernas, la página
documentación de Albumentations proporciona una extensa lista
de transformaciones disponibles compatibles con PyTorch y YOLO11.