如何在神经网络中建模for循环

时间:2015-05-26 01:59:55

标签: machine-learning neural-network

我目前正在学习神经网络,可以理解基本的例子,如AND,OR,Addition,Multiplication等。

现在,我正在尝试建立一个需要两个输入x和n的神经网络,并计算pow(x,n)。并且,这将需要神经网络具有某种形式的循环,并且我不确定如何使用循环建模网络

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

谢谢!

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

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