【问题标题】:How to model a for loop in a neural network如何在神经网络中建模 for 循环
【发布时间】:2015-08-07 12:30:21
【问题描述】:

我目前正在学习神经网络,可以理解 AND、OR、加法、乘法等基本示例。

现在,我正在尝试构建一个神经网络,它接受两个输入 x 和 n,并计算 pow(x, n)。而且,这将需要神经网络具有某种形式的循环,我不确定如何对带有循环的网络进行建模

这种计算可以在神经网络上建模吗?我假设这是可能的......基于最近发布的论文(神经图灵机),但不确定如何。对此的任何指示都会非常有帮助。

谢谢!

【问题讨论】:

  • 也许使用循环神经网络。
  • 嘿奥利,谢谢.. 我实际上找到了这个en.wikipedia.org/wiki/Backpropagation_through_time - 你可以在页面上看到描述流程的图像。我认为我们需要这样的东西。我正在对此进行更多探索。谢谢指点! :)

标签: machine-learning neural-network


【解决方案1】:

正如您所指出的,Neural Turing Machines 似乎可以很好地学习基本算法。例如,论文中实现的重复复制任务可能告诉我们 NTM 可以学习算法本身。到目前为止,NTM 仅用于简单的任务,因此通过使用 pow(x,n) 来了解其范围将会很有趣,因为重复复制效果很好。我建议阅读Reinforcement Learning Neural Turing Machines - Revised 以获得更深入的了解。

此外,Memory Networks 领域的最新发展使我们能够执行更复杂的任务。因此,让神经网络理解 pow(x,n) 是可能的。所以去试试吧!

【讨论】:

    【解决方案2】:

    前馈神经网络不是图灵完备的,特别是它们不能对任意顺序的循环进行建模。但是,如果您修复了要处理的最大 n,那么您可以设置一个架构,该架构可以对最多 n 重复的循环进行建模。例如,您可以很容易地想象每一层都可以作为循环中的一个迭代,因此您可能需要n 层。

    对于可以使图灵完备的更通用架构,您可以使用Recurrent Neural Networks (RNN)。此类中的一个流行实例是 Hochreiter 和 Schmidhuber 所谓的Long short-term memory (LSTM) 网络。不过,训练此类 RNN 与训练经典前馈网络完全不同。

    【讨论】:

    • 感谢您的回复,我将研究递归神经网络和长短期记忆。感谢您的解释和指点! :)
    猜你喜欢
    • 1970-01-01
    • 2017-02-19
    • 2023-03-14
    • 2017-01-06
    • 2018-10-05
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多