Redes neurais multiclasse: Softmax

Não se esqueça de que a regressão logística produz um decimal entre 0 e 1,0. Por exemplo, uma saída de regressão logística de 0,8 de um classificador de e-mail sugere uma chance de 80% de que um e-mail seja spam e 20% de chance de não ser spam. Claramente, a soma das probabilidades de um e-mail ser spam ou não é 1,0.

A Softmax estende essa ideia para um mundo multiclasse. Ou seja, o Softmax atribui probabilidades decimais a cada classe em um problema de várias classes. Essas probabilidades decimais precisam totalizar 1,0. Essa restrição adicional ajuda o treinamento a convergir mais rapidamente do que deveria.

Por exemplo, voltando à análise de imagens que vimos na Figura 1, o Softmax pode produzir as seguintes probabilidades de uma imagem pertencente a uma classe específica:

Aula Probabilidade
apple 0,001
urso 0,04
doces 0,008
dog 0,95
ovo 0,001

O Softmax é implementado por uma camada de rede neural logo antes da camada de saída. A camada Softmax precisa ter o mesmo número de nós que a camada de saída.

Uma rede neural profunda com uma camada de entrada, duas camadas ocultas não descritivas, uma camada Softmax e, por fim, uma camada de saída com o mesmo número de nós que a camada Softmax.

Figura 2. Camada Softmax em uma rede neural.

Opções de Softmax

Considere as seguintes variantes de Softmax:

  • Softmax completo é o Softmax que estamos discutindo, ou seja, o Softmax calcula uma probabilidade para cada classe possível.

  • Amostragem candidata significa que Softmax calcula uma probabilidade para todos os rótulos positivos, mas apenas para uma amostra aleatória de rótulos negativos. Por exemplo, se quisermos determinar se uma imagem de entrada é um beagle ou um galgo, não temos que fornecer probabilidades para cada exemplo que não seja "cachorro".

O Softmax completo é bastante barato quando o número de classes é pequeno, mas torna-se proibitivamente caro quando o número de classes aumenta. A amostragem de candidatos pode melhorar a eficiência em problemas com um grande número de classes.

Um rótulo x vários rótulos

A Softmax presume que cada exemplo é um membro de exatamente uma classe. Alguns exemplos, no entanto, podem participar de várias classes simultaneamente. Para esses exemplos:

  • Não é possível usar o Softmax.
  • Confie em várias regressões logísticas.

Por exemplo, suponha que seus exemplos sejam imagens contendo exatamente um item, uma fruta. O Softmax pode determinar a probabilidade de esse item ser de pera, laranja, maçã e assim por diante. Se os exemplos são imagens que contêm vários tipos de coisas (arcos de diferentes tipos de fruta), você terá que usar várias regressões logísticas.