【问题标题】:operations in artificial neural networks人工神经网络中的操作
【发布时间】:2019-08-20 20:41:41
【问题描述】:

我的问题是我们是否必须在算法中使用经过训练的神经网络 如何确定其时序复杂度?或者做了多少次乘法来生成输出?

非常感谢任何 cmets。提前致谢。

【问题讨论】:

    标签: neural-network


    【解决方案1】:

    这些可能会帮助您做出决定。 NN timing complexity

    对于乘法的数量,您可能会发现 thisthis 很有用。

    自从您保存了 NN。您只需要对其进行测试或仅在前馈阶段使用 NN。所以你的计算似乎是正确的。请注意,您必须在计算中涉及测试样本的数量并应用激活函数,以便更好地描述 NN 的行为。

    希望有所帮助。

    【讨论】:

    • 感谢您的回答。那么对于不同的架构,我们有不同数量的乘法?对于一个隐藏层中的 20 个神经元,我们有 15*20+20*2 倍数。对于每个有 10 个神经元的两个隐藏层,我们有 15*10 + 10*10 + 10*2。 (即两者在隐藏层中都有 20 个神经元)。如果我错了,请纠正我。
    • 我认为隐藏层中神经元的总数并不重要。假设一个神经网络有 1 个输入层、1 个输出层和 3 个隐藏层。所以你会有5层。并计算 4 层的乘法(不是输入层,因为没有东西喂它们)。 [hagan.okstate.edu/NNDesign.pdf]这是神经网络很好的参考。
    【解决方案2】:

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

    但是,如果您希望以此作为衡量复杂性的指标,您首先需要查看您在神经网络中使用的节点的实现,首先要执行神经元的操作,然后再看看如何每个训练步骤都使用了许多乘法。

    只有在您了解所有信息后,您才能查找网络中的节点数和连接数。

    【讨论】:

    • 谢谢您的回答先生。正如我所提到的,我对训练和保存的 NN 的时间复杂度感到好奇。如果我们将输入向量传递给它,要执行多少次乘法运算才能得到输出向量?我的计算结果如何(15*20+20*2)?
    猜你喜欢
    • 2011-11-19
    • 1970-01-01
    • 2011-01-22
    • 2011-07-13
    • 2017-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多