双向 RNN 由两个 RNN 组成,一个用于前向序列方向,另一个用于后向序列方向,其结果在每个时间步连接。这种配置会限制模型始终使用固定的序列长度吗?还是它仍然可以作为单向 RNN 工作,可以应用于任何序列长度?
之所以提出这个问题,是因为双向架构在每个时间步合并了前向和后向 RNN 的输出。因此,如果序列长度为 4,前向和后向 RNN 的输出将以这种方式合并:第 1 个前向和第 4 个后向,第 2 个前向和第 3 个后向,……第 4 个前向和第一个后向。但是,如果使用不同的序列长度,则将修改此合并顺序:
假设网络使用序列长度 4 进行训练,但在测试时使用的序列长度为 5。合并将是:第 1 前进与第 5 后退,第 2 前进与第 4 后退……第 5 前进与第 1 后退。这种合并顺序的变化会对双向 RNN 性能产生负面影响吗?