我想模拟以下内容:
y(t)=F(x(t-1),x(t-2),...x(t-k))
或者说一个函数,其当前输出取决于最后 k 个输入。
1-我知道一种方法是使用一个经典的神经网络,其中 k 个输入为{x(t-1),x(t-2),...x(t-k)}对于每个y(t)并训练它。那么使用 RNN 来解决这个问题有什么好处呢?
2-假设使用RNN,我应该只使用x(t)(或x(t-1))并假设隐藏层可以通过输入找到y(t)与过去k个输入的关系它的内存(隐藏层)?
3-考虑到我们想要根据最后 k 个输入来估计输出,使用像 Deep RNN 或 LSTM 这样的深度网络对于此类问题有什么优越的好处吗?
- 我不会建议您使用经典的普通 RNN。理论上,它能够将先前输入的信息存储在内存中,但实际上它需要大量的节点。
- 假设经典的普通实现与现代架构(例如 LSTM 或 GRU)一样长 - 这取决于您是否想使用一种定向模型或双向模型。如果您想预测下一步 - 通常一个定向架构更好。如果您想更好地分析给定的序列 - 我建议您应用双向序列。
- LSTM 和 GRU 使用额外的内存单元,帮助您保持内存中输入之间的长时间依赖性。它们被认为是目前最好的架构。深度 RNN - 通常是具有循环拓扑的深度网络 - 它们以与前馈神经网络相同的方式利用其深度。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)