为什么在 TensorFlow Get started with Eager 教程中输出总和为 1?

Why do the outputs sum to 1 in the TensorFlow Get started with Eager tutorial?

我做了这个教程:https://www.tensorflow.org/get_started/eager

非常有帮助,但我不明白为什么输出总和为 1。它被描述为 "For this example, the sum of the output predictions are 1.0",但没有解释。我以为这可能是激活函数的一个特性,但我读到 ReLu 可以取任何值 >0 (https://medium.com/the-theory-of-everything/understanding-activation-functions-in-neural-networks-9491262884e0).

我想了解,因为我想了解在哪些情况下应该规范化输出变量,在哪些情况下这不是必需的(我假设如果它们总和为 1,则没有必要)。

在给定的例子中,句子outputs always sum to 1指的是使用的softmax函数,与归一化或您使用的激活函数无关。在本教程的 Iris 示例中,我们想要区分三个 classes,当然 class 概率的总和不能超过 100% (1.0)。

例如,位于网络末端的 softmax 函数可以 return [0.8, 0.1, 0.1]。这意味着第一个 class 的概率最高。注意:所有单个 probas 结果的总和为 1.0。