Verificação verde
Link copiado para a área de transferência

O que é o sobreajuste na visão por computador e como o evitar?

Aprende o que é o sobreajuste na visão computacional e como evitá-lo utilizando o aumento de dados, a regularização e modelos pré-treinados.

Os modelos de visão computacional são concebidos para reconhecer padrões, detetar objectos e analisar imagens. No entanto, o seu desempenho depende da sua capacidade de generalização para dados não vistos. A generalização é a capacidade do modelo de funcionar bem em novas imagens, e não apenas naquelas em que foi treinado. Um problema comum no treino destes modelos é o sobreajuste, em que um modelo aprende demasiado com os seus dados de treino, incluindo ruído desnecessário, em vez de identificar padrões significativos.

Quando isto acontece, o modelo tem um bom desempenho nos dados de treino, mas tem dificuldades com novas imagens. Por exemplo, um modelo de deteção de objectos treinado apenas em imagens de alta resolução e bem iluminadas pode falhar quando lhe são apresentadas imagens desfocadas ou com sombras em condições reais. O sobreajuste limita a adaptabilidade de um modelo, limitando a sua utilização em aplicações do mundo real como a condução autónoma, imagens médicas e sistemas de segurança.

Neste artigo, vamos explorar o que é o sobreajuste, porque acontece e como o evitar. Também veremos como os modelos de visão por computador, como o Ultralytics YOLO11 ajudam a reduzir o sobreajuste e a melhorar a generalização.

O que é o overfitting?

O sobreajuste ocorre quando um modelo memoriza os dados de treino em vez de aprender padrões que se aplicam amplamente a novas entradas. O modelo fica demasiado concentrado nos dados de treino, pelo que tem dificuldade em lidar com novas imagens ou situações que nunca viu antes.

Na visão computacional, o sobreajuste pode afetar diferentes tarefas. Um modelo de classificação treinado apenas em imagens claras e brilhantes pode ter dificuldades em condições de pouca luz. Um modelo de deteção de objectos que aprende com imagens perfeitas pode falhar em cenas com muita gente ou desarrumadas. Da mesma forma, um modelo de segmentação de instâncias pode funcionar bem em ambientes controlados, mas ter problemas com sombras ou objectos sobrepostos.

Isto torna-se um problema nas aplicações de IA do mundo real, onde os modelos devem ser capazes de generalizar para além das condições de treino controladas. Os carros autónomos, por exemplo, têm de ser capazes de detetar peões em diferentes condições de iluminação, clima e ambientes. Um modelo que se ajuste demasiado ao seu conjunto de treino não terá um desempenho fiável em cenários tão imprevisíveis.

Quando e porque é que o sobreajuste acontece?

O sobreajuste ocorre normalmente devido a conjuntos de dados desequilibrados, complexidade excessiva do modelo e sobretreino. Eis as principais causas:

  • Dados de treino limitados: Conjuntos de dados pequenos fazem com que os modelos memorizem padrões em vez de os generalizarem. Um modelo treinado com apenas 50 imagens de aves pode ter dificuldade em detetar espécies de aves fora desse conjunto de dados.

  • Modelos complexos com demasiados parâmetros: As redes profundas com um número excessivo de camadas e neurónios tendem a memorizar detalhes finos em vez de se concentrarem nas caraterísticas essenciais.

  • Falta de aumento de dados: Sem transformações como o corte, a inversão ou a rotação, um modelo só pode aprender com as suas imagens de treino exactas.

  • Treino prolongado: Se um modelo passar pelos dados de treino demasiadas vezes, conhecidas como épocas, memoriza detalhes em vez de aprender padrões gerais, tornando-o menos adaptável.

  • Rótulos inconsistentes ou com ruído: Dados incorretamente rotulados fazem com que um modelo aprenda os padrões errados. Isto é comum em conjuntos de dados rotulados manualmente.

Uma abordagem equilibrada da complexidade do modelo, da qualidade do conjunto de dados e das técnicas de formação garante uma melhor generalização.

Overfitting vs. underfitting

O sobreajuste e o subajuste são duas questões completamente polares na aprendizagem profunda.

__wf_reserved_inherit
Figura 1. Comparação de subadaptação, aprendizagem óptima e sobreadaptação em modelos de visão por computador.

O sobreajuste acontece quando um modelo é demasiado complexo, tornando-o demasiado concentrado nos dados de treino. Em vez de aprender padrões gerais, memoriza pequenos detalhes, mesmo irrelevantes, como o ruído de fundo. Isto faz com que o modelo tenha um bom desempenho nos dados de treino, mas tenha dificuldades com novas imagens, o que significa que não aprendeu verdadeiramente a reconhecer padrões que se aplicam a diferentes situações.

A subadaptação ocorre quando um modelo é demasiado básico, pelo que não detecta padrões importantes nos dados. Isto pode ocorrer quando o modelo tem muito poucas camadas, não tem tempo de treino suficiente ou os dados são limitados. Como resultado, não consegue reconhecer padrões importantes e faz previsões imprecisas. Isto leva a um fraco desempenho nos dados de treino e de teste, porque o modelo não aprendeu o suficiente para compreender corretamente a tarefa. 

Um modelo bem treinado encontra o equilíbrio entre complexidade e generalização. Deve ser suficientemente complexo para aprender padrões relevantes, mas não tão complexo que memorize os dados em vez de reconhecer as relações subjacentes.

Como identificar o sobreajuste

Aqui estão alguns sinais que indicam que um modelo está a ajustar-se excessivamente:

  • Se a exatidão do treino for significativamente superior à exatidão da validação, é provável que o modelo esteja sobreajustado.
  • Uma diferença cada vez maior entre a perda de treino e a perda de validação é outro indicador forte.
  • O modelo está demasiado confiante nas respostas erradas, mostrando que memorizou detalhes em vez de compreender padrões.

Para garantir que um modelo generaliza bem, tem de ser testado em diversos conjuntos de dados que reflictam as condições do mundo real.

Como evitar o sobreajuste na visão por computador

O sobreajuste não é inevitável e pode ser evitado. Com as técnicas certas, os modelos de visão por computador podem aprender padrões gerais em vez de memorizar dados de treino, tornando-os mais fiáveis em aplicações do mundo real. 

Seguem-se cinco estratégias-chave para evitar o sobreajuste na visão por computador.

Aumenta a diversidade de dados com dados aumentados e sintéticos

A melhor forma de ajudar um modelo a funcionar bem com novos dados é expandir o conjunto de dados utilizando o aumento de dados e dados sintéticos. Os dados sintéticos são gerados por computador em vez de serem recolhidos a partir de imagens do mundo real. Ajuda a preencher as lacunas quando não existem dados reais suficientes.

__wf_reserved_inherit
Figura 2. A combinação de dados do mundo real e sintéticos reduz o sobreajuste e melhora a precisão da deteção de objectos.

O aumento de dados altera ligeiramente as imagens existentes, invertendo, rodando, cortando ou ajustando o brilho, para que o modelo não memorize apenas detalhes, mas aprenda a reconhecer objectos em diferentes situações.

Os dados sintéticos são úteis quando as imagens reais são difíceis de obter. Por exemplo, os modelos de carros autónomos podem ser treinados em cenas de estrada geradas por computador para aprender a detetar objectos em diferentes condições meteorológicas e de iluminação. Isto torna o modelo mais flexível e fiável sem necessitar de milhares de imagens do mundo real.

Optimiza a complexidade e a arquitetura do modelo

Uma rede neural profunda, que é um tipo de modelo de aprendizagem automática que tem muitas camadas que processam dados em vez de uma única camada, nem sempre é melhor. Quando um modelo tem demasiadas camadas ou parâmetros, memoriza os dados de treino em vez de reconhecer padrões mais amplos. A redução da complexidade desnecessária pode ajudar a evitar o sobreajuste.

Para o conseguir, uma das abordagens é a poda, que remove neurónios e ligações redundantes, tornando o modelo mais simples e mais eficiente. 

Outra é simplificar a arquitetura, reduzindo o número de camadas ou neurónios. Os modelos pré-treinados como o YOLO11 foram concebidos para generalizar bem as tarefas com menos parâmetros, o que os torna mais resistentes ao sobreajuste do que treinar um modelo profundo de raiz.

Encontrar o equilíbrio certo entre a profundidade e a eficiência do modelo ajuda-o a aprender padrões úteis sem se limitar a memorizar dados de treino.

Aplica técnicas de regularização

As técnicas de regularização evitam que os modelos se tornem demasiado dependentes de caraterísticas específicas nos dados de treino. Eis algumas das técnicas mais utilizadas:

  • O Dropout desliga partes aleatórias do modelo durante o treino para que este aprenda a reconhecer padrões diferentes em vez de depender demasiado de algumas caraterísticas.

  • O decaimento do peso (regularização L2) desencoraja valores extremos de peso, mantendo a complexidade do modelo sob controlo.

  • A normalização do lote ajuda a estabilizar o treino, garantindo que o modelo é menos sensível a variações no conjunto de dados.

Estas técnicas ajudam a manter a flexibilidade e a adaptabilidade de um modelo, reduzindo o risco de sobreajuste e preservando a precisão.

Monitoriza a formação com validação e paragem precoce

Para evitar o sobreajuste, é importante acompanhar a forma como o modelo aprende e garantir que generaliza bem para novos dados. Aqui estão algumas técnicas para ajudar-te com isto:

  • Paragem antecipada: Termina automaticamente o treino quando o modelo deixa de melhorar, para que não continue a aprender detalhes desnecessários.

  • Validação cruzada: Divide os dados em partes e treina o modelo em cada uma delas. Isto ajuda-o a aprender padrões em vez de memorizar imagens específicas.

Estas técnicas ajudam o modelo a manter-se equilibrado para que aprenda o suficiente para ser preciso sem se concentrar demasiado nos dados de treino.

Utiliza modelos pré-treinados e melhora a rotulagem do conjunto de dados

Em vez de treinar a partir do zero, utiliza modelos pré-treinados como o YOLO11 para reduzir o sobreajuste. YOLO11 é treinado em conjuntos de dados de grande escala, o que lhe permite generalizar bem em diferentes condições.

__wf_reserved_inherit
Figura 3. Os modelos de visão por computador pré-treinados aumentam a precisão e evitam o sobreajuste.

O ajuste fino de um modelo pré-treinado ajuda-o a manter o que já sabe enquanto aprende novas tarefas, para que não se limite a memorizar os dados de treino.

Além disso, é essencial garantir uma rotulagem de alta qualidade do conjunto de dados. Dados mal rotulados ou desequilibrados podem induzir os modelos a aprender padrões incorrectos. A limpeza dos conjuntos de dados, a correção de imagens mal rotuladas e o equilíbrio das classes melhoram a precisão e reduzem o risco de sobreajuste. Outra abordagem eficaz é o treino contraditório, em que o modelo é exposto a exemplos ligeiramente alterados ou mais difíceis, concebidos para testar os seus limites.

Principais conclusões

O sobreajuste é um problema comum na visão computacional. Um modelo pode funcionar bem em dados de treino, mas ter dificuldades com imagens do mundo real. Para o evitar, técnicas como o aumento de dados, a regularização e a utilização de modelos pré-treinados como o YOLO11 ajudam a melhorar a precisão e a adaptabilidade.

Ao aplicar estes métodos, os modelos de IA podem manter-se fiáveis e ter um bom desempenho em diferentes ambientes. À medida que a aprendizagem profunda melhora, garantir que os modelos generalizam corretamente será fundamental para o sucesso da IA no mundo real.

Junta-te à nossa comunidade em crescimento! Explora o nosso repositório GitHub para saberes mais sobre IA. Estás pronto para iniciar os teus próprios projectos de visão computacional? Vê as nossas opções de licenciamento. Descobre a IA de visão na condução autónoma e a IA nos cuidados de saúde visitando as nossas páginas de soluções!

Logótipo do LinkedInLogótipo do TwitterLogótipo do FacebookSímbolo de ligação de cópia

Ler mais nesta categoria

Vamos construir juntos o futuro
da IA!

Começa a tua viagem com o futuro da aprendizagem automática