了解pde约束优化的伴随方法的成本


11

我正在尝试了解基于伴随的优化方法如何用于PDE约束优化。特别是,我试图理解为什么伴随方法对于设计变量数量大而“方程式数量小”的问题更有效。

我的理解:

请考虑以下PDE约束优化问题:

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

其中是向量设计变量β和取决于设计变量的场变量未知数u β 的向量的(足够连续的)目标函数,而R u 是PDE的残差形式。Iβu(β)R(u)

显然,我们可以将I和R的第一个变体设为

δ一世=一世βδβ+一世üδü

δ[R=[Rβδβ+[Rüδü=0

引入拉格朗日乘数的向量,目标函数的变化可以写成λ

δ一世=一世βδβ+一世üδü+λŤ[[Rβδβ+[Rüδü]

重新排列术语,我们可以这样写:

δ一世=[一世β+λŤ[Rβ]δβ+[一世ü+λŤ[Rü]δü

因此,如果我们能够解决,使得λ

一世ü+λŤ[Rü=0 (伴随方程式)

然后梯度仅在设计变量方面被评估βδ一世=[一世β+λŤ[Rβ]δββ

因此,基于伴随的优化算法将遍历以下步骤:

  1. 给定当前设计变量β
  2. 解决字段变量(来自PDE)ü
  3. 求解拉格朗日乘数(从伴随方程式中)λ
  4. 计算梯度 一世β
  5. 更新设计变量 β

我的问题

在设计变量数量很大的情况下,这种伴随的“技巧”如何提高每次迭代的优化成本?我听说伴随方法的梯度评估成本与设计变量的数量“无关”。但是这到底是真的吗?

我敢肯定,有些东西很明显地被我忽略了。


3
顺便说一句,拉格朗日乘数通常加到目标函数上,而不是变数上。因此。将关于u的导数设置为零将产生伴随方程,并将其(以及状态方程R u β = 0的解u)插入到关于β的导数中üβ最大值λ一世üβ+λŤ[Rüβüü[Rüβ=0β产生渐变。如果从PDE的弱公式开始,事情会变得更加简单:只需插入Lagrange乘数来代替测试函数。在任何地方都不需要强大的形式或部分集成。
克里斯蒂安·克拉森2014年

1
任何模拟中最昂贵的部分是求解阶段。通过使用伴随,您可以得到两个解的梯度,与有限差分相比,该梯度要便宜得多,有限差分至少需要n + 1个解,n是模型中自由参数的数量。
stali 2014年

Answers:


10

在设计变量数量很大的情况下,这种伴随的“技巧”如何提高每次迭代的优化成本?

我从线性代数的角度考虑成本。(请参阅Stephen G. Johnson的这些注释,我发现这些注释比Lagrange乘数方法更直观)。向前的方法等于直接解决敏感性问题:

üβ=-[Rü-1个[Rβ

这涉及为向量中的每个参数求解线性系统,然后求值β

d一世dβ=一世β+一世üüβ

其中表示总导数,表示偏导数。d

伴随方法指出

d一世dβ=一世β-一世ü[Rü-1个[Rβ

因此,伴随变量(拉格朗日乘数)可以定义为λ

-一世ü[Rü-1个=λŤ

对应于伴随方程

一世ü+λŤ[Rü=0。

项的这种重新组合仅需要一个线性解,而不是每个参数的线性解,这使得在多参数情况下,伴随评估便宜。

我听说伴随方法的梯度评估成本与设计变量的数量“无关”。但是这到底是真的吗?

它不是完全独立的。据推测评估的成本- [R /β将与参数的数量增加。但是,只要u的大小不变,线性解的大小仍将相同。假设解决方案比功能评估要昂贵得多。一世/β[R/βü


8

简而言之,优点来自以下事实:要计算简化目标的导数,您实际上并不需要知道u β 关于作为独立对象的β的导数。,但只有导致I β u β 变化的那部分一世βüβüββ一世βüβ

让我切换到一个我更喜欢的符号: u是设计变量, y是状态变量, J是目标)。假设 e y u 足以应用隐函数定理,因此方程 e y u = 0具有唯一解 y u ,该解关于 u和导数 y可以连续微分。 'ü

ÿüĴÿü服从Ëÿü=0
üÿĴËÿüËÿü=0ÿüüÿüe ye u
(1)Ëÿÿüüÿü+Ëüÿüü=0
ËÿËü是偏导数)的解给出。

这意味着您可以定义精简目标,这也是可微的(如果J y u 是可微的)。表征梯度单程Ĵ Û 是经由定向衍生物(例如,计算所有相对于偏导数的设计空间的基础上)。在此,方向h的方向导数由链规则给出为 j 'u ; hĴü:=ĴÿüüĴÿüĴüH 如果Ĵ是好的,唯一困难的事情是计算Ÿ'ü^ h对于给定的^ h。这可以通过相乘来进行1ħ从右侧和求解ÿ'ûĤ(其隐函数定理允许),即,计算

(2)Ĵü;H=ĴÿÿüüÿüH+ĴüÿüüH
ĴÿüHH1个HÿüH 并将此表达式插入2。在PDE约束的优化中,这等于求解线性化的PDE
(3)[ÿüH]=Ëÿÿüü-1个[ËüÿüüH]
2 设计空间的每个基向量H

但是,如果我们发现运营商使得 Ĵ ü ; ^ h = Ĵ ^ h Ĵ 这必须是所需的梯度。综观1 ,我们可以写出 Ĵ ýÝ Û Û ÿ 'û Ĥ = Ý 'Û * Ĵ ÝÝ Û Û ħ (与 y 'u

Ĵü;H=ĴH对全部 H
1个
ĴÿÿüüÿüH=ÿüĴÿÿüüH
ÿü是伴随运算符),因此我们只需计算。使用A B * = B A ,可以使用3 来完成,即计算 λ = e yy u u - J yy ÿüĴÿÿüü一种=一种3单一 和设置 Ĵ Û = È ùÝ Û ü * λ + Ĵ ùÝ Û ù 在PDE约束优化中, J yy u u 通常是某种残差,计算 λ涉及求解
λ:=Ëÿÿüü-Ĵÿÿüü
Ĵü=Ëüÿüüλ+Ĵüÿüü
Ĵÿÿüüλ(线性)伴随PDE,与设计空间的尺寸无关。(实际上,这甚至适用于分布式参数,即,如果是某个无限维Banach空间中的函数,则第一种方法不可行。)ü
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.