Tại sao các dẫn xuất bậc hai hữu ích trong tối ưu hóa lồi?


18

Tôi đoán đây là một câu hỏi cơ bản và nó phải thực hiện theo hướng của chính gradient, nhưng tôi đang tìm kiếm các ví dụ trong đó các phương thức bậc 2 (ví dụ BFGS ) hiệu quả hơn so với việc giảm độ dốc đơn giản.


3
Có phải quá đơn giản để chỉ quan sát rằng "tìm đỉnh của một paraboloid" là một xấp xỉ tốt hơn nhiều cho vấn đề "tìm một tối thiểu" so với "tìm tối thiểu của hàm tuyến tính này" (tất nhiên, không có tối thiểu vì nó tuyến tính)?

Câu trả lời:


20

Đây là một khung chung để diễn giải cả phương pháp giảm độ dốc và phương pháp của Newton, đây có thể là một cách hữu ích để nghĩ về sự khác biệt như là một bổ sung cho câu trả lời của @ Sycorax. (BFGS gần đúng với phương pháp của Newton; tôi sẽ không nói riêng về nó ở đây.)

Chúng tôi đang giảm thiểu chức năng , nhưng chúng tôi không biết làm thế nào để làm điều đó trực tiếp. Vì vậy, thay vào đó, chúng tôi lấy một xấp xỉ cục bộ tại điểm hiện tại của chúng tôi và giảm thiểu điều đó.xfx

Phương pháp của Newton xấp xỉ hàm bằng cách sử dụng khai triển Taylor bậc hai: trong đó biểu thị độ dốc của tại điểm và Hessian tại . Sau đó, nó bước tới và lặp lại.

f(y)Nx(y):=f(x)+f(x)T(yx)+12(yx)T2f(x)(yx),
f(x)fx2f(x)xargminyNx(y)

Giảm dần độ dốc, chỉ có độ dốc chứ không phải Hessian, không thể thực hiện xấp xỉ bậc một và giảm thiểu điều đó, vì như @Hurkyl lưu ý rằng nó không có mức tối thiểu. Thay vào đó, chúng tôi xác định kích thước bước và bước tới . Nhưng lưu ý rằng Do đó, độ dốc giảm thiểu tối đa một hàm x - t 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).

Như vậy gradient descent là loại giống như sử dụng phương pháp của Newton, nhưng thay vì dùng thứ hai để Taylor mở rộng, chúng tôi giả vờ rằng Hessian là . Đây thường là một xấp xỉ tồi tệ hơn đáng kể để hơn , và hậu duệ do đó độ dốc thường mất bước tồi tệ hơn nhiều so với phương pháp của Newton. Tất nhiên, điều này là đối trọng, bởi mỗi bước của độ dốc gốc sẽ rẻ hơn rất nhiều để tính toán so với từng bước của phương pháp Newton. Cái nào tốt hơn phụ thuộc hoàn toàn vào bản chất của vấn đề, tài nguyên tính toán của bạn và yêu cầu độ chính xác của bạn.GfN1tIGfN

Nhìn vào ví dụ của @ Sycorax về việc giảm thiểu một bậc hai trong giây lát, đáng chú ý là phối cảnh này giúp hiểu cả hai phương pháp.

f(x)=12xTAx+dTx+c

Với phương pháp của Newton, chúng ta sẽ có để nó kết thúc với câu trả lời chính xác (cho đến các vấn đề chính xác về dấu phẩy động) trong một bước duy nhất.N=f

Mặt khác, độ sử dụng có mặt phẳng tiếp tuyến tại là đúng, nhưng độ cong của nó là hoàn toàn sai, và thực sự loại bỏ những khác biệt quan trọng theo các hướng khác nhau khi giá trị bản địa của thay đổi đáng kể.xA

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

1
Điều này tương tự như câu trả lời của @ Aksakal , nhưng sâu hơn.
Dougal

1
(+1) Đây là một bổ sung tuyệt vời!
Sycorax nói Phục hồi lại

17

