Glossário

Softmax

Descobre como o Softmax transforma pontuações em probabilidades para tarefas de classificação em IA, potenciando o reconhecimento de imagens e o sucesso da PNL.

Treina os modelos YOLO simplesmente
com Ultralytics HUB

Aprende mais

A Softmax é uma função de ativação crucial normalmente utilizada na camada de saída das redes neuronais (NN), em especial para problemas de classificação multi-classe. O seu papel principal é converter um vetor de pontuações brutas (muitas vezes chamadas logits) geradas pela camada anterior numa distribuição de probabilidades sobre várias classes potenciais. Cada valor de saída representa a probabilidade de a entrada pertencer a uma classe específica e, o que é importante, essas probabilidades somam 1, tornando a saída facilmente interpretável como níveis de confiança para resultados mutuamente exclusivos.

Como funciona a Softmax

Conceitualmente, a função Softmax pega as pontuações de saída brutas de uma camada da rede neural e as transforma. Faz isso exponenciando primeiro cada pontuação, o que torna todos os valores positivos e enfatiza mais significativamente as pontuações maiores. Em seguida, normaliza essas pontuações exponenciadas, dividindo cada uma delas pela soma de todas as pontuações exponenciadas. Essa etapa de normalização garante que os valores resultantes fiquem entre 0 e 1 e somem coletivamente 1, criando efetivamente uma distribuição de probabilidade entre as diferentes classes. A classe correspondente ao maior valor de probabilidade é normalmente escolhida como a previsão final do modelo. Este processo é fundamental em modelos de aprendizagem profunda (DL) que lidam com tarefas de classificação.

Caraterísticas principais

  • Distribuição de probabilidade: As saídas representam probabilidades para cada classe, sempre somando 1.
  • Foco multi-classe: Especificamente concebido para cenários em que uma entrada só pode pertencer a uma de várias classes possíveis (mutuamente exclusivas).
  • Interpretação de saída: Torna a saída do modelo intuitiva, representando o nível de confiança para cada classe.
  • Diferenciabilidade: Suave e diferenciável, permitindo a sua utilização eficaz com algoritmos de otimização baseados em gradientes, como a descida de gradientes durante o treino do modelo.

Softmax vs. Funções de ativação relacionadas

É importante distinguir o Softmax de outras funções de ativação:

  • Sigmoide: Embora o Sigmoide também produza valores entre 0 e 1, é normalmente utilizado para classificação binária (um neurónio de saída) ou classificação com vários rótulos (vários neurónios de saída em que cada saída representa uma probabilidade independente e a soma não é necessariamente igual a 1). O Softmax é usado quando as classes são mutuamente exclusivas. Mais detalhes podem ser encontrados em recursos como as notas do Stanford CS231n.
  • ReLU (Unidade Linear Retificada): A ReLU e suas variantes, como Leaky ReLU ou SiLU, são usadas principalmente nas camadas ocultas das redes neurais para introduzir não-linearidade. Não produzem saídas do tipo probabilidade adequadas para a camada de classificação final. DeepLearning.AI oferece cursos que explicam as funções de ativação em redes neuronais.

Aplicações em IA e aprendizagem automática

O Softmax é amplamente utilizado em vários domínios da IA e da aprendizagem automática (ML):

Considerações

Embora poderoso, o Softmax pode ser sensível a pontuações de entrada muito grandes, levando potencialmente à instabilidade numérica (transbordamento ou subfluxo). Estruturas modernas de aprendizagem profunda como PyTorch e TensorFlow implementam versões numericamente estáveis do Softmax para mitigar esses problemas. Compreender o seu comportamento é crucial para o treino e interpretação eficazes do modelo, muitas vezes facilitado por plataformas como o Ultralytics HUB para gerir experiências e implementações.

Lê tudo