多类别神经网络 (Multi-Class Neural Networks):Softmax

回想一下,逻辑回归生成的小数为 0 至 1.0。例如,电子邮件分类器的逻辑回归输出值为 0.8,表明电子邮件是垃圾邮件的概率为 80%,并非垃圾邮件的概率为 20%。显然,电子邮件是垃圾邮件或非垃圾邮件的概率总和为 1.0。

Softmax 将这一想法延伸到多类别领域。也就是说,在多类别问题中,Softmax 会为各个类别分配小数概率。这些小数概率的总和必须为 1.0。与其他条件相比,这种额外的约束有助于训练更快地收敛。

例如,返回我们在图 1 中看到的图片分析,Softmax 可能会得出图片属于特定类别的可能性:

Probability
apple 0.001
0.04
糖果 0.008
dog 0.95
0.001

Softmax 是通过输出层前面的神经网络层实现的。Softmax 层的节点数必须与输出层的节点数相同。

一个深度神经网络,具有一个输入层、两个非描述性隐藏层,然后是一个 Softmax 层,最后是一个输出层(与 Softmax 层具有相同的节点数)。

图 2. 神经网络中的 Softmax 层。

Softmax 选项

请参考以下 Softmax 变体:

  • 完整 Softmax 是我们一直以来讨论的 Softmax;也就是说,Softmax 会计算每个可能的类别的概率。

  • 候选采样是指 Softmax 针对所有正类别标签计算概率,但仅针对负类别标签的随机样本计算概率。例如,如果我们想确定某个输入图像是小猎犬还是寻血猎犬图像,则无需为每个非狗狗样本提供概率。

当类别数量较少时,完整 Softmax 的代价很小,但当类别数量增加时,其费用极其高昂。候选采样可提高包含大量类别的问题的效率。

一个标签与多个标签

Softmax 假定每个样本都是一个类别的成员。不过,某些示例可以同时是多个类的成员。对于此类示例:

  • 不得使用 Softmax。
  • 您必须依赖多个逻辑回归。

例如,假设您的示例是仅包含一项内容(一块水果)的图片。Softmax 可以确定这一个项是梨、橙色、苹果等的可能性。如果您的示例是包含各种各样水果的图片,那么您必须改用多个逻辑回归。