Glossário

Sobreajuste

Aprende a identificar, prevenir e resolver o problema do sobreajuste na aprendizagem automática. Descobre técnicas para melhorar a generalização do modelo e o desempenho no mundo real.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

O sobreajuste na aprendizagem automática (ML) ocorre quando um modelo aprende demasiado bem os dados de treino, captando o ruído e as flutuações aleatórias em vez do padrão subjacente. Isto leva a um excelente desempenho no conjunto de dados de treino, mas a uma fraca generalização para dados novos e não vistos. Essencialmente, o modelo torna-se demasiado complexo e adaptado especificamente aos exemplos de treino, semelhante a memorizar respostas em vez de compreender conceitos. É um desafio comum ao treinar modelos de IA, especialmente com algoritmos complexos como as redes neurais utilizadas no Ultralytics YOLO para tarefas como a deteção de objectos e a segmentação de imagens.

Compreender o sobreajuste

O sobreajuste surge porque os modelos ML visam minimizar os erros nos dados de treino. Se um modelo tiver uma complexidade excessiva (por exemplo, demasiados parâmetros ou camadas num modelo de aprendizagem profunda ), pode ajustar-se até ao ruído aleatório presente no conjunto de treino. Este ruído não representa verdadeiros padrões subjacentes e é pouco provável que esteja presente em novos conjuntos de dados. Imagina que um fato é perfeitamente adaptado às medidas exactas de uma pessoa num dia específico - pode não se ajustar bem se o seu peso variar ligeiramente ou se outra pessoa o experimentar. No ML, este "ajuste perfeito" nos dados de treino resulta em inflexibilidade e fraco desempenho nos dados do mundo real, muitas vezes referido como fraca generalização.

O problema oposto é a subadaptação, em que um modelo é demasiado simples para captar a estrutura subjacente dos dados. Um modelo subajustado tem um desempenho fraco tanto nos dados de treino como nos novos dados porque não aprendeu o suficiente. O objetivo é encontrar um equilíbrio ótimo, muitas vezes discutido no contexto do compromisso entre a polarização e a variância, criando um modelo que generalize bem para dados não vistos. Uma variância elevada é caraterística de sobreajuste, enquanto uma polarização elevada é caraterística de subajuste. Compreender este conceito de compromisso é crucial para o desenvolvimento de modelos.

Exemplos reais de sobreajuste

  • Análise de imagens médicas: Considera um modelo treinado para análise de imagens médicas, como a deteção de tumores em exames de ressonância magnética. Se os dados de treino vierem principalmente de um único modelo de scanner de MRI, a IA pode adaptar-se demasiado às caraterísticas específicas da imagem (como padrões de ruído ou resolução) dessa máquina. Quando lhe são apresentados exames de um scanner diferente ou imagens de qualidade inferior, o seu desempenho pode degradar-se significativamente porque aprendeu artefactos específicos da máquina em vez de caraterísticas gerais do tumor. O enviesamento do conjunto de dados pode agravar este problema.
  • Veículos autónomos: Um modelo de deteção de objectos utilizado num veículo autónomo pode ser treinado com base em imagens capturadas em tempo limpo e ensolarado. Este modelo pode atingir uma elevada precisão em dados de teste semelhantes, mas não consegue detetar de forma fiável peões, ciclistas ou outros veículos em condições adversas, como chuva forte, nevoeiro ou à noite. Ajusta-se demasiado às pistas visuais específicas do ambiente de treino (por exemplo, sombras fortes, iluminação intensa) em vez de aprender as caraterísticas robustas e gerais dos objectos em diferentes condições. Garantir a diversidade dos dados de treino, utilizando potencialmente conjuntos de dados como o COCO ou o Argoverse, ajuda a atenuar este problema.

Identificar o sobreajuste

O sobreajuste é normalmente identificado comparando o desempenho de um modelo no conjunto de dados de treino com um conjunto de dados de validação separado.

  • Métricas de desempenho: Monitoriza métricas como a exatidão, a precisão, a recuperação e a pontuação F1. Se as métricas de treinamento continuarem a melhorar enquanto as métricas de validação se estabilizarem ou piorarem, é provável que o modelo esteja se ajustando demais. O valor da função de perda normalmente diminui significativamente no conjunto de treinamento, mas aumenta ou estagna no conjunto de validação. Podes explorar várias métricas de desempenhoYOLO para avaliação.
  • Curvas de aprendizagem: Traça o desempenho do modelo (por exemplo, perda ou precisão) ao longo das épocas para os conjuntos de treino e validação, fornecendo uma perspetiva visual. Uma lacuna cada vez maior entre a curva de treinamento (melhorando) e a curva de validação (estagnando ou degradando) é um sinal clássico de sobreajuste. A visualização das curvas de aprendizagem ajuda a diagnosticar este problema.

Evitar o sobreajuste

Várias técnicas podem ajudar a mitigar o sobreajuste e melhorar a generalização do modelo:

  • Validação cruzada: Técnicas como a validação cruzada K-Fold utilizam diferentes subconjuntos de dados para treino e validação, fornecendo uma estimativa mais robusta do desempenho do modelo em dados não vistos.
  • Aumento de dados: Aumenta artificialmente o tamanho e a diversidade do conjunto de dados de treino aplicando transformações como a rotação, o dimensionamento, o corte e as mudanças de cor. As técnicas de aumento de dadosUltralytics YOLO estão incorporadas para ajudar a melhorar a robustez.
  • Regularização: Adiciona penalidades à função de perda com base na complexidade do modelo (por exemplo, a magnitude dos pesos). Os métodos comuns incluem a regularização L1 e L2, que desencorajam pesos grandes. Leia mais sobre os métodos de regularização L1 e L2.
  • Paragem antecipada: Monitora o desempenho do modelo no conjunto de dados de validação durante o treinamento e interrompe o processo de treinamento quando o desempenho da validação começa a se degradar, evitando que o modelo aprenda ruído em épocas posteriores. Veja uma explicação sobre a parada antecipada no Keras.
  • Desiste: Define aleatoriamente uma fração das ativações dos neurônios como zero durante o treinamento. Isso força a rede a aprender caraterísticas mais robustas que não dependem de um único neurônio. O conceito de Dropout é explicado em detalhes aqui.
  • Poda de modelo: Remove parâmetros ou conexões menos importantes de uma rede neural treinada para reduzir sua complexidade sem afetar significativamente o desempenho. Neural Magic oferece ferramentas para a poda.
  • Simplifica a arquitetura do modelo: Utilizar um modelo menos complexo (por exemplo, menos camadas ou parâmetros) pode evitar o sobreajuste, especialmente se o conjunto de dados for pequeno. Isso pode envolver a escolha de uma variante de modelo menor, como comparar YOLOv8n com YOLOv8x.
  • Obtém mais dados: Aumentar a quantidade de dados de treino de alta qualidade é muitas vezes uma das formas mais eficazes de melhorar a generalização e reduzir o sobreajuste. Explora vários conjuntos de dadosUltralytics .

Ao compreender e abordar o sobreajuste, os programadores podem criar modelos de IA mais fiáveis e eficazes. Ferramentas como o Ultralytics HUB podem ajudar no acompanhamento de experiências e na avaliação de modelos, auxiliando na deteção e mitigação do sobreajuste durante o ciclo de vida do desenvolvimento do modelo.

Lê tudo