我是深度学习的新手。
假设我们有一个具有一个输入层、一个输出层和一个隐藏层的神经网络。让我们将输入到隐藏的权重称为从隐藏到输出的权重为. 假设我们已经初始化和,并通过前向算法/通过神经网络运行它们。假设我们更新了通过反向传播。
在估计理想权重时, 我们是否保留权重更新时不变鉴于我们已经计算过,通过梯度下降, 还是我们允许一起更新?
所以,在我试图从头开始做的代码中,我们是否包括在将用于梯度下降的 for 循环中找到? 换句话说,我们是否简单地使用相同的对于梯度下降的每次迭代?
我是深度学习的新手。
假设我们有一个具有一个输入层、一个输出层和一个隐藏层的神经网络。让我们将输入到隐藏的权重称为从隐藏到输出的权重为. 假设我们已经初始化和,并通过前向算法/通过神经网络运行它们。假设我们更新了通过反向传播。
在估计理想权重时, 我们是否保留权重更新时不变鉴于我们已经计算过,通过梯度下降, 还是我们允许一起更新?
所以,在我试图从头开始做的代码中,我们是否包括在将用于梯度下降的 for 循环中找到? 换句话说,我们是否简单地使用相同的对于梯度下降的每次迭代?
答案隐含在“反向传播”一词中。同时计算所有梯度。也就是说,损失函数的误差会从输出向后传播,并通过整个网络传播。这种传播会导致与网络中的每个权重相关联的错误,这决定了您如何更改每个权重以最小化您的损失函数。
还是我们允许一起更新?
是的。这节省了时间,因为许多中间计算的结果用于更新可以在更新中重复使用.
有关反向传播算法的详细说明,请参见http://neuralnetworksanddeeplearning.com 。