我读了一篇有关机器翻译的论文,它使用投影层。其编码器具有6个双向LSTM层。如果输入嵌入尺寸为512,编码器输出的尺寸将为多少? 512 * 2 ** 5?
答案 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(...)
# ...
很明显,这里发生了很多事情,但这说明了网络的基本功能模块。