下面开始介绍最后一个算法softmax。在前面介绍全连接算法或其他文章中,或多或少也提到了softmax。
在分类网络里,softmax的作用主要是将模型的原始输出映射到 0~1之间的概率分布。很多时候对于我们初学者而言,只知道softmax可以做概率映射,但并不了解它内部的原理是如何完成这个概率映射的,本节来详细的来阐述一下这个过程。
在详细说明这个算法的原理之前,先通过一个例子看一下这个算法的使用场景。
假设我们要使用神经网络做图片分类,现在有 3 个类别分别是 猫,狗,人。如果我们使用 Resnet50 这一个神经网络进行分类,那么最后一层全连接会输出三个得分,也就是它输出的shape为[1, 3]。
我们继续假设猫、狗、人这三个分类的得分分别为:
也就是说,猫得了 2 分,狗得了 1 分,人得了 0.1 分,单看这个结果,我们大概知道,因为猫的得分最高,那最终神经网络会认为这张图片是一只猫,这么理解是可以的,但是大概还是有两个地方有些问题。
第一,神经网络最终选择某一分类,依据的不是得分,而是概率。也就是说,最终神经网络会选择一个概率最高的分类作为它识别的结果。
为什么要使用概率该不是得分呢?主要出于以下几点考虑&#x