我是新来Keras,我觉得很难理解LSTM layer.The Keras文档的输入数据的形状说,输入数据应该是三维张量形状(nb_samples,timeteps,input_dim)。 我很难理解这种格式。时间步长变量是否表示网络记录的时间步数?如何设置输入LSTM在Keras
在我的数据的几个时间步长影响网络的输出,但我不知道有多少事先即不能说以前的10个样品影响输出。例如,输入可以是形成句子的单词。每个句子中的单词之间有重要的相关性。我不知道句子的长短,这个长度也因句子而异。我知道句子何时结束(即我有一段时间表示结尾)。两个不同的句子对另一个没有影响 - 不需要记住前面的句子。
我使用LSTM网络学习中强化学习的策略,所以我没有一个固定的数据集。代理人的政策将改变句子的长度。
我应该如何塑造我的数据?它应该如何馈入Keras LSTM层?
取决于你有多少资源,愿意消费,你应该选择句子的最大长度,然后截断/用这个长度填充0个例子。凯拉斯要求它是固定的。 –
在这种情况下,输入形状应该如何? input_shape =(maximum_sentence_length,)? –
你应该把你的文本分成几个句子,然后你的句子数量是你的'nb_samples'。 '时间步长'是单词/字符的最大数量。然后'input_dim'是这些单词/字符表示的大小(例如,如果使用单词嵌入,嵌入大小) –