Skip to main content

6.4.1 RNN 路线图:按顺序处理序列

RNN 面向有顺序的数据:文本、时间序列、点击流、传感器读数,以及任何前面步骤会影响后面步骤的输入。

先看序列流

RNN 序列模型章节关系图

RNN 隐藏状态滚动记忆图

概念第一层意思
sequence length时间步数量
input size每一步的特征数
hidden state滚动记忆
LSTM / GRU门控记忆控制
batch first[batch, seq_len, features] 这种形状风格

跑一次 GRU 形状检查

创建 rnn_first_loop.py,安装 torch 后运行。

import torch

sequence = torch.randn(2, 3, 5)
gru = torch.nn.GRU(input_size=5, hidden_size=4, batch_first=True)
outputs, hidden = gru(sequence)

print("sequence_shape:", tuple(sequence.shape))
print("outputs_shape:", tuple(outputs.shape))
print("hidden_shape:", tuple(hidden.shape))

预期输出:

sequence_shape: (2, 3, 5)
outputs_shape: (2, 3, 4)
hidden_shape: (1, 2, 4)

读作:2 条序列,每条 3 步,每步 5 个特征。GRU 输出隐藏表示大小为 4

按这个顺序学

顺序阅读练什么
16.4.2 RNN 基础序列输入、隐藏状态、形状
26.4.3 LSTM 与 GRU门控、长依赖、记忆控制
36.4.4 序列建模实战滑动窗口、训练/评估循环

通过标准

能读懂 [batch, seq_len, features],把 hidden state 解释成滚动记忆,并知道 LSTM/GRU 是为长依赖而引入,就算通过。