首页 > 解决方案 > 如何使用先前单元格的预测作为 Keras 中的输入来训练 LSTM?

问题描述

目前我正在使用一个简单的 Keras 模型来学习一系列项目,然后使用经过训练的模型来生成新的序列。我想将训练更改为与生成阶段相同的方式 - 这意味着我希望模型从它自己的最后一步的预测中学习(并且我将在损失函数中使用基本事实)。可以在 Keras 做吗?

这是我现在拥有的简单模型:

model1 = Sequential()
model1.add(LSTM(64, input_shape=(seq_length, X_train.shape[2]) , return_sequences=True))
model1.add(Dense(y_cat_train.shape[2], activation='softmax'))
model1.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
filepath="weights-improvement-{epoch:02d}-{loss:.4f}-bigger.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='loss', verbose=1, save_best_only=True, mode='min')
callbacks_list = [checkpoint]
model1.fit(X_train, y_cat_train, epochs=200, batch_size=10, verbose=2,callbacks=callbacks_list)

X_train实际上是2个特点:[prev step's true y, prev step's other feature]

标签: kerasframeworkslstmrecurrent-neural-network

解决方案


推荐阅读