Точность проверки увеличивается, а затем внезапно уменьшается - PullRequest
0 голосов
/ 30 мая 2020

Я обучаю модель LSTM на наборе данных SemEval 2017 task 4A . Я заметил, что точность первой проверки увеличивается вместе с точностью обучения, но затем внезапно значительно уменьшается. Потери уменьшаются, но потери при проверке значительно возрастают.

The training sample

Вот код моей модели

model = Sequential()
model.add(Embedding(max_words, 30, input_length=max_len))
model.add(BatchNormalization())
model.add(Activation('tanh'))
model.add(Dropout(0.3))
model.add(Bidirectional(LSTM(32)))
model.add(BatchNormalization())
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))
model.summary()

И вот краткое изложение модели.

Model: "sequential_2"
_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
embedding_2 (Embedding)      (None, 300, 30)           60000     
_________________________________________________________________
batch_normalization_3 (Batch (None, 300, 30)           120       
_________________________________________________________________
activation_3 (Activation)    (None, 300, 30)           0         
_________________________________________________________________
dropout_3 (Dropout)          (None, 300, 30)           0         
_________________________________________________________________
bidirectional_2 (Bidirection (None, 64)                16128     
_________________________________________________________________
batch_normalization_4 (Batch (None, 64)                256       
_________________________________________________________________
activation_4 (Activation)    (None, 64)                0         
_________________________________________________________________
dropout_4 (Dropout)          (None, 64)                0         
_________________________________________________________________
dense_2 (Dense)              (None, 1)                 65        
=================================================================
Total params: 76,569
Trainable params: 76,381
Non-trainable params: 188

Я использую GloVe для встраивания слов, оптимизатор Adam, функцию потери двоичной кроссентропии.

1 Ответ

0 голосов
/ 30 мая 2020

У вас есть несколько вариантов:

  1. продолжить обучение и посмотреть, что произойдет
  2. если val_loss станет хуже, вы переобучаете - узнайте, как с этим бороться - - увеличьте объем данных, упростите сеть или сделайте то, что кажется работающим в вашем конкретном случае.
  3. если значение val_loss снова улучшится, вы на правильном пути.

И, да, поделитесь с нами результатами, что будет, если вы проведете тренировку еще пару эпох?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...