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

Overfitting

O sobreajuste ocorre quando um modelo memoriza os dados de treino, incluindo o ruído, e falha com dados novos. Vê como o detetar e que métodos o previnem.

O sobreajuste ocorre quando um modelo de aprendizado de máquina se ajusta tão bem aos dados de treinamento que aprende o ruído e as peculiaridades desses exemplos específicos, além dos padrões reais. Um modelo com sobreajuste tem bons resultados nos dados com que foi treinado e resultados claramente piores em dados novos; a magnitude dessa diferença mede a intensidade do sobreajuste. Em termos de viés-variância, o sobreajuste corresponde a uma variância alta: as previsões do modelo dependem demais das amostras específicas que ele viu.

Como reconhecer o sobreajuste#

O sinal característico é uma diferença crescente entre o desempenho nos dados de treinamento e nos dados de validação. Nas curvas de aprendizado plotadas por época, a perda de treinamento continua caindo enquanto a perda de validação estabiliza e depois aumenta, e métricas de validação como a média da precisão média (mAP) estagnam ou pioram. A demonstração clássica em pequena escala ajusta polinômios de dois graus diferentes a 12 pontos ruidosos amostrados de uma onda senoidal:

import numpy as np
from numpy.polynomial import Polynomial

rng = np.random.default_rng(0)

# 12 noisy training points from a sine wave, plus clean test points
x_train = rng.uniform(0, 1, 12)
y_train = np.sin(2 * np.pi * x_train) + rng.normal(0, 0.2, 12)
x_test = np.linspace(0, 1, 200)
y_test = np.sin(2 * np.pi * x_test)

for degree in (3, 9):
    fit = Polynomial.fit(x_train, y_train, degree)
    train_mse = np.mean((fit(x_train) - y_train) ** 2)
    test_mse = np.mean((fit(x_test) - y_test) ** 2)
    print(f"Degree {degree:2d}: train MSE {train_mse:.4f}, test MSE {test_mse:.4f}")

O polinômio de grau 9 tem flexibilidade suficiente para se ajustar ao ruído, reduzindo o erro de treinamento de 0.0356 para 0.0148, mas aumentando dez vezes o erro de teste, de 0.0182 para 0.1859.

Sobreajuste vs. subajuste#

O subajuste é o problema oposto: um modelo simples demais, ou treinado por pouco tempo, não consegue capturar os padrões dos dados e, por isso, tem desempenho ruim tanto nos dados de treinamento quanto nos de validação. Comparar os dois erros permite distinguir os casos e aponta para soluções diferentes.

Causas comuns#

  • Capacidade excessiva para os dados: Uma rede neural com milhões de parâmetros pode memorizar diretamente algumas centenas de imagens.
  • Dados ruidosos ou rotulados incorretamente: Caixas ausentes, classes incorretas e valores atípicos dão ao modelo erros para ajustar que não existem no mundo real.
  • Treinamento longo demais: Depois que os padrões úteis são aprendidos, as épocas adicionais ajustam principalmente o ruído restante.
  • Dados de treinamento limitados: Um detector treinado apenas com imagens diurnas de uma câmera pode se prender ao fundo e à iluminação dessa câmera e deixar de detectar objetos em um novo local.

Como evitar o sobreajuste#

  • Mais dados e maior variedade: Exemplos reais adicionais são a solução mais direta, e o aumento de dados amplia a variedade ao inverter, redimensionar, recolorir e combinar imagens existentes.
  • Regularização: O decaimento de pesos penaliza pesos grandes, e o dropout desativa unidades aleatoriamente durante o treinamento para que nenhuma característica isolada se torne indispensável.
  • Modelos menores ou pré-treinados: Um modelo menor tem menos capacidade para memorizar, e o aprendizado por transferência com camadas iniciais congeladas reduz o número de pesos que precisam ser aprendidos a partir de um conjunto de dados pequeno.
  • Parada antecipada: Avaliar os dados de validação após cada época e parar quando a pontuação deixar de melhorar impede que o modelo continue treinando até se ajustar ao ruído.
  • Avaliação imparcial: A validação cruzada fornece uma estimativa mais confiável do erro de generalização em conjuntos de dados pequenos, e um conjunto de teste separado detecta o sobreajuste aos dados de validação durante o ajuste de hiperparâmetros.

O treinamento do Ultralytics YOLO aplica a parada antecipada por meio do argumento patience, que encerra uma execução após esse número de épocas sem melhora na aptidão de validação (mAP50-95 para detecção), e salva os pesos da melhor época como best.pt, mesmo que o treinamento continue até o fim.

from ultralytics import YOLO

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

# Permitir até 100 épocas, mas parar após 20 épocas sem melhora na validação
results = model.train(data="coco8.yaml", epochs=100, patience=20)

O padrão é patience=100, e, para conjuntos de dados com menos de 1.000 imagens, as orientações de ajuste fino do YOLO26 sugerem epochs=50 com patience=20.

  • Vazamento de dados: sobreposição entre os dados de treinamento e de avaliação que oculta o sobreajuste. Quando quadros quase duplicados do mesmo vídeo aparecem tanto no conjunto de treinamento quanto no de validação, um modelo que memorizou o conjunto de treinamento ainda obtém bons resultados na validação, e o problema só aparece após a implantação. Fazer a divisão por vídeo ou cena evita isso.
  • Aprendizado por atalhos: O modelo depende de uma pista espúria, como uma marca d'água ou o fundo, presente tanto nos dados de treinamento quanto nos de validação. As pontuações de validação parecem boas, mas o modelo falha com dados novos nos quais essa pista está ausente.

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