Fully Convolutional network (FCN) desired output

时间:2018-06-19 11:16:26

标签: matlab machine-learning neural-network conv-neural-network

I am trying to implement a simple FCN in MATLAB from scratch. I have implemented 1 input (single channel image) neuron, 3 hidden layers with 3 neurons and one output neuron at end of the network as the following image:

Network architecture

and I want this network to have the input image and train so it could output the image as following (Left: Input, Right: Output(desired)):

Left: Input, Right: Output(desired)

Is my desired image correct as output of FCN? Is there any extra, necessary layer at end of network so it could produce the desired output? There are some explanations that FCN produces heatmaps, and heatmaps are different from desired images, if this is correct, how to compare the output at each iteration with desired (error for backpropagation)?

1 个答案:

答案 0 :(得分:1)

如果您不指定损失和地面事实(假设它是受监督的),它将产生任何结果。

这就是说,如果对于每个输入图像,您都有输出图像的基本事实,例如损失为MSE(input,output),则训练将拟合一个模型,该模型将输入之间的MSE最小化数据集和输出数据集。希望该模型的泛化能力足够强大,可以为某些任意输入产生所需的输出。

因此,您需要定义损失(以及监督学习的基本事实)。