Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Training Data

El conjunto de entrenamiento es el conjunto de ejemplos a partir del cual un modelo aprende sus pesos. Descubre en qué se diferencia de los conjuntos de validación y prueba, y por qué la calidad de las etiquetas importa tanto como el volumen.

Los datos de entrenamiento son el conjunto de ejemplos del que aprende un modelo de aprendizaje automático. Durante el entrenamiento, un optimizador ajusta repetidamente los pesos del modelo para reducir el error en esos ejemplos, que por tanto determinan lo que el modelo puede aprender. En el aprendizaje supervisado, cada ejemplo empareja una entrada con la respuesta correcta; por ejemplo, una foto de una calle con un cuadro delimitador y el nombre de clase de cada coche y peatón. El aprendizaje autosupervisado y el aprendizaje no supervisado se entrenan con entradas sin procesar y sin etiquetas. «Conjunto de entrenamiento» es un sinónimo y, en la mayoría de los proyectos, constituye la partición más grande de los datos disponibles, normalmente entre el 70 % y el 80 %.

Cómo utilizan los modelos los datos de entrenamiento#

El modelo procesa los datos de entrenamiento por lotes. Para cada lote, genera predicciones; una función de pérdida mide cuánto se desvían de las etiquetas, la retropropagación calcula cuánto ha contribuido cada peso al error y el optimizador ajusta los pesos para reducirlo. Una pasada completa por el conjunto de entrenamiento es una época, y el entrenamiento suele durar de decenas a cientos de épocas.

Como el modelo se optimiza con estos mismos ejemplos, su puntuación en ellos exagera su rendimiento con datos nuevos. Para corregirlo, se utilizan dos particiones reservadas. Los datos de validación se evalúan durante el desarrollo para elegir hiperparámetros y puntos de control, mientras que los datos de prueba se evalúan una sola vez al final para estimar el rendimiento en el mundo real. Una gran diferencia entre las puntuaciones de entrenamiento y validación indica sobreajuste: el modelo memoriza los ejemplos de entrenamiento en lugar de aprender patrones que generalicen. Las puntuaciones bajas en ambos conjuntos indican subajuste. Las particiones no deben compartir imágenes: fotogramas casi idénticos del mismo vídeo o escaneos del mismo paciente en ambos lados de la división causan fuga de datos e inflan todas las puntuaciones de los conjuntos reservados.

Cantidad, calidad y cobertura#

Tres propiedades de un conjunto de entrenamiento determinan la capacidad de generalización del modelo:

  • Cantidad: Más ejemplos ayudan, aunque cada ejemplo adicional aporta menos. Empezar con un modelo preentrenado mediante aprendizaje por transferencia reduce la cantidad de ejemplos etiquetados que necesita una tarea nueva.
  • Calidad: Cada etiqueta incorrecta, ausente o dibujada de forma incoherente enseña algo falso al modelo. Las directrices coherentes de etiquetado de datos son tan importantes como la cantidad de etiquetas.
  • Cobertura: Los ejemplos deben abarcar las condiciones a las que se enfrentará el modelo, como la iluminación, el tiempo, los ángulos de cámara, los fondos y las clases poco frecuentes. Un detector entrenado solo con imágenes diurnas falla por la noche; si las carencias siguen líneas demográficas, como la ausencia de determinados tonos de piel en un conjunto de rostros, se convierten en sesgo del conjunto de datos.

El script de scikit-learn de abajo entrena el mismo clasificador con distintos conjuntos de entrenamiento utilizando el conjunto de datos de dígitos manuscritos incluido y evalúa cada modelo con una única partición de prueba fija:

import numpy as np
from sklearn.datasets import load_digits
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split

# 1,797 labeled 8x8 digit images; hold out 30% to score every model
X, y = load_digits(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0, stratify=y)

# Reassign 30% of the training labels at random to simulate careless labeling
rng = np.random.default_rng(0)
y_noisy = y_train.copy()
flip = rng.random(len(y_train)) < 0.3
y_noisy[flip] = rng.integers(0, 10, flip.sum())

# Train the same model on three different training sets
for name, n, labels in [("50 clean", 50, y_train), ("1,257 clean", 1257, y_train), ("1,257 noisy", 1257, y_noisy)]:
    model = LogisticRegression(max_iter=5000).fit(X_train[:n], labels[:n])
    print(f"{name}: test accuracy {model.score(X_test, y_test):.3f}")

Ampliar el conjunto de entrenamiento limpio de 50 a 1257 imágenes eleva la precisión de prueba de 0,863 a 0,961. La ejecución con ruido, en la que 315 de las 1257 etiquetas (el 25 %) acaban siendo incorrectas, obtiene 0,861, sin superar el modelo entrenado con 50 imágenes limpias.

Cómo crear un conjunto de entrenamiento#

Los equipos reúnen datos de entrenamiento a partir de conjuntos de datos públicos, sus propias cámaras y registros, y cada vez más datos sintéticos. Los conjuntos de referencia públicos ofrecen un buen punto de partida: el conjunto de datos COCO incluye 118 287 imágenes de entrenamiento etiquetadas para detección, segmentación y generación de descripciones. A continuación, las recopilaciones sin procesar se someten a limpieza de datos para eliminar duplicados, archivos dañados e imágenes irrelevantes, y después se lleva a cabo el etiquetado y la revisión. El aumento de datos multiplica la variedad durante el entrenamiento mediante volteos, recortes, cambios de color y mosaicos; pero solo puede recombinar lo que se ha recopilado, así que cualquier condición ausente debe fotografiarse.

Ultralytics YOLO lee los datos de entrenamiento desde la ruta train de un archivo YAML del conjunto de datos y empareja cada imagen con un archivo de etiquetas .txt, que contiene una fila por objeto: un índice de clase seguido del centro, la anchura y la altura del cuadro, normalizados al tamaño de la imagen. El mismo formato de conjunto de datos YOLO sirve para todas las particiones, así que para reequilibrarlas hay que mover las imágenes y sus archivos de etiquetas entre carpetas.

from ultralytics import YOLO

# Carga un modelo nano YOLO26 preentrenado
model = YOLO("yolo26n.pt")

# coco8.yaml enumera las imágenes de entrenamiento (train: images/train) y las imágenes de validación (val: images/val)
results = model.train(data="coco8.yaml", epochs=5)

El modelo YOLO26 ajusta sus parámetros con las cuatro imágenes de entrenamiento de COCO8, una pequeña muestra que sirve para comprobar que una canalización de entrenamiento funciona de principio a fin.

  • Datos de validación: Una partición reservada que orienta las decisiones durante el desarrollo, como cuándo detener el entrenamiento. El modelo nunca actualiza sus pesos con estos datos.
  • Datos de prueba: Una partición reservada que se evalúa una sola vez al final, para que el resultado sea una estimación imparcial del rendimiento con datos nuevos.
  • Verdad de referencia: Las respuestas correctas asociadas a los ejemplos. En el aprendizaje supervisado, los datos de entrenamiento incluyen la verdad de referencia, pero todas las particiones la necesitan para la evaluación.
  • Conjunto de datos de referencia: Un conjunto pequeño, revisado por expertos, que se usa como referencia fiable para la evaluación y los controles de calidad del etiquetado.
  • Conjunto de datos de benchmark: Un conjunto de datos público con divisiones fijas que se usa para comparar modelos. Su división de entrenamiento suele servir también como datos de preentrenamiento, y su división reservada se convierte en la tabla de clasificación, como ocurre con la división val2017 de COCO, con 5.000 imágenes, en la que muchos artículos sobre detección presentan sus resultados de mAP.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático