Я строю модель LSTM в Keras для классификации сущностей из предложений. Я экспериментирую как с нулевыми заполненными последовательностями, так и с параметром mask_zero, или генератором для обучения модели по одному предложению (или партиям предложений одинаковой длины) за один раз, поэтому мне не нужно заполнять их нулями.
Если я определяю свою модель как таковую:
model = Sequential()
model.add(Embedding(input_dim=vocab_size+1, output_dim=200, mask_zero=True,
weights=[pretrained_weights], trainable = True))
model.add(Bidirectional(LSTM(units=100, return_sequences=True, recurrent_dropout=0.1)))
model.add(Dropout(0.2))
model.add(Bidirectional(LSTM(units=100, return_sequences=True, recurrent_dropout=0.1)))
model.add(Dropout(0.2))
model.add(TimeDistributed(Dense(target_size, activation='softmax')))
model.compile(optimizer='adam', loss='categorical_crossentropy', metrics = ['accuracy'])
Могу ли я ожидать, что дополненные последовательности с параметром mask_zero будут выполняться аналогично тому, как подавать модель без дополненных последовательностей по одному предложению за раз? По существу:
model.fit(padded_x, padded_y, batch_size=128, epochs=n_epochs,
validation_split=0.1, verbose=1)
или же
def iter_sentences():
while True:
for i in range(len(train_x)):
yield np.array([train_x[i]]), to_categorical([train_y[i]], num_classes = target_size)
model.fit_generator(iter_sentences(), steps_per_epoch=less_steps, epochs=way_more_epochs, verbose=1)
Я просто не уверен, есть ли общее предпочтение для одного метода по сравнению с другим, или точный эффект, который имеет параметр mask_zero для модели.
Примечание. Существуют небольшие различия параметров для инициализации модели, основанные на том, какой метод обучения я использую. Я оставил их для краткости.
Самой большой разницей будет производительность и стабильность обучения, в противном случае добавление, а затем маскировка - то же самое, что и обработка одного предложения во время.
Поэтому, чтобы ответить на вопрос, нет, вы не можете ожидать, что они будут действовать аналогичным образом.