Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Previsão Conformacional

Descubra como a previsão conformacional fornece incerteza independente da distribuição para a IA. Implemente conjuntos de previsão com Ultralytics para garantir resultados fiáveis do modelo.

A previsão conformacional é um quadro estatístico na aprendizagem automática (ML) que fornece medidas de incerteza independentes da distribuição para as previsões do modelo. Em vez de produzir uma previsão pontual — como um rótulo de classe específico —, um previsor conformacional produz um conjunto de previsões ou um intervalo que contém o valor verdadeiro com uma probabilidade especificada pelo utilizador (por exemplo, 90% ou 95%). Esta estrutura envolve qualquer modelo de inteligência artificial (IA) para fornecer garantias estatísticas formais sem necessitar de alterações na arquitetura do modelo. Para uma lista exaustiva de ferramentas e investigação atualizadas, pode explorar o repositório Awesome Conformal Prediction.

Como funciona a previsão conformacional

O mecanismo fundamental baseia-se na avaliação do grau de anomalia de uma nova previsão em comparação com exemplos anteriores, utilizando um índice de não conformidade.

  • Treino do modelo: Primeiro, treine um modelo de referência utilizando um conjunto de dados de treino padrão.
  • Fase de calibração: Passe um conjunto de dados de calibração separado e reservado pelo modelo treinado. Calcule uma pontuação de não conformidade para cada previsão, tal como a probabilidade inversa na classificação de imagens.
  • Cálculo de quantis: Determine o nível de confiança pretendido (por exemplo, 95%) e determine o quantil correspondente a estas pontuações de calibração para construir os conjuntos de previsão.
  • Aplicação de inferência: Durante a inferência em tempo real, avalie novas entradas e inclua todos os rótulos possíveis cujas pontuações sejam inferiores ao quantil de calibração.

Pode explorar as demonstrações matemáticas desta abordagem no tutorial «A Gentle Introduction to Conformal Prediction» ou conhecer abordagens de previsão de séries temporais para lidar com incertezas temporais.

Distinguir a previsão conformacional de termos relacionados

É fundamental distinguir este quadro das métricas padrão utilizadas durante os testes de modelos:

Aplicações no Mundo Real

A previsão conforme é indispensável em áreas de alto risco, onde é fundamental conhecer os pontos cegos do modelo.

  • Diagnóstico médico: Ao utilizar a IA na área da saúde para analisar exames, um modelo pode apresentar um conjunto de diagnósticos plausíveis em vez de uma única classificação, potencialmente incorreta. Isto garante que os médicos investiguem todas as possibilidades viáveis, corroborando estudos recentes sobre medicina genómica e imagiologia fiáveis.
  • Condução autónoma: Na IA aplicada aos sistemas automóveis, a aplicação de intervalos de previsão à detecção de objetos gera uma região de confiança espacial em torno de um peão, permitindo que os sistemas de travagem do veículo tenham em conta os movimentos mais adversos de forma segura.

Implementação de conjuntos de previsão

Bibliotecas como o MAPIE (Model Agnostic Prediction Interval Estimator) oferecem ferramentas integradas para Python, e as tarefas de regressão utilizam frequentemente a regressão quantílica conformacional. Também é possível implementar uma lógica básica de previsão conformacional utilizando probabilidades de modelos avançados como Ultralytics . O exemplo a seguir constrói um conjunto de previsões utilizando probabilidades de classificação do YOLO26, imitando a lógica de incluir as classes principais até que um limiar cumulativo seja atingido.

from ultralytics import YOLO

# Load an Ultralytics YOLO26 classification model
model = YOLO("yolo26n-cls.pt")

# Perform inference on an image
results = model("https://ultralytics.com/images/bus.jpg")

# Simple conformal-style prediction set logic based on cumulative probability
target_coverage = 0.95
prediction_set = []
cumulative_prob = 0.0

# Sort probabilities in descending order using the results object
probs = results[0].probs
sorted_indices = probs.top5

for idx in sorted_indices:
    class_name = results[0].names[idx]
    class_prob = probs.data[idx].item()

    prediction_set.append((class_name, round(class_prob, 3)))
    cumulative_prob += class_prob

    # Stop adding to the set once we reach the 95% coverage threshold
    if cumulative_prob >= target_coverage:
        break

print(f"95% Prediction Set: {prediction_set}")

O desenvolvimento de sistemas fiáveis requer práticas de dados robustas para evitar que a deriva de dados comprometa a calibração. Ferramentas como a Ultralytics simplificam o processo de recolha de novos conjuntos de dados de classificação, retreinamento de modelos e gestão segura da implementação dos modelos. Pode ler mais sobre a curadoria de dados equilibrados no nosso guia sobre a compreensão do viés nos conjuntos de dados, ou track mais recentes avanços apresentados na conferência anual da COPA.

Vamos construir juntos o futuro da IA!

Comece sua jornada com o futuro do aprendizado de máquina