繁体   English   中英

用于在 Keras 中输出的序列的 LSTM

[英]LSTM for sequence to output in Keras

我真的很困惑如何使用 keras 的 LSTM 解决/构建我的任务:

所以我有一个vectors sequence 每个序列都属于某个输出(在我的例子中是一个文档)。

向量本身有 500 个特征(它们代表一个句子)。

序列(文档中的句子数)各不相同..所以我假设需要填充序列,所以每个序列都一样长,例如让每 200 个向量长。

现在,由于每个sequence属于某个输出/文档 (1 - 10.000),我该如何构建我的任务?

Keras将输入作为(#samples, time_steps, input_dim) 所以我想它一定是(#documents, #sentences, #features_of_each_sentece) - 就我而言: (10.000, 200, 500)

正确的?

那么我如何训练我的模型,以预测哪个句子最有可能属于哪个文档?

我的输出向量是第一个文档的单热编码 [1, 0, ...] 吗,[0, 1, ..] 秒等? 或者我的输出向量只是[1, 1, 1, ...., 2, 2, 2,...] ,所以我只有一个包含哪个序列属于哪个文档的输出向量?

我真的很困惑..最后我想拿最后一层来为每个文档都有一个向量表示。

所以它看起来像: 在此处输入图片说明

会不会像(?):

model = Sequential()
model.add(LSTM(50, input_shape=(10000,200,500)))
model.add(Dense(3))
model.add(Activation('softmax'))
model.compile(loss='categorial_crossentropy',opitimizer=some_optimizer)

如果模型的第一层是重复层,则不必指定长度。 然后,您可以使用掩码来处理不同的序列大小。 有关 Keras 循环层(包括 LSTM)的更多信息,请查看文档有关 LSTM 的简单示例,您可以查看此处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM