【问题标题】:How to organize the Recurrent Neural Network?如何组织循环神经网络?
【发布时间】:2023-03-14 05:39:01
【问题描述】:

我想建模以下内容:

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 这样的深度网络对此类问题有什么优越的好处?

【问题讨论】:

    标签: neural-network deep-learning recurrent-neural-network


    【解决方案1】:
    1. 我不建议您使用经典的普通 RNN。从理论上讲,它能够将来自先前输入的信息存储在其内存中,但实际上它需要大量的节点。
    2. 假设经典的 vanilla 实现与现代架构(例如 LSTM 或 GRU)一样长 - 这取决于您是要使用一种定向模型还是双向模型。如果您想预测下一步 - 通常一个定向架构会更好。如果您想更好地分析给定的序列 - 我建议您应用双向序列。
    3. LSTM 和 GRU 使用额外的内存单元,帮助您在内存中保持输入之间的长时间依赖关系。它们被认为是目前最好的架构。深度 RNN - 通常是具有循环拓扑的深度网络 - 它们以与前馈神经网络相同的方式利用其深度。

    【讨论】:

    • 感谢您的建议。 1- 我认为 bi-RNN 不适合我的问题,因为我想根据之前的决定(从另一个角度)预测下一个最佳决定的概率。 2-假设使用 LSTM,我仍然不确定是使用所有 k 个先前的 x(t) 实例作为网络的单独输入还是仅使用最后一个 x(t-1) 作为唯一输入就足够了网络是否可以跟踪其架构中最近看到的 k 个 x(t)?
    • Simpy 将其用作元参数并尝试网格搜索以找到最佳设置 :)
    • 如果我的回答有用 - 请接受它为正确的或投票赞成我的回答 :)
    猜你喜欢
    • 2017-02-19
    • 2017-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-05
    • 2011-07-24
    • 2015-08-07
    • 1970-01-01
    相关资源
    最近更新 更多