J'utilise tensorflow pour écrire des réseaux neuronaux simples pour un peu de recherche et j'ai eu beaucoup de problèmes avec les poids «nan» pendant l'entraînement. J'ai essayé de nombreuses solutions différentes comme changer l'optimiseur, changer la perte, la taille des données, etc. mais en vain. Enfin, j'ai remarqué qu'un changement dans le taux d'apprentissage a fait une différence incroyable dans mes poids.
En utilisant un taux d'apprentissage de 0,001 (que je pensais être assez conservateur), la fonction de minimisation augmenterait de façon exponentielle la perte. Après une époque, la perte pouvait passer d'un nombre de milliers à un billion puis à l'infini («nan»). Lorsque j'ai abaissé le taux d'apprentissage à .0001, tout a bien fonctionné.
1) Pourquoi un seul ordre de grandeur a-t-il un tel effet?
2) Pourquoi la fonction minimiser remplit-elle littéralement l'opposé de sa fonction et maximise-t-elle la perte? Il me semble que cela ne devrait pas se produire, quel que soit le taux d'apprentissage.