Các phương thức gradient thường hoạt động tối ưu hóa tốt hơn so với vì độ dốc của thường được chia tỷ lệ tốt hơn . Nghĩa là, nó có kích thước phản ánh nhất quán và hữu ích hình học của hàm mục tiêu, giúp dễ dàng chọn kích thước bước thích hợp và đạt mức tối ưu trong ít bước hơn.p ( x ) log p ( x )logp(x)p(x)logp(x)
Để xem ý tôi là gì, hãy so sánh quá trình tối ưu hóa độ dốc cho và . Tại bất kỳ điểm , độ dốc của làNếu chúng ta nhân số đó với , chúng ta sẽ có được kích thước bước chính xác cần thiết để đạt mức tối ưu toàn cầu tại điểm gốc, bất kể gìp(x)=exp(−x2)f(x)=logp(x)=−x2xf(x)
f′(x)=−2x.
1/2xLà. Điều này có nghĩa là chúng ta không cần phải làm việc quá sức để có được kích thước bước tốt (hay "tỷ lệ học tập" trong thuật ngữ ML). Bất kể điểm ban đầu của chúng tôi là ở đâu, chúng tôi chỉ cần đặt bước của chúng tôi xuống một nửa độ dốc và chúng tôi sẽ ở điểm gốc trong một bước. Và nếu chúng ta không biết chính xác yếu tố cần thiết, chúng ta có thể chọn kích thước bước khoảng 1, thực hiện tìm kiếm một dòng và chúng ta sẽ tìm thấy kích thước bước tuyệt vời rất nhanh, một bước hoạt động tốt bất kể ở đâu là. Thuộc tính này là mạnh mẽ để dịch và nhân rộng . Mặc dù tỷ lệ sẽ làm cho tỷ lệ bước tối ưu khác nhau từ 1/2, nhưng ít nhất tỷ lệ bước sẽ giống nhau cho dù là gì , vì vậy chúng tôi chỉ phải tìm một tham số để có được tối ưu hóa dựa trên độ dốc hiệu quả kế hoạch.
xf(x)f(x)x
Ngược lại, độ dốc của có các thuộc tính toàn cầu rất kém để tối ưu hóa. Ta cóĐiều này nhân với độ dốc hoàn hảo, hoạt động tốt với hệ số sẽ phân rã (nhanh hơn) theo cấp số nhân khi tăng. Tại , chúng ta đã có , do đó, một bước dọc theo vectơ gradient là khoảng lần quá nhỏ. Để có được kích thước bước hợp lý theo hướng tối ưu, chúng ta phải điều chỉnh độ dốc theo tỷ lệ nghịch với đó, một hằng số rất lớnp(x)
p′(x)=f′(x)p(x)=−2xexp(−x2).
−2xexp(−x2)xx=5exp(−x2)=1.4⋅10−1110−11 p ′ (x) p ′ (x)∼1011. Độ dốc có tỷ lệ xấu như vậy tệ hơn là vô dụng cho mục đích tối ưu hóa - tốt hơn hết là chúng ta chỉ nên thử một bước đơn vị theo hướng khó khăn hơn là đặt bước của chúng ta bằng cách mở rộng theo ! (Trong nhiều biến, trở nên hữu ích hơn một chút vì ít nhất chúng ta có được thông tin định hướng từ độ dốc, nhưng vấn đề mở rộng vẫn còn.)
p′(x)p′(x)
Nói chung, không có gì đảm bảo rằng sẽ có các thuộc tính tỷ lệ gradient lớn như ví dụ về đồ chơi này, đặc biệt là khi chúng ta có nhiều hơn một biến. Tuy nhiên, đối với hầu hết mọi vấn đề không cần thiết, sẽ diễn ra theo cách tốt hơn so với . Điều này là do khả năng là một sản phẩm lớn với một loạt các điều khoản và nhật ký biến sản phẩm đó thành một khoản tiền, như đã lưu ý trong một số câu trả lời khác. Với các điều khoản trong khả năng được xử lý tốt từ quan điểm tối ưu hóa, nhật ký của họ nói chung là hoạt động tốt và tổng số các chức năng hoạt động tốt là hoạt động tốt. Theo cách cư xử tốt, ý tôi làlogp(x)logp(x)p(x)f′′(x)không thay đổi quá nhiều hoặc quá nhanh, dẫn đến một hàm gần như bậc hai, dễ dàng tối ưu hóa bằng các phương thức gradient. Tổng của một công cụ phái sinh là đạo hàm của tổng, bất kể thứ tự của công cụ phái sinh là gì, giúp đảm bảo rằng một số lượng lớn các điều khoản tổng có đạo hàm thứ hai rất hợp lý!