为什么不使用输出张量的最大值代替Softmax函数?

时间:2018-06-22 11:28:35

标签: tensorflow convolutional-neural-network softmax

我在图像一类分类上建立了CNN模型。 输出张量是一个包含65个元素的列表。我将此张量输入Softmax函数,并得到分类结果。 我认为此输出张量中的最大值是分类结果,为什么不使用这种方法来完成分类任务呢?只是Softmax函数可以很容易地采用导数吗?

1 个答案:

答案 0 :(得分:0)

Softmax用于multi-class classification。在多类分类中,该模型有望以较高的概率将输入分类为单类。高概率进行预测会使其他类别的概率降低。

enter image description here

正如您所说,之所以使用Softmax而不是max函数的原因之一是softmax函数与Real Numbers是有区别的,而max函数不是。

编辑:

softmax函数还有其他一些属性,与max。相比,它适合用于神经网络。首先,它是max函数的软版本。假设神经网络的对数有4个输出[0.5,0.5,0.69,0.7]。 Hard max对于最大索引(在本例中为第4个索引)返回1,对于其他索引返回0。这导致信息丢失。 softmax的第二个重要属性是sofmax函数的输出在间隔[0,1]中,并且这些值的总和等于1。因此,可以将softmax函数的输出解释为概率。这意味着输出可以视为模型的置信度,可以将输入分类为每个输出类别之一。