เราจะกำหนดอัตราการเรียนรู้ที่เหมาะสมที่สุดสำหรับการไล่ระดับสีได้อย่างไร ฉันคิดว่าฉันสามารถปรับได้โดยอัตโนมัติหากฟังก์ชันต้นทุนส่งคืนค่าที่มากกว่าในการคำนวณซ้ำก่อนหน้านี้ (อัลกอริทึมจะไม่มาบรรจบกัน) แต่ฉันไม่แน่ใจว่าควรใช้มูลค่าใหม่แบบไหน
เราจะกำหนดอัตราการเรียนรู้ที่เหมาะสมที่สุดสำหรับการไล่ระดับสีได้อย่างไร ฉันคิดว่าฉันสามารถปรับได้โดยอัตโนมัติหากฟังก์ชันต้นทุนส่งคืนค่าที่มากกว่าในการคำนวณซ้ำก่อนหน้านี้ (อัลกอริทึมจะไม่มาบรรจบกัน) แต่ฉันไม่แน่ใจว่าควรใช้มูลค่าใหม่แบบไหน
คำตอบ:
(หลายปีต่อมา) ค้นหาวิธีขนาดขั้นตอน Barzilai-Borwein; onmyphd.comมีคำอธิบาย 3 หน้า ผู้เขียนบอกว่า
วิธีการนี้ใช้งานได้ดีแม้สำหรับปัญหามิติใหญ่
แต่มันแย่มากสำหรับแอปเพล็ตของฟังก์ชั่น 2d Rosenbrock ของเขา หากใครใช้ Barzilai-Borwein โปรดแสดงความคิดเห็น
คุณอยู่ในเส้นทางที่ถูกต้อง วิธีการทั่วไปคือการเพิ่มขนาดขั้นตอนเป็นสองเท่าเมื่อใดก็ตามที่คุณทำขั้นตอนลงเขาสำเร็จและลดขนาดขั้นตอนลงครึ่งหนึ่งเมื่อคุณไปโดยไม่ตั้งใจ คุณสามารถปรับขนาดด้วยปัจจัยอื่นนอกเหนือจาก 2 แน่นอน แต่โดยทั่วไปแล้วจะไม่สร้างความแตกต่างใหญ่
วิธีการเพิ่มประสิทธิภาพที่ซับซ้อนยิ่งขึ้นนั้นมีแนวโน้มว่าจะเพิ่มความเร็วในการคอนเวอร์เจนซ์ค่อนข้างน้อย แต่ถ้าคุณต้องม้วนการอัพเดทของคุณเองด้วยเหตุผลบางอย่าง