Все зависит от того, что вы хотите сделать. Представьте себе случай, когда вы пытаетесь судить о том, что будет чувствовать человек на протяжении всего фильма. Каждый кадр фильма представляет собой шаг по времени, и вы хотите классифицировать все этапы, чтобы эволюция чувств человека была нарушена. Но вы никогда не сможете угадать чувство по одному кадру в отдельности. Это будет роль уровня LSTM, анализировать каждый временной шаг и отслеживать, что происходит.
нирую модель LSTM, используя в качестве входных данных последовательность из 50 шагов с 3 различными функциями, описанными ниже:
#x_train
[[[a0,b0,c0],.....[a49,b49,c49]],
[a1,b1,c1]......[a50,b50,c50]],
...
[a49,b49,c49]...[a99,b99,c99]]]
Используя следующую зависимую переменную
#y_train
[a50, a51, a52, ... a99]
Приведенный ниже код работает, чтобы предсказать только a, как мне заставить его предсказать и вернуть вектор [a, b, c] в данный момент времени?
def build_model():
model = Sequential()
model.add(LSTM(
input_shape=(50,3),
return_sequences=True, units=50))
model.add(Dropout(0.2))
model.add(LSTM(
250,
return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(1))
model.add(Activation("linear"))
model.compile(loss="mse", optimizer="rmsprop")
return model