A função softmax, comumente usada em redes neurais para converter números reais em probabilidades, é a mesma função da distribuição de Boltzmann, a distribuição de probabilidade sobre energias para um conjunto de partículas em equilíbrio térmico a uma dada temperatura T na termodinâmica.
Eu posso ver algumas razões heurísticas claras pelas quais isso é prático:
- Não importa se os valores de entrada são negativos, o softmax gera valores positivos que somam um.
- É sempre diferenciável, o que é útil para retropropagação.
- Possui um parâmetro de 'temperatura' que controla a tolerância da rede em relação a valores pequenos (quando T é muito grande, todos os resultados são igualmente prováveis, quando muito pequenos, apenas o valor com a maior entrada é selecionado).
A função Boltzmann é usada apenas como softmax por razões práticas, ou existe uma conexão mais profunda com a termodinâmica / física estatística?