深层循环神经网络

http://zh-v2.d2l.ai/chapter_recurrent-modern/deep-rnn.html

“最后,输出层的计算仅基于第l个隐藏层最终的隐状态”
应该是L不是l

9.3.2第二段,
“因为我们有不同的词元,所以输入和输出都选择相同数量”
好像应该是
“因为我们有相同的词元,所以输入和输出都选择相同数量”

我从零开始实现深层循环神经网络,模型如下,不知为何效果不好

def gru(inputs, state, params):
W_xz, W_hz, b_z, W_xr, W_hr, b_r, W_xh, W_hh, b_h, W_hq, b_q, W_xh1, W_hh1, b_h1 = params
H, = state
H1, = state
outputs = []
for X in inputs:
Z = torch.sigmoid((X @ W_xz) + (H @ W_hz) + b_z)
R = torch.sigmoid((X @ W_xr) + (H @ W_hr) + b_r)
H_tilda = torch.tanh((X @ W_xh) + ((R * H) @ W_hh) + b_h)
H = Z * H + (1 - Z) * H_tilda

    H1 = torch.tanh((H @ W_xh1) + (H1 @ W_hh1) + b_h1)
    Y = H1 @ W_hq + b_q
    outputs.append(Y)
return torch.cat(outputs, dim = 0),(H,)