PDE制約付き最適化のための随伴法のコストを理解する


11

随伴ベースの最適化手法がPDE制約付き最適化でどのように機能するかを理解しようとしています。特に、設計変数の数は多いが「方程式の数は少ない」という問題に対して、随伴法がより効率的である理由を理解しようとしています。

私が理解していること:

次のPDE制約付き最適化問題を検討してください。

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

ここで、は、設計変数に依存するベクトル設計変数βおよびフィールド変数未知数u β )の(十分に連続的な)目的関数であり、R u はPDEの残差型です。Iβu(β)R(u)

明らかに、IとRの最初のバリエーションは

δI=Iβδβ+Iuδu

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

ラグランジュ乗数ベクトルを導入すると、目的関数の変動は次のように記述できます。λ

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

用語を並べ替えると、次のように記述できます。

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

したがって、我々はのために解決することができればようIλ

Iu+λTRu=0 (adjoint equation)

次いで勾配唯一の設計変数のの観点で評価されますβδI=[Iβ+λTRβ]δββ

したがって、随伴ベースの最適化アルゴリズムは、次のステップをループします。

  1. 与えられた現在の設計変数β
  2. フィールド変数(PDEから)を解きますu
  3. ラグランジュ乗数解く(随伴方程式から)λ
  4. 計算グラデーションIβ
  5. 設計変数の更新β

私の質問

設計変数の数が多い場合、これに付随する「トリック」は、反復ごとの最適化のコストをどのように改善しますか?随伴法の勾配評価のコストは、設計変数の数に「依存しない」と聞きました。しかし、これはどのくらい正確ですか?

私は何とか見落としている非常に明白な何かがあると確信しています。


3
minu,βmaxλI(u,β)+λTR(u,β)uuR(u,β)=0β勾配を生成します。PDEの弱い定式化から始めると、事態はさらに簡単になります。テスト関数の代わりにラグランジュ乗数を挿入するだけです。どこでも強力なフォームや部分的な統合の必要はありません。
クリスチャンクラソン14

1
シミュレーションで最も費用のかかる部分は、解決フェーズです。随伴関数を使用すると、少なくともn + 1個の解が必要な有限差分に比べてはるかに安価な2つの解で勾配が得られます。nはモデル内の自由パラメーターの数です。
stali 14

回答:


10

設計変数の数が多い場合、これに付随する「トリック」は、反復ごとの最適化のコストをどのように改善しますか?

線形代数の観点からコストを考えます。(Stephen G. Johnsonによるこれらのノートを参照してください。ラグランジュ乗数法よりも直感的です)。フォワードアプローチは、感度を直接解決することです。

uβ=(Ru)1Rβ

β

dIdβ=Iβ+Iuuβ,

d

随伴アプローチでは、

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

λ

Iu(Ru)1=λT,

随伴方程式に対応します

Iu+λTRu=0.

この項の再グループ化には、各パラメーターの線形解ではなく、1つの線形解のみが必要です。これにより、多くのパラメーターの場合に随伴評価が安価になります。

随伴法の勾配評価のコストは、設計変数の数に「依存しない」と聞きました。しかし、これはどのくらい正確ですか?

(I/β)(R/β)u


8

I(β,u(β))u(β)βI(β,u(β))

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

j(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)hy(u)h
(3)[y(u)h]=ey(y(u),u)1[eu(y(u),u)h]
(2) h

j

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)λu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.