Về cơ bản, lợi thế của phương pháp phái sinh thứ hai như phương pháp của Newton là nó có chất lượng kết thúc bậc hai. Điều này có nghĩa là nó có thể giảm thiểu một hàm bậc hai trong một số bước hữu hạn. Một phương pháp như giảm độ dốc phụ thuộc rất nhiều vào tốc độ học tập, điều này có thể khiến tối ưu hóa hội tụ chậm vì nó nảy xung quanh tối ưu hoặc hoàn toàn phân kỳ. Tỷ lệ học tập ổn định có thể được tìm thấy ... nhưng liên quan đến việc tính toán hessian. Ngay cả khi sử dụng tốc độ học tập ổn định, bạn có thể gặp các vấn đề như dao động xung quanh tối ưu, tức là bạn sẽ không luôn đi theo con đường "trực tiếp" hoặc "hiệu quả" theo mức tối thiểu. Vì vậy, có thể mất nhiều lần lặp để chấm dứt, ngay cả khibạn tương đối gần với nó Phương pháp của BFGS và Newton có thể hội tụ nhanh hơn mặc dù nỗ lực tính toán của từng bước tốn kém hơn.

Theo yêu cầu của bạn về các ví dụ: Giả sử bạn có hàm mục tiêu Độ dốc là và đặt nó vào dạng gốc dốc nhất với tốc độ học tập không đổi

F(x)=12xTAx+dTx+c
F(x)=Ax+d
xk+1=xkα(Axk+d)=(IαA)xkαd.

Điều này sẽ ổn định nếu cường độ của các hàm riêng của nhỏ hơn 1. Chúng ta có thể sử dụng thuộc tính này để cho thấy rằng tốc độ học tập ổn định thỏa mãn nơi là eigenvalue lớn nhất của . Tốc độ hội tụ của thuật toán gốc dốc nhất bị giới hạn bởi giá trị riêng lớn nhất và thường trình sẽ hội tụ nhanh nhất theo hướng của hàm riêng tương ứng. Tương tự như vậy, nó sẽ hội tụ chậm nhất theo các hướng của hàm riêng của giá trị riêng nhỏ nhất. Khi có sự chênh lệch lớn giữa các giá trị riêng lớn và nhỏ đối với , việc giảm độ dốc sẽ chậm. Bất kỳIαAλmaxAAA

α<2λmax,
λmaxAAA với đặc tính này sẽ hội tụ từ từ bằng cách sử dụng độ dốc giảm dần.

Trong ngữ cảnh cụ thể của các mạng nơ-ron, cuốn sách Thiết kế mạng nơ-ron có khá nhiều thông tin về các phương pháp tối ưu hóa số. Các cuộc thảo luận ở trên là một sự cô đọng của phần 9-7.


Câu trả lời chính xác! Tôi chấp nhận câu trả lời của @Dougal vì tôi nghĩ nó cung cấp một lời giải thích đơn giản hơn.
Bar

6

Trong tối ưu hóa lồi, bạn đang xấp xỉ hàm dưới dạng đa thức bậc hai trong trường hợp một chiều:

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

Trong trường hợp này, đạo hàm thứ hai

2f(x)/x2=2α

Nếu bạn biết các công cụ phái sinh, thì thật dễ dàng để có được dự đoán tiếp theo cho tối ưu:

guess=β2α

Trường hợp đa biến rất giống nhau, chỉ cần sử dụng gradient cho đạo hàm.


2

@Dougal đã đưa ra một câu trả lời kỹ thuật tuyệt vời.

Giải thích không có toán học là trong khi phép tính gần đúng tuyến tính (thứ tự 1) cung cấp một mặt phẳng, thì nó tiếp tuyến với một điểm trên bề mặt lỗi, phép tính gần đúng bậc hai (bậc 2) cung cấp một bề mặt ôm lấy độ cong của bề mặt lỗi.

Các video trên liên kết này làm rất tốt việc hình dung khái niệm này. Chúng hiển thị thứ tự 0, thứ tự 1 và thứ tự 2 xấp xỉ cho bề mặt hàm, chỉ xác minh bằng trực giác những gì các câu trả lời khác trình bày về mặt toán học.

Ngoài ra, một blogpost tốt về chủ đề (áp dụng cho các mạng thần kinh) là ở đây .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.