首页 文章

RNN优于DNN的预测优势

提问于
浏览
2

我将研究一个需要用RNN或深度神经网络解决的问题 . 一般来说,问题在于预测财务 Value . 所以,因为我得到了一系列财务数据作为输入,我认为RNN会更好 . 另一方面,我认为如果我能够将数据拟合到某个结构中,我可以更好地训练DNN,因为DNN中的训练阶段比RNN更容易 . 例如,我可以获得最近1个月的信息并保留30个输入并在使用DNN时预测第31天 . 从这个角度来看,我不了解RNN优于DNN的优势 . 我的第一个问题是在这个问题中正确使用RNN或DNN .

我的第二个问题是某种基本问题 . 在训练RNN的同时,网络是否可能“混淆”?我的意思是,考虑以下输入:10101111,我们的输入是一个数字0或1,我们有2个序列(1-0,1-0,1-1,1-1)这里1后,多次来0 . 然后在结束时,1到1之后1.在训练时,这不会成为一个主要问题吗?也就是说,为什么系统在训练这个序列时不会感到困惑?

非常感谢您的帮助

2 回答

  • 2

    我认为你的问题有点问题 .
    首先,DNN是一类架构 . 卷积神经网络与深度信念网络或简单的深度MLP有很大不同 . 有前馈架构(例如TDNN)适合时间序列预测,但它取决于您,您是否对研究更感兴趣或只是解决您的问题 .

    其次,RNN和它一样"deep" . 考虑到最基本的RNN,Elman网络:在通过时间反向传播(BPTT)进行训练期间,它们在时间上展开 - 在T时间 Span 上反向传播 . 由于这种反向传播不仅在标准DNN中垂直地进行,而且在T-1上下文层上水平地进行,因此在当前时间步之前实际考虑从T-1时间步之前隐藏层的过去激活 . 展开网络的这个例子可能有助于理解我刚刚写的内容(source):

    enter image description here

    这使得RNN对于时间序列预测如此强大(并且应该回答你的两个问题) . 如果您有更多问题,请阅读Elman Networks . LSTM等只会让您感到困惑 . 了解Elman Networks和BPTT是理解任何其他RNN所需的基础 .

    最后一件事你需要注意:vanishing gradient problem . 虽然它使得T =无穷大并且给我们的RNN尽可能多的内存:但是知道一个基本的Elman网络真的很难与T = 30斗争并不重要 .

  • 2

    当你自己回答 - RNN是 sequences . 如果数据具有顺序性质(时间序列),则优于在DNN和其他模型上使用此类模型 . 主要原因是RNN可以建模负责每个锥序列的 process ,例如给定序列

    0011100
    0111000
    0001110
    

    RNN将能够 Build 一个模型,“看到'1'之后我会再看到两个”,并在看到时正确 Build 预测

    0000001**** -> 0000001110
    

    虽然在同一时间,对于DNN(和其他非顺序模型)这三个序列之间没有关系,事实上对他们来说唯一常见的事情是“在第四个位置上有1个,所以我想它总是那样的” .

    关于第二个问题 . 为什么不会混淆?因为它模型 sequences ,因为它有 memory . 它根据之前观察到的所有内容进行调整,并假设您的信号具有任何类型的规律性,过去总有一些信号可以区分两种可能的信号路径 . 再一次,RNN比非循环模型更好地解决了这种现象 . 例如,参见近年来基于LSTM的模型给出的自然语言和巨大进步 .

相关问题