Mi red neuronal recurrente (LSTM, resp. GRU) se comporta de una manera que no puedo explicar. El entrenamiento comienza y se entrena bien (los resultados se ven bastante bien) cuando de repente cae la precisión (y la pérdida aumenta rápidamente) , tanto las métricas de entrenamiento como de prueba. A veces, la red simplemente se vuelve loca y devuelve salidas aleatorias y, a veces (como en el último de los tres ejemplos dados) comienza a devolver la misma salida a todas las entradas .

¿Tienes alguna explicación para este comportamiento ? Cualquier opinión es bienvenida. Por favor, vea la descripción de la tarea y las figuras a continuación.
La tarea: a partir de una palabra predecir su vector word2vec
La entrada: Tenemos un modelo propio de word2vec (normalizado) y alimentamos la red con una palabra (letra por letra). Rellenamos las palabras (ver el ejemplo a continuación).
Ejemplo: tenemos una palabra fútbol y queremos predecir su vector word2vec que tiene 100 dimensiones de ancho. Entonces la entrada es $football$$$$$$$$$$.
Tres ejemplos del comportamiento:
Capa simple LSTM
model = Sequential([
LSTM(1024, input_shape=encoder.shape, return_sequences=False),
Dense(w2v_size, activation="linear")
])
model.compile(optimizer='adam', loss="mse", metrics=["accuracy"])

GRU de una sola capa
model = Sequential([
GRU(1024, input_shape=encoder.shape, return_sequences=False),
Dense(w2v_size, activation="linear")
])
model.compile(optimizer='adam', loss="mse", metrics=["accuracy"])

Doble capa LSTM
model = Sequential([
LSTM(512, input_shape=encoder.shape, return_sequences=True),
TimeDistributed(Dense(512, activation="sigmoid")),
LSTM(512, return_sequences=False),
Dense(256, activation="tanh"),
Dense(w2v_size, activation="linear")
])
model.compile(optimizer='adam', loss="mse", metrics=["accuracy"])

También hemos experimentado este tipo de comportamiento en otro proyecto antes que utilizaba una arquitectura similar pero su objetivo y datos eran diferentes. Por lo tanto, la razón no debe ocultarse en los datos o en el objetivo particular, sino más bien en la arquitectura.
nan.
nanparámetro no resultaría en una pérdida no nan. Supongo que sus gradientes explotan, me sucedió algo similar en redes normalizadas sin lotes.
nanapareció en uno de los cálculos y luego se convirtió en otro valor que causó que la red se volviera loca. Pero es solo una suposición salvaje. Gracias por su opinión.