反向传播中的误差计算(梯度下降)

时间:2017-07-27 06:07:10

标签: backpropagation gradient-descent

有人可以就反向传播中的错误计算做出解释,这可以在许多代码示例中找到,例如:

error=calculated-target
// then calculate error with respect to each parameter...

平方误差和交叉熵误差是否相同?怎么样?

...谢谢

1 个答案:

答案 0 :(得分:1)

我会在培训集中注明x示例,f(x)针对此特定示例预测您的网络,并g_x与{{1}相关联的基本事实(标签) }}

简短的回答是,当您拥有一个能够准确,可区分地预测所需标签的网络时,会使用根均方误差(RMS)。当您的网络预测一组离散标签的分数时,将使用交叉熵错误。

为了澄清,当您想要预测可以连续变化的值时,通常使用均方根(RMS)。想象一下,您希望您的网络预测x中的向量。例如,当您想要预测表面法线或光流时就是这种情况。然后,这些值可以连续变化,R^n是可区分的。您可以使用backprop并训练您的网络。

另一方面,Crosss-entropy在使用||f(x)-g_x||标签进行分类时很有用,例如,在图像分类中。在这种情况下,n采用离散值g_x,其中c_1,c_2,...,c_m是类的数量。 现在,你不能使用RMS,因为如果你假设你的网络预测了确切的标签( m),那么f(x) in {c_1,...,c_m}不再是可区分的,你不能使用反向传播。因此,您创建的网络不直接计算类标签,而是为每个类标签计算一组分数||f(x)-g_x||。然后,通过最大化分数softmax function,最大化正确分数的概率。这使得损失函数可微分。