Suy giảm độ dốc

Thuật toán tối ưuBản mẫu:SHORTDESC:Thuật toán tối ưu

Suy giảm độ dốc (còn gọi là giảm độ dốc, tiếng Anh: gradient descent) là một thuật toán tối ưu hóa lặp bậc nhất để tìm một cực trị của một hàm khả vi. Để tìm cực tiểu cục bộ của một hàm sử dụng suy giảm độ dốc, người ta có thể thực hiện các bước tỷ lệ thuận với âm của gradient (hoặc độ dốc xấp xỉ) của hàm tại điểm hiện tại. Nhưng nếu thực hiện các bước tương ứng với dương của gradient thì tiếp cận được một cực đại cục bộ của hàm số đó; phương pháp này được gọi là tăng độ dốc (gradient ascent). Nói chung, Augustin-Louis Cauchy được ghi công là người gợi ý về vấn đề suy giảm độ dốc vào năm 1847,[1] nhưng các tính chất hội tụ của nó cho các bài toán tối ưu hóa phi tuyến tính được Haskell Curry nghiên cứu lần đầu tiên năm 1944.[2]

Mô tả

Hình minh họa độ dốc trên một loạt tập mức. Điểm x0, x1,... là các điểm trực giao với các đường đồng mức (màu xanh) trong quá trình thực hiện thuật toán suy giảm độ dốc cho đến khi tìm được các điểm cực tiểu.

Độ dốc dựa trên quan sát nếu hàm đa biến F ( x ) {\displaystyle F(\mathbf {x} )} là chưa xác định và khả vi trong một vùng lân cận của một điểm a {\displaystyle \mathbf {a} } , sau đó F ( x ) {\displaystyle F(\mathbf {x} )} giảm nhanh nhất nếu đi từ a {\displaystyle \mathbf {a} } theo hướng của độ dốc âm của F {\displaystyle F} tại a , F ( a ) {\displaystyle \mathbf {a} ,-\nabla F(\mathbf {a} )} . Nó theo sau nếu

a n + 1 = a n γ F ( a n ) {\displaystyle \mathbf {a} _{n+1}=\mathbf {a} _{n}-\gamma \nabla F(\mathbf {a} _{n})}

đối với γ R + {\displaystyle \gamma \in \mathbb {R} _{+}} đủ nhỏ, khi đó F ( a n ) F ( a n + 1 ) {\displaystyle F(\mathbf {a_{n}} )\geq F(\mathbf {a_{n+1}} )} . Theo cách nói khác, giá trị γ F ( a ) {\displaystyle \gamma \nabla F(\mathbf {a} )} được trừ bớt khỏi a {\displaystyle \mathbf {a} } bởi vì chúng ta muốn di chuyển ngược lại độ dốc, hướng đến cực tiểu cục bộ. Với quan sát này, bắt đầu với một phỏng đoán x 0 {\displaystyle \mathbf {x} _{0}} đối với một cực tiểu cục bộ của F {\displaystyle F} , và xem chuỗi x 0 , x 1 , x 2 , {\displaystyle \mathbf {x} _{0},\mathbf {x} _{1},\mathbf {x} _{2},\ldots }

x n + 1 = x n γ n F ( x n ) ,   n 0. {\displaystyle \mathbf {x} _{n+1}=\mathbf {x} _{n}-\gamma _{n}\nabla F(\mathbf {x} _{n}),\ n\geq 0.}

Khi đó, chúng ta có một chuỗi hàm số đơn điệu

F ( x 0 ) F ( x 1 ) F ( x 2 ) , {\displaystyle F(\mathbf {x} _{0})\geq F(\mathbf {x} _{1})\geq F(\mathbf {x} _{2})\geq \cdots ,}

vì vậy hi vọng chuỗi ( x n ) {\displaystyle (\mathbf {x} _{n})} hội tụ ở mức tối thiểu cục bộ mong muốn. Chú ý rằng giá trị kích thước nhảy (step size) γ {\displaystyle \gamma } được phép thay đổi ở mỗi lần lặp. Với các giả định nhất định về hàm F {\displaystyle F} (ví dụ, hàm lồi F {\displaystyle F} và Lipschitz F {\displaystyle \nabla F} ) và các lựa chọn cụ thể của γ {\displaystyle \gamma } (ví dụ, được chọn thông qua một tìm kiếm dòng (line search) mà thỏa mãn các điều kiện Wolfe, hoặc phương pháp Barzilai–Borwein[3][4] được nêu như sau),

γ n = | ( x n x n 1 ) T [ F ( x n ) F ( x n 1 ) ] | F ( x n ) F ( x n 1 ) 2 {\displaystyle \gamma _{n}={\frac {\left|\left(\mathbf {x} _{n}-\mathbf {x} _{n-1}\right)^{T}\left[\nabla F(\mathbf {x} _{n})-\nabla F(\mathbf {x} _{n-1})\right]\right|}{\left\|\nabla F(\mathbf {x} _{n})-\nabla F(\mathbf {x} _{n-1})\right\|^{2}}}}

Chuỗi hội tụ ở mức tối thiểu cục bộ có thể được đảm bảo. Khi hàm F {\displaystyle F} hàm lồi, tất cả các cực tiểu cục bộ cũng là cực tiểu toàn cục, vì vậy trong trường hợp này, độ dốc giảm có thể hội tụ về giải pháp toàn cục.

Quá trình này được phác họa như trong hình bên cạnh. Với giả định F {\displaystyle F} là được xác định trên mặt phẳng, và đồ thị của nó có hình bát ăn. Các đường cong màu xanh là các đường đồng mức, nghĩa là, các vùng mà giá trị của F {\displaystyle F} là không đổi (hằng số). Mũi tên màu đỏ bắt nguồn từ một điểm cho biết hướng của độ dốc âm tại điểm đó. Lưu ý độ dốc (âm) tại một điểm là trực giao (orthogonality, vuông góc) với các đường đồng mức đi qua điểm đó. Độ dốc suy giảm (rơi xuống) dẫn đường màu đỏ đến đáy của cái tô, tức là, đến điểm mà giá trị của hàm F {\displaystyle F} là nhỏ nhất. Điểm này là điểm cần tìm trong các bài toán về suy giảm độ dốc.

Xem thêm

  • Backtracking line search
  • Conjugate gradient method
  • Stochastic gradient descent
  • Rprop
  • Luật Delta
  • Điều kiện Wolfe
  • Preconditioner
  • Thuật toán Broyden–Fletcher–Goldfarb–Shanno
  • Công thức Davidon–Fletcher–Powell
  • Phương pháp Nelder–Mead
  • Thuật toán Gauss–Newton
  • Hill climbing
  • Quantum annealing

Tham khảo

  1. ^ Lemaréchal, C. (2012). “Cauchy and the Gradient Method” (PDF). Doc Math Extra: 251–254.
  2. ^ Curry, Haskell B. (1944). “The Method of Steepest Descent for Non-linear Minimization Problems”. Quart. Appl. Math. 2 (3): 258–261. doi:10.1090/qam/10667.
  3. ^ Barzilai, Jonathan; Borwein, Jonathan M. (1988). “Two-Point Step Size Gradient Methods”. IMA Journal of Numerical Analysis. 8 (1): 141–148. doi:10.1093/imanum/8.1.141.
  4. ^ Fletcher, R. (2005). “On the Barzilai–Borwein Method”. Trong Qi, L.; Teo, K.; Yang, X. (biên tập). Optimization and Control with Applications. Applied Optimization. 96. Boston: Springer. tr. 235–256. ISBN 0-387-24254-6.

