ทำความเข้าใจกับต้นทุนของวิธีการ adjoint สำหรับการเพิ่มประสิทธิภาพ pde-constrained


11

ฉันพยายามที่จะเข้าใจว่าวิธีการปรับให้เหมาะสมแบบ adjoint นั้นทำงานอย่างไรสำหรับการปรับให้เหมาะสมแบบ จำกัด PDE โดยเฉพาะฉันพยายามเข้าใจว่าทำไมวิธีการ adjoint มีประสิทธิภาพมากขึ้นสำหรับปัญหาที่จำนวนตัวแปรการออกแบบมีขนาดใหญ่ แต่ "จำนวนสมการมีขนาดเล็ก"

สิ่งที่ฉันเข้าใจ:

พิจารณาปัญหาการปรับให้เหมาะสมแบบ จำกัด PDE ต่อไปนี้:

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

ที่เป็น (ต่อเนื่องเพียงพอ) ฟังก์ชันวัตถุประสงค์ของเวกเตอร์ตัวแปรการออกแบบเบต้าและเวกเตอร์ของราชวงศ์ตัวแปรสนามยู( β )ซึ่งขึ้นอยู่กับตัวแปรการออกแบบและR ( U )เป็นรูปแบบการตกค้างของ PDEIβ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

ดังนั้นหากเราสามารถที่จะแก้ปัญหาสำหรับดังกล่าวว่าฉันλ

Iu+λTRu=0 (adjoint equation)

จากนั้นการไล่ระดับสีคือการประเมินเพียง แต่ในแง่ของการออกแบบตัวแปรβδI=[Iβ+λTRβ]δββ

ดังนั้นอัลกอริธึมการปรับให้เหมาะสมแบบ adjoint จะวนซ้ำตามขั้นตอนต่อไปนี้:

  1. รับตัวแปรการออกแบบปัจจุบันβ
  2. หาค่าตัวแปรฟิลด์ (จาก PDE)u
  3. หาค่าตัวคูณแบบลากรองจ์ (จากสมการ adjoint)λ
  4. คำนวณการไล่ระดับสีIβ
  5. ปรับปรุงตัวแปรการออกแบบβ

คำถามของฉัน

adjoint 'หลอกลวง' นี้ปรับปรุงต้นทุนของการปรับให้เหมาะสมต่อการทำซ้ำในกรณีที่จำนวนของตัวแปรการออกแบบมีขนาดใหญ่ได้อย่างไร ฉันได้ยินมาว่าค่าใช้จ่ายในการประเมินผลการไล่ระดับสีสำหรับวิธี adjoint นั้น 'อิสระ' ของจำนวนตัวแปรการออกแบบ แต่สิ่งนี้เป็นความจริงแค่ไหน?

ฉันแน่ใจว่ามีสิ่งที่ชัดเจนมากที่ฉันมองอย่างใด


3
minu,βmaxλI(u,β)+λTR(u,β)uuR(u,β)=0βให้ผลการไล่ระดับสี หากคุณเริ่มต้นด้วยการกำหนดสูตรที่ไม่รัดกุมของ PDE สิ่งต่างๆจะดูเรียบง่ายยิ่งขึ้นเพียงใส่ตัวคูณ Lagrange แทนฟังก์ชั่นการทดสอบ ไม่จำเป็นต้องมีรูปแบบที่แข็งแกร่งหรือการรวมบางส่วนได้ทุกที่
Christian Clason

1
ส่วนที่แพงที่สุดของการจำลองคือช่วงการแก้ปัญหา โดยใช้ adjoint คุณจะได้รับการไล่ระดับสีในสองตัวแก้ถูกกว่ามากเมื่อเทียบกับความแตกต่างแน่นอนที่คุณต้องการอย่างน้อย n + 1 ตัวแก้และ n เป็นจำนวนของพารามิเตอร์ฟรีในแบบจำลองของคุณ
stali

คำตอบ:


10

adjoint 'หลอกลวง' นี้ปรับปรุงต้นทุนของการปรับให้เหมาะสมต่อการทำซ้ำในกรณีที่จำนวนของตัวแปรการออกแบบมีขนาดใหญ่ได้อย่างไร

ฉันคิดถึงต้นทุนจากมุมมองพีชคณิตเชิงเส้น (ดูหมายเหตุเหล่านี้โดย Stephen G. Johnsonซึ่งฉันพบว่าใช้งานง่ายกว่าวิธีการคูณแบบลากรองจ์) วิธีการไปข้างหน้ามีจำนวนการแก้สำหรับความไวโดยตรง:

uβ=(Ru)1Rβ

β

dIdβ=Iβ+Iuuβ,

d

วิธีการ adjoint บันทึกว่า

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

λ

Iu(Ru)1=λT,

ซึ่งสอดคล้องกับสมการ adjoint

Iu+λTRu=0.

การจัดกลุ่มคำใหม่ต้องใช้การแก้ปัญหาเชิงเส้นเดียวแทนที่จะเป็นการแก้ปัญหาเชิงเส้นสำหรับแต่ละพารามิเตอร์ซึ่งทำให้การประเมิน adjoint ถูกสำหรับกรณีพารามิเตอร์จำนวนมาก

ฉันได้ยินมาว่าค่าใช้จ่ายในการประเมินผลการไล่ระดับสีสำหรับวิธี adjoint นั้น 'อิสระ' ของจำนวนตัวแปรการออกแบบ แต่สิ่งนี้เป็นความจริงแค่ไหน?

(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.