Yolo Vision Shenzhen
Shenzhen
Junte-se agora
Glossário

Perda focal

Descubra como a Perda Focal lida com o desequilíbrio de classes na deteção de objectos - concentrando o treino em exemplos difíceis para melhorar a precisão em conjuntos de dados desequilibrados.

A perda focal é uma função objetiva especializada usada principalmente em tarefas de visão computacional para lidar com o desafio do desequilíbrio extremo de classes durante o treinamento do modelo. É particularmente valiosa em cenários de detecção de objetos, nos quais o número de exemplos de fundo (amostras negativas) supera em muito os objetos de interesse (amostras positivas). Ao dimensionar dinamicamente a penalidade atribuída a cada amostra, a perda focal efetivamente reduz a ponderação dos exemplos "fáceis" — aqueles que o modelo já pode classify alta confiança — e força o processo de otimização a se concentrar nos exemplos "difíceis" que são difíceis de classify. Essa abordagem direcionada evita que o grande número de negativos fáceis sobrecarregue o sinal de treinamento, melhorando assim a precisão do modelo em objetos esparsos, mas críticos .

Resolvendo o problema do desequilíbrio de classes

Em muitas aplicações de aprendizagem profunda (DL), particularmente detetores de objetos de um estágio, o processo de treino envolve a avaliação de milhares de localizações candidatas numa imagem. A maioria dessas localizações não contém objetos e é facilmente identificada como fundo. Funções padrão como Cross-Entropy Loss tratam todas as classificações erradas de forma igual. Consequentemente, o erro acumulado de milhares de amostras fáceis de fundo pode abafar o sinal das poucas amostras positivas difíceis, levando a um modelo que é tendencioso em relação à classe majoritária.

A perda focal modifica o cálculo padrão da perda, introduzindo um parâmetro de focagem, normalmente designado por gama ($\gamma$). À medida que a probabilidade da classe correta aumenta (o que significa que o exemplo é «fácil»), o fator de modulação reduz a contribuição da perda para quase zero. Por outro lado, para exemplos mal classificados ou incertos (casos «difíceis»), a perda continua a ser significativa. Esse mecanismo garante que o algoritmo de otimização atualize os pesos do modelo com base nos exemplos que realmente precisam de melhorias, em vez de simplesmente validar o que o modelo já sabe.

Aplicações no Mundo Real

A capacidade de lidar com conjuntos de dados desequilibrados torna a Focal Loss uma pedra angular das soluções modernas de IA em campos críticos para a segurança e de alta precisão.

  • Diagnósticos médicos: Na análise de imagens médicas, identificar patologias muitas vezes apresenta um problema do tipo "agulha no palheiro". Por exemplo, ao detectar pequenas lesões em uma tomografia computadorizada, o tecido saudável compreende 99% da imagem. Uma função de perda padrão pode alcançar alta precisão simplesmente adivinhando "saudável" para cada pixel. Ao implementar a perda focal, os modelos usados em IA na área da saúde podem ignorar o tecido saudável abundante e concentrar o aprendizado nas características raras e sutis de tumores ou fraturas, melhorando significativamente a recuperação para detecções que salvam vidas.
  • Condução autónoma: os sistemas que equipam os veículos autónomos devem detect , ciclistas e detritos contra um pano de fundo de estradas, edifícios e céu. O fundo é facilmente aprendido, mas pequenos obstáculos distantes são difíceis. O Focal Loss permite que o sistema de percepção priorize essesdetect , garantindo que o veículo não perca perigos críticos, mesmo quando eles ocupam apenas uma pequena fração do campo visual . Isso é crucial para uma detecção robusta de pedestres e segurança geral.

Implementação com Ultralytics

O ultralytics A biblioteca inclui implementações otimizadas de funções de perda para apoiar o treino de modelos de última geração, como YOLO26. Enquanto o treinamento de alto nível é automatizado por meio do Plataforma Ultralytics, os programadores podem aceder a componentes de perda específicos para pipelines personalizados.

O exemplo a seguir demonstra como inicializar a perda focal e calcular o erro entre as pontuações de previsão e os rótulos de destino usando o ultralytics pacote de utilitários.

import torch
from ultralytics.utils.loss import FocalLoss

# Initialize Focal Loss with a standard gamma value
# Gamma=1.5 aggressively down-weights easy examples
criterion = FocalLoss(gamma=1.5)

# Example: Predictions (logits) and binary Ground Truth labels
predictions = torch.tensor([[0.8], [-1.5], [0.1]], requires_grad=True)
targets = torch.tensor([[1.0], [0.0], [1.0]])

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

Distinção de conceitos relacionados

Compreender como a perda focal se encaixa no panorama mais amplo da medição de erros é útil para selecionar a estratégia de treino certa. treino.

  • Perda focal vs. perda de entropia cruzada: A perda de 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, a perda focal reverte matematicamente para a entropia cruzada padrão. A principal diferença é a capacidade da perda focal de reduzir o peso dos negativos fáceis.
  • Perda focal vs. IoU : enquanto a perda focal é projetada para classificação (determinar o que é um objeto), a interseção sobre união (IoU) é usada para localização (determinar onde um objeto está). Detectores modernos como YOLO11 e YOLO26 utilizam uma função de perda composta que combina a perda focal (ou suas variantes, como a perda varifocal) para probabilidades de classe e a perda IoU para regressão de caixa delimitadora.
  • Perda focal vs. OHEM: A mineração de exemplos difíceis online (OHEM) é uma estratégia mais antiga que descarta completamente os exemplos fáceis e treina apenas os mais difíceis de um lote. A perda focal é geralmente preferida hoje em dia porque usa um fator de escala contínuo em vez de um corte rígido, fornecendo um sinal de treino mais suave e estável a partir de todos os dados de treino.

Junte-se à comunidade Ultralytics

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

Junte-se agora