Machine learning 神经网络:隐藏层中的计算误差

Machine learning 神经网络:隐藏层中的计算误差,machine-learning,neural-network,computer-vision,Machine Learning,Neural Network,Computer Vision,我是神经网络的新手,我正在尝试构建一个超简单的神经网络,其中包含多个隐藏层 在神经网络的训练阶段调整权重时,权重的调整程度部分取决于该神经元对下一层神经元的“误差”大小。因此,我们需要知道下一层的误差 仅使用1个隐藏层计算这一点很简单,因为我们的训练数据已经为我们提供了预期的输出,因此我们只需要使用输出层(简单地说,目标输出)。当存在多个隐藏层时,计算错误变得非常重要。也就是说,如果我们有10个隐藏层,我们在第5层,我们如何知道第6层的错误是什么 谢谢假设我们的NN输出值和实际地面真实值通过损失

我是神经网络的新手,我正在尝试构建一个超简单的神经网络,其中包含多个隐藏层

在神经网络的训练阶段调整权重时,权重的调整程度部分取决于该神经元对下一层神经元的“误差”大小。因此,我们需要知道下一层的误差

仅使用1个隐藏层计算这一点很简单,因为我们的训练数据已经为我们提供了预期的输出,因此我们只需要使用输出层(简单地说,目标输出)。当存在多个隐藏层时,计算错误变得非常重要。也就是说,如果我们有10个隐藏层,我们在第5层,我们如何知道第6层的错误是什么


谢谢

假设我们的NN输出值和实际地面真实值通过损失函数关联,例如均方误差(回归情况):

其中:

和是层的权重,是应用于同一层所有神经元响应的激活函数

为了从输出层传播模型权重上的误差,我们只需在误差损失函数和依赖于模型参数(权重或偏差)的因子之间应用链式规则。例如,让我们找到与损失函数和输出层权重相关的误差导数:如下所示:

正如您可以推断的,我们可以应用相同的程序来计算误差导数,通过每次激活直至网络的较低层。例如,让我们将错误反向传播到层:

这个过程也可以应用于偏置,直到输入层之前的层

我希望这个反向传播总结能给你一些关于神经网络实际实现的实际见解,在这个例子中,是前馈神经网络。如果您想了解有关反向传播的更多详细信息,我邀请您咨询斯坦福大学的UFLDL关于反向传播:


另外,如果你想了解更多关于卷积神经网络的知识,它更适合计算机视觉应用,我推荐CS231n课程笔记(其中也有关于反向传播的课程),它们可以在。

上找到。你是指第6层权重相对于损失函数的误差导数吗?那么,应该可以通过使用反向传播很容易地导出它。我相信是的,我对这一点还是相当陌生的。计算层中神经元的误差约为(目标输出)^2。我想知道如何计算第6层中某些神经元的目标。我正在写一个完整的答案,解决所有的过程。我试图在这里解决一个类似的问题:。我找到了这个答案,但我不知道如何将它应用到我的问题中。如果有人有时间考虑这个问题,我会很感激的。谢谢。这真的回答了每一层的错误问题吗?看起来你只是告诉我们如何用链式法则得到θ的梯度。