- 必选参数
input_size
,指定输入序列中单个样本的尺寸大小,例如可能用一个 1000 长度的向量表示一个单词,则input_size=1000
- 必选参数
hidden_size
,指的是隐藏层中输出特征的大小 - 必选参数
num_layers
,指的是纵向的隐藏层个数,一般设置为 1~10,default=1
接下来看一个2层的RNN模型
在解释 ht 和 out 之前要先理解一个概念 —— 时间戳,时间戳是针左右而不是上下,什么意思呢,就是上图是一个两层的 RNN,假设这两层的 RNN 右边分别又各接一层,那这样的左右结构就是时间戳,基于此,给出 ht 和 out 的定义:
- ht:最后一个时间戳上面所有的 memory 状态
- out:所有时间戳上的最后一个 memory 状态
如下所示的代码片段
import torch
import torch.nn as nn
rnn = nn.RNN(input_size=100, hidden_size=20, num_l