假设我将一个形状为 (99,13) 的二维矩阵作为 LSTM 层的输入。我有 n 个文件,每个文件都包含 (99,13) 个大小的向量。我决定将 13 个作为特征数,将 99 个作为时间步长。
(在使用 Keras 实现时,我添加了 LSTM 层作为第一层。我将层的 output_dim 设置为 100)
但是当我们提供上述输入时,我无法弄清楚网络中的真实情况。我有以下问题,我无法回答自己。
- 我们提供什么样的值作为LSTM 单元的输入?(用作单元格输入的xt,ht-1始终是向量?在我的情况下 xt 的形状是否为 [1,13] ?)
- 当我们说我们有一个LSTM 层作为模型l 的第一层时,它是否将第一个输入向量提供给给定层中的所有单元?(例如:将大小为 13 的第一帧(99 帧中)馈送到第一层中的所有 n 个 LSTM 单元?)同样,它是否在每个时间步继续馈送输入矩阵的所有行?
- LSTM 单元在每个时间步输出什么样的值?(我们是否将单元状态视为节点的正确输出?它是单个值还是向量?如果是向量,维度是多少?有没有办法我们可以猜测维度?我假设ht是向量)
- 给定层的output_dim (输出维度)是什么意思?它总是必须是下一层的节点数吗?
请不要将其搁置或直接发送给任何其他组。我认为这些问题与机器学习和rnn有关。我已经阅读了研究论文,但我无法清楚地了解 LSTM 网络中的真实情况。