层概率始终为1

时间:2016-12-05 02:12:14

标签: caffe mnist softmax

我使用caffe / example / mnist网络对数字进行分类。当我给网络一张数字图片时,似乎工作正常。但是当我给网络一张图片而不是一个数字时,受过mnist训练的网络softmax层给出的概率总是有一个概率为1而其他概率为0,如:

[0,0,0,...,1,0,0,0]。

我认为应该是这样的:

[0,0.1,0.2,...,0.4,0.1,0.2],

在这种情况下,我可以说这不应该是一个数字。有什么问题?

2 个答案:

答案 0 :(得分:0)

很难知道会发生什么,因为它没有经过非数字训练,它必须给出总和为1的结果。通过使用Softmax,你告诉网络有一个数字,同时显示一个非数字。您无法查看其输出,然后确定它是否为数字。

此外,MNIST的训练数据非常陈规定型,不利于推广。前景编号总是 255,背景总是 0.平均值将更接近0,因为背景像素更多。简单地呈现具有100的平均像素值的图像可以将预测偏向于通常具有更多像素的数字(可能像8)。您只能期望网络推广到类似类型的刺激。对于您的任务,您应该进行大量的数据扩充。

您希望允许所有数字的概率为零,您可以使用交叉熵损失来执行此操作。这也允许概率也总和大于1(最大10)。你也可以尝试为"非数字"添加另一个类。然而,对于Softmax,你应该呈现非数字刺激和数字刺激,这些刺激与自然刺激更相似(因此它不能轻易分离)。

答案 1 :(得分:0)

根据caffe / examples / mnist训练mnist后,在部署时,您必须为网络提供0-1而不是0-255范围内的图像。尝试一下,看看你是否得到正确的probs Illustration image