Đọc thêm

  • Boyd, Stephen; Vandenberghe, Lieven (2004). “Unconstrained Minimization” (PDF). Convex Optimization. New York: Cambridge University Press. tr. 457–520. ISBN 0-521-83378-7.

Liên kết ngoài

  • Using gradient descent in C++, Boost, Ublas for linear regression
  • Series of Khan Academy videos discusses gradient ascent
  • Online book teaching gradient descent in deep neural network context
  • “Gradient Descent, How Neural Networks Learn”. 3Blue1Brown. ngày 16 tháng 10 năm 2017 – qua YouTube.
  • x
  • t
  • s
Tối ưu hóa (toán học): Thuật toán tối ưu, Phương pháp lặp, và Heuristic (khoa học máy tính)
Phi tuyến không ràng buộc
Hàm số
  • Golden-section search
  • Powell's methods
  • Line search
  • Nelder–Mead method
  • Successive parabolic interpolation
Gradient
Hội tụ cục bộ
  • Trust region
  • Wolfe conditions
Quasi-Newton method
  • Berndt–Hall–Hall–Hausman algorithm
  • Broyden–Fletcher–Goldfarb–Shanno algorithm and Limited-memory BFGS
  • Davidon–Fletcher–Powell formula
  • Symmetric rank-one
Phương pháp lặp
Ma trận Hesse
  • Newton's method in optimization
Graph of a strictly concave quadratic function with unique maximum.
Optimization computes maxima and minima.
Phi tuyến có ràng buộc
General
  • Barrier function
  • Penalty methods
Khả vi
  • Augmented Lagrangian method
  • Sequential quadratic programming
  • Successive linear programming
Tối ưu độ lồi
Tối ưu độ lồi
  • Cutting-plane method
  • Frank–Wolfe algorithm
  • Subgradient method
Quy hoạch tuyến tính and
Quy hoạch toàn phương
Quy hoạch tuyến tính
  • Affine scaling
  • Ellipsoid method
  • Karmarkar's algorithm
Matroid Giải thuật tham lam
  • Simplex algorithm
  • Revised simplex method
  • Criss-cross algorithm
  • Lemke's algorithm
Tối ưu kết hợp
Mô hình
Thuật toán đồ thị
Cây bao trùm nhỏ nhất
Bài toán đường đi ngắn nhất
Luồng trên mạng
Metaheuristic
  • Evolutionary algorithm
  • Hill climbing
  • Local search (optimization)
  • Simulated annealing
  • Tabu search
  • So sánh phần mềm tối ưu
  • x
  • t
  • s
Điện toán khả vi
Chung
  • Lập trình khả vi
  • Neural Turing machine
  • Differentiable neural computer
  • Automatic differentiation
  • Neuromorphic engineering
Khái niệm
Ngôn ngữ lập trình
  • Python (ngôn ngữ lập trình)
  • Julia (programming language)
Ứng dụng
Phần cứng
  • Tensor Processing Unit
  • Vision processing unit
  • Memristor
  • SpiNNaker
Thư viện phần mềm
Thực thi
Nghe-nhìn
Lời nói
Quyết định
  • AlphaGo
  • Q-learning (học tăng cường)
  • State–action–reward–state–action
  • OpenAI Five
Nhân vật
  • Alex Graves (computer scientist)
  • Ian Goodfellow
  • Yoshua Bengio
  • Geoffrey Hinton
  • Yann LeCun
  • Andrew Ng
  • Demis Hassabis
  • David Silver (computer scientist)
  • Cổng thông tin Cổng
    • Portal:Lập trình máy tính
    • Cổng thông tin:Công nghệ
  • Thể loại Category
    • [[::Thể loại:Mạng thần kinh nhân tạo]]
    • [[::Thể loại:Học máy]]
Bài viết này vẫn còn sơ khai. Bạn có thể giúp Wikipedia mở rộng nội dung để bài được hoàn chỉnh hơn.
  • x
  • t
  • s