0
softmax告诉我们什么?
处理分类问题时,通常将softmax用作神经网络中的最后一个激活单位。 这是为什么? 由于softmax函数采用一组logits并输出散类的概率分布,以此对网络进行训练。 图1给出了一个示例。
图1:输入图像的神经网络预测
在图1中,我们的假想神经网络非常相信给定的图像为“1”。但它也有可能认为是“7”。它的想法很正确,给定的图像确实具有“7”的特征。但是,如果我们仅处理像[1,0]这样的独热码硬标签(其中1和0分别是图像为“1”和“7”的概率),则此信息没有用。
人类可以充分的利用这种相对性。例如——像猫一样的狗,棕红色,像猫一样的老虎等。如下仍然有效对比:
例如,宝马的图像被误认为是垃圾车的可能性很小,但是与宝马的图像被误认为是胡萝卜相比,前者发生的可能性仍然比后者高很多倍。
这种思考过程让我们更深入地了解模型对输入数据的思考方式,这应该与我们对输入数据的思考方式保持一致。 图1再次证明了这一点——在我们看来,该图像看起来像“1”的图像,但它具有“7”特征。
现在问题是,我们在神经网络中使用此知识的最佳方法是什么? 接下来看下一节。
使用Softmax信息进行教学——知识蒸馏
softmax信息比独热码硬标签更有用。 因此,在此阶段,我们可能可以得到:
- 训练数据
- 经过训练的在测试数据上表现良好的神经网络
现在,我们感兴趣的是使用训练好的网络所产生的输出概率。
考虑教人去认识MNIST数据集的英文数字。你的学生可能会问——那个看起来像7吗?如果是这样的话,这绝对是个好消息,因为你的学生肯定知道1和7是什么样子。作为一名教师,你能够把数字知识传授给你的学生。这种想法也可以扩展到神经网络。
收藏