Verständnis der Kosten der adjungierten Methode für die pde-beschränkte Optimierung

11

Ich versuche zu verstehen, wie die adjungierte Optimierungsmethode für eine PDE-beschränkte Optimierung funktioniert. Insbesondere versuche ich zu verstehen, warum die adjungierte Methode bei Problemen effizienter ist, bei denen die Anzahl der Entwurfsvariablen groß ist, die "Anzahl der Gleichungen jedoch klein".

Was ich verstehe:

Betrachten Sie das folgende Optimierungsproblem mit eingeschränkter PDE:

minβ I(β,u(β))s.t.R(u(β))=0

wobei eine (ausreichend kontinuierliche) Zielfunktion einer Vektorentwurfsvariablen und eines Vektors von Feldvariablen unbekannt die von den Entwurfsvariablen abhängen, und die Restform der PDE ist.Iβu(β)R(u)

Klar, wir können die ersten Variationen von I und R als

δI=Iβδβ+Iuδu

δR=Rβδβ+Ruδu=0

Durch Einführung eines Vektors von Lagrange-Multiplikatoren kann die Variation der Zielfunktion wie folgt geschrieben werdenλ

δI=Iβδβ+Iuδu+λT[Rβδβ+Ruδu]

Wenn wir Begriffe neu ordnen, können wir schreiben:

δI=[Iβ+λTRβ]δβ+[Iu+λTRu]δu

Wenn wir also in der Lage sind, nach zu lösen, so dassλ

Iu+λTRu=0 (adjoint equation)

Dann wird der Gradient ausgewertet nur in Bezug auf die Designvariablen .δI=[Iβ+λTRβ]δββ

Somit würde ein adjungierter Optimierungsalgorithmus die folgenden Schritte durchlaufen:

  1. Angesichts der aktuellen Designvariablenβ
  2. Löse nach den Feldvariablen (aus der PDE)u
  3. Löse nach den Lagrange-Multiplikatoren (aus der nebenstehenden Gleichung)λ
  4. Berechnen Sie die FarbverläufeIβ
  5. Designvariablenβ

Meine Frage

Wie verbessert dieser zusätzliche Trick die Kosten für die Optimierung pro Iteration, wenn die Anzahl der Entwurfsvariablen groß ist? Ich habe gehört, dass die Kosten für die Gradientenbewertung für die adjungierte Methode "unabhängig" von der Anzahl der Entwurfsvariablen sind. Aber wie genau ist das wahr?

Ich bin sicher, es gibt etwas sehr Offensichtliches, das ich irgendwie übersehen habe.

Paul
quelle
3
Übrigens wird der Lagrange-Multiplikator normalerweise zur Zielfunktion hinzugefügt, nicht zur Variation. also . Das Setzen der Ableitung in Bezug auf auf Null ergibt die adjungierte Gleichung, und das Einfügen dieser (und der Lösung der Zustandsgleichung ) in die Ableitung in Bezug auf ergibt den Gradienten. Wenn Sie mit der schwachen Formulierung der PDE beginnen, wird es noch einfacher: Fügen Sie einfach den Lagrange-Multiplikator anstelle der Testfunktion ein. Keine Notwendigkeit für die starke Form oder teilweise Integration irgendwo. minu,βmaxλI(u,β)+λTR(u,β)uuR(u,β)=0β
Christian Clason
1
Der teuerste Teil jeder Simulation ist die Lösungsphase. Wenn Sie den Zusatz verwenden, erhalten Sie den Gradienten in zwei Lösungen, viel billiger als bei endlichen Differenzen, bei denen Sie mindestens n + 1 Lösungen benötigen, wobei n die Anzahl der freien Parameter in Ihrem Modell ist.
stali

Antworten:

10

Wie verbessert dieser zusätzliche Trick die Kosten für die Optimierung pro Iteration, wenn die Anzahl der Entwurfsvariablen groß ist?

Ich denke über die Kosten aus der Perspektive der linearen Algebra nach. (Siehe diese Notizen von Stephen G. Johnson , die ich intuitiver finde als den Lagrange-Multiplikator-Ansatz). Der Forward-Ansatz läuft darauf hinaus, Sensitivitäten direkt zu lösen:

uβ=(Ru)1Rβ

Dabei wird für jeden Parameter im Vektor ein lineares System gelöst und anschließend ausgewertetβ

dIdβ=Iβ+Iuuβ,

Dabei bezeichnet eine Gesamtableitung und eine partielle Ableitung.d

