Aumento de Dados
Aprimore seus modelos de aprendizado de máquina com o aumento de dados. Descubra técnicas para aumentar a precisão, reduzir o overfitting e melhorar a robustez.
O aumento de dados é uma técnica estratégica na
aprendizagem automática (ML) utilizada para
expandir artificialmente o tamanho e a diversidade de um
conjunto de dados de treino sem necessidade de
recolher novos dados em bruto. Ao aplicar várias transformações a amostras de dados existentes, os programadores podem criar versões modificadas, mas
versões modificadas, mas realistas, de imagens, texto ou áudio. Este processo é essencial para reduzir
sobreajusteum problema comum em que um modelo memoriza os exemplos de treino em vez de aprender padrões generalizáveis.
Em última análise, o aumento efetivo conduz a uma maior
precisão e garante que o modelo
modelo tem um desempenho robusto quando exposto a dados não vistos em ambientes do mundo real.
Técnicas e métodos principais
No domínio da
visão por computador (CV)o aumento envolve a manipulação de imagens de entrada para simular diferentes condições. Estas transformações ajudam o modelo
Estas transformações ajudam o modelo a tornar-se invariável às mudanças de orientação, iluminação e escala.
-
Transformações geométricas: Estas modificam a disposição espacial de uma imagem. As operações comuns incluem
rotação aleatória, inversão horizontal, corte e escalonamento. Por exemplo, utilizando
transformações geométricasOpenCV
permite que um modelo reconheça um objeto independentemente de estar de cabeça para baixo ou inclinado.
-
Transformações fotométricas: Estas ajustam os valores de pixéis para alterar o aspeto visual sem
alterar a geometria. Ajustar o brilho, o contraste, a saturação e adicionar
ruído gaussiano ajuda o modelo a lidar com
condições de iluminação variáveis.
-
Mistura avançada: Moderno
deteção de objectos de deteção de objectos
utilizam frequentemente técnicas complexas como Mosaic, MixUp e CutMix. Estes métodos combinam várias imagens numa única
amostra de treinamento, incentivando o modelo a aprender relações contextuais. Pode explorar a forma de os implementar através de
o
IntegraçãoUltralytics Albumentations.
Aplicações no Mundo Real
O aumento dos dados é indispensável nos sectores em que os dados de alta qualidade são escassos ou dispendiosos de obter.
-
Imagiologia médica: Em
análise de imagens médicasas leis de privacidade e a raridade de condições específicas limitam o tamanho dos conjuntos de dados. Ao aumentar as radiografias ou as ressonâncias magnéticas com
rotações e deformações elásticas, os investigadores podem treinar modelos robustos para
deteção de tumoresgarantindo que a IA consegue identificar anomalias independentemente do posicionamento do doente ou da calibração da máquina.
-
Condução autónoma: Os automóveis de condução autónoma têm de navegar em ambientes imprevisíveis. A recolha de dados para
todas as condições climatéricas possíveis é impossível. Os engenheiros utilizam o aumento para simular chuva, nevoeiro ou cenários de pouca luz
em filmagens de dias claros. Isto prepara
veículos autónomos autónomos para reagir
com segurança em condições climatéricas adversas, melhorando significativamente os padrões de segurança descritos por organizações como a
NHTSA.
Implementação do Augmentation no Ultralytics YOLO
O ultralytics simplifica a aplicação de ampliações diretamente na biblioteca
treinamento de modelo tubagem. É possível ajustar os
hiperparâmetros para controlar a intensidade e a probabilidade das transformações.
from ultralytics import YOLO
# Load the YOLO11 model
model = YOLO("yolo11n.pt")
# Train the model with custom data augmentation parameters
# These arguments modify the training data on-the-fly
model.train(
data="coco8.yaml",
epochs=5,
degrees=30.0, # Apply random rotations between -30 and +30 degrees
fliplr=0.5, # 50% probability of flipping images horizontally
mosaic=1.0, # Use Mosaic augmentation (combining 4 images)
mixup=0.1, # Apply MixUp augmentation with 10% probability
)
Distinguir conceitos relacionados
É importante diferenciar o aumento de dados de estratégias de dados semelhantes:
-
vs. Dados sintéticos: Enquanto o aumento modifica os dados existentes no mundo real,
dados sintéticos sintéticos são gerados
inteiramente a partir do zero, utilizando simulações informáticas ou
IA generativa. O aumento acrescenta variedade ao que se tem; os dados sintéticos criam o que não se tem.
-
vs. Pré-processamento de dados:
O pré-processamento de dados envolve
limpeza e formatação de dados (por exemplo, redimensionamento, normalização) para os tornar adequados a um modelo. O aumento ocorre
ocorre após o pré-processamento e centra-se na expansão da diversidade do conjunto de dados e não no seu formato.
-
vs. Aprendizagem por transferência:
Aprendizagem por transferência aproveita
conhecimento de um modelo pré-treinado (por exemplo, treinado em
ImageNet) para resolver uma nova tarefa. Embora frequentemente utilizada em conjunto, a aprendizagem por transferência está relacionada com os pesos do modelo, enquanto o aumento
está relacionado com os dados de entrada.
Para um mergulho mais profundo nas bibliotecas de aumento modernas, a
Documentação de albumentações fornece uma lista extensa
de transformações disponíveis compatíveis com PyTorch e YOLO11.