Estoy usando tensorflow para escribir redes neuronales simples para un poco de investigación y he tenido muchos problemas con los pesos 'nan' durante el entrenamiento. Probé muchas soluciones diferentes, como cambiar el optimizador, cambiar la pérdida, el tamaño de los datos, etc., pero fue en vano. Finalmente, noté que un cambio en la tasa de aprendizaje hizo una diferencia increíble en mis pesos.
Usando una tasa de aprendizaje de .001 (que pensé que era bastante conservadora), la función minimizar aumentaría la pérdida exponencialmente. Después de una época, la pérdida podría saltar de un número de miles a un billón y luego al infinito ('nan'). Cuando bajé la tasa de aprendizaje a .0001, todo funcionó bien.
1) ¿Por qué un solo orden de magnitud tiene tal efecto?
2) ¿Por qué la función minimizar realiza literalmente lo contrario de su función y maximiza la pérdida? Me parece que eso no debería ocurrir, sin importar la tasa de aprendizaje.