我将处理需要使用RNN或Deep Neural Nets解决的问题。通常,问题在于预测财务价值。因此,由于我得到了金融数据的序列作为输入,因此我认为RNN会更好。另一方面,我认为,如果我可以将数据拟合为某种结构,则可以更好地使用DNN进行训练,因为DNN中的训练阶段比RNN容易。例如,我可以在使用DNN的同时获得最近1个月的信息并保留30项输入并预测第31天。从这个角度来看,我不了解RNN优于DNN的优势。我的第一个问题是有关此问题中RNN或DNN的正确用法。
我的第二个问题在某种程度上是基本的。在训练RNN时,网络是否有可能变得“困惑”?我的意思是,请考虑以下输入:10101111,我们的输入是0或1的一位数字,并且我们有2个序列(1-0,1-0,1-1,1-1),此后1等于0。然后最后,在1到1之后。在训练期间,这不是主要问题吗?也就是说,为什么在训练此序列时系统不会感到困惑?
我认为您的问题措辞有点有问题。
首先,DNN是一类架构。卷积神经网络与深度信仰网络或简单的深度MLP截然不同。有一些适合时间序列预测的前馈体系结构(例如TDNN),但这取决于您,是您对研究更感兴趣还是只是解决问题。
其次,RNN尽可能“深入”。考虑到最基本的RNN,Elman网络:在经过时间反向传播(BPTT)的训练过程中,它们在时间上展开-在T个时间步长上反向传播。由于这种反向传播不仅像在标准DNN中一样在垂直方向上进行,而且在T-1上下文层上水平进行,因此实际上考虑了当前时间之前的T-1时间步长之前隐藏层的过去激活。展开的网络的此插图可能有助于理解我刚刚写的内容(源):
这使得RNN在时间序列预测方面如此强大(并且应该回答您的两个问题)。如果您还有其他问题,请阅读有关Elman Networks的信息。LSTM等只会使您感到困惑。了解Elman Networks和BPTT是了解任何其他RNN的必要基础。
最后需要注意的一件事是:梯度梯度消失。诱人的是,让我们使T = infinity并给我们的RNN尽可能多的内存:这是行不通的。解决此问题的方法有很多,LSTM目前非常流行,并且在当今左右甚至有一些适当的LSTM实现。但是重要的是要知道基本的Elman网络可能确实会在T = 30时遇到困难。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句