Модель внезапно «забывает» все, чему она научилась, и перестает работать примерно в 110 эпох. Потери NaN и точность 50% - PullRequest
1 голос
/ 17 апреля 2020

Я протестировал более 20 различных сетевых архитектур LSTM в моем наборе данных, и до сих пор у меня не было никаких проблем. Но эта одна модель, которую я попробовал, подходит к 110-й эпохе, и она внезапно стирает все, чему научилась, и теряет NaN (см. Прикрепленный скриншот). Это происходит каждый раз с этой моделью.

Модель выглядит следующим образом:

model = keras.Sequential([
    keras.kayers.Embedding(numberOfWords, embedding_vector_length, input_length=1000),
    keras.layers.Dropout(0.5),
    keras.layers.LSTM(256, dropout = 0.6),
    keras.layers.Dropout(0.6),
    keras.layers.Dense(128),
    keras.layers.Dropout(0.5),
    keras.layers.Dense(1, activation='sigmoid')
])

model.compile(optimizers.RMSprop(learning_rate=0.001, rho=0.9), loss='binary_crossentropy',
              metrics=['accuracy'])

history = model.fit(x_train, y_train, epochs=700, callbacks=callbacks_list, batch_size=32,
         validation_data=(x_test, y_test))

NaN loss and 50% accuracy after the 110th epoch

Я предполагаю, что я делаю что-то здесь не так, но я недостаточно опытен, чтобы это заметить Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 17 апреля 2020

Указание на использование 'relu' в строке 6 сработало. Не совсем уверен, почему, как я думал, по умолчанию будет работать, ну да ладно:

keras.layers.Dense(128, activation='relu')
...