softmax 函数通常在神经网络中用于将实数转换为概率,它与玻尔兹曼分布是相同的函数,玻尔兹曼分布是热力学中给定温度 T 下处于热平衡状态的粒子集合的能量概率分布。
我可以看到一些明确的启发式原因为什么这是实用的:
- 无论输入值是否为负,softmax 都会输出总和为 1 的正值。
- 它总是可微的,这对于反向传播很方便。
- 它有一个“温度”参数,控制网络对小值的宽容程度(当 T 非常大时,所有结果的可能性相同,当非常小时,只选择具有最大输入的值)。
Boltzmann 函数是出于实际原因仅用作 softmax,还是与热力学/统计物理学有更深层次的联系?