Not sure if this post can be answered here on Phys SE, but I'll give it a shot. I've been reading papers on convolutional neural nets recently, and so I am embarking to learn more about how they work. One paper uses a mathematical function called a Softmax function as their activation function in a particular layer (it's a layer that takes input from several shifted/flipped/RGB changed images, runs them through separate networks, and averages the output).
I was very surprised to see one of the forms of the softmax function, given as follows (Wikipedia):
$$\sigma_i = \frac{\exp(-\beta z_i)}{\sum_{j=1}^{K} \exp(-\beta z_j)}, i=1,\dots,K,\mathbb{\ and\ }z_i \in \mathbb{R}$$
To me, as someone who studies physics more regularly than computer science, it's bizarre to me that the form of this function is identical to that of the Boltzmann distribution. Further to my surprise there is a very short section in the Wikipedia article that acknowledges this similarity.
From a machine learning standpoint, we know it's a normalized function (so that's good for node outputs), but I guess my questions are:
- To put it simply... why? Why is this a good activation function in neural nets? The Boltzmann distribution makes sense to me as it is derived fundamentally in a variety of ways of thinking about particles, energy states, energy levels, etc.
- Is there something more fundamental going on here in this equation, perhaps a more general description of "what it does"? I'm comfortable with its meaning/definition in Physics. How can we "show" that this is a good activation function in the context of neural networks?