为什么要在softmax中使用温度?

问题描述 投票:0回答:1

我最近正在研究CNN,我想知道softmax公式中温度的作用是什么?为什么我们要使用高温才能看到概率分布的柔和标准?Softmax Formula

python machine-learning deep-learning conv-neural-network softmax
1个回答
1
投票
温度是神经网络的超参数,用于在应用softmax之前通过缩放对数来控制预测的随机性。例如,在TensorFlow的LSTM的洋红色[实现] [1]中,温度代表在计算softmax之前将logit除以多少。

[当温度为1时,我们直接在对数(较早层的未缩放输出)上计算softmax,并使用温度为0.6的模型在logits/0.6上计算softmax,从而得出较大的值。在更大的值上执行softmax会使LSTM

更加自信(需要较少的输入来激活输出层),但也会使其样本中的[[更加保守(不太可能从不太可能的候选对象中进行采样)。使用较高的温度会在类上产生较软的概率分布,并使RNN被样本“更容易激发”,从而导致更多多样性以及更多错误

softmax函数通过确保网络输出在每个时间步长都在零到一之间,基于网络的每次迭代以候选者的指数值对候选者进行归一化。因此,温度增加了对低概率候选者的敏感性。

-来自Wikipedia article on softmax function

参考

[Hinton,Geoffrey,Oriol Vinyals和Jeff Dean。 “在神经网络中提取知识。” arXiv预印本arXiv:1503.02531(2015)。 arXiv

© www.soinside.com 2019 - 2024. All rights reserved.