Không gian tự học dành cho sinh viên UET

Chào mừng đến với UETệ

Tìm bài giảng theo học phần, hiểu lại những kiến thức nền và ôn tập theo nhịp học của bạn.

Bài giảng
Đọc Notes, ôn nhanh với Slides và luyện tập qua các bài có lời giải.
Wiki kiến thức
Tra cứu thuật ngữ và bổ sung kiến thức nền ngay khi cần.
Góc học tập
Ôn bằng flashcard, lưu ghi chú và hẹn giờ tập trung.

Bạn có thể xem lại phần giới thiệu ở cuối trang.

Buy me a coffee

Website hoàn toàn miễn phí. Nếu thấy hữu ích, bạn có thể tặng tôi một cốc cà phê theo thông tin dưới đây nhé!

Mã QR chuyển khoản Momo
Ngân hàng
Momo
Tên người nhận
MOMO - TKTH DO MINH TRI
Số tài khoản
01MMTTT0060405229
Skip to content

Tối ưu hóa dưới lăng kính Hệ động lực liên tục và Động lượng Nesterov ​

Trong hầu hết các bài giảng khoa học máy tính, các thuật toán tối ưu hóa thường được giới thiệu như các quy tắc lặp rời rạc: Cho bước k, ta tính vector gradient tại điểm hiện tại rồi cộng trừ để thu được điểm ở bước k+1.

Cách tiếp cận này tuy đơn giản nhưng thường che khuất bức tranh tổng thể và khiến cho một số thuật toán kinh điển, tiêu biểu là Phương pháp gia tốc Nesterov (Nesterov Accelerated Gradient), trở nên giống như một "phép thuật đại số" khó nắm bắt. Suốt ba thập kỷ kể từ khi Yurii Nesterov công bố thuật toán vào năm 1983, người ta vẫn không khỏi tự hỏi: Tại sao một sự kết hợp tham số tưởng chừng kỳ lạ lại có thể tăng tốc độ hội tụ từ O(1/k) lên O(1/k2)?

Năm 2014, một công trình lịch sử của Weijie Su, Stephen Boyd và Emmanuel Candès tại Đại học Stanford đã hé lộ lời giải đáp: Khi cho độ dài bước lặp tiến về 0, các thuật toán tối ưu hóa rời rạc chính là quỹ đạo chuyển động của các hệ động lực vật lý liên tục được mô tả bằng các phương trình vi phân thường (ODEs).


1. Dòng chảy Gradient (Gradient Flow) và Phương pháp Euler ​

Xét hàm mục tiêu khả vi liên tục f:Rn→R. Hãy tưởng tượng một chất điểm có tọa độ x(t)∈Rn di chuyển liên tục theo thời gian thực t≥0.

Quy luật chuyển động tự nhiên nhất để chất điểm luôn lăn xuống dốc theo hướng giảm nhanh nhất của thế năng f là:

dx(t)dt=−∇f(x(t)),x(0)=x0.

Phương trình vi phân thường phi tuyến này được gọi là Dòng chảy gradient (Gradient Flow).

Bảo toàn tính suy giảm năng lượng qua hàm Lyapunov ​

Ta kiểm tra tốc độ thay đổi của giá trị hàm số f(x(t)) dọc theo quỹ đạo chuyển động bằng quy tắc chuỗi:

ddtf(x(t))=∇f(x(t))T(dx(t)dt)=∇f(x(t))T(−∇f(x(t)))=−∥∇f(x(t))∥22.

Vì bình phương chuẩn Euclid luôn không âm, ta có:

ddtf(x(t))≤0.

Đạo hàm chỉ bằng 0 khi và chỉ khi ∥∇f(x(t))∥2=0 (chất điểm đã chạm tới một điểm dừng). Hàm số f(x(t)) đóng vai trò như một hàm Lyapunov, bảo đảm rằng năng lượng thế năng luôn suy giảm nghiêm ngặt theo thời gian!

