ML 中的 softmax 函数与热力学中的玻尔兹曼分布之间的联系有多深?

机器算法验证 机器学习 神经网络 软最大
2022-01-20 12:47:12

softmax 函数通常在神经网络中用于将实数转换为概率,它与玻尔兹曼分布是相同的函数,玻尔兹曼分布是热力学中给定温度 T 下处于热平衡状态的粒子集合的能量概率分布。

我可以看到一些明确的启发式原因为什么这是实用的:

  • 无论输入值是否为负,softmax 都会输出总和为 1 的正值。
  • 它总是可微的,这对于反向传播很方便。
  • 它有一个“温度”参数,控制网络对小值的宽容程度(当 T 非常大时,所有结果的可能性相同,当非常小时,只选择具有最大输入的值)。

Boltzmann 函数是出于实际原因仅用作 softmax,还是与热力学/统计物理学有更深层次的联系?

2个回答

据我所知,没有更深层次的原因,除了很多将 ANN 超越感知器阶段的人是物理学家这一事实。

除了提到的好处之外,这种特殊的选择还有更多的优势。如前所述,它有一个决定输出行为的参数。反过来又可以对其自身进行优化或调整。

简而言之,这是一个非常方便且众所周知的函数,它实现了一种“正则化”,即使是最大的输入值也受到限制。

当然,还有许多其他可能的函数可以满足相同的要求,但它们在物理学界鲜为人知。大多数时候,它们更难使用。

softmax函数也用于离散选择建模,它与logit模型相同,如果你假设每个类都有一个效用函数,效用函数等于神经网络的输出+Gumbel后面的误差项分布,属于一个类的概率等于以神经网络为输入的softmax函数。见:https ://eml.berkeley.edu/reprints/mcfadden/zarembka.pdf

logit 模型还有其他选择,例如 probit 模型,其中假设误差项遵循标准正态分布,这是一个更好的假设。然而,这种可能性是难以解决的,并且计算成本很高,因此在神经网络中不常用