ฉันเดาว่านี่เป็นคำถามพื้นฐานและเกี่ยวข้องกับทิศทางของการไล่ระดับสี แต่ฉันกำลังมองหาตัวอย่างที่วิธีการลำดับที่ 2 (เช่นBFGS ) มีประสิทธิภาพมากกว่าการไล่ระดับสีแบบง่าย
ฉันเดาว่านี่เป็นคำถามพื้นฐานและเกี่ยวข้องกับทิศทางของการไล่ระดับสี แต่ฉันกำลังมองหาตัวอย่างที่วิธีการลำดับที่ 2 (เช่นBFGS ) มีประสิทธิภาพมากกว่าการไล่ระดับสีแบบง่าย
คำตอบ:
นี่คือกรอบการทำงานร่วมกันสำหรับการตีความทั้งการไล่ระดับสีและวิธีการของนิวตันซึ่งอาจเป็นวิธีที่มีประโยชน์ในการคิดความแตกต่างเป็นส่วนเสริมของคำตอบของ @ Sycorax (BFGS ใกล้เคียงกับวิธีของนิวตัน; ฉันจะไม่พูดถึงมันโดยเฉพาะที่นี่)
เรากำลังลดฟังก์ชั่นแต่เราไม่รู้ว่าจะทำอย่างไรโดยตรง ดังนั้นแทนที่จะเราใช้เวลาประมาณท้องถิ่นที่จุดของเราในปัจจุบันxและลดว่า
วิธีการของนิวตันใกล้เคียงกับฟังก์ชันโดยใช้การขยายเทย์เลอร์ลำดับที่สอง: ที่ ∇ f ( x )หมายถึงการไล่ระดับสีของ fที่จุด xและ ∇ 2 f ( x ) Hessian ที่ x
การไล่ระดับสีไล่ระดับมีเพียงการไล่ระดับสีไม่ใช่ Hessian ไม่สามารถทำการประมาณอันดับแรกและลดให้น้อยลงเนื่องจาก @Hurkyl สังเกตว่าไม่มีขั้นต่ำ แต่เรากำหนดขนาดขั้นตอนและขั้นตอนในการx - เสื้อ∇ F ( x ) แต่ทราบว่า x - t ดังนั้นการลดความลาดชันจะลดฟังก์ชั่น Gx(y):=f(x)+∇f(x)T(y-x)+1
ดังนั้นการไล่ระดับสีแบบนี้ก็เหมือนกับการใช้วิธีของนิวตัน แต่แทนที่จะใช้การขยายตัวแบบเทย์เลอร์อันดับสองเราแสร้งว่า Hessian คือฉันนี้มักจะเป็นประมาณเลวร้ายยิ่งไปฉกว่าNและเชื้อสายลาดจึงมักจะใช้ขั้นตอนที่มากยิ่งกว่าวิธีของนิวตัน แน่นอนว่านี่คือการยกของโดยแต่ละขั้นตอนของการไล่ระดับสีที่ถูกกว่ามากในการคำนวณกว่าแต่ละขั้นตอนของวิธีการของนิวตัน สิ่งที่ดีกว่านั้นขึ้นอยู่กับลักษณะของปัญหาทรัพยากรการคำนวณและข้อกำหนดด้านความแม่นยำของคุณ
ดูตัวอย่างของ@ Sycoraxเพื่อลดกำลังสอง
ในทางกลับกันการไล่ระดับสีใช้
โดยพื้นฐานแล้วข้อดีของวิธีอนุพันธ์อันดับสองเช่นวิธีของนิวตันคือมันมีคุณภาพของการเลิกกำลังสอง ซึ่งหมายความว่ามันสามารถลดฟังก์ชั่นสมการกำลังสองในจำนวนขั้นตอนที่ จำกัด วิธีการเช่นการไล่ระดับสีขึ้นอยู่กับอัตราการเรียนรู้อย่างมากซึ่งอาจทำให้เกิดการปรับให้เข้าหากันอย่างช้า ๆ เพราะมันกระดอนไปรอบ ๆ ที่เหมาะสมหรือแยกออกจากกันโดยสิ้นเชิง อัตราการเรียนรู้ที่เสถียรสามารถพบได้ ... แต่เกี่ยวข้องกับการคำนวณแบบ hessian แม้เมื่อใช้อัตราการเรียนรู้ที่มั่นคงคุณสามารถมีปัญหาเช่นการสั่นรอบที่เหมาะสมเช่นคุณจะไม่ใช้เส้นทาง "โดยตรง" หรือ "ประสิทธิภาพ" ไปทางต่ำสุดเสมอไป ดังนั้นอาจใช้การวนซ้ำหลายครั้งเพื่อยุติแม้ว่าคุณค่อนข้างใกล้เคียงกับมัน วิธีการของ BFGS และนิวตันสามารถรวมกันได้เร็วขึ้นแม้ว่าความพยายามในการคำนวณของแต่ละขั้นตอนจะมีราคาแพงกว่า
ตามคำขอของคุณสำหรับตัวอย่าง: สมมติว่าคุณมีฟังก์ชั่นวัตถุประสงค์
This will be stable if the magnitudes of the eigenvectors of are less than 1. We can use this property to show that a stable learning rate satisfies
In the specific context of neural networks, the book Neural Network Design has quite a bit of information on numerical optimization methods. The above discussion is a condensation of section 9-7.
In convex optimization you are approximating the function as the second degree polynomial in one dimensional case:
In this case the the second derivative
If you know the derivatives, then it's easy to get the next guess for the optimum:
The multivariate case is very similar, just use gradients for derivatives.
@Dougal already gave a great technical answer.
The no-maths explanation is that while the linear (order 1) approximation provides a “plane” that is tangential to a point on an error surface, the quadratic approximation (order 2) provides a surface that hugs the curvature of the error surface.
The videos on this link do a great job of visualizing this concept. They display order 0, order 1 and order 2 approximations to the function surface, which just intuitively verifies what the other answers present mathematically.
Also, a good blogpost on the topic (applied to neural networks) is here.