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 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.
O sobreajuste ocorre normalmente devido a conjuntos de dados desequilibrados, complexidade excessiva do modelo e sobretreino. Eis as principais causas:
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.
O sobreajuste e o subajuste são duas questões completamente polares na aprendizagem profunda.
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.
Aqui estão alguns sinais que indicam que um modelo está a ajustar-se excessivamente:
Para garantir que um modelo generaliza bem, tem de ser testado em diversos conjuntos de dados que reflictam as condições do mundo real.
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.
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.
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.
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.
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:
Estas técnicas ajudam a manter a flexibilidade e a adaptabilidade de um modelo, reduzindo o risco de sobreajuste e preservando a precisão.
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:
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.
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.
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.
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!
Começa a tua viagem com o futuro da aprendizagem automática