Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Training Data

Os dados de treinamento são o conjunto de exemplos a partir dos quais um modelo aprende seus pesos. Veja como diferem dos dados de validação e de teste, e por que a qualidade dos rótulos é tão importante quanto o volume.

Os dados de treinamento são o conjunto de exemplos com que um modelo de aprendizado de máquina aprende. Durante o treinamento, um otimizador ajusta repetidamente os pesos do modelo para reduzir o erro nesses exemplos; assim, eles definem o que o modelo pode aprender. No aprendizado supervisionado, cada exemplo associa uma entrada à resposta correta, como uma foto de rua com uma caixa delimitadora e o nome da classe de cada carro e pedestre. O aprendizado autossupervisionado e o aprendizado não supervisionado treinam com entradas brutas sem rótulos. Conjunto de treinamento é um sinônimo e, na maioria dos projetos, representa a maior divisão dos dados disponíveis, geralmente de 70% a 80%.

Como os modelos usam dados de treinamento#

O modelo processa os dados de treinamento em lotes. Para cada lote, gera previsões, uma função de perda mede a distância entre as previsões e os rótulos, a retropropagação calcula a contribuição de cada peso para o erro, e o otimizador ajusta os pesos para reduzi-lo. Uma passagem completa pelo conjunto de treinamento é uma época, e o treinamento costuma durar de dezenas a centenas de épocas.

Como o modelo é otimizado com esses exemplos específicos, sua pontuação neles superestima o desempenho em dados novos. Duas divisões separadas ajudam a corrigir isso. Os dados de validação são avaliados durante o desenvolvimento para escolher hiperparâmetros e pontos de verificação, e os dados de teste são avaliados uma vez, ao final, para estimar o desempenho no mundo real. Uma grande diferença entre as pontuações de treinamento e validação indica sobreajuste: o modelo memoriza exemplos de treinamento em vez de aprender padrões que generalizam. Pontuações baixas em ambos indicam subajuste. As divisões não podem compartilhar imagens: quadros quase idênticos do mesmo vídeo ou exames do mesmo paciente em ambos os lados da divisão causam vazamento de dados e elevam artificialmente todas as pontuações dos dados reservados.

Quantidade, qualidade e abrangência#

Três características de um conjunto de treinamento determinam a capacidade de generalização de um modelo:

  • Quantidade: Mais exemplos ajudam, embora os benefícios diminuam com o tempo. Começar com um modelo pré-treinado por meio de aprendizado por transferência reduz a quantidade de exemplos rotulados necessária para uma nova tarefa.
  • Qualidade: Cada rótulo incorreto, ausente ou desenhado de forma inconsistente ensina algo falso ao modelo. Diretrizes consistentes de rotulagem de dados são tão importantes quanto a quantidade de rótulos.
  • Cobertura: Os exemplos precisam abranger as condições que o modelo enfrentará, como iluminação, clima, ângulos de câmera, fundos e classes raras. Um detector treinado apenas com imagens diurnas falha à noite; quando as lacunas seguem linhas demográficas, como tons de pele ausentes em um conjunto de imagens faciais, tornam-se viés do conjunto de dados.

O script scikit-learn abaixo treina o mesmo classificador no conjunto de dados de dígitos manuscritos incluído no pacote, usando diferentes conjuntos de treinamento, e avalia cada modelo na mesma divisão de teste fixa:

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}")

Aumentar o conjunto de treinamento limpo de 50 para 1.257 imagens eleva a precisão no teste de 0,863 para 0,961. A execução com ruído, em que 315 dos 1.257 rótulos (25%) acabam incorretos, alcança 0,861, sem superar o modelo treinado com 50 imagens limpas.

Como criar um conjunto de treinamento#

As equipes reúnem dados de treinamento de conjuntos de dados públicos, das próprias câmeras e registros e, cada vez mais, de dados sintéticos. Os benchmarks públicos são um ótimo ponto de partida: o conjunto de dados COCO fornece 118.287 imagens de treinamento rotuladas para detecção, segmentação e geração de legendas. As coleções brutas passam então por limpeza de dados para remover duplicatas, arquivos corrompidos e imagens fora do escopo, seguida de rotulagem e revisão. O aumento de dados amplia a variedade dos dados durante o treinamento com inversões, recortes, alterações de cor e mosaicos, mas só pode recombinar o material coletado; portanto, ainda é preciso fotografar as condições que estiverem faltando.

O Ultralytics YOLO lê os dados de treinamento do caminho train de um arquivo YAML de conjunto de dados e associa cada imagem a um arquivo de rótulos .txt, que contém uma linha por objeto: um índice de classe seguido pelo centro, a largura e a altura da caixa, normalizados para o tamanho da imagem. O mesmo formato de conjunto de dados YOLO é usado em todas as divisões, então reequilibrá-las exige mover as imagens e seus arquivos de rótulos entre pastas.

from ultralytics import YOLO

# Carrega um modelo nano YOLO26 pré-treinado
model = YOLO("yolo26n.pt")

# coco8.yaml lista as imagens de treinamento (train: images/train) e as imagens de validação (val: images/val)
results = model.train(data="coco8.yaml", epochs=5)

O modelo YOLO26 é ajustado com as quatro imagens de treinamento do COCO8, uma pequena amostra usada para verificar se um pipeline de treinamento é executado de ponta a ponta.

  • Dados de validação: Uma divisão reservada que orienta decisões durante o desenvolvimento, como o momento de interromper o treinamento. O modelo nunca atualiza seus pesos com esses dados.
  • Dados de teste: Uma divisão reservada avaliada uma única vez, ao final, para que o resultado seja uma estimativa imparcial do desempenho em dados novos.
  • Verdade fundamental: As respostas corretas associadas aos exemplos. No aprendizado supervisionado, os dados de treinamento incluem a verdade fundamental, mas todas as divisões precisam dela para a avaliação.
  • Conjunto de dados de referência: Um pequeno conjunto verificado por especialistas, usado como referência confiável para avaliação e verificações da qualidade da anotação.
  • Conjunto de dados de benchmark: Um conjunto de dados público com divisões fixas, usado para comparar modelos. A divisão de treino muitas vezes também serve como dados de pré-treino, e a divisão reservada torna-se a tabela de classificação, como acontece com a divisão val2017 do COCO, com 5.000 imagens, na qual muitos artigos sobre deteção apresentam o mAP.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina