Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Cross-Entropy Loss

A entropia cruzada compara as probabilidades de classe previstas com os rótulos de destino, orientando os modelos de classificação e segmentação durante o treinamento.

A entropia cruzada mede o quanto as probabilidades de classe previstas por um modelo correspondem aos rótulos de destino. Ela aplica uma penalidade pequena quando a classe correta recebe uma probabilidade alta e uma penalidade grande quando essa probabilidade é baixa. Como função de perda para aprendizado supervisionado, ela fornece um objetivo a minimizar durante o treinamento.

A A Mathematical Theory of Communication, de Claude Shannon, publicada em 1948, estabeleceu os fundamentos da entropia. D. F. Kerridge introduziu a medida de entropia cruzada como "imprecisão" em seu artigo de 1961, Inaccuracy and Inference. Em classificação, perda logarítmica é um sinônimo; tanto a regressão logística quanto os classificadores neurais a utilizam.

Como funciona a entropia cruzada#

Para um exemplo com uma única classe correta, a entropia cruzada sem ponderação é loss = -ln(p_correct). Uma probabilidade de 0,9 para a classe correta resulta em uma perda de aproximadamente 0,105; uma probabilidade de 0,1 resulta em aproximadamente 2,303. Os logaritmos naturais expressam o resultado em unidades chamadas nats. Em geral, o treinamento calcula a média dessas penalidades em um lote.

De forma mais geral, a entropia cruzada multiplica cada probabilidade de destino pelo logaritmo negativo da probabilidade prevista correspondente e soma os resultados entre as classes. Um destino one-hot atribui 1 à classe correta e 0 às demais, deixando apenas o termo da classe correta. Para destinos one-hot sem ponderação, minimizar a entropia cruzada equivale a maximizar a verossimilhança dos rótulos observados. A retropropagação calcula os gradientes, e o gradiente descendente atualiza os parâmetros do modelo.

Entropia cruzada binária, categórica e esparsa#

A forma adequada depende dos rótulos:

  • Entropia cruzada binária com sigmoid: Para um destino y igual a 0 ou 1 e uma probabilidade prevista p para a classe 1, a perda é -[y * ln(p) + (1 - y) * ln(1 - p)]. A classificação multirrótulo aplica essa função de forma independente aos rótulos que podem ocorrer simultaneamente.
  • Entropia cruzada categórica com softmax: Essa função avalia classes mutuamente exclusivas cujas probabilidades somam 1. Softmax converte as pontuações brutas do modelo, chamadas logits, nessa distribuição.
  • Entropia cruzada categórica esparsa: Essa função usa o índice inteiro da classe em vez de um vetor one-hot. Ela calcula a mesma perda; "esparsa" descreve a codificação do destino.

Os destinos suaves distribuem a probabilidade entre as classes. Eles aparecem em suavização de rótulos e destilação de conhecimento, nas quais um modelo aluno aprende a partir da distribuição de probabilidades de um modelo professor.

Calculando a entropia cruzada em PyTorch#

O PyTorch aceita logits brutos em CrossEntropyLoss. Para destinos com índices de classe, o cálculo equivale a aplicar log-softmax seguido de log-verossimilhança negativa. Aplicar softmax antes faz com que a função trate as probabilidades como logits, alterando a perda e os gradientes. Destinos inteiros usam torch.long; destinos de probabilidade usam valores de ponto flutuante e têm o mesmo formato dos logits.

import torch
from torch import nn

# Both predictions select class 0; the second is more confident.
logits = torch.tensor([[2.0, 0.0, 0.0], [4.0, 0.0, 0.0]])
targets = torch.tensor([0, 0], dtype=torch.long)
loss_fn = nn.CrossEntropyLoss(reduction="none")

losses = loss_fn(logits, targets)
print(f"Lower confidence loss: {losses[0].item():.4f}")
print(f"Higher confidence loss: {losses[1].item():.4f}")

As perdas diminuem de 0,2395 para 0,0360, enquanto ambas as previsões permanecem corretas. A acurácia registra as decisões de classe; a entropia cruzada também considera a atribuição de probabilidades. Para logits binários ou multirrótulo, BCEWithLogitsLoss combina sigmoid e entropia cruzada binária.

Aplicações em visão computacional#

A classificação de imagens com rótulo único usa entropia cruzada para aprender uma classe por imagem. O treinamento de classificação do YOLO26 da Ultralytics usa a média da entropia cruzada sobre os logits das classes para atualizar o classificador e aproximá-lo da categoria rotulada.

Na segmentação de imagens na área da saúde, o U-Net original foi treinado com imagens de microscopia biomédica, usando softmax pixel a pixel e entropia cruzada ponderada. O mapa de pesos aumentava as penalidades nos limites entre células em contato, ajudando a separar células vizinhas. Isso aplica a classificação a cada pixel na segmentação semântica.

Interpretando os valores da perda#

A entropia cruzada discreta com distribuições de destino válidas e pesos não negativos é não negativa. Para um destino rígido sem ponderação, ela chega a zero quando a classe correta recebe probabilidade 1 e cresce sem limite à medida que essa probabilidade se aproxima de zero. Valores negativos indicam um erro na entrada ou na implementação, como entradas ou pesos de destino negativos.

A entropia mede a incerteza dentro de uma distribuição; a entropia cruzada compara destinos com previsões. A entropia cruzada é igual à entropia do destino mais a divergência de Kullback–Leibler, a penalidade adicional por discrepância. Portanto, destinos suaves têm um mínimo positivo quando sua entropia é positiva.

A ponderação de classes aumenta a contribuição de classes selecionadas. A perda focal reduz a contribuição de exemplos fáceis para lidar com o desequilíbrio entre o plano de fundo e o primeiro plano na detecção de objetos. Para uma previsão uniforme, a perda logarítmica sem ponderação é igual a ln(number_of_classes): aproximadamente 0,693 para duas classes e 2,303 para dez.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina