Questions tagged «backpropagation»

1
反向传播技术之间的差异
只是为了好玩,我正在尝试开发一个神经网络。 现在,对于反向传播,我看到了两种技术。 第一个是用在这里和其他许多地方。 它的作用是: 它计算每个输出神经元的误差。 它将其反向传播到网络中(计算每个内部神经元的错误)。 它使用以下公式更新权重:(其中权重的变化,学习速度,神经元从突触接收输入并作为在突触上发送的输出的错误)。 对于数据集的每个条目,它会重复多次。 但是,本教程中提出的神经网络(也可以在GitHub上获得)使用另一种技术: 它使用错误函数(另一种方法确实具有错误函数,但未将其用于训练)。 它具有另一个功能,可以从权重开始计算最终误差。 它将功能最小化(通过梯度下降)。 现在,应该使用哪种方法? 我认为第一个是最常用的(因为我看到了使用它的不同示例),但是它也能正常工作吗? 特别是,我不知道: 它不是更受局部最小值约束(因为它不使用二次函数)吗? 由于每个权重的变化都受其输出神经元的输出值的影响,因此恰好在神经元中产生较高值的数据集的条目(不仅仅是输出的)不比其他条目对权重的影响更大吗? 现在,我确实更喜欢第一种技术,因为我发现它更易于实现且更易于考虑。 但是,如果确实存在我提到的问题(我希望没有),那么是否有实际理由在第二种方法上使用它?

3
使用反向传播训练神经网络的时间复杂度是多少?
假设一个NN包含nnn隐藏层,mmm训练实例中,xxx的功能,和ninin_i在每个层中的节点。使用反向传播训练该NN的时间复杂度是多少? 我对它们如何找到算法的时间复杂度有一个基本的想法,但是这里有4个不同的因素需要考虑,即迭代,层,每层中的节点,训练示例,也许还有更多因素。我在这里找到了答案,但还不够清楚。 除了上文所述,还有其他因素会影响NN训练算法的时间复杂度吗?

2
在神经网络中,均方误差是否总是凸出的?
我提到的多种资源都提到MSE很棒,因为它是凸的。但是我不知道怎么做,尤其是在神经网络的情况下。 假设我们有以下内容: XXX:训练数据集 YYY:目标 ΘΘ\Theta:模型(具有非线性的神经网络模型)的参数集fΘfΘf_\Theta 然后: MSE(Θ)=(fΘ(X)−Y)2MSE⁡(Θ)=(fΘ(X)−Y)2\operatorname{MSE}(\Theta) = (f_\Theta(X) - Y)^2 为什么这个损失函数总是凸的?这是否取决于?FΘ(X)fΘ(X)f_\Theta(X)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.