softmax(x) 函数:输入一个实数向量并返回一个概率分布
log_softmax(x) 函数:对经过softmax的函数经过一次对数运算
NLLLoss 损失:负对数似然损失,negative log likelihood loss,若????
在分类问题中,CrossEntropy等价于log_softmax 结合 nll_loss
cross_entropy=−∑k=1N(pk∗logqk)
其中p表示真实值,在这个公式中是one-hot形式;q是经过softmax计算后的结果, k类的概率。
仔细观察可以知道,因为p的元素不是0就是1,而且又是乘法,所以很自然地我们如果知道1所对应的index,那么就不用做其他无意义的运算了。所以在pytorch代码中target不是以one-hot形式表示的,而是直接用scalar表示。若该样本的真实标签为y,则交叉熵的公式可变形为:
????
softmax 和 带有温度t的softmax性质分析, 带有温度的softmax使得输出的概率分布更加平滑
感谢up主,https://www.bilibili.com/video/av87124082?from=search&seid=15136075071288444663