Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neural network 高效计算任意神经网络输出?_Neural Network_Artificial Intelligence - Fatal编程技术网

Neural network 高效计算任意神经网络输出?

Neural network 高效计算任意神经网络输出?,neural-network,artificial-intelligence,Neural Network,Artificial Intelligence,我正在学习神经网络,它们是我遇到的最整洁的东西 我的问题是:如何计算具有任意拓扑结构的神经网络的输出?是否有一些算法或经验法则可供使用 例如,我知道前馈网络有直接的矩阵表示,但对于有回路或输出连接到输入的网络呢?这些有矩阵形式吗?还是生成输出的唯一方法是进行某种图形遍历 例如: 让我们用你们的神经网络结构来看这幅图, 随信附上您的问题。 人工神经网络连接并不像看上去那样是常见的有向图。 这里还隐含了其他限制,例如按层分布的不同类型的节点。 有输入节点、隐藏节点和输出节点。 简单地说,输入节点(

我正在学习神经网络,它们是我遇到的最整洁的东西

我的问题是:如何计算具有任意拓扑结构的神经网络的输出?是否有一些算法或经验法则可供使用

例如,我知道前馈网络有直接的矩阵表示,但对于有回路或输出连接到输入的网络呢?这些有矩阵形式吗?还是生成输出的唯一方法是进行某种图形遍历

例如:

  • 让我们用你们的神经网络结构来看这幅图, 随信附上您的问题。
    人工神经网络连接并不像看上去那样是常见的有向图。 这里还隐含了其他限制,例如按层分布的不同类型的节点。
    有输入节点、隐藏节点和输出节点。 简单地说,输入节点(神经元值)被认为是只读的,并且没有修改的方法。这就是为什么节点9和4之间的连接与输入4本身一样没有意义,因为它的信号不会进一步传播。
    节点8和11之间的连接也是如此。 你可能会看到,神经网络的基础知识是以一种简单的方式解释的

  • 谈到有循环的网络,我们假设循环网络。 假设,我们已在下图中显示。 我们如何计算产量
    我们可以尝试应用与前馈网络相同的计算规则。 ,
    ,这里是f-激活功能。
    但是,等一下,我们不需要知道吗 及 价值观 从技术上讲,这不是递归
    您可以将其理解为“节点的下一个值取决于节点的当前值”。
    描述的网络动态可以通过“展开”(如下所示)可视化。 因此,递归网络可以被视为一个深层网络,每个时间步只有一层,跨时间步共享权重。在这里,我们将步骤0隐藏层视为步骤1的输入。
    回到我们的例子,第一步计算的公式应该是这样的
    同样,对于第二步,可计算为 .

  • 为了简化,和的值可以用零初始化(尽管实际上初始状态被训练为模型参数)。展开用于(技术上,我们只是用一系列前馈隐藏层替换递归网络)


    总而言之,循环网络仍然有矩阵表示和操作,尽管这看起来不明显和简单。

    我认为你可以使用数组来记录已经访问的节点,从而绕过网络中的循环。既然你已经解释过了,这就更有意义了。对于一个紧密互联的大型网络来说,这听起来很复杂,但递归似乎是解决方案。谢谢我很难理解,直到我意识到我把这个问题看作是一个调用堆栈,在我的脑海中,调用堆栈总是会溢出<代码>f(o5)->f(h3)->f(h4)->f(h3)->f(h4)