1

我想实现一个循环神经网络并试图让它学习XOR函数作为一个小例子。因为它是一个经常性的网络,我认为只用一个输入单位就可以很好地工作,以便了解它记住它以前的状态有多好;也就是说,根据顺序输入执行XOR功能:XOR循环神经网络的顺序训练数据

INPUT(t-1) = 0 
INPUT(t) = 1 
OUTPUT(t) = 1 

INPUT(t-1) = 1 
INPUT(t) = 1 
OUTPUT(t) = 0 

所以我输入的训练数据呈现一位这样的顺序时:

inputs = { 0, 0, 1, 1, 0 } 

及相应的目标输出

targets = { 0, 0, 1, 0, 1 }. 

但它不是学习,即使我知道可能有很多原因,但我想知道,也许我没有正确定义我的数据集,因此我不会向我的网络提出正确的问题。我来到这里,然后寻找什么可能是一个正确的训练集,以监督“顺序”XOR函数学习的想法。

我正在执行的实现与Elman RNN类似,如果您需要关于它的任何详细信息,请询问。

+0

你是否正在跟踪正向传播 - 反向传播?我建议参考Andrew Ng lec(https://class.coursera.org/ml/auth/welcome?type=logout&visiting=https%3A%2F%2Fclass.coursera.org%2Fml%2Flecture%2Findex)和第4章来自Mitchell的书...我实现了神经网络代码..我使用它进行编码解码,我也使用“相同”来进行手写数字识别。 – 2013-04-06 13:10:15

+0

你能显示一些代码吗?您是否使用BTT(通过时间倒退)? – 2013-04-06 14:36:35

回答