Camada de ativação: Softmax layer

A função softmax é uma generalização da função logística para múltiplas dimensões. Essa função é muito utilizada em classificações multiclasse. A função softmax tem a seguinte estrutura:


\[ \large{} y=f _{SM}(x) = softmax(x), \ \ onde \ \ y _i = \frac{e ^{x _i}}{\sum _{j=1} ^K e ^{x _j}} \]


Ela recebe como entrada um vetor \( x \) e para cada uma das classes ela gera um valor entre -1 e 1, como se pode perceber na Figura 19.

Figura 19: Representação da função softmax

Essa função representa a distribuição de probabilidade sobre os índices \( K \) de \( y \).

Da mesma forma que a camada de ativação, podemos aplicar a saída dessa função na função cross entropy loss.

\[ \large{} \mathcal{L} _{CE}(y,g(z))=- \sum _{j=1} ^k y \log (f _{SM}(x _j)) =- \sum _{j=1} ^k y \Big[ x _j - \log \sum _{l=1} ^k e ^{x _l} \Big] \]