人工神经网络的运算

3

我的问题是,如果我们需要在算法中使用一个经过训练的神经网络,如何确定它的时间复杂度?或者说为了生成输出需要进行多少次乘法运算?

非常感谢您提供任何意见。提前致谢。

2个回答

3

以下可能有助于您做出决定。 神经网络计算时间复杂度

另外,关于乘法次数,您可以找到 这个链接这个链接 有用。

既然您已经保存了神经网络,您只需要测试它或者在前向传递阶段中使用该神经网络。因此,您的计算似乎是正确的。请注意,在计算中还必须考虑测试样本数和应用激活函数以更好地描述神经网络的行为。

希望对您有帮助。


谢谢您的回答。所以对于不同的架构,我们有不同数量的乘法运算?对于一个隐藏层中的20个神经元,我们有1520+202个乘法运算。而对于两个隐藏层,每个隐藏层有10个神经元,我们有1510 + 1010 + 10*2个乘法运算。(即两者都有20个隐藏层神经元)如果我错了,请纠正我。 - Artificial
我认为隐藏层中神经元的总数并不重要。假设一个具有1个输入层、1个输出层和3个隐藏层的神经网络。因此,您将拥有5个层,并计算4个层(不包括输入层,因为没有任何东西在它们之间传递)。[https://hagan.okstate.edu/NNDesign.pdf] 这是神经网络的良好参考资料。 - engineer1155

0

复杂性并不总是以乘法的数量来衡量。

但如果这是您想要将其作为复杂性度量标准的话,首先需要查看您在神经网络中使用的节点实现,以执行神经元的操作,然后再查看每个训练步骤中使用了多少乘法。

只有在您了解所有这些内容之后,才能查找网络中节点和连接的数量。


谢谢您的回答,先生。正如我所提到的,我对训练和保存的神经网络的时间复杂度很好奇。如果我们将输入向量传递给它,需要执行多少次乘法才能得出输出向量?您认为我的计算(1520+202)怎么样? - Artificial

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接