caffe:对回归感到困惑

时间:2016-12-05 18:19:08

标签: classification regression deep-learning caffe conv-neural-network

我想向你解释一个非常奇怪的问题。我不确定这是否是SO的主题,但我希望最终会这样。

我的一般问题任务是深度估计,即我有一个图像作为输入及其对应的ground_truth(深度图像)。然后我有我的网(应该被认为是黑盒子)和我的最后一层。

首先,深度估算是一个回归任务,而不是一个分类任务。因此,我决定使用EuclideanLoss图层,其中我的num_output图层的Convolution为1 - >输出为1xheightxwidth。净收敛,最后的损失值为3。当我尝试使用deploy.prototxt创建估算的输出图像时,我会移除EuclideanLoss图层。然后我的las层是ReLU层,如下所示:

layer {
    name: "relu"
    type: "ReLU"
    bottom: "conv"
    top: "result"
    relu_param{
    negative_slope: 0.01
        engine: CUDNN
    }
}

我的问题是:估计的深度图像看起来不像我的ground_truth。好吧,首先,听起来有点像是的,你有一个网,它不起作用。但是当我将我的任务变成一个不太适合这种方法的分类任务时,我会得到非常好的结果。通过将其更改为分类任务,我的意思是将EculideanLoss图层与SoftmaxLayer进行交换而不是num_output = 1在最后Convolution图层中{I}} num_output = 256 {1}}深度值,其中0为黑色,1为白色。

我真的很困惑,因为回归任务在理论上应该比分类任务更好。任何人都可以帮我解决这个问题吗?我的想法有什么大错吗?或者我是否忘记了对回归真正重要的事情?

任何答案都非常感谢!

0 个答案:

没有答案