Est-il inutile d'utiliser des algorithmes d'optimisation basés sur un gradient si vous ne pouvez fournir qu'un gradient numérique? Sinon, pourquoi fournir un gradient numérique en premier lieu s'il est trivial d'effectuer une différenciation finie pour la bibliothèque d'optimisation elle-même?
[ÉDITER]
Juste pour clarifier, ma question est en effet dans un sens plus général qu'une application spécifique. Bien que mon domaine d'application se trouve être l'optimisation de vraisemblance sous divers cadres statistiques.
Mon problème avec la différenciation automatique est qu'il semble toujours y avoir un problème. Soit la bibliothèque AD ne peut pas se propager aux appels de bibliothèque externes (comme BLAS), soit vous devez retravailler votre flux de travail de manière si drastique que cela rend la tâche difficile à gérer ... surtout si vous travaillez avec des langages sensibles au type. Mes reproches avec AD sont un problème distinct. Mais je veux y croire!
Je suppose que je dois mieux formuler ma question, mais j'en fais un mauvais travail. Si vous avez la possibilité d'utiliser soit un algorithme d'optimisation sans dérivé, soit un algorithme d'optimisation basé sur dérivé avec la réserve que je ne peux que lui donner un gradient numérique, lequel sera en moyenne supérieur?