Der adjungierte Ansatz stellt fest, dass

dIdβ=IβIu(Ru)1Rβ,

so kann die adjungierte Variable (Lagrange-Multiplikator) definiert werden durchλ

Iu(Ru)1=λT,

was der adjungierten Gleichung entspricht

Iu+λTRu=0.

Diese Umgruppierung von Begriffen erfordert nur eine lineare Lösung anstelle einer linearen Lösung für jeden Parameter, was eine adjungierte Auswertung für den Fall mit vielen Parametern billig macht.

Ich habe gehört, dass die Kosten für die Gradientenbewertung für die adjungierte Methode "unabhängig" von der Anzahl der Entwurfsvariablen sind. Aber wie genau ist das wahr?

Es ist nicht völlig unabhängig; vermutlich steigen die Kosten für die Auswertung und mit der Anzahl der Parameter. Die linearen Lösungen haben jedoch immer noch die gleiche Größe, solange sich die Größe von nicht ändert. Die Annahme ist, dass die Lösungen viel teurer sind als die Funktionsbewertungen.(I/β)(R/β)u

Geoff Oxberry
quelle
8

Kurz gesagt, der Vorteil ergibt sich aus der Tatsache, dass Sie zur Berechnung von Ableitungen des reduzierten Ziels die Ableitung von in Bezug auf nicht wirklich kennen müssen als separates Objekt, aber nur der Teil davon, der zu Variationen in .I(β,u(β))u(β)βI(β,u(β))

Lassen Sie mich zu einer Notation wechseln, mit der ich mich ein bisschen besser : ( ist das Entwurfsvariable, wobei die Zustandsvariable und das Ziel ist). Nehmen wir an, ist nett genug, um den impliziten Funktionssatz anzuwenden, also hat die Gleichung eine eindeutige Lösung die in Bezug auf und die Ableitung kontinuierlich differenzierbar ist ist gegeben durch die Lösung von ( und sind die partiellen Ableitungen) .

miny,uJ(y,u)subject toe(y,u)=0
uyJe(y,u)e(y,u)=0y(u)uy(u)
(1)ey(y(u),u)y(u)+eu(y(u),u)=0
eyeu

Dies bedeutet, dass Sie das reduzierte Ziel , das ebenfalls differenzierbar ist (wenn ist). Eine Möglichkeit, den Gradienten zu charakterisieren, besteht in gerichteten Ableitungen (z. B. Berechnung aller partiellen Ableitungen in Bezug auf eine Basis des Entwurfsraums). Hier ist die Richtungsableitung in Richtung durch die Kettenregel gegeben als Wenn nett ist, ist die einzige schwierige Sache, für gegebenes zu berechnen . Dies kann durch Multiplizieren von mitj(u):=J(y(u),u)J(y,u)j(u)h

(2)j(u;h)=Jy(y(u),u),y(u)h+Ju(y(u),u),h.
Jy(u)hh(1)hvon rechts und Auflösen nach (was der implizite Funktionssatz erlaubt), dh Berechnen von und Einfügen dieses Ausdrucks in . Bei der PDE-beschränkten Optimierung läuft dies darauf hinaus, eine linearisierte PDE für jeden Basisvektor des Entwurfsraums zu lösen .y(u)h
(3)[y(u)h]=ey(y(u),u)1[eu(y(u),u)h]
(2) h

Wenn wir jedoch einen Operator so dass dann muss dies der gewünschte Gradient sein. Wenn wir uns , können wir (wobei der adjungierte Operator ist), also müssen wir nur berechnen . Unter Verwendung von kann dies unter Verwendung von , dh Berechnen von und Setzen von Bei der PDE-beschränkten Optimierung istj

j(u;h)=j,hfor all h,
(1)
Jy(y(u),u),y(u)h=y(u)Jy(y(u),u),h
y(u)y(u)jy(y(u),u)(AB)=BA(3)
λ:=ey(y(u),u)Jy(y(u),u)
j(u)=eu(y(u),u)λ+Ju(y(u),u).
Jy(y(u),u)ist normalerweise eine Art Residuum, und bei der Berechnung von eine einzelne (lineare) adjungierte PDE gelöst , unabhängig von der Dimension des Entwurfsraums. (Tatsächlich funktioniert dies sogar für verteilte Parameter, dh wenn eine Funktion in einem unendlich dimensionalen Banach-Raum ist, in dem der erste Ansatz nicht möglich ist.)λu
Christian Clason
quelle