某些双向LSTM层的尺寸是多少?

时间:2020-02-11 07:41:54

标签: deep-learning pytorch lstm seq2seq

我读了一篇有关机器翻译的论文,它使用投影层。其编码器具有6个双向LSTM层。如果输入嵌入尺寸为512,编码器输出的尺寸将为多少? 512 * 2 ** 5?

该论文的链接:https://www.aclweb.org/anthology/P18-1008.pdf

1 个答案:

答案 0 :(得分:1)

不完全是。不幸的是,上述论文中的图1有点误导。从图中可以看出,这不是六个编码层是并行的,而是这些层是成功的,这意味着前一层的隐藏状态/输出用于下一层作为输入。

这以及输入(嵌入)尺寸为 NOT 的事实将LSTM层的输出尺寸(实际上为2 * hidden_size)更改为您的输出尺寸:2 * hidden_size,然后将其放入最终的投影层中,该层再次根据您的规格更改尺寸。

对我来说, add 在层中的描述还不是很清楚,但是如果您查看reference implementation,似乎与答案无关。具体来说,观察编码功能的基本原理

def encode(...):
    encode_inputs = self.embed(...)
    for l in num_layers:
        prev_input = encode_inputs

        encode_inputs = self.nth_layer(...)
        # ...

很明显,这里发生了很多事情,但这说明了网络的基本功能模块。