У меня есть модель Keras, определенная как:
Sequential([
Embedding(input_dim = 11,
output_dim = 100,
mask_zero = True,
batch_input_shape = [None, None]),
LSTM(1024, return_sequences = True),
TimeDistributed(Dense(11, activation = 'softmax'))])
Она принимает последовательности чисел от 1 до 10 и предсказывает следующее число.
Размерность ввода и вывода равна 11, потому что последовательности имеют разную длину, поэтому я заполняю их нулями. Я также использую mask_zero=True
, чтобы Keras игнорировал нулевые значения.
Но когда я запускаю вывод (model.predict
), 0 часто предсказывается как наиболее вероятное значение для ввода. Таким образом, похоже, что он не игнорирует нулевые значения, как я его просил. Он узнал, что 0 иногда следует за другими числами, которые я не хочу, чтобы он узнал.
Правильно ли я использую mask_zero в приведенном выше коде? Если нет, как мне изменить его, чтобы модель выводила прогнозы только для чисел в диапазоне от 1 до 10?