Glossário

Aumento de dados

Melhora os teus modelos de aprendizagem automática com o aumento de dados. Descobre técnicas para aumentar a precisão, reduzir o sobreajuste e melhorar a robustez.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

O aumento de dados é uma técnica utilizada na aprendizagem automática para expandir artificialmente o tamanho de um conjunto de dados de treino, criando versões modificadas dos dados existentes. Este processo envolve a aplicação de várias transformações aos dados originais, tais como rodar, inverter, escalar ou cortar imagens. Ao aumentar a diversidade dos dados de treino, o aumento de dados ajuda a melhorar a capacidade de generalização dos modelos de aprendizagem automática, tornando-os mais robustos e menos propensos ao sobreajuste. O sobreajuste ocorre quando um modelo aprende demasiado bem os dados de treino, incluindo o ruído e os valores atípicos, o que pode levar a um fraco desempenho em dados novos e não vistos.

Benefícios da ampliação de dados

O aumento dos dados oferece várias vantagens importantes. Em primeiro lugar, ajuda a reduzir o sobreajuste, expondo o modelo a uma gama mais ampla de variações durante o treino. Isto torna o modelo menos sensível a caraterísticas específicas dos dados de treino e mais capaz de generalizar para dados novos e não vistos. Em segundo lugar, pode melhorar a precisão e o desempenho dos modelos, especialmente quando o conjunto de dados original é pequeno ou não tem diversidade. Ao criar mais exemplos de treino, o aumento de dados dá ao modelo mais oportunidades de aprender os padrões subjacentes nos dados. Por último, pode aumentar a robustez de um modelo, tornando-o mais resistente a alterações nos dados de entrada, como variações na iluminação, orientação ou ruído de fundo.

Técnicas comuns de aumento de dados

São utilizadas várias técnicas comuns para aumentar os dados, nomeadamente em tarefas de visão computacional:

  • Transformações geométricas: Inclui operações como rotação, translação, escalonamento, cisalhamento e inversão. Por exemplo, rodar uma imagem em alguns graus ou virá-la horizontalmente pode criar exemplos de formação novos e válidos.
  • Transformações do espaço de cores: Ajustar o brilho, o contraste, a saturação ou a tonalidade de uma imagem pode simular diferentes condições de iluminação e melhorar a capacidade de generalização do modelo em vários ambientes.
  • Filtros de kernel: A aplicação de filtros para tornar as imagens mais nítidas ou desfocadas pode ajudar o modelo a aprender caraterísticas que são invariáveis a estas alterações.
  • Apagamento aleatório: A eliminação aleatória de partes de uma imagem pode ajudar o modelo a tornar-se mais robusto a oclusões ou partes de objectos em falta.
  • Mistura de imagens: Técnicas como MixUp e CutMix envolvem a mistura de imagens e seus rótulos correspondentes para criar novos exemplos de treinamento. Por exemplo, MixUp interpola linearmente tanto as imagens como as suas etiquetas.

Aumento de dados na visão computacional

Na visão computacional, o aumento de dados é particularmente útil porque pode simular uma vasta gama de cenários do mundo real que um modelo pode encontrar. Por exemplo, na deteção de objectos, um modelo Ultralytics YOLO da primeira vez que YOLO é mencionado numa página treinado em imagens aumentadas pode aprender a detetar objectos independentemente da sua orientação, tamanho ou condições de iluminação. Isto é crucial para aplicações como os veículos autónomos, em que o modelo tem de funcionar de forma fiável em condições diversas e imprevisíveis. Por exemplo, ao aplicar várias transformações, como rotação, escala e adição de ruído a imagens de peões e veículos, um sistema de condução autónoma pode ser treinado para detetar com precisão esses objectos numa variedade de cenários do mundo real. Da mesma forma, na classificação de imagens, o aumento de imagens com diferentes ajustes de cor pode ajudar o modelo a generalizar melhor para diferentes condições de iluminação.

Aumento de dados noutros domínios

Embora o aumento de dados seja amplamente utilizado na visão computacional, é também aplicável noutros domínios, como o processamento de linguagem natural (PLN) e o processamento de áudio. Na PNL, técnicas como a substituição de sinónimos, a retrotradução e a inserção/eliminação aleatória de palavras podem aumentar os dados de texto. No processamento de áudio, a adição de ruído de fundo, a alteração do tom ou o alongamento temporal do áudio podem criar diversos exemplos de treino.

Aplicações no mundo real

  • Cuidados de saúde: Na análise de imagens médicas, o aumento de dados pode ser utilizado para treinar modelos num número limitado de imagens médicas. Por exemplo, ao aplicar rotações, inversões e pequenas deformações a exames de ressonância magnética, um modelo pode aprender a detetar anomalias com mais precisão em diferentes pacientes e condições de imagem.
  • Agricultura: O aumento de dados pode ajudar a treinar modelos para detetar doenças ou pragas de plantas a partir de imagens tiradas em várias condições. Ao aumentar as imagens das culturas com diferentes iluminações, ângulos e níveis de zoom, os modelos podem ter um desempenho robusto no terreno, ajudando os agricultores a identificar problemas atempadamente e a tomar medidas corretivas.

Aumento de dados vs. outras técnicas

É importante distinguir o aumento de dados de outras técnicas relacionadas:

  • Pré-processamento de dados: Embora tanto o aumento como o pré-processamento de dados preparem os dados para o treino do modelo, o pré-processamento envolve normalmente passos como a normalização, a padronização e o tratamento de valores em falta. Estes passos são essenciais para garantir que os dados estão num formato adequado para o modelo. O aumento dos dados, por outro lado, centra-se no aumento da diversidade dos dados de treino.
  • Geração de dados sintéticos: Os dados sintéticos envolvem a criação de pontos de dados inteiramente novos, muitas vezes utilizando modelos generativos como as redes adversariais generativas (GAN). Isto é diferente do aumento de dados, que modifica os dados existentes. Os dados sintéticos podem ser particularmente úteis quando os dados reais são escassos ou sensíveis, como nas aplicações médicas ou financeiras.

Ferramentas e bibliotecas

Várias ferramentas e bibliotecas apoiam o aumento de dados. Em Python, bibliotecas como a OpenCV e a TensorFlow fornecem uma vasta gama de funções para transformações de imagens. Além disso, bibliotecas especializadas como a Albumentations oferecem pipelines de aumento altamente optimizados e diversificados. Ultralytics O HUB também fornece ferramentas para o aumento de dados, facilitando a integração destas técnicas no processo de formação de modelos. Explora técnicas de aumento de dados como MixUp, Mosaic e Random Perspective para melhorar o treino de modelos.

Lê tudo