Функция softmax, обычно используемая в нейронных сетях для преобразования действительных чисел в вероятности, является той же самой функцией, что и распределение Больцмана, распределение вероятностей по энергиям для ансамбля частиц в тепловом равновесии при заданной температуре T в термодинамике.
Я вижу некоторые четкие эвристические причины, почему это практично:
- Независимо от того, являются ли входные значения отрицательными, softmax выводит положительные значения, которые в сумме равны единице.
- Это всегда дифференцируемо, что удобно для обратного распространения.
- У него есть параметр «температура», управляющий тем, насколько мягким должна быть сеть в отношении небольших значений (когда T очень велико, все результаты одинаково вероятны, когда очень мало, выбирается только значение с наибольшим входом).
Используется ли функция Больцмана только как softmax по практическим соображениям, или существует более глубокая связь с термодинамикой / статистической физикой?