Keras:嵌入层+LSTM:时间维度

Keras: Embedding layer + LSTM: Time Dimension

这个问题可能太愚蠢了……但是……

在 Keras 的初始 Embedding 层(例如 Keras LSTM-IMDB tutorial code)之后使用 LSTM 时,Embedding 层如何知道存在时间维度?换句话说,Embedding layer know训练数据集中每个序列的长度如何?嵌入层如何知道我正在训练句子,而不是单个单词?它在训练过程中只是简单地推断吗?

Embedding 层通常是模型的第一层或第二层。如果它是第一个(通常当您使用 Sequential API 时)——那么您需要指定其输入形状,即 (seq_len,)(None,)。如果它是第二层(通常当您使用 Functional API 时),那么您需要指定第一层,即 Input 层。对于这一层 - 您还需要指定形状。在形状为 (None,) 的情况下,输入形状是根据提供给模型的一批数据的大小推断出来的。