在我寻求以更严格的方法理解反向传播的过程中,我遇到了神经元误差信号的定义,其定义如下: 神经元在 层:
基本上, 测量当神经元的输入和发生变化时总误差的变化量,用于计算神经网络的权重和偏差,如下所示:
除了在某种意义上对权重和偏差的计算有用之外,它可以多次重用其值,还有什么其他原因可以解释为什么在解决反向传播时总是提出这个定义?
在我寻求以更严格的方法理解反向传播的过程中,我遇到了神经元误差信号的定义,其定义如下: 神经元在 层:
基本上, 测量当神经元的输入和发生变化时总误差的变化量,用于计算神经网络的权重和偏差,如下所示:
除了在某种意义上对权重和偏差的计算有用之外,它可以多次重用其值,还有什么其他原因可以解释为什么在解决反向传播时总是提出这个定义?
让我非常清楚地解释一件事“神经网络是非常简单的结构,但非常有效的算法,它会产生惊人的好结果,如果你看到神经网络实际上是大的复合函数,需要你计算梯度以便你可以观察输出根据您的输入权重而变化(这就是使用梯度下降实现的反向传播),这就是计算您提到的两个方程(2)和(3)的导数的简单目标。
现在,正如您所说,您可以计算它的值并重用它,即 eq(1),因为这里的 eq (1) 给出了第 'l' 层中神经元 j 相对于该神经元的加权输入总和的误差,它是有用且必要的对于在“第 L 层(最后一层)”计算损失时计算权重,然后将其反向传播到计算梯度的第 L-1 层,然后更新权重,它是允许您的 eq(1)计算层“l”中神经元 j 的梯度,然后更新该神经元 j 的权重矩阵,因此基本上 eq(1) 允许您使用 eq(2) 和 eq(3) 来优化权重以最小化你的损失函数。
这就是为什么每当您阅读有关反向传播的信息时,这个方程一定会被视为一种连接机制,它允许您在反向传播期间将损失与后续层中的神经元联系起来,并随后更新它们的权重。因此在我看来,eq(1) 本身就是使用梯度下降的反向传播的真正本质。
反向传播的目标是找到最小化成本函数的权重,即成本函数计算出尽可能低的成本的权重。
神经网络的成本函数具有复杂的形状(在所有情况下,除了琐碎的例子)。因此,您不能直接使用代数计算其最小值。你必须迭代地找到它,每次找到一组降低成本函数的权重。这是通过在导数 (1) 为负时增加权重并在导数为正时减少权重来完成的。这种数值过程称为反向传播,因为导数是其中的核心部分,所以在解释中总是会提到它们。
不需要存储和重用导数的值,但可以加快计算速度。这就是所谓的“实施细节”。
据我所知,你知道推导,只是想知道为什么我们在谈论反向传播时使用错误信号。你说得对,它有助于计算权重和偏差,这正是它被标准化的主要原因。这是一个使用错误信号的简洁推导:
误差信号的反向传播过程可以通过逐次投影的方式一直迭代回到输入层 (输出层的错误信号)通过 ,然后通过隐藏层的激活函数 给出错误信号 , 等等。这种反向传播概念对于训练具有多于一层的神经网络至关重要。
此外,它可以帮助我们避免一次又一次地计算相同的值。如果我们不标准化这个概念,我们将重复计算相同的值,并且随着我们深入网络,计算梯度会变得更加麻烦。
使用误差信号的概念计算任意层的权重梯度 在任意深度的神经网络中,我们只需要计算到达该层的反向传播误差信号 并通过前馈信号对其加权 馈入该层。
因此,使用误差信号是反向传播技术的一个组成部分,并构成了推导的基础!
我猜你已经阅读了这篇文章CHAPTER 2 反向传播算法的工作原理。
包括你的公式 和 The four fundamental equations behind backpropagation在那个伟大的帖子中被称为。
并且从 公式我们可以告诉 开车去 直接,所以不需要计算梯度 再次来自成本函数。
更重要的是,一旦我们得到 ,我们可以计算 , 和 根据公式 和你的公式 . 然后我们继续获取所有参数的梯度。