Entreno una red en un problema en el que las magnitudes de mi función de pérdida son bastante pequeñas. Observé que la red no se entrenaba realmente bien hasta que empecé a escalar la función de pérdida, por ejemplo multiplicando por 1e5. Mi función de pérdida es el coste cuadrático.
Mi intuición es que esto ayudó, ya que las mayores magnitudes de error se propagan hacia atrás a través de la red y básicamente combate la desaparición del gradiente en las primeras capas de la red. Eliminar la escala y aumentar la tasa de aprendizaje no ayudó, sino que hizo que la red divergiera.
¿Alguna idea de por qué esto ayudó? ¿O este comportamiento indica errores en mi implementación?