温度在 Softmax 中的作用是什么?

机器算法验证 机器学习 神经网络 软最大
2022-03-03 07:14:09

我最近在研究 CNN,我想知道 softmax 公式中温度的函数是什么?为什么我们应该使用高温来查看概率分布中较软的范数?

公式如下:

Pi=eyiTk=1neykT

2个回答

温度是一种控制分布熵的方法,同时保留每个事件的相对等级。


如果两个事件ij有概率pipj在你的softmax中,只要温度是有限的,那么调整温度就会保持这种关系:

pi>pjpi>pj


加热分布会增加熵,使其更接近均匀分布。(亲自尝试:构建一个简单的分布,如y=(3,4,5), 然后除所有yi价值观T=1000000看看分布如何变化。)

冷却它会降低熵,突出常见事件。

我换一种说法。常谈逆温β=1/T. 如果β=0,那么你已经获得了均匀分布。作为β,你达到了一个微不足道的分布,所有质量都集中在最高概率的类上。这就是为什么 softmax 被认为是 argmax 的软松弛。

温度将修改映射的输出分布。

例如:

  • low温度 softmax 问题:[0.01,0.01,0.98]

  • high温度 softmax 问题:[0.2,0.2,0.6]

温度是对映射的偏差。在输出中添加噪声。温度越高,它就越不像输入分布。

模糊地把它想象成“模糊”你的输出。