Phương pháp Euler thuận: Sinh ra Gradient Descent ​

Nếu ta rời rạc hóa phương trình vi phân trên bằng phương pháp xấp xỉ đạo hàm sai phân Euler thuận với bước thời gian η>0:

x(t+η)−x(t)η≈−∇f(x(t))⟹x(t+η)=x(t)−η∇f(x(t)).

Đặt xk=x(kη), ta thu được chính xác thuật toán Gradient Descent quen thuộc:

xk+1=xk−η∇f(xk).

Mọi phân tích hội tụ của Gradient Descent trong không gian rời rạc thực chất chỉ là xấp xỉ sai số của dòng chảy liên tục khi bước thời gian η bị giới hạn bởi độ trơn Lipschitz của gradient.


2. Động lượng Polyak: Con lắc chịu lực ma sát hằng số ​

Năm 1964, Boris Polyak đề xuất phương pháp Heavy-Ball (Momentum) bằng cách bổ sung một số hạng quán tính:

xk+1=xk−η∇f(xk)+β(xk−xk−1).

Chuyển số hạng xk sang vế trái và viết lại:

(xk+1−2xk+xk−1)+(1−β)(xk−xk−1)+η∇f(xk)=0.

Khi bước thời gian h=η→0 và đặt 1−β=γh (γ>0), số hạng sai phân bậc hai tiến về đạo hàm cấp hai x¨(t), số hạng sai phân bậc nhất tiến về vận tốc x˙(t). Ta thu được phương trình vi phân cấp hai:

x¨(t)+γx˙(t)+∇f(x(t))=0.

Về mặt vật lý, đây chính là Định luật II Newton (F=ma) cho một chất điểm có khối lượng m=1 chuyển động trong trường thế năng f(x):

  • x¨(t): Lực quán tính (gia tốc).
  • γx˙(t): Lực cản nhớt (ma sát) tỷ lệ với vận tốc, với hệ số ma sát cố định γ>0.
  • ∇f(x(t)): Lực kéo thế năng.

Lực ma sát hằng số γ giúp dập tắt dao động, nhưng vì γ không đổi, quả bóng có thể bị trượt quá đà hoặc mất động lượng khi đi vào các thung lũng hẹp.


3. Lời giải mã Gia tốc Nesterov: Hệ số ma sát biến thiên 3/t ​

Phương pháp gia tốc Nesterov cập nhật tham số qua hai bước lặp:

yk=xk+k−1k+2(xk−xk−1),xk+1=yk−s∇f(yk).

Hệ số động lượng k−1k+2 không phải là hằng số, mà tăng dần theo số bước lặp k: Bắt đầu từ 0,14,25,… và tiệm cận về 1.

Năm 2014, Su, Boyd và Candès đã chứng minh rằng khi bước nhảy s→0, quỹ đạo của thuật toán Nesterov hội tụ chính xác về một phương trình vi phân cấp hai phi thường:

x¨(t)+3tx˙(t)+∇f(x(t))=0,t>0.

Ý nghĩa vật lý trực quan của hệ số ma sát 3/t ​

Phương trình trên mô tả một chất điểm chuyển động với hệ số ma sát giảm dần tỷ lệ nghịch với thời gian: γ(t)=3t.

  1. Giai đoạn đầu (t→0): Hệ số ma sát 3t→+∞. Lực cản cực lớn này dập tắt ngay lập tức mọi dao động hỗn loạn ban đầu, giữ cho chất điểm không bị văng ra khỏi lưu vực hấp dẫn.
  2. Giai đoạn sau (t→+∞): Hệ số ma sát 3t→0. Khi chất điểm đã đi đúng vào lòng máng của thung lũng, lực ma sát biến mất, cho phép chất điểm bảo toàn tối đa động năng và lướt đi với tốc độ cực nhanh.

Chứng minh tốc độ hội tụ O(1/t2) qua hàm Lyapunov ​

