Ich war sehr überrascht, als ich anfing, etwas über nicht-konvexe Optimierung im Allgemeinen zu lesen, und ich sah Aussagen wie diese:
Viele wichtige praktische Probleme sind nicht konvex, und die meisten nicht konvexen Probleme sind schwer (wenn nicht unmöglich), genau in angemessener Zeit zu lösen. ( Quelle )
oder
Im Allgemeinen ist es schwierig, ein lokales Minimum zu finden, und viele Algorithmen können an einem Sattelpunkt hängen bleiben. ( Quelle )
Ich mache jeden Tag eine Art nicht-konvexe Optimierung - nämlich die Entspannung der Molekülgeometrie. Ich habe es nie für etwas heikles, langsames und anfälliges gehalten. In diesem Zusammenhang haben wir deutlich mehrdimensionale nicht konvexe Oberflächen (> 1000 Freiheitsgrade). Wir verwenden hauptsächlich Techniken erster Ordnung, die aus dem steilsten Abstieg und dem dynamischen Löschen stammen, wie z. B. FIRE , die in wenigen hundert Schritten auf ein lokales Minimum (weniger als die Anzahl der DOFs) konvergieren. Ich erwarte, dass es mit dem Zusatz von stochastischem Rauschen höllisch robust sein muss. (Globale Optimierung ist eine andere Geschichte)
Ich kann mir irgendwie nicht vorstellen, wie die potenzielle Energieoberfläche aussehen sollte, um diese Optimierungsmethoden stecken zu lassen oder langsam konvergieren zu lassen. ZB sehr pathologische PES (aber nicht aufgrund von Nicht-Konvexität) ist diese Spirale , aber es ist kein so großes Problem. Können Sie ein anschauliches Beispiel für pathologische nicht konvexe PES geben?
Ich möchte mich also nicht mit den obigen Zitaten auseinandersetzen. Ich habe eher das Gefühl, dass mir hier etwas fehlt. Vielleicht der Kontext.
quelle
Antworten:
Wenn konvex ist, werden beide Bestandteile leicht erhalten. Gradientenabstieg findet eine Kandidatenlösung , die den Gradienten verschwinden lässt . Der Beweis der Optimalität folgt aus einer einfachen in MATH101 gelehrten Tatsache, dass, wenn konvex ist und sein Gradient bei verschwindet , eine globale Lösung ist.x ⋆ ∇ f ( x ⋆ ) = 0 f ∇ f x ⋆ x ⋆f x⋆ ∇ f( x⋆) = 0 f ∇ f x⋆ x⋆
Wenn nicht konvex ist, ist eine mögliche Lösung zwar immer noch leicht zu finden, der Beweis der Optimalität wird jedoch äußerst schwierig. Zum Beispiel können wir einen Gradientenabstieg durchführen und einen Punkt finden . Aber wenn nicht konvex ist, ist die Bedingung notwendig, aber für die globale Optimalität nicht mehr ausreichend. Tatsächlich reicht es nicht einmal für die lokale Optimalität aus, dh wir können nicht einmal garantieren, dass allein aufgrund seiner Gradienteninformationen ein lokales Minimum ist. Ein Ansatz besteht darin, alle Punkte aufzulisten, die erfüllen , und dies kann auch über nur eine oder zwei Dimensionen hinweg eine gewaltige Aufgabe sein.∇ f ( x ⋆ ) = 0 f ∇ f ( x ) = 0 x ⋆ ∇ f ( x ) = 0f ∇ f( x⋆) = 0 f ∇ f( x ) = 0 x⋆ ∇ f( x ) = 0
Wenn Mathematiker sagen, dass die meisten Probleme nicht zu lösen sind, sagen sie wirklich, dass der Beweis der (auch lokalen) Optimalität nicht zu konstruieren ist . In der realen Welt sind wir jedoch oft nur daran interessiert, eine "ausreichend gute" Lösung zu berechnen, und diese kann auf unendlich viele Arten gefunden werden. Für viele hochgradig nicht konvexe Probleme zeigt uns unsere Intuition, dass die "gut genug" -Lösungen tatsächlich global optimal sind, auch wenn wir dies nicht vollständig beweisen können!
quelle
Ein Beispiel für ein kniffliges Problem mit geringen Abmessungen könnte sein:
Wenn Sie ein lokales Minimum erreicht haben, wie können Sie dann sicher sein, dass es annähernd so gut ist wie das globale Minimum? Woher wissen Sie, ob Ihr Ergebnis eine weltweit optimale, einzigartige und optimale Lösung ist? Wie können Sie einen Algorithmus erstellen, der allen Hügeln und Tälern standhält, damit er nicht irgendwo hängen bleibt?
Ein Beispiel wie dieses ist, wo die Dinge schwierig werden können. Offensichtlich sind nicht alle Probleme so, aber einige sind es. Was noch schlimmer ist, ist, dass in einem Umfeld in der Industrie die Kostenfunktion zeitaufwändig sein kann, um zu berechnen UND eine problematische Oberfläche wie die oben beschriebene zu haben.
Reales Problem Beispiel
Ein Beispiel, das ich bei der Arbeit angehen könnte, ist die Optimierung eines Flugkörperlenkungsalgorithmus, der bei vielen Startbedingungen robust sein könnte. Mit unserem Cluster konnte ich die Leistungsmessungen, die ich für eine einzelne Bedingung benötige, in etwa 10 Minuten abrufen. Um nun die Robustheit angemessen beurteilen zu können, möchten wir zumindest eine Stichprobe von Bedingungen, an denen wir uns messen lassen können. Nehmen wir also an, wir führen sechs Bedingungen aus, sodass die Auswertung dieser Kostenfunktion eine Stunde dauert.
Die nichtlineare Raketendynamik, die atmosphärische Dynamik, diskrete Zeitprozesse usw. führen zu einer ziemlich nichtlinearen Reaktion auf Änderungen des Führungsalgorithmus, wodurch die Optimierung schwer zu lösen ist. Die Tatsache, dass diese Kostenfunktion nicht konvex ist, macht es zeitaufwendig, ein großes Problem zu bewerten. Ein Beispiel wie dieses ist, wo wir uns bemühen würden, das Beste zu bekommen, was wir in der uns gegebenen Zeit können.
quelle
Das Problem sind Sattelpunkte, die in dem von Ihnen verknüpften Beitrag besprochen wurden. Aus dem Abstract eines der verlinkten Artikel :
Grundsätzlich können Sie Funktionen haben, bei denen Sie Sattelpunkte haben, die von lokalen Minima nicht zu unterscheiden sind, wenn Sie die 1., 2. und 3. Ableitung betrachten. Sie könnten dies lösen, indem Sie zu einem Optimierer höherer Ordnung gehen, aber sie zeigen, dass es NP-schwer ist, ein lokales Minimum 4. Ordnung zu finden.
Sie können eine Reihe von Heuristiken verwenden, um sich solchen Punkten zu entziehen. Diese funktionieren möglicherweise für viele (die meisten?) Beispiele aus der Praxis, es kann jedoch nicht nachgewiesen werden , dass sie immer funktionieren.
In dem von Ihnen verlinkten Blog-Beitrag diskutieren sie auch die Bedingungen, unter denen Sie solchen Sattelpunkten in polynomialer Zeit entkommen können.
quelle