Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Perda focal

Explore como o Focal Loss resolve o desequilíbrio de classes no deep learning. Aprenda a implementá-lo com Ultralytics para se concentrar em exemplos difíceis e melhorar a precisão do modelo.

A perda focal é uma função objetiva especializada usada principalmente no aprendizado profundo para lidar com o desafio do grave desequilíbrio de classes. Em muitas tarefas de visão computacional, como detecção de objetos, o número de exemplos de fundo (amostras negativas) supera significativamente os objetos de interesse (amostras positivas). Métodos padrão, como a amplamente utilizada Cross-Entropy Loss, tratam todos os erros de forma igual, o que muitas vezes faz com que o modelo seja sobrecarregado pelo grande volume de dadosclassify . A Focal Loss modifica o cálculo padrão da perda para diminuir o peso desses exemplos fáceis, forçando o algoritmo de otimização a concentrar a sua capacidade de aprendizagem em exemplos "difíceis" — osclassify raros eclassify que são cruciais para o desempenho do modelo .

O mecanismo de focagem

A principal inovação do Focal Loss reside na sua capacidade de dimensionar dinamicamente a penalidade atribuída a cada amostra com base na confiança do modelo. Num cenário típico de aprendizagem supervisionada, um detetor pode avaliar milhares de localizações candidatas numa imagem. Como a maioria dessas localizações não contém objetos, uma função de perda padrão acumula muitos pequenos sinais de erro desses negativos fáceis, o que pode abafar o sinal valioso das poucas instâncias positivas.

A perda focal introduz um fator de modulação que diminui a contribuição da perda à medida que a confiança na classe correta aumenta. Isso significa que, se um modelo já tiver 99% de certeza de que um patch de fundo é realmente fundo, a perda para esse patch é reduzida a quase zero. Consequentemente, os pesos do modelo são atualizados principalmente com base em amostras classificadas incorretamente ou aquelas em que o modelo está incerto. Essa abordagem direcionada é essencial para treinar detectores de objetos de alto desempenho em uma única etapa, como o YOLO26, permitindo que eles alcancem alta precisão sem necessitar de etapas complexas de amostragem.

Aplicações no Mundo Real

Lidar com dados de treino desequilibrados é fundamental para implementar sistemas de IA robustos em ambientes onde a segurança e a precisão são fundamentais.

  • IA na área da saúde: em campos como a análise de imagens médicas, identificar patologias é muitas vezes comparável a encontrar uma agulha num palheiro. Por exemplo, numa ressonância magnética à procura de pequenas lesões, o tecido saudável pode compreender mais de 99% dos píxeis. Um modelo padrão pode maximizar a precisão simples ao prever "saúde" em todos os locais, perdendo o diagnóstico crítico. A perda focal permite que o sistema suprime o sinal do tecido saudável abundante e prioriza a aprendizagem das características sutis das anomalias, melhorando assim a recuperação para deteções que salvam vidas.
  • Veículos autónomos: Os sistemas de perceção para carros autônomos devem detect utilizadores detect da estrada, como peões ou ciclistas, em cenários complexos de edifícios, estradas e céu. Embora o fundo seja facilmente aprendido, obstáculos pequenos ou distantes representam um desafio significativo. Ao utilizar a perda focal, a IA em aplicações automotivas pode garantir que a pilha de percepção não ignore essesdetect , mantendo os padrões de segurança mesmo quando os perigos ocupam apenas uma pequena fração do campo visual.

Implementação com Ultralytics

O ultralytics A biblioteca inclui implementações otimizadas de funções de perda avançadas para suportar modelos de última geração. Enquanto o Plataforma Ultralytics configura automaticamente esses hiperparâmetros para um treino ideal, os programadores também podem aceder diretamente a esses componentes para pesquisas personalizadas .

O exemplo a seguir demonstra como inicializar a perda focal usando o ultralytics pacote de utilitários e calcular o erro para um conjunto de previsões.

import torch
from ultralytics.utils.loss import FocalLoss

# Initialize Focal Loss.
# The 'gamma' parameter controls the focusing strength (higher = more focus on hard examples).
criterion = FocalLoss(gamma=1.5)

# Example: Model predictions (logits) and binary Ground Truth labels
# requires_grad=True simulates model outputs that need backpropagation
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])

# Calculate the loss value
loss = criterion(predictions, targets)
print(f"Computed Focal Loss: {loss.item():.4f}")

Distinção de conceitos relacionados

Compreender onde a perda focal se encaixa no panorama mais amplo da medição de erros ajuda a selecionar a estratégia certa para tarefas específicas de visão computacional.

  • Perda Focal vs. Perda de Entropia Cruzada: A Entropia Cruzada é a métrica fundamental para classificação que penaliza previsões com base no erro logarítmico. A perda focal é estritamente uma extensão da entropia cruzada; se o parâmetro de foco for definido como zero, ela reverte matematicamente para a entropia cruzada padrão. A principal diferença é a capacidade da perda focal de reduzir automaticamente o peso dos negativos fáceis, tornando-a superior para conjuntos de dados desequilibrados, como COCO.
  • Perda focal vs. IoU : Enquanto a perda focal é projetada para classificação (determinar o que é um objeto), IoU é usada para localização (determinar onde um objeto está). Os detectores modernos utilizam uma função de perda composta que combina a perda focal para probabilidades de classe e métricas IoU para regressão de caixa delimitadora.
  • Perda focal vs. perda de Dice: A perda de Dice é outra técnica usada para lidar com o desequilíbrio, principalmente em tarefas de segmentação de imagens. Enquanto a perda focal opera em pixels ou amostras individuais com base na confiança, a perda de Dice otimiza a sobreposição entre as regiões previstas e as regiões reais globalmente. É comum ver ambas usadas juntas em fluxos de trabalho de segmentação complexos .

Junte-se à comunidade Ultralytics

Junte-se ao futuro da IA. Conecte-se, colabore e cresça com inovadores globais

Junte-se agora