神经网络输出高斯分布而不是单个值?

时间:2016-01-17 08:49:41

标签: image-processing neural-network distribution convolution neuroscience

让我们考虑一下我有一个单输出神经元的神经网络。概述场景:网络将图像作为输入,并且应该在该图像中找到一个单个对象。为了简化场景,它应该只输出对象的x坐标。

但是,由于对象可能位于不同的位置,因此网络的输出肯定会有一些噪音。此外,图像可能有点模糊和东西。

因此我认为让网络输出对象位置的高斯分布可能更好。

不幸的是,我正在努力模仿这个想法。我该如何设计输出?如果图像宽度为100像素,则展平100维矢量?因此,网络可以适应此向量中的高斯分布,我只需要找到峰值以获得近似对象的位置?

此外,我无法确定成本函数和教师信号。教师信号是否是对象精确x坐标的完美高斯分布? 那么如何建模成本函数呢?目前我有一个softmax交叉熵或简单的平方误差:网络输出< - >真正的x坐标。

有没有更好的方法来处理这种情况?像更好的分布或任何其他方式让网络不输出单一值而没有任何噪声信息等等?

1 个答案:

答案 0 :(得分:1)

听起来你真正需要的是convolutional network

当网络位于网络感知区域的中心时,您可以训练网络识别目标对象。然后,您可以创建一个移动窗口,在每个步骤将该窗口下方较大图像的一部分送入网络。如果您跟踪窗口的每个(x,y)位置的训练网络的输出,窗口的某些位置将产生比其他位置更好的匹配。覆盖整个图像后,您可以选择具有最大网络输出的位置作为目标对象最有可能位于的位置。

要处理比例和旋转变化,请考虑创建image pyramid或不同比例和旋转的图像集,这些图像是原始图像的版本。然后筛选这些图像以找到目标图像。