为什么要全面计算softmax?

数据挖掘 深度学习
2022-02-27 11:56:40

为什么在 CNN 的输出层中使用 softmax 激活函数?为什么不只取输出层中单元的最高值呢?

2个回答

如果您只对最可能的类别感兴趣,则在推理期间您可以跳过 softmax。这甚至相当普遍,也是 TensorFlow 具有特定 logit 功能的原因。但是,为了优化您的网络,您需要一个有意义的损失函数。你有正常的标签,如果你只计算线性组合,你的损失函数会是什么?

因为 softmax 层确保输出可以被解释为概率:它确保每个输出都在 0 和 1 之间,并且输出总和为 1。没有 softmax,你不能这样解释它们。

我们想将它们解释为概率,这样我们就可以获得分类器输出的置信度分数(分类器不只是说“狗”,它说 96% 的置信度是狗,1% 的置信度是鸟, ETC。)。更重要的是,标准损失函数,即交叉熵损失,要求输出可解释为概率。根据经验,使用交叉熵损失(和 softmax 层)可以为分类任务带来良好的结果——比其他选项更好。