J'ai été très surpris lorsque j'ai commencé à lire quelque chose sur l'optimisation non convexe en général et j'ai vu des déclarations comme celle-ci:
De nombreux problèmes pratiques importants ne sont pas convexes et la plupart des problèmes non convexes sont difficiles (sinon impossibles) à résoudre exactement dans un délai raisonnable. ( source )
ou
En général, il est difficile de trouver un minimum local NP et de nombreux algorithmes peuvent rester bloqués à un point de selle. ( source )
Je fais une sorte d'optimisation non convexe tous les jours - à savoir la relaxation de la géométrie moléculaire. Je n'ai jamais considéré cela comme quelque chose de délicat, lent et susceptible de rester coincé. Dans ce contexte, nous avons clairement des surfaces non convexes à plusieurs dimensions (> 1000 degrés de liberté). Nous utilisons principalement des techniques de premier ordre dérivées de la descente la plus abrupte et de la trempe dynamique telles que FIRE , qui convergent en quelques centaines d'étapes vers un minimum local (moins que le nombre de DOF). Je pense qu'avec l'ajout de bruit stochastique, il doit être robuste comme l'enfer. (L'optimisation globale est une autre histoire)
Je ne peux pas en quelque sorte imaginer à quoi devrait ressembler la surface d'énergie potentielle , pour rendre ces méthodes d'optimisation bloquées ou lentement convergentes. Par exemple, un PES très pathologique (mais pas dû à la non-convexité) est cette spirale , mais ce n'est pas un si gros problème. Pouvez-vous donner un exemple illustratif de PSE non convexe pathologique?
Je ne veux donc pas contester les citations ci-dessus. J'ai plutôt l'impression de manquer quelque chose ici. Peut-être le contexte.
la source
Réponses:
Le malentendu réside dans ce qui constitue la "résolution" d'un problème d'optimisation, par exemple . Pour les mathématiciens, le problème n'est considéré comme "résolu" que lorsque nous avons:argminf(x)
Lorsque est convexe, les deux ingrédients sont facilement obtenus. La descente en gradient localise une solution candidate qui fait disparaître le gradient . La preuve de l'optimalité découle d'un simple fait enseigné dans MATH101 que, si est convexe et que son gradient disparaît à , alors est une solution globale.f x⋆ ∇f(x⋆)=0 f ∇f x⋆ x⋆
Lorsque est non convexe, une solution candidate peut toujours être facile à trouver, mais la preuve de l'optimalité devient extrêmement difficile. Par exemple, nous pouvons exécuter une descente de gradient et trouver un point . Mais lorsque n'est pas convexe, la condition est nécessaire mais n'est plus suffisante pour l'optimalité globale. En effet, il n'est même pas suffisant pour l' optimalité locale , c'est-à-dire que nous ne pouvons même pas garantir que est un minimum local basé uniquement sur ses informations de gradient. Une approche consiste à énumérer tous les points satisfaisant , et cela peut être une tâche formidable même sur une ou deux dimensions.f ∇f(x⋆)=0 f ∇f(x)=0 x⋆ ∇f(x)=0
Quand les mathématiciens disent que la plupart des problèmes sont impossibles à résoudre, ils disent vraiment que la preuve de l'optimalité (même locale) est impossible à construire . Mais dans le monde réel, nous ne sommes souvent intéressés que par le calcul d'une solution «suffisamment bonne», et cela peut se trouver de nombreuses façons. Pour de nombreux problèmes très non convexes, notre intuition nous dit que les solutions "assez bonnes" sont en fait globalement optimales, même si nous sommes totalement incapables de le prouver!
la source
Un exemple d'un problème délicat de faible dimension pourrait être:
Étant donné que vous avez atteint un minimum local, comment pouvez-vous être sûr que c'est quelque chose d'aussi proche que le minimum global? Comment savoir si votre résultat est une solution optimale unique, étant donné qu'il est globalement optimal? Comment pouvez-vous créer un algorithme robuste à toutes les collines et vallées afin qu'il ne reste pas coincé quelque part?
Un exemple comme celui-ci est celui où les choses peuvent devenir difficiles. Évidemment, tous les problèmes ne sont pas comme ça, mais certains le sont. Ce qui est pire, dans un environnement industriel, la fonction de coût peut être longue à calculer ET avoir une surface problématique comme celle ci-dessus.
Exemple de problème réel
Un exemple que je pourrais aborder au travail est l'optimisation d'un algorithme de guidage de missile qui pourrait être robuste dans de nombreuses conditions de lancement. En utilisant notre cluster, j'ai pu obtenir les mesures de performance dont j'ai besoin en environ 10 minutes pour une seule condition. Maintenant, pour juger adéquatement de la robustesse, nous voudrions au moins un échantillon de conditions à juger. Supposons donc que nous exécutons six conditions, ce qui fait qu'une évaluation de cette fonction de coût prend une heure.
La dynamique des missiles non linéaires, la dynamique atmosphérique, les processus temporels discrets, etc. entraînent une réaction assez non linéaire aux changements de l'algorithme de guidage, ce qui rend l'optimisation difficile à résoudre. Le fait que cette fonction de coût soit non convexe fait qu'il faut du temps pour évaluer un gros problème. Un exemple comme celui-ci est celui où nous nous efforcerons d'obtenir le meilleur possible dans le temps qui nous est imparti.
la source
Le problème est celui des points de selle, discuté dans le post que vous avez lié. Extrait de l'un des articles liés :
Essentiellement, vous pouvez avoir des fonctions où vous avez des points de selle qui ne se distinguent pas des minima locaux lorsque vous regardez les dérivées 1ère, 2ème et 3ème. Vous pouvez résoudre ce problème en allant dans un optimiseur d'ordre supérieur, mais ils montrent que la fin d'un minimum local de 4e ordre est NP difficile.
Je recommande de lire l'article, car ils montrent également plusieurs exemples de telles fonctions. Par exemple, la fonction a un tel point à (0,0).x2y+y2
Vous pouvez utiliser plusieurs heuristiques pour échapper à ces points, qui peuvent travailler pour beaucoup ( la plupart?) Des exemples du monde réel, mais ne peut pas être prouvée à toujours du travail.
Dans le billet de blog que vous avez lié, ils discutent également des conditions dans lesquelles vous pouvez échapper à ces points de selle en temps polynomial.
la source