1 回答
TA贡献1872条经验 获得超3个赞
在一个简单的观点中,您可以将一个LSTM层视为具有内存的增强Dense层(因此可以有效地处理序列)。所以“单元”的概念对于两者来说也是相同的:这些层的神经元或特征单元的数量,或者换句话说,这些层可以从输入中提取的独特特征的数量。
因此,当您将层的单元数指定为 3 时LSTM,或多或少意味着该层只能从输入时间步长中提取 3 个不同的特征(注意,单元数与输入序列的长度无关,即LSTM无论单元的数量或输入序列的长度是多少,该层都将处理整个输入序列)。
通常,这可能不是最理想的(不过,这实际上取决于您正在处理的特定问题和数据集的难度;即,对于您的问题/数据集,也许 3 个单位可能就足够了,您应该尝试找出答案)。因此,通常会为单元的数量选择更高的数字(常见选择:32、64、128、256),并且分类任务也被委托给Dense位于顶部的专用层(或有时称为“softmax 层”)该模型。
例如,考虑到问题的描述,具有 3 个堆叠LSTM层和Dense顶部分类层的模型可能如下所示:
model = Sequential()
model.add(LSTM(64, return_sequences=True, input_shape=(3000, 4)))
model.add(LSTM(64, return_sequences=True))
model.add(LSTM(32, return_sequences=True))
model.add(Dense(3, activation = 'softmax'))
添加回答
举报