这个问题与此处显示的神经机器翻译有关: 神经机器翻译
这里:
批量大小= 64
输入长度(示例输入句子中的单词数,也称为不同的时间步长)= 16
RNN 单元的数量(也是隐藏状态向量的长度或隐藏状态向量在每个时间步的维数)= 1024
这被解释为:
在每批(共 64 个)中,对于每个输入词(共 16 个),每个时间步都存在一个 1024 维向量。这个 1024 维向量表示在编码过程中特定时间步的输入词。这个 1024 维的向量被称为每个词的隐藏状态。
我的问题是:
为什么 (64, 1024) 的隐藏状态维度与( 64, 16, 1024)的编码器输出维度不同?两者应该不一样,因为对于每个批次,我们在输入句子中有 16 个单词,对于输入句子中的每个单词,我们都有一个 1024 维的隐藏状态向量。所以在编码步骤结束时,我们得到一个形状为 (64, 16, 1024) 的累积隐藏状态向量,这也是编码器的输出。两者尺寸相同。
具有维度(64, 1024)的编码器隐藏输出进一步作为第一个隐藏状态输入提供给解码器。
另一个相关问题:
如果输入长度是 16 个字,而不是使用 16 个单元,那么在编码器中使用 1024 个单元的原因是什么?