Descubra o aprendizado ativo, um método de machine learning econômico que aumenta a precisão com menos rótulos. Aprenda como ele transforma o treinamento de IA!
A aprendizagem ativa é uma abordagem dinâmica na aprendizagem automática (ML) concebida para otimizar o processo de formação, escolhendo seletivamente os pontos de dados mais informativos para anotação. Na aprendizagem supervisionada Na aprendizagem supervisionada padrão, um modelo é alimentado passivamente com um grande conjunto de dados pré-rotulados, o que pode ser ineficiente e dispendioso se os dados incluir exemplos redundantes ou pouco informativos. A aprendizagem ativa muda este paradigma ao permitir que o modelo consultar interactivamente uma fonte de informação - frequentemente um perito humano ou "oráculo" - para solicitar rótulos para instâncias específicas e ambíguas, específicos e ambíguos. Esta estratégia direcionada reduz significativamente a quantidade de dados de treino necessários para atingir uma precisão, tornando-a ideal para projectos com orçamentos orçamentos limitados ou restrições de tempo rigorosas.
O processo de aprendizagem ativa funciona como um ciclo iterativo, frequentemente descrito como um fluxo de trabalho humano no circuito. Este ciclo ciclo assegura que o esforço humano se concentra apenas nos dados que mais contribuem para a melhoria do modelo. O fluxo de trabalho típico envolve:
A eficácia deste método depende em grande medida da estratégia de amostragem. A amostragem da incerteza é a técnica mais comum, em que o algoritmo seleciona as instâncias mais próximas do seu limite de decisão. Para mais pormenores sobre estas estratégias estão disponíveis em vários estudos bibliográficos sobre aprendizagem ativa.
O seguinte trecho de código demonstra como implementar um loop básico de amostragem de incerteza. Ele carrega um modelo, faz previsões em imagens e identifica aquelas com detecções de baixa confiança, marcando-as para revisão manual.
from ultralytics import YOLO
# Load a pre-trained YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on a list or directory of unlabeled images
results = model.predict(["image1.jpg", "image2.jpg"])
# Identify images where the model is uncertain
uncertain_samples = []
for result in results:
# Check if detections exist and if the maximum confidence is below a threshold
if result.boxes.conf.numel() > 0 and result.boxes.conf.max() < 0.6:
uncertain_samples.append(result.path)
print(f"Flagging {result.path} for manual labeling.")
print(f"Total uncertain images found: {len(uncertain_samples)}")
A aprendizagem ativa é particularmente valiosa nos domínios em que a etiquetagem de dados é dispendiosa ou requer especializada.
Embora a aprendizagem ativa envolva a utilização de dados não rotulados, é distinta de outros paradigmas de aprendizagem automática:
A implementação da aprendizagem ativa requer um sistema robusto de operações de aprendizagem automática (MLOps) para gerir o fluxo de dados entre o modelo, o conjunto de dados e a interface de anotação. As ferramentas que suportam o controlo são essenciais para controlar as amostras que foram consultadas. Embora as bibliotecas de uso geral como o scikit-learn oferecem alguma utilidade, os fluxos de trabalho de visão por computador requerem frequentemente uma integração personalizada com conjuntos de dados de imagens para visualizar e anotar as imagens selecionadas selecionadas de forma eficaz. Os utilizadores avançados podem explorar o repositório repositórioUltralytics GitHub para ver como os resultados da previsão podem ser estruturados para alimentar estes circuitos de curadoria de dados.