La mia perdita di allenamento diminuisce e poi aumenta di nuovo. È molto strano. La perdita di convalida incrociata tiene traccia della perdita di addestramento. Cosa sta succedendo?
Ho due LSTMS in pila come segue (su Keras):
model = Sequential()
model.add(LSTM(512, return_sequences=True, input_shape=(len(X[0]), len(nd.char_indices))))
model.add(Dropout(0.2))
model.add(LSTM(512, return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(len(nd.categories)))
model.add(Activation('sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adadelta')
Lo alleno per 100 epoche:
model.fit(X_train, np.array(y_train), batch_size=1024, nb_epoch=100, validation_split=0.2)
Allenati su 127803 campioni, convalida su 31951 campioni