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

4

我在图像上构建了一个CNN模型,用于单类分类。 输出张量是一个包含65个元素的列表。 我将此张量输入Softmax函数,并得到了分类结果。 我认为输出张量中的最大值就是分类结果,为什么不使用这种方式进行分类任务呢?只需使用Softmax函数易于取导数?

1个回答

1

Softmax被用于多类分类。在多类分类中,模型需要将输入数据分到单一类别,并给出高概率的预测结果,使得其他类别的概率较低。

enter image description here

作为您所述,使用Softmax而不是max函数的原因之一是Softmax函数在实数上是可微分的,而max函数则不是。

编辑:

softmax函数还有其他一些特性,使其适用于神经网络,相比之下max函数不具备这些特性。首先,softmax是max函数的软版本。假设神经网络的logits有4个输出[0.5, 0.5, 0.69, 0.7]。硬max返回最大索引(在此情况下为第4个索引)为1,其他索引为0。这会导致信息丢失。 softmax的第二个重要特性是其输出位于区间[0,1]内,并且这些值的总和等于1。因此,softmax函数的输出可以被解释为概率。这意味着输出可以被视为模型对将输入分类到每个输出类别中的置信度。

1
Softmax函数是一个单调递增的函数。最大值意味着最大概率,对吗?第二个值也表示第二个概率。 - Li Shihao

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接