Glossário

Sobreajuste

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

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 conduz a um excelente desempenho no conjunto de dados de treino, mas a uma fraca generalização a 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 têm como objetivo 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. Imagine que um fato é perfeitamente adaptado às medidas exactas de uma pessoa num determinado dia - 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. A compreensão deste conceito de compromisso é crucial para o desenvolvimento de modelos.

Exemplos do mundo real de sobreajuste

  • Análise de imagens médicas: Considere 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 forem principalmente provenientes 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 com fiabilidade peões, ciclistas ou outros veículos em condições adversas, como chuva forte, nevoeiro ou à noite. O modelo ajustou-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 gerais e robustas 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: Monitorize métricas como exatidão, precisão, recuperação e pontuação F1. Se as métricas de treino continuarem a melhorar enquanto as métricas de validação se estabilizam ou pioram, é provável que o modelo esteja a sofrer de sobreajuste. O valor da função de perda geralmente diminui significativamente no conjunto de treinamento, mas aumenta ou estagna no conjunto de validação. Pode explorar várias métricas de desempenho YOLO para avaliação.
  • Curvas de aprendizagem: A representação gráfica do desempenho do modelo (por exemplo, perda ou exatidão) ao longo das épocas para os conjuntos de treino e validação fornece 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 esta situação.

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: Aumentar artificialmente o tamanho e a diversidade do conjunto de dados de treino através da aplicação de transformações como a rotação, o dimensionamento, o corte e as mudanças de cor. As técnicas de aumento de dados do Ultralytics YOLO estão incorporadas para ajudar a melhorar a robustez.
  • Regularização: Adicionar 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: Monitorização do desempenho do modelo no conjunto de dados de validação durante o treino e paragem do processo de treino quando o desempenho da validação começa a degradar-se, impedindo o modelo de aprender ruído em épocas posteriores. Veja uma explicação sobre a interrupção antecipada no Keras.
  • Desistência: Definir aleatoriamente uma fração das activações dos neurónios para zero durante o treino. 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: Remoção de parâmetros ou conexões menos importantes em uma rede neural treinada para reduzir sua complexidade sem afetar significativamente o desempenho. O Neural Magic oferece ferramentas para a poda.
  • Simplificar a arquitetura do modelo: A utilização de um modelo menos complexo (por exemplo, menos camadas ou parâmetros) pode evitar o sobreajuste, especialmente se o conjunto de dados for pequeno. Isto pode implicar a escolha de uma variante de modelo mais pequena, como a comparação entre YOLOv8n e YOLOv8x.
  • Obter mais dados: Aumentar a quantidade de dados de treino de alta qualidade é frequentemente uma das formas mais eficazes de melhorar a generalização e reduzir o sobreajuste. Explore vários conjuntos de dados Ultralytics.

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 rastreamento de experimentos e na avaliação de modelos, auxiliando na deteção e mitigação do sobreajuste durante o ciclo de vida do desenvolvimento do modelo.

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Ligue-se, colabore e cresça com inovadores globais

Aderir agora
Ligação copiada para a área de transferência