Machine learning 双向LSTM的预加载与后加载输入

Machine learning 双向LSTM的预加载与后加载输入,machine-learning,keras,deep-learning,lstm,recurrent-neural-network,Machine Learning,Keras,Deep Learning,Lstm,Recurrent Neural Network,由于我的输入是可变长度的,我需要将它们全部填充到相同的大小,以便将它们馈送到双向LSTM 但是,预装和后加有什么区别呢 例如: input [3,2,1,2] prepad [0,0,0,3,2,1,2] postpad [3,2,1,2,0,0,0] 哪个变量有助于更好的梯度流动?通常,循环网络更强调它最后看到的信息。因此,您应该使用前置填充还是后置填充在很大程度上取决于您的数据和问题 考虑以下示例: 您有一个编码器-解码器体系结构。编码器读取数据并输出一些固定的维度表示,而解码

由于我的输入是可变长度的,我需要将它们全部填充到相同的大小,以便将它们馈送到双向LSTM

但是,预装和后加有什么区别呢

例如:

 input [3,2,1,2]
 prepad [0,0,0,3,2,1,2]   
 postpad [3,2,1,2,0,0,0]

哪个变量有助于更好的梯度流动?

通常,循环网络更强调它最后看到的信息。因此,您应该使用前置填充还是后置填充在很大程度上取决于您的数据和问题

考虑以下示例: 您有一个编码器-解码器体系结构。编码器读取数据并输出一些固定的维度表示,而解码器则应执行相反的操作。现在对于编码器来说,预先填充输入是有意义的,这样它就不会只在最后读取填充,而忘记以前看到的实际有意义的内容。另一方面,对于解码器来说,后期填充可能更好,因为它应该学会在末尾生成一些序列结束标记,并忽略后面的其余部分(填充)


现在很难说什么更适合双向LSTM,也可能取决于最终的实际问题。在最简单的情况下,这并不重要。

我不知道为什么这个问题被否决了。这是个好问题。也许你应该特别指出你说的是Keras的图层。问了一个类似的问题,但没有答案。