我的原始模型是:
input = Input(shape=(1, 6)) # 1 time step, 6 features
LSTM_layer = LSTM(self.lstm_units, return_sequences=False, return_state=True)
lstm_output, out_h, out_c = LSTM_layer(embedded, initial_state=[h, c])
输入是一个热向量,例如[0,1,0,0,0,0]
现在,我读到最好将输入嵌入到LSTM中,所以模型现在看起来像
input = Input(shape=(6,))
embedded = Embedding(6, 2, input_length=6)(input)
LSTM_layer = LSTM(self.lstm_units, return_sequences=False, return_state=True)
lstm_output, out_h, out_c = LSTM_layer(embedded, initial_state=[h, c])
虽然可行,但我的问题是,嵌入层的输出现在为(?,6,2)。 LSTM层具有6个时间步长和2个特征。这是实现这种方法的正确方法吗?