machine-learning - 如何在 LSTM 中为每个输入生成 1 个以上的输出?

标签 machine-learning keras nlp lstm recurrent-neural-network

假设这是我的模型:

_________________________________________________________________ 
Layer (type)                 Output Shape              Param #    ================================================================= 
embedding_16 (Embedding)     (None, 10, 500)          71500      _________________________________________________________________ 
lstm_31 (LSTM)               (None, 10, 500)          2002000    _________________________________________________________________ 
dropout_15 (Dropout)         (None, 10, 500)          0          _________________________________________________________________ 
time_distributed_16          (None, 10, 500)          250500    _________________________________________________________________ 
softmax (Activation)         (None, 10, 500)           0     =================================================================

但我想在最后一层:

softmax (Activation)         (None, 100, 1000)           0

我已经尝试这样做几个小时了。我不知道这是否可能。我不认为你可以改变 LSTM 的输出大小(看看它的模型),但我是否可以添加一个层,以便它为每个输入生成 10 个输出?

简单来说,假设我希望我的模型为我输入的每个单词生成 10 个单词。我希望我能够解释一下。

最佳答案

这里有不同的方式查看“多重输出”(通过“这里”,我猜测您正在使用 keras 库 - 从打印输出来看似乎是这样)。

在一个简单的情况下,例如Dense(10) 层可以解决这个问题。使用 TimeDistributed 层包装器的“ secret 武器”,如本 SO post 中所述。 。

另一种方法需要使用 keras 的功能 API。 docs 中解释了如何获取多个输出。 。

关于machine-learning - 如何在 LSTM 中为每个输入生成 1 个以上的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51731587/

相关文章:

python - 根据 URL 自动确定网站页面的自然语言

python - 理解 LDA/主题建模——主题重叠太多

r - 从多个混淆矩阵中提取指标并填充数据框

swift - 使用 VNCoreMLModel 和 Inceptionv3.model() 的区别?

machine-learning - MapR 是否具有可扩展的机器学习算法。像马胡特一样?

python - 如何使用tensorflow 2生成frozen_inference_graphe.pb和.pbtxt文件

machine-learning - GoogLeNet 模型的微调

python - 在多类分类问题中将 class_weights 参数与 Keras 一起使用时出错

python - keras 调谐器的 'INFO:tensorflow:Oracle triggered exit' 是什么意思?

algorithm - 使用 NLP 自动清理用户生成的内容?