44 votos

Las pérdidas de formación bajan y suben. ¿Qué ocurre?

Mi pérdida de entrenamiento baja y luego vuelve a subir. Es muy extraño. La pérdida de validación cruzada sigue la pérdida de entrenamiento. ¿Qué está pasando?

Tengo dos LSTMS apilados de la siguiente manera (en 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 entreno durante 100 épocas:

model.fit(X_train, np.array(y_train), batch_size=1024, nb_epoch=100, validation_split=0.2)

Entrenamiento con 127803 muestras, validación con 31951 muestras

Y eso es lo que parece la pérdida: Graph of Loss

31voto

itdxer Puntos 475

Su tasa de aprendizaje podría ser demasiado grande después de la 25ª época. Este problema es fácil de identificar. Sólo tiene que establecer un valor menor para su tasa de aprendizaje. Si el problema está relacionado con su tasa de aprendizaje, la NN debería alcanzar un error más bajo a pesar de que volverá a subir después de un tiempo. El punto principal es que la tasa de error será menor en algún momento.

Si observa este comportamiento, puede utilizar dos soluciones sencillas. La primera es la más sencilla. Establece un paso muy pequeño y entrénalo. La segunda es disminuir el ritmo de aprendizaje de forma monótona. Aquí tienes una fórmula sencilla:

$$ \alpha(t + 1) = \frac{\alpha(0)}{1 + \frac{t}{m}} $$

Donde $a$ es su ritmo de aprendizaje, $t$ es su número de iteración y $m$ es un coeficiente que identifica la velocidad de disminución de la tasa de aprendizaje. Significa que su paso se minimizará en un factor de dos cuando $t$ es igual a $m$ .

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X