O aumento de dados é uma técnica utilizada na aprendizagem automática (ML) para aumentar artificialmente a dimensão e a diversidade de um conjunto de dados de treino, criando cópias modificadas de pontos de dados existentes ou gerando novos dados sintéticos a partir deles. Este processo ajuda a melhorar o desempenho, a generalização e a robustez dos modelos de aprendizagem automática, especialmente em domínios como a visão por computador, em que a recolha de grandes quantidades de dados variados pode ser difícil e dispendiosa. Ao expor modelos como o Ultralytics YOLO a uma gama mais vasta de variações durante o treino, o aumento de dados ajuda-os a ter um melhor desempenho em dados do mundo real não vistos.
Como funciona a ampliação de dados
A ampliação de dados aplica várias transformações aos pontos de dados originais para criar exemplos novos e plausíveis. Para dados de imagem, as técnicas comuns incluem:
- Transformações geométricas: Rodar, escalar, traduzir (deslocar), inverter (horizontal ou verticalmente) e cortar imagens.
- Transformações do espaço de cor: Ajusta o brilho, o contraste, a saturação, a tonalidade ou aplica o jittering de cor.
- Injeção de ruído: Adiciona ruído aleatório (por exemplo, ruído Gaussiano) para simular imperfeições do sensor ou condições de pouca luz.
- Apagamento/recorte aleatório: Remover manchas aleatórias de uma imagem para encorajar o modelo a concentrar-se em diferentes partes de um objeto.
- Mistura de imagens: Combina várias imagens, como no aumento de Mosaico (utilizado em modelos como YOLOv4) ou MixUp, para criar amostras de treino compostas.
Embora mais proeminentes na visão computacional, as técnicas de aumento também existem para outros tipos de dados, como a substituição de sinónimos ou a retrotradução de dados de texto no Processamento de Linguagem Natural (PLN).
Importância e benefícios
O aumento de dados oferece várias vantagens importantes no desenvolvimento de modelos de ML:
- Reduz os problemas de escassez de dados: Expande conjuntos de dados limitados, tornando viável o treinamento de modelos complexos, como redes neurais profundas, mesmo quando grandes quantidades de dados originais não estão disponíveis.
- Evita o sobreajuste: Ao introduzir variações, o aumento ajuda a evitar que os modelos se limitem a memorizar os dados de treino(sobreajuste) e incentiva-os a aprender caraterísticas mais generalizáveis. Lê as nossas dicas de formação de modelos para obteres mais estratégias.
- Melhora a robustez do modelo: O treino em dados aumentados torna os modelos menos sensíveis a variações na entrada, tais como alterações na iluminação, orientação ou escala, levando a um melhor desempenho em diversas condições do mundo real.
- Eficiência em termos de custos e tempo: Muitas vezes é mais barato e mais rápido aumentar os dados existentes do que recolher e rotular novos dados.
Técnicas e ferramentas
Várias bibliotecas simplificam a implementação de técnicas de aumento de dados. Para tarefas de visão computacional, as ferramentas populares incluem:
Os modelos Ultralytics incorporam várias técnicas de aumento incorporadas e os utilizadores podem gerir conjuntos de dados e modelos utilizando plataformas como o Ultralytics HUB.
Aplicações no mundo real
A ampliação de dados é amplamente utilizada em vários domínios:
- Imagens médicas: No sector da saúde, a obtenção de conjuntos de dados grandes e diversificados de imagens médicas (como radiografias ou tomografias computorizadas) pode ser difícil devido a regulamentos de privacidade e à raridade de determinadas condições. O aumento de dados (por exemplo, rotação, zoom, ajuste de contraste) ajuda a treinar modelos robustos para tarefas como a deteção de tumores ou a classificação de doenças, melhorando a precisão do diagnóstico. Esta é uma parte fundamental do avanço da IA nos cuidados de saúde.
- Veículos autónomos: Os veículos autónomos dependem fortemente da deteção de objectos para perceberem o que os rodeia. Aumentar as imagens de treino, simulando diferentes condições meteorológicas (chuva, nevoeiro), iluminação (dia, noite), adicionando oclusões ou variando as perspectivas dos objectos, ajuda a garantir que o sistema de perceção do veículo funciona de forma fiável em diversos cenários de condução. Isto aumenta a segurança em aplicações de IA para automóveis.
Aumento de dados vs. dados sintéticos
Embora relacionada, a ampliação de dados é distinta da geração de dados sintéticos. O aumento de dados envolve normalmente a aplicação de transformações a pontos de dados reais existentes para criar versões ligeiramente modificadas. Em contrapartida, os dados sintéticos referem-se a dados inteiramente novos gerados artificialmente, muitas vezes utilizando simulações, algoritmos ou modelos generativos como os GAN, sem partir necessariamente de um ponto de dados real. Ambas as técnicas visam melhorar os conjuntos de dados, mas os dados sintéticos podem potencialmente criar cenários que não estão presentes nos dados originais, enquanto o aumento aumenta principalmente a variação em torno dos dados existentes.