【发布时间】:2018-09-16 10:45:20
【问题描述】:
我想知道如何在 Keras 下工作 LSTM。
让我们举个例子。 我的最大句子长度为 3 个单词。 示例:“你好吗” 我将每个单词向量化为 len 4 的向量。所以我将有一个形状 (3,4) 现在,我想使用 lstm 来做翻译工作。 (只是一个例子)
model = Sequential()
model.add(LSTM(1, input_shape=(3,4), return_sequences=True))
model.summary()
根据 Keras,我将得到 (3,1) 的输出形状。
Layer (type) Output Shape Param #
=================================================================
lstm_16 (LSTM) (None, 3, 1) 24
=================================================================
Total params: 24
Trainable params: 24
Non-trainable params: 0
_________________________________________________________________
这是我不明白的。
LSTM 的每个单元(使用 return_sequences=True 来获得每个状态的所有输出)应该给我一个形状向量(时间步长,x) 在这种情况下,timesteps 是 3,x 是我的单词向量的大小(在这种情况下是 4)
那么,为什么我的输出形状是 (3,1) ? 我到处找了,还是搞不清楚。
【问题讨论】:
标签: neural-network deep-learning keras lstm