Để chứng minh tốc độ hội tụ của hệ liên tục, Su, Boyd và Candès đã xây dựng hàm Lyapunov kết hợp giữa thế năng và cơ năng:

E(t)=t2(f(x(t))−f∗)+2‖x(t)−x∗+t2x˙(t)‖22.

Đạo hàm của hàm năng lượng theo thời gian thỏa mãn:

ddtE(t)≤0,∀t>0.

Do đó, năng lượng tại thời điểm t không vượt quá năng lượng tại thời điểm ban đầu: E(t)≤E(0)=2∥x0−x∗∥22.

Suy ra:

t2(f(x(t))−f∗)≤E(t)≤2∥x0−x∗∥22,

tương đương với:

f(x(t))−f∗≤2∥x0−x∗∥22t2=O(1t2).

Khi quy đổi thời gian liên tục t sang số bước lặp rời rạc k (t∼ks), ta thu được chính xác cận hội tụ tối ưu O(1/k2) của Nesterov! Bằng cách nhìn qua lăng kính phương trình vi phân, điều bí ẩn kéo dài 30 năm đã được giải thích một cách trong sáng và tự nhiên.


4. Mở rộng: Mạng nơ-ron như một Phương trình vi phân (Neural ODEs) ​

Ý tưởng xem quá trình rời rạc như một hệ liên tục không chỉ dừng lại ở các thuật toán tối ưu, mà còn truyền cảm hứng cho kiến trúc mạng nơ-ron hiện đại.

Xét mạng nơ-ron dư (Residual Network - ResNet), công thức cập nhật trạng thái ẩn qua các tầng là:

ht+1=ht+f(ht,θt).

Nếu ta xem chỉ số tầng t như một bước thời gian Δt=1:

ht+1−htΔt=f(ht,θt).

Khi số tầng tiến ra vô hạn và khoảng cách giữa các tầng tiến về 0, ta thu được mô hình Neural ODE (Chen et al., NeurIPS 2018):

dh(t)dt=f(h(t),t,θ).

Trạng thái đầu ra của mạng tại tầng cuối chính là tích phân của phương trình vi phân xuất phát từ đầu vào h(0)=x. Việc tính toán gradient để huấn luyện mạng khi đó được giải quyết thanh thoát bằng phương pháp liên hợp (Adjoint State Method) của lý thuyết điều khiển tối ưu Pontryagin, cho phép huấn luyện mạng nơ-ron có độ sâu tùy ý với chi phí bộ nhớ hằng số O(1)!


Tóm tắt ​

Lăng kính hệ động lực liên tục đem lại một góc nhìn thống nhất và giàu trực giác cho lý thuyết tối ưu hóa:

  • Gradient Descent là phép rời rạc hóa Euler của dòng chảy gradient có năng lượng Lyapunov suy giảm đơn điệu.
  • Động lượng Polyak mô phỏng con lắc vật lý Newton với ma sát hằng số.
  • Gia tốc Nesterov giải mã thành công nhờ phương trình vi phân với lực ma sát biến thiên 3/t, đạt tốc độ suy giảm thế năng O(1/t2).
  • Cầu nối liên tục này mở đường cho các mô hình học sâu hiện đại như Neural ODEs và dòng chảy chuẩn hóa (Normalizing Flows).

Tài liệu tham khảo ​

  • Weijie Su, Stephen Boyd, Emmanuel Candès, A Dynamical System Perspective on Nesterov's Accelerated Gradient Method: A Non-Harmonic Oscillator View, JMLR 2016 (NeurIPS 2014).
  • Ricky T. Q. Chen, Yulia Rubanova, Jesse Bettencourt, David Duvenaud, Neural Ordinary Differential Equations, NeurIPS 2018.
  • Yurii Nesterov, A method for solving the convex programming problem with convergence rate O(1/k2), Soviet Mathematics Doklady 1983.
  • Stephen Boyd, Lieven Vandenberghe, Convex Optimization, Cambridge University Press.
Ảnh & sơ đồ
100%
Ảnh tài liệu được phóng to