Ultralytics YOLO27:
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Softmax

Softmax converte um vetor de logits em probabilidades cuja soma é um. Aborda a fórmula, a temperatura, a estabilidade numérica, a atenção e o código.

Softmax é uma função que transforma um vetor de pontuações brutas, chamadas logits, em uma distribuição de probabilidade: cada valor de saída fica entre 0 e 1, e a soma das saídas é exatamente 1. Para um vetor z, ela calcula softmax(z)ᵢ = e^(zᵢ) / Σⱼ e^(zⱼ), aplicando a função exponencial a cada pontuação e dividindo pela soma de todas as exponenciais. Softmax é a camada de saída padrão das redes neurais que escolhem uma classe entre várias; transforma pontuações de similaridade em pesos dentro do mecanismo de atenção dos transformers e converte as pontuações de um modelo de linguagem sobre seu vocabulário em probabilidades do próximo token. Seu nome reflete que ela é uma versão suave e diferenciável de argmax, que atribuiria toda a probabilidade à maior pontuação.

Como funciona Softmax#

A função exponencial torna cada saída positiva e amplia as diferenças entre as pontuações, de modo que o maior logit recebe uma parcela desproporcional da probabilidade. Softmax preserva a ordem dos logits, então a maior pontuação sempre recebe a maior probabilidade. Só as diferenças entre os logits importam: adicionar a mesma constante a todos os logits não altera a saída. As bibliotecas usam essa propriedade para garantir estabilidade numérica, subtraindo o logit máximo antes de aplicar a função exponencial, pois e^1000 causa overflow em ponto flutuante de 32 bits.

Uma temperatura T controla o grau de concentração da distribuição: softmax(z / T). Valores de T abaixo de 1 tornam a distribuição mais concentrada na classe principal, enquanto valores acima de 1 a tornam mais uniforme. A mesma fórmula aparece na mecânica estatística como distribuição de Boltzmann, em que T é literalmente a temperatura. O trecho de código PyTorch abaixo mostra os dois efeitos:

import torch

logits = torch.tensor([2.0, 1.0, 0.1])

# Divide logits by a temperature before softmax: low sharpens, high flattens
for temperature in [0.5, 1.0, 2.0]:
    probs = torch.softmax(logits / temperature, dim=0)
    print(f"T={temperature}: {[round(p, 3) for p in probs.tolist()]}")

# Adding a constant leaves softmax unchanged, so libraries subtract the max to avoid overflow
big = logits + 1000
naive = big.exp() / big.exp().sum()
print(f"Naive: {naive.tolist()}, torch.softmax: {[round(p, 3) for p in torch.softmax(big, dim=0).tolist()]}")

Com T = 1, os logits 2.0, 1.0 e 0.1 tornam-se [0.659, 0.242, 0.099]. Reduzir a temperatura pela metade torna a distribuição mais concentrada: [0.864, 0.117, 0.019]; dobrá-la a torna mais uniforme: [0.502, 0.304, 0.194]. Ao adicionar 1.000 a cada logit, a fórmula ingênua causa overflow e exibe [nan, nan, nan], enquanto torch.softmax ainda retorna [0.659, 0.242, 0.099].

Softmax no treinamento#

Os classificadores são treinados com softmax e perda de entropia cruzada em conjunto. A perda é −log(pᵧ), o logaritmo negativo da probabilidade atribuída à classe correta y, e seu gradiente em relação aos logits é simplesmente p − y: as probabilidades previstas menos o rótulo one-hot. Por isso, os frameworks fundem as duas operações: CrossEntropyLoss do PyTorch recebe logits brutos e calcula internamente o log-softmax, que é mais estável do que calcular o logaritmo de probabilidades calculadas separadamente. Um modelo treinado dessa maneira produz logits, e softmax só é aplicada quando as probabilidades são necessárias durante a inferência.

Onde Softmax é usada#

  • Classificação de imagens: A camada final de um classificador produz um logit por classe, e softmax os transforma nas pontuações de confiança exibidas ao usuário.
  • Atenção: Os Transformers calculam softmax(QKᵀ / √dₖ) sobre as pontuações de similaridade entre uma consulta e cada chave, de modo que os pesos de atenção de cada token somem 1. Dividir por √dₖ impede que as pontuações cresçam com a dimensão e saturem softmax.
  • Geração de texto: Um modelo de linguagem grande (LLM) aplica softmax sobre um vocabulário de dezenas ou centenas de milhares de tokens em cada etapa, e a temperatura de amostragem é o T mencionado acima. A amostragem por núcleo seleciona então o menor conjunto de tokens cujas probabilidades atingem um limite.
  • Aprendizado por reforço: Softmax aplicada aos valores das ações produz uma política que geralmente escolhe a melhor ação, mas continua explorando as demais, com a temperatura controlando o equilíbrio entre exploração e aproveitamento.

Os modelos de classificação YOLO26 aplicam softmax na cabeça de classificação durante a inferência, e o atributo probs de cada resultado contém a distribuição completa sobre as 1.000 classes do ImageNet:

from ultralytics import YOLO

# Load a YOLO26 classification model trained on ImageNet
model = YOLO("yolo26n-cls.pt")
results = model("https://ultralytics.com/images/bus.jpg")

# probs holds the softmax output of the classification head
probs = results[0].probs
for index, conf in zip(probs.top5, probs.top5conf.tolist()):
    print(f"{results[0].names[index]}: {conf:.3f}")
print(f"Sum over all 1,000 classes: {probs.data.sum().item():.3f}")

Ele exibe as cinco classes mais prováveis com suas probabilidades, e a soma das 1.000 classes aparece como 1.000 porque a cabeça retorna uma distribuição softmax.

  • Sigmoid: Reduz cada pontuação de forma independente para um valor entre 0 e 1, então as saídas não precisam somar 1. Sigmoid é adequada para problemas binários e multirrótulo, como uma imagem que contém uma pessoa e uma mochila, e os detectores de objetos geralmente usam essa função para pontuar cada classe. Para duas classes, softmax equivale exatamente a sigmoid da diferença entre os dois logits.
  • Argmax: Retorna o índice da maior pontuação, uma decisão rígida sem gradiente. Softmax mantém a mesma classificação, mas continua diferenciável, então pode ser treinada; além disso, aplicar argmax às probabilidades softmax produz o mesmo resultado que aplicar argmax aos logits.
  • Log-softmax: O logaritmo de softmax, calculado diretamente para garantir estabilidade, que é usado pela perda de entropia cruzada.
  • Escalonamento de temperatura: Um método de calibração que ajusta uma única temperatura aos dados de validação após o treinamento, para que as probabilidades softmax correspondam à frequência com que o modelo realmente acerta. Ele não altera a classe prevista, porque dividir todos os logits pelo mesmo T positivo preserva a ordem deles.

Explore solutions

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 aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
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
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 aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
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
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 aéreas e de drones em informações em tempo real para agricultura, aquicultura, monitoramento ambiental, conservação e análise geoespacial com o Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Leva a IA de visão ao monitoramento aéreo com modelos Ultralytics YOLO. Impulsiona drones, fluxos de trabalho aeroespaciais, conservação ambiental e setores geoespaciais com soluções de visão computacional.
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