ทำไมอนุพันธ์อันดับสองถึงมีประโยชน์ในการเพิ่มประสิทธิภาพของนูน?


18

ฉันเดาว่านี่เป็นคำถามพื้นฐานและเกี่ยวข้องกับทิศทางของการไล่ระดับสี แต่ฉันกำลังมองหาตัวอย่างที่วิธีการลำดับที่ 2 (เช่นBFGS ) มีประสิทธิภาพมากกว่าการไล่ระดับสีแบบง่าย


3
มันง่ายเกินไปหรือไม่ที่จะเพียงแค่สังเกตว่า "การหาจุดสุดยอดของพาราโบลา" เป็นการประมาณที่ดีกว่าสำหรับปัญหา "การหาค่าต่ำสุด" มากกว่า "การหาค่าต่ำสุดของฟังก์ชันเชิงเส้นนี้" (ซึ่งแน่นอนไม่มีขั้นต่ำเพราะ เชิงเส้น)?

คำตอบ:


20

นี่คือกรอบการทำงานร่วมกันสำหรับการตีความทั้งการไล่ระดับสีและวิธีการของนิวตันซึ่งอาจเป็นวิธีที่มีประโยชน์ในการคิดความแตกต่างเป็นส่วนเสริมของคำตอบของ @ Sycorax (BFGS ใกล้เคียงกับวิธีของนิวตัน; ฉันจะไม่พูดถึงมันโดยเฉพาะที่นี่)

เรากำลังลดฟังก์ชั่นแต่เราไม่รู้ว่าจะทำอย่างไรโดยตรง ดังนั้นแทนที่จะเราใช้เวลาประมาณท้องถิ่นที่จุดของเราในปัจจุบันxและลดว่าfx

วิธีการของนิวตันใกล้เคียงกับฟังก์ชันโดยใช้การขยายเทย์เลอร์ลำดับที่สอง: ที่f ( x )หมายถึงการไล่ระดับสีของ fที่จุด xและ2 f ( x ) Hessian ที่ x

f(y)Nx(y):=f(x)+f(x)T(yx)+12(yx)T2f(x)(yx),
f(x)x2f(x)x xจากนั้นขั้นตอนที่จะและซ้ำargminyNx(y)

การไล่ระดับสีไล่ระดับมีเพียงการไล่ระดับสีไม่ใช่ Hessian ไม่สามารถทำการประมาณอันดับแรกและลดให้น้อยลงเนื่องจาก @Hurkyl สังเกตว่าไม่มีขั้นต่ำ แต่เรากำหนดขนาดขั้นตอนและขั้นตอนในการx - เสื้อF ( x ) แต่ทราบว่า x - ttxtf(x) ดังนั้นการลดความลาดชันจะลดฟังก์ชั่น Gx(y):=f(x)+f(x)T(y-x)+1

xtf(x)=argmaxy[f(x)+f(x)T(yx)+12tyx2]=argmaxy[f(x)+f(x)T(yx)+12(yx)T1tI(yx)].
Gx(y):=f(x)+f(x)T(yx)+12(yx)T1tI(yx).

ดังนั้นการไล่ระดับสีแบบนี้ก็เหมือนกับการใช้วิธีของนิวตัน แต่แทนที่จะใช้การขยายตัวแบบเทย์เลอร์อันดับสองเราแสร้งว่า Hessian คือ1tIฉันนี้มักจะเป็นประมาณเลวร้ายยิ่งไปกว่าNและเชื้อสายลาดจึงมักจะใช้ขั้นตอนที่มากยิ่งกว่าวิธีของนิวตัน แน่นอนว่านี่คือการยกของโดยแต่ละขั้นตอนของการไล่ระดับสีที่ถูกกว่ามากในการคำนวณกว่าแต่ละขั้นตอนของวิธีการของนิวตัน สิ่งที่ดีกว่านั้นขึ้นอยู่กับลักษณะของปัญหาทรัพยากรการคำนวณและข้อกำหนดด้านความแม่นยำของคุณGfN

ดูตัวอย่างของ@ Sycoraxเพื่อลดกำลังสอง

f(x)=12xTAx+dTx+c

N=f

ในทางกลับกันการไล่ระดับสีใช้

Gx(y)=f(x)+(Ax+d)Ty+12(xy)T1tI(xy)
xA

1
นี่คล้ายกับคำตอบของ @ Aksakalแต่ในเชิงลึกยิ่งขึ้น
Dougal

1
(+1) นี่เป็นส่วนเสริมที่ยอดเยี่ยม!
Sycorax พูดว่า Reinstate Monica

17

โดยพื้นฐานแล้วข้อดีของวิธีอนุพันธ์อันดับสองเช่นวิธีของนิวตันคือมันมีคุณภาพของการเลิกกำลังสอง ซึ่งหมายความว่ามันสามารถลดฟังก์ชั่นสมการกำลังสองในจำนวนขั้นตอนที่ จำกัด วิธีการเช่นการไล่ระดับสีขึ้นอยู่กับอัตราการเรียนรู้อย่างมากซึ่งอาจทำให้เกิดการปรับให้เข้าหากันอย่างช้า ๆ เพราะมันกระดอนไปรอบ ๆ ที่เหมาะสมหรือแยกออกจากกันโดยสิ้นเชิง อัตราการเรียนรู้ที่เสถียรสามารถพบได้ ... แต่เกี่ยวข้องกับการคำนวณแบบ hessian แม้เมื่อใช้อัตราการเรียนรู้ที่มั่นคงคุณสามารถมีปัญหาเช่นการสั่นรอบที่เหมาะสมเช่นคุณจะไม่ใช้เส้นทาง "โดยตรง" หรือ "ประสิทธิภาพ" ไปทางต่ำสุดเสมอไป ดังนั้นอาจใช้การวนซ้ำหลายครั้งเพื่อยุติแม้ว่าคุณค่อนข้างใกล้เคียงกับมัน วิธีการของ BFGS และนิวตันสามารถรวมกันได้เร็วขึ้นแม้ว่าความพยายามในการคำนวณของแต่ละขั้นตอนจะมีราคาแพงกว่า

ตามคำขอของคุณสำหรับตัวอย่าง: สมมติว่าคุณมีฟังก์ชั่นวัตถุประสงค์

F(x)=12xTAx+dTx+
การไล่ระดับสีคือ
F(x)=Ax+d
and putting it into the steepest descent form with constant learning rate
xk+1=xkα(Axk+d)=(IαA)xkαd.

This will be stable if the magnitudes of the eigenvectors of IαA are less than 1. We can use this property to show that a stable learning rate satisfies

α<2λmax,
where λmax is the largest eigenvalue of A. The steepest descent algorithm's convergence rate is limited by the largest eigenvalue and the routine will converge most quickly in the direction of its corresponding eigenvector. Likewise, it will converge most slowly in directions of the eigenvector of the smallest eigenvalue. When there is a large disparity between large and small eigenvalues for A, gradient descent will be slow. Any A with this property will converge slowly using gradient descent.

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.


Great answer! I'm accepting @Dougal 's answer as I think it provides a simpler explanation.
บาร์

6

In convex optimization you are approximating the function as the second degree polynomial in one dimensional case:

f(x)=c+βx+αx2

In this case the the second derivative

2f(x)/x2=2α

If you know the derivatives, then it's easy to get the next guess for the optimum:

guess=β2α

The multivariate case is very similar, just use gradients for derivatives.


2

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.