ปรับขนาดขั้นตอนสืบเชื้อสายลาดลาดเมื่อคุณไม่สามารถทำการค้นหาบรรทัด


9

ฉันมีฟังก์ชั่นวัตถุประสงค์ขึ้นอยู่กับค่าโดยที่\ phi (x, t)คือคำตอบของ PDE ฉันกำลังเพิ่มประสิทธิภาพEโดยสายเลือดลาดในสภาวะเริ่มต้นของ PDE นี้: \ พี (x, t = 0.0) นั่นคือฉันอัปเดต\ phi (x, t = 0.0)แล้วต้องรวม PDE เพื่อคำนวณส่วนที่เหลือของฉัน นั่นหมายความว่าถ้าฉันทำการค้นหาบรรทัดสำหรับขนาดขั้นตอนการไล่ระดับสีไล่ระดับ (เรียกว่า\ alpha ) สำหรับทุกค่าที่เป็นไปได้ของ\ alphaฉันจะต้องรวม PDE ทั้งหมดอีกครั้งEφ(x,เสื้อ=1.0)ϕ(x,t)Eϕ(x,t=0.0)ϕ(x,t=0.0)αα

ในกรณีของฉันที่จะมีราคาแพง มีตัวเลือกอื่นสำหรับขนาดขั้นบันไดที่มีการไล่ระดับสีที่ปรับได้

ฉันไม่เพียงแค่มองหาโครงร่างหลักการทางคณิตศาสตร์ที่นี่ (แม้ว่าแน่นอนว่าจะดีกว่าถ้ามีอยู่) แต่จะมีความสุขกับสิ่งที่โดยทั่วไปดีกว่าขนาดคงที่

ขอบคุณ!


ฉันไม่คิดว่าฉันต้องการแก้ไขวิธีที่ฉันรวม PDE ในขณะนี้สำหรับฉันซึ่งจะเป็นการเขียนรหัสที่สำคัญ นอกจากนี้ยังไม่มากนักที่ PDE เป็นสิ่งที่ยุ่งยากเนื่องจากฉันต้องแก้ไขมันบนกริดที่หนาแน่นมากในกาลอวกาศเนื่องจากฉันต้องการความแม่นยำเชิงตัวเลขที่สูงมาก
NLi10Me

ในทางกลับกันวิธี BB (ซึ่งฉันไม่คุ้นเคย) ดูเหมือนจะค่อนข้างดี ทั้งหมดที่ฉันต้องทำคือติดตามสถานะการทำซ้ำก่อนหน้าและการไล่ระดับสีและฉันได้รับการประมาณลำดับที่สอง ... ที่ดูเหมือนดีมาก อย่างไรก็ตามการอนุมานถือว่าเป็นกำลังสองนูนและปัญหาของฉันเกือบจะไม่แน่นอน ถึงแม้ว่าฉันจะค้นพบท้องถิ่น (และมีความสุขกับ) ในท้องถิ่นมากกว่าในระดับโลก คุณรู้หรือไม่ว่าบีบีทำงานได้ดีแค่ไหนในปัญหามิติที่สูงมาก?
NLi10Me

ฉันเดาว่าสิ่งที่ฉันหมายถึงเกี่ยวกับ minima ท้องถิ่นคือในพื้นที่ใกล้เคียงของขั้นต่ำในท้องถิ่นฟังก์ชั่นใด ๆ ที่ไม่ได้กำลังสองกำลังสองประมาณ? ฉันคิดว่าสถานะเริ่มต้นของฉันใกล้เคียงกับค่าต่ำสุดอย่างพอเพียงสำหรับหลาย ๆ กรณีที่ฉันได้คอนเวอร์เจนซ์ที่ราบรื่นแม้กับขนาดสเต็ปคงที่ ดังนั้นแม้ว่าจะเป็นมิติที่สูงมากและโดยทั่วไปหากคุณพิจารณาพื้นที่การค้นหาทั้งหมดปัญหาคือไม่ใช่แบบนูน / ไม่สมการกำลังสอง BB จะยังคงเป็นตัวเลือกที่ดีที่ไม่มีการค้นหาบรรทัดหรือไม่? ϕ(0)(x,t=0.0)
NLi10Me

"ส่วนผสม" อื่น ๆ ถึงคือข้อมูลภาพทดสอบ พยายามที่จะวาร์ปหนึ่งภาพเพื่อ "จับคู่" อีกอัน (วัดโดยฟังก์ชันการจับคู่บางอย่างเช่น L2 norm รวมอยู่เหนือ voxels) สำหรับคู่ภาพบางส่วนฉันจะได้คอนเวอร์เจนซ์ที่ราบรื่นด้วยขนาดขั้นตอนคงที่ (ตัวเลือกปัจจุบันของฉัน) สำหรับภาพคู่อื่น ๆ ฉันสั่นเยอะมาก ระบบจะต้องเป็นแบบอัตโนมัติทั้งหมดดังนั้นฉันจึงไม่สามารถย้อนกลับไปและแก้ไขขนาดขั้นตอนสำหรับคู่ภาพที่ลำบากได้ Eϕ(x,t=1.0)
NLi10Me

ใช่ฉันต้องแก้ระบบ adjoint เพื่อให้ได้เกรเดียนต์ (ซึ่งเป็นระบบที่ดีกว่าและใช้เวลานานกว่า) ตกลงฉันคิดว่าฉันจะลอง BB ด้วยการค้นหาบรรทัดย้อนรอย ขอบคุณมากสำหรับคำแนะนำ; ที่ปรึกษาของฉันมักจะยากที่จะได้รับการดูแลและหลายคนไม่สนใจที่จะใช้งานมากเท่ากับรุ่น ฉันพบว่าวิธีการเชิงตัวเลขเป็นองค์ประกอบสำคัญในการแสดงให้เห็นว่าแบบจำลองนั้นดีหรือไม่ในตอนแรกดังนั้นขอขอบคุณอีกครั้งที่ฉันขอบคุณมันจริงๆ
NLi10Me

คำตอบ:


15

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

  1. ใช้ข้อมูลลำดับที่สอง (ซึ่งเข้ารหัสความโค้ง) ตัวอย่างเช่นโดยใช้วิธีของนิวตันแทนการไล่ระดับสีแบบไล่ระดับ (ซึ่งคุณสามารถใช้ความยาวขั้นตอนที่ใกล้เพียงพอกับตัวลดขนาดได้เสมอ)1
  2. การทดลองและข้อผิดพลาด (ซึ่งแน่นอนว่าฉันหมายถึงการใช้การค้นหาบรรทัดที่เหมาะสมเช่น Armijo)

ถ้าในขณะที่คุณเขียนคุณไม่สามารถเข้าถึงอนุพันธ์อันดับสองและการประเมินฟังก์ชั่น obejctive นั้นมีราคาแพงมากความหวังเดียวของคุณคือการประนีประนอม: ใช้ข้อมูลลำดับที่สองโดยประมาณที่เพียงพอเพื่อให้ได้ความยาวขั้นตอนที่เหมาะสม การค้นหาต้องการเพียงการประเมิน (เช่นอย่างน้อยที่สุดคงที่หลายเท่าของความพยายามที่คุณต้องประเมินการไล่ระดับสี)O(1)

ความเป็นไปได้อย่างหนึ่งคือการใช้Barzilai - Borwein step length (ดูเช่น Fletcher: บนวิธี Barzilai-Borwein การปรับให้เหมาะสมและควบคุมด้วยแอปพลิเคชัน 235–256, Appl. Optimized, 96, Springer, New York, 2005 ) แนวคิดคือใช้การประมาณความแตกต่างอัน จำกัด ของความโค้งตามทิศทางการค้นหาเพื่อให้ได้ขนาดโดยประมาณ โดยเฉพาะให้เลือกα0>0 โดยพลการตั้ง ก.0=(x0) แล้วสำหรับ k=0,...:

  1. ชุด sk=-αk-1ก.k และ xk+1=xk+sk
  2. ประเมินผล ก.k+1=(xk+1) และตั้งค่า Yk=ก.k+1-ก.k
  3. ชุด αk+1=(Yk)TYk(Yk)Tsk

ตัวเลือกนี้สามารถแสดงให้เห็นว่ามาบรรจบกัน (ในทางปฏิบัติอย่างรวดเร็ว) สำหรับฟังก์ชั่นสมการกำลังสอง แต่คอนเวอร์เจนซ์ไม่ได้เป็นเสียงเดียว (เช่นค่าฟังก์ชัน(xk+1) สามารถมีขนาดใหญ่กว่า (xk)แต่เพียงครั้งเดียว ดูพล็อตหน้า 10 ในกระดาษของลูกธนู สำหรับฟังก์ชั่นที่ไม่ใช่สมการกำลังสองคุณจะต้องรวมสิ่งนี้เข้ากับการค้นหาสายซึ่งจำเป็นต้องได้รับการแก้ไขเพื่อจัดการกับความไม่เป็นโมโนโพนิค ความเป็นไปได้อย่างหนึ่งคือการเลือกσk(0,αk-1) (เช่นโดยการย้อนรอย) เช่นนั้น

(xk-σkก.k)สูงสุดสูงสุด(k-M,1)Jk(xJ)-γσk(ก.k)Tก.k,
ที่ไหน γ(0,1) เป็นพารามิเตอร์ Armijo ทั่วไปและ M ควบคุมระดับของความน่าเบื่อ (เช่น M=10) นอกจากนี้ยังมีตัวแปรที่ใช้ค่าการไล่ระดับสีแทนค่าฟังก์ชั่น แต่ในกรณีของคุณการไล่ระดับสีนั้นมีราคาแพงกว่าในการประเมินมากกว่าฟังก์ชั่นดังนั้นจึงไม่สมเหตุสมผล (หมายเหตุ: แน่นอนคุณสามารถลองยอมรับขั้นตอน BB ยาว ๆ และเชื่อในโชคของคุณได้ แต่ถ้าคุณต้องการความทนทานแบบใด ๆ - ตามที่คุณเขียนไว้ในความคิดเห็นของคุณ - นั่นเป็นความคิดที่แย่จริงๆ)

ทางเลือกอื่น (และในความคิดของฉันวิธีที่ดีกว่ามาก) จะใช้การประมาณผลต่างอัน จำกัด นี้แล้วในการคำนวณทิศทางการค้นหา นี้เรียกว่าวิธีการกึ่งนิวตัน ความคิดคือการสร้างการประมาณของ Hessian ทีละน้อย2(xk)โดยใช้ความแตกต่างของการไล่ระดับสี ตัวอย่างเช่นคุณสามารถรับH0=ผมd (เมทริกซ์เอกลักษณ์) และสำหรับ k=0,... แก้

(1)Hksk=-ก.k,
และตั้งค่า
Hk+1=Hk+(Yk-Hksk)T(sk)T(sk)Tsk
กับ Yk ดังกล่าวข้างต้นและ xk+1=xk+sk. (นี่เรียกว่าการปรับปรุง Broydenและไม่ค่อยได้ใช้ในทางปฏิบัติการปรับปรุงที่ดีกว่า แต่ซับซ้อนกว่าเล็กน้อยคือการอัพเดท BFGSซึ่ง - และข้อมูลเพิ่มเติม - ฉันอ้างถึงการเพิ่มประสิทธิภาพเชิงตัวเลขของหนังสือของ Nocedal และ Wright ) ข้อเสียคือ ) สิ่งนี้จะต้องมีการแก้ไขระบบเชิงเส้นในแต่ละขั้นตอน (แต่มีเพียงขนาดที่ไม่รู้จักซึ่งในกรณีของคุณเป็นเงื่อนไขเริ่มต้นดังนั้นความพยายามควรถูกครอบงำโดยการแก้ PDE เพื่อให้ได้ระดับความชัน; การประมาณค่าของinverse Hessian ซึ่งต้องการเพียงการคำนวณผลิตภัณฑ์ matrix-vector เดียว) และ b) คุณยังต้องการการค้นหาบรรทัดเพื่อรับประกันการบรรจบกัน ...

โชคดีที่ในบริบทนี้มีวิธีการทางเลือกที่ใช้ประโยชน์จากการประเมินทุกฟังก์ชั่น ความคิดคือสำหรับHk สมมาตรและแน่นอนแน่นอน (ซึ่งรับประกันสำหรับการอัพเดต BFGS) การแก้ไข (1) เทียบเท่ากับการลดขนาดกำลังสองของโมเดล

Qk(s)=12sTHks+sTก.k.
ในวิธีการภูมิภาคที่เชื่อถือได้คุณจะทำได้โดยมีข้อ จำกัด เพิ่มเติมที่sΔkที่ไหน Δk เป็นรัศมีภูมิภาคที่เชื่อถือได้ที่เลือกอย่างเหมาะสม (ซึ่งเล่นบทบาทของความยาวขั้นตอน σk) แนวคิดหลักในขณะนี้คือการเลือกรัศมีนี้แบบปรับตามขั้นตอนที่คำนวณ โดยเฉพาะอย่างยิ่งคุณดูอัตราส่วน
ρk=(xk)-(xk+sk)(xk)-Qk(sk)
ของการลดลงตามจริงและที่คาดการณ์ไว้ในค่าฟังก์ชัน ถ้าρk มีขนาดเล็กมากแบบจำลองของคุณไม่ดีและคุณละทิ้ง sk และลองอีกครั้งด้วย Δk+1<Δk. ถ้าρk อยู่ใกล้กับ 1แบบของคุณดีและคุณตั้งค่า xk+1=xk+sk และเพิ่มขึ้น Δk+1>Δk. มิฉะนั้นคุณเพิ่งตั้งxk+1=xk+sk และออกจาก Δkคนเดียว เพื่อคำนวณ minimizer จริงsk ของ นาทีsΔkQk(s)มีกลยุทธ์หลายอย่างที่จะหลีกเลี่ยงไม่ให้แก้ปัญหาการเพิ่มประสิทธิภาพที่ จำกัด อย่างเต็มที่; ที่ชื่นชอบคือตัดทอนวิธีการกำกับดูแลกิจการของ Steihaug สำหรับรายละเอียดเพิ่มเติมฉันอ้างอิง Nocedal และ Wright อีกครั้ง

ฉันเพิ่งดูสิ่งนี้อีกครั้งและตระหนักว่าฉันมีคำถาม ในขั้นตอนที่สามสำหรับวิธี BB ที่คุณมีαk+1=(Yk)TYk(Yk)Tsk; ที่ไหนYk=ก.k+1-ก.k และ sk=-αk-1ก.k. ตัวเศษและส่วนในนิพจน์สำหรับαk+1ดูเหมือนผลิตภัณฑ์ภายใน ในกรณีของฉันก.kV* * * *ที่ไหน V* * * * เป็นพื้นที่เวกเตอร์ที่มีเมตริก Riemannian ที่ไม่สำคัญ: K. นั่นคือ ก.k,ก.kV* * * *=ก.k,Kก.kL2. ไม่ส่งผลกระทบต่อคำจำกัดความของαk+1?
NLi10Me

ใช่ถ้าคุณมีโครงสร้างพื้นที่เวคเตอร์ที่ไม่สำคัญคุณควรเคารพในอัลกอริธึม โดยเฉพาะคุณควรแยกความแตกต่างระหว่างผลิตภัณฑ์ภายในของสองฟังก์ชันในพื้นที่เดียวกัน (เช่นYk และ Yk) และผลิตภัณฑ์ duality ระหว่างฟังก์ชั่นในพื้นที่และหนึ่งในพื้นที่คู่ (เช่น sk และ Yk) - สำหรับอันหลังคุณต้องรวมการทำแผนที่ Riesz เพื่อทำให้มันกลายเป็นผลิตภัณฑ์ชั้นในก่อน (ซึ่งสามารถตีความได้ว่าเป็นการปรับสภาพล่วงหน้า)
Christian Clason

ดร. Clason ฉันจะส่งรายงานไปที่ ISBI 2017 โดยมีรายละเอียดการทดลองบางอย่างที่ฉันได้ทำโดยใช้วิธีการค้นหาบรรทัด BB + สำหรับงานการลงทะเบียนภาพ diffeomorphic คุณต้องการที่จะรวมเป็นผู้เขียนต้นฉบับ? ฉันยังไม่ได้เขียน แต่ฉันมีการทดลองเกือบทั้งหมดว่าเสร็จสมบูรณ์หรือกำลังดำเนินอยู่ โปรดแจ้งให้เราทราบ
NLi10Me

@ NLi10Me ขอบคุณสำหรับข้อเสนอที่ดี แต่ฉันยังไม่ได้ทำอะไรเลยที่จะได้รับความร่วมมือ - ทุกสิ่งที่ฉันเขียนเป็นเนื้อหาตำรามาตรฐาน หากคุณรู้สึกอย่างยิ่งเกี่ยวกับเรื่องนี้คุณสามารถขอบคุณสำหรับ "คำพูดที่เป็นประโยชน์เกี่ยวกับ (สิ่งที่มันช่วยได้)" แต่ไม่ได้ว่าจะต้อง รู้ว่าสิ่งที่ฉันเขียนมีประโยชน์ก็พอ!
Christian Clason

1
ขออภัยคุณพิมพ์ผิด - แก้ไขแล้ว! (สภาพ Armijo มักจะเขียนว่า(x+σs)-(x)γ(x)T(σs)ที่ไหน s เป็นทิศทางการค้นหา - ไม่จำเป็นต้องเป็นการไล่ระดับสีเชิงลบ - และ σขนาดขั้นตอนซึ่งควรทำให้ชัดเจนว่าเกิดอะไรขึ้น)
Christian Clason
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.