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

Các phương pháp tối ưu trong học sâu

Bài 6Cập nhật 15/10/2026Ghi chú của bạn

Một trong những thách thức lớn nhất khi huấn luyện mạng nơ-ron sâu là: Các khác nhau thường đòi hỏi tốc độ cập nhật hoàn toàn khác nhau. Trong các mô hình ngôn ngữ lớn (LLM) hay hệ thống gợi ý, các đặc trưng hiếm (rare tokens/features) chỉ xuất hiện vài lần trong hàng triệu mẫu dữ liệu, khiến của chúng rất nhỏ và thưa thớt. Ngược lại, các từ nối hay đặc trưng phổ biến xuất hiện liên tục với gradient dồn dập. Nếu ép toàn bộ mô hình dùng chung một tốc độ học η, các tham số hiếm sẽ hầu như không kịp học, trong khi các tham số phổ biến lại dao động dữ dội.

Lớp thuật toán tối ưu thích nghi (Adaptive Optimization), tiêu biểu là , và , giải quyết bài toán này bằng cách tự động gán cho mỗi một tốc độ học riêng biệt, biến thiên linh hoạt theo lịch sử biến động của .

Song song với đó, các phương pháp xấp xỉ bậc hai như (Conjugate Gradient - CG) và Quasi-Newton (, L-BFGS) khai thác thông tin độ cong của mà không cần lưu trữ ma trận đạo hàm bậc hai khổng lồ trong bộ nhớ.


1. AdaGrad: Thích nghi hóa theo Tổng bình phương Gradient ​

Thuật toán (Duchi et al., 2011) khởi xướng ý tưởng: Các tọa độ nào nhận lớn trong quá khứ cần giảm tốc độ học lại để tránh dao động. Ngược lại, các tọa độ nào ít nhận gradient cần được tăng bước nhảy để nhanh chóng bắt kịp.

Khởi tạo bộ tích lũy s0=0, tại mỗi bước t, cập nhật:

st=st−1+gt⊙gt,θt+1=θt−ηgtst+ε,

trong đó:

  • ⊙ là phép nhân từng phần tử (Hadamard product).
  • Phép chia vector và căn bậc hai được thực hiện độc lập trên từng tọa độ.
  • ε>0 (thường chọn 10−8) là số thực nhỏ ngăn lỗi chia cho 0.

Cơ chế tự điều tiết của AdaGrad ​

Thành phần st,i=∑τ=1tgτ,i2 lưu giữ tổng bình phương của toàn bộ mà thứ i đã nhận từ đầu quá trình huấn luyện. Tốc độ học hiệu dụng của tham số thứ i trở thành:

ηeff,i=ηst,i+ε.
  • nào có dồn dập: Đại lượng st,i tăng vọt, ηeff,i tự động co nhỏ lại.
  • nào có thưa thớt: Đại lượng st,i tăng chậm, ηeff,i giữ ở mức cao, giúp tham số đón nhận các bước cập nhật lớn mỗi khi có tín hiệu.

Ví dụ: Theo dõi bước nhảy trên một tọa độ đơn lẻ

Xét một nhận chuỗi thử nghiệm g1=2, g2=2 với tốc độ học η=0.1 (tạm bỏ qua ε):

  • Bước 1:
    • Tích lũy: s1=0+22=4.
    • Bước cập nhật: Δθ1=−0.1⋅24=−0.1⋅1=−0.1.
  • Bước 2:
    • Tích lũy: s2=4+22=8.
    • Bước cập nhật:
      Δθ2=−0.1⋅28=−0.1⋅222=−0.12≈−0.07071.

Bước nhảy đã tự động giảm từ 0.1 xuống xấp xỉ 0.07071 dù ở hai bước là hoàn toàn như nhau.

Nhược điểm chí tử của trong học sâu: Vì st là tổng dồn tích lũy của các số hạng không âm (gt2≥0), st tăng đơn điệu theo thời gian. Sau hàng chục nghìn bước lặp, mẫu số trở nên quá lớn khiến tốc độ học hiệu dụng suy giảm tiệm cận về 0 ("đóng băng" ) trước khi mạng kịp hội tụ.


2. RMSProp: Trung bình trượt hàm mũ của Bình phương Gradient ​

Để khắc phục hiện tượng suy giảm bước nhảy vĩnh viễn của , Geoffrey Hinton (trong bài giảng Coursera kinh điển năm 2012) đề xuất thuật toán .

Thay vì cộng dồn toàn bộ lịch sử từ thuở sơ khai, chỉ ghi nhớ quá khứ gần thông qua trung bình trượt hàm mũ (Exponential Moving Average - EMA):

vt=βvt−1+(1−β)gt⊙gt,θt+1=θt−ηgtvt+ε,

với hệ số suy giảm thường chọn β=0.9.

Ý nghĩa toán học: Triển khai đệ quy của vt cho thấy:

vt=(1−β)∑τ=1tβt−τgτ2.

Các cách hiện tại k bước chỉ còn đóng góp một trọng số suy giảm theo lũy thừa (1−β)βk. Thuật toán có một "cửa sổ bộ nhớ hữu hạn" xấp xỉ 11−β bước gần nhất (với β=0.9, cửa sổ khoảng 10 bước). Nhờ đó, mẫu số không còn bị tăng vô hạn, cho phép mô hình tiếp tục học bền bỉ xuyên suốt quá trình huấn luyện dài hạn.

Ví dụ: Tính toán bước đầu với RMSProp

Khởi tạo v0=0, gặp g1=2, hệ số β=0.9, η=0.1:

  • v1=0.9(0)+(1−0.9)(22)=0.4.
  • Bước cập nhật:
    Δθ1=−0.1⋅20.4≈−0.1⋅20.63245≈−0.31623.

Bước nhảy ban đầu này lớn hơn so với (−0.1) vì trạng thái khởi tạo v1=0.4 còn nhỏ.


3. Adam: Sự kết hợp hoàn hảo giữa Momentum và RMSProp ​

Thuật toán (Adaptive Moment Estimation) do Diederik Kingma và Jimmy Ba công bố năm 2014, hiện là thuật toán tối ưu hóa mặc định và phổ biến bậc nhất trong toàn bộ nền kỹ nghệ AI.

kết hợp sức mạnh của cả hai trường phái:

  • Moment bậc nhất (First Moment - quán tính như ): Ước lượng kỳ vọng của có dấu để làm mượt hướng đi.
  • Moment bậc hai (Second Moment - thang đo như ): Ước lượng không định tâm của bình phương để co giãn bước đi.

Thuật toán Adam chuẩn tắc ​

Khởi tạo m0=0, v0=0, tại mỗi bước t=1,2,…:

mt=β1mt−1+(1−β1)gt,vt=β2vt−1+(1−β2)gt⊙gt,m^t=mt1−β1t,v^t=vt1−β2t,θt+1=θt−ηm^tv^t+ε.

Trong đó:

  • mt: Ước lượng moment bậc nhất (quán tính ).
  • vt: Ước lượng moment bậc hai (thang đo bình phương ).
  • m^t,v^t: Các moment đã được hiệu chỉnh chệch (bias-corrected).

Các siêu tiêu chuẩn: β1=0.9, β2=0.999, ε=10−8.

3.1 Bản chất toán học của Phép Hiệu chỉnh Chệch (Bias Correction) ​

Tại sao ta bắt buộc phải chia cho (1−β1t) và (1−β2t)? Vì ta khởi tạo các trạng thái ban đầu bằng 0 (m0=0,v0=0), trong những bước lặp đầu tiên, giá trị của mt và vt bị "kéo lệch" nghiêm trọng về phía 0.

Xét kỳ vọng của mt:

mt=(1−β1)∑i=1tβ1t−igi.

Lấy kỳ vọng hai vế (giả sử kỳ vọng của là hằng số E[gi]=E[g]):

E[mt]=E[g](1−β1)∑i=1tβ1t−i=E[g](1−β1)1−β1t1−β1=E[g](1−β1t).

Rõ ràng E[mt]≠E[g] do tồn tại thừa số (1−β1t)<1. Đặc biệt với β2=0.999, tại bước t=1, thừa số này chỉ bằng 1−0.999=0.001, khiến v1 nhỏ hơn giá trị thực tế tới 1000 lần!

Do đó, phép chia cho 1−βt là bắt buộc để triệt tiêu độ lệch khởi tạo:

E[m^t]=E[mt]1−β1t=E[g].

Khi số bước t tăng lớn (t→∞), số hạng βt→0, thừa số 1−βt→1, và phép hiệu chỉnh chệch tự động trở về giá trị gốc.

3.2 Từng bước tính toán số học của Adam ​

Xét chuỗi thử nghiệm g1=2, g2=1 với các chuẩn β1=0.9, β2=0.999, η=0.1:

Đại lượng trạng tháiBước 1 (t=1)Bước 2 (t=2)
mt0.1(2)=0.20.9(0.2)+0.1(1)=0.28
vt0.001(22)=0.0040.999(0.004)+0.001(12)=0.004996
Hệ số hiệu chỉnh 1−β1t1−0.91=0.11−0.92=1−0.81=0.19
Hệ số hiệu chỉnh 1−β2t1−0.9991=0.0011−0.9992≈0.001999
m^t đã hiệu chỉnh0.20.1=20.280.19=2819≈1.47368
v^t đã hiệu chỉnh0.0040.001=40.0049960.001999=49961999≈2.49925
Độ dời cập nhật Δθt−0.1⋅24=−0.1−0.1⋅1.473682.49925≈−0.09322
Theo dõi từng bước cập nhật

0xy

Bước 0: (2.0000, 2.0000) và f = 22.0000.

Trạng thái thuật toán ở bước này

m = 0.0000, 0.0000, v = 0.0000, 0.0000, còn tổng bình phương = 0.0000, 0.0000.

Xem code và điều kiện mô phỏng

Chương trình dùng dữ liệu nhỏ tự đặt. Các quan hệ toán được ghi ngay trong Notes. Mô phỏng hữu hạn không thay chứng minh cho mọi điểm. Code tính toán được chia sẻ giữa component và kiểm tra tại docs/.vitepress/theme/math-ai.mjs.

js
m = beta1*m + (1-beta1)*g;
v = beta2*v + (1-beta2)*g*g;
const mHat = m/(1-beta1**t), vHat = v/(1-beta2**t);
theta -= rate*mHat/(Math.sqrt(vHat)+epsilon);

4. Giải hệ Newton bằng Phương pháp Gradient liên hợp (Conjugate Gradient) ​

Trong phương pháp Newton, ta phải giải hệ phương trình Hd=−g. Khi mô hình có n=108 , H có kích thước 108×108, hoàn toàn không thể khởi tạo hay lưu trữ trên bất kỳ siêu máy tính nào.

Làm sao giải hệ Hz=b (với b=−g) mà không cần lưu ma trận H? Câu trả lời là Phương pháp (Conjugate Gradient - CG).

CG chỉ đòi hỏi một thao tác tính duy nhất: Tính tích ma trận - vector Hv (thao tác này có thể thực hiện nhanh chóng qua phép vi phân tự động cấp hai mà không cần lập ma trận H).

Với ma trận H đối xứng dương xác định (H≻0), khởi tạo z0, phần dư r0=b−Hz0, và hướng liên hợp đầu tiên p0=r0:

αk=rkTrkpkTHpk,zk+1=zk+αkpk,rk+1=rk−αkHpk,γk=rk+1Trk+1rkTrk,pk+1=rk+1+γkpk.

Đặc tính toán học nổi bật của CG: Các hướng tìm kiếm p0,p1,… trực giao với nhau qua ma trận H (piTHpj=0 với mọi i≠j). Trong số học chính xác, thuật toán CG giải đúng nghiệm của hệ n chiều trong tối đa không quá n bước lặp.

Ví dụ: Minh họa CG giải hệ tuyến tính hai chiều

Cho H=[1002] và b=[11]. Khởi tạo z0=(0,0)T.

  • Phần dư ban đầu: r0=b−Hz0=(1,1)T, hướng tìm kiếm p0=(1,1)T.
  • Tích ma trận-vector: Hp0=[12]. Mẫu số: p0THp0=1(1)+1(2)=3. Tử số: r0Tr0=12+12=2. Bước nhảy: α0=23. Vị trí mới: z1=z0+α0p0=(23,23)T. Phần dư mới:
    r1=r0−α0Hp0=[11]−23[12]=(13,−13)T.
  • Hệ số góc Gram-Schmidt: γ0=r1Tr1r0Tr0=2/92=19. Hướng liên hợp mới:
    p1=r1+γ0p0=[1/3−1/3]+19[11]=(49,−29)T.
    Kiểm tra tính liên hợp: p0THp1=[11][4/9−4/9]=0 (liên hợp hoàn hảo!).
  • Bước 2: α1=34, vị trí mới đạt đúng nghiệm: z2=(1,12)T, thỏa mãn Hz2=b.

5. Phương pháp Quasi-Newton: BFGS và Điều kiện Secant ​

Một hướng tiếp cận khác để khai thác độ cong mà không phải tính đạo hàm bậc hai là Phương pháp Quasi-Newton (Tựa Newton). Ý tưởng: Tích lũy thông tin độ cong từ chuỗi các vector dịch chuyển vị trí sk=θk+1−θk và biến thiên yk=gk+1−gk.

Theo định lý giá trị trung bình, ta có yk≈Hsk⟺H−1yk≈sk. Thuật toán (Broyden–Fletcher–Goldfarb–Shanno) xấp xỉ trực tiếp nghịch đảo Mk≈Hk−1 thỏa mãn điều kiện secant:

Mk+1yk=sk.

Công thức cập nhật nghịch đảo :

Mk+1=(I−ρkskykT)Mk(I−ρkykskT)+ρkskskT,

với hệ số chuẩn hóa ρk=1ykTsk. Nếu ykTsk>0 (điều kiện độ cong), ma trận Mk+1 được bảo đảm luôn đối xứng dương xác định (Mk+1≻0).

Để giải phóng bộ nhớ khi số chiều lớn, biến thể (Limited-memory BFGS) chỉ lưu trữ m cặp vector (s,y) gần nhất (thường m∈[5,20]), cho phép tính toán hướng tựa Newton d=−Mg với chi phí bộ nhớ tuyến tính O(m⋅n) thay vì O(n2).


6. Phương pháp luận Thiết kế Thực nghiệm So sánh Optimizer ​

Khi so sánh các thuật toán tối ưu trong nghiên cứu khoa học AI, một sai lầm rất phổ biến là kết luận vội vã rằng thuật toán A "vượt trội" thuật toán B chỉ dựa trên một vài biểu đồ huấn luyện ngẫu nhiên.

Một phép so sánh khoa học chuẩn mực đòi hỏi tuân thủ nghiêm ngặt các nguyên tắc sau:

  1. Kiểm soát biến độc lập: Giữ cố định kiến trúc mô hình, tập dữ liệu, phương pháp tiền xử lý và hạt giống ngẫu nhiên (random seed).
  2. Quy chuẩn tinh chỉnh siêu : Không thể so sánh một optimizer đã được dò siêu tham số kỹ lưỡng (learning rate, weight decay) với một optimizer dùng thông số mặc định. Mỗi thuật toán phải được quét siêu tham số công bằng trên tập xác thực (validation set).
  3. Báo cáo đa chiều: Không đánh đồng số bước lặp (iterations) với thời gian thực tế. Một bước Newton hay tốn nhiều phép tính hơn một bước hàng chục lần. Báo cáo bắt buộc phải phân tách:
    • Mất mát theo số bước lặp (cho thấy hiệu quả lý thuyết).
    • Mất mát theo thời gian thực (wall-clock time, cho thấy hiệu quả phần cứng).
    • Khả năng khái quát hóa trên tập kiểm thử (test accuracy/loss).

Bài tập tự luyện ​

Bài tập 1: Bản chất của Trung bình bình phương vs Bình phương trung bình

Giả sử một dao động qua lại và nhận hai giá trị liên tiếp là g1=2 và g2=−2.

  1. Tính trung bình cộng của và trung bình cộng của bình phương gradient.
  2. Điều gì sẽ xảy ra nếu ta dùng bình phương của trung bình cộng để ước lượng thang đo độ lớn v?
Lời giải
    • Trung bình cộng của : g¯=2+(−2)2=0.
    • Trung bình cộng của bình phương : g2―=22+(−2)22=4+42=4.
  1. Nếu dùng bình phương của trung bình cộng: (g¯)2=02=0. Toàn bộ thông tin về mức độ dao động mạnh mẽ của bị triệt tiêu hoàn toàn! Việc chia cho một đại lượng bằng 0 sẽ khiến bước cập nhật phát nổ. Do đó, việc lưu giữ trung bình của các bình phương (g⊙g) là điều kiện sống còn để đo lường độ lớn dao động địa hình.

Bài tập 2: Phân tích bước khởi đầu của Adam

Xét nhận bước đầu tiên g1=−3. Các siêu tham số là β1=0.9, β2=0.999, η=0.1. Hãy tính toán các trạng thái m1,v1,m^1,v^1 và xác định dấu của bước cập nhật Δθ1.

Lời giải
  • m1=(1−β1)g1=0.1(−3)=−0.3.
  • v1=(1−β2)g12=0.001(9)=0.009.
  • Hiệu chỉnh chệch:

\widehat m_1 &= \frac{m_1}{1 - \beta_1^1} = \frac{-0.3}{0.1} = -3. \ \widehat v_1 &= \frac{v_1}{1 - \beta_2^1} = \frac{0.009}{0.001} = 9. \end

−Bướccậpnhật:$$Δθ1=−ηm^1v^1+ε≈−0.1⋅−39=−0.1⋅−33=+0.1>0.

Dấu của âm được lưu giữ hoàn hảo trong m1, giúp di chuyển theo chiều dương để hạ thấp hàm mất mát.

Bài tập 3: Tại sao Adam không thể thay thế ma trận Hessian đầy đủ?

Cho hàm số có đầy đủ chứa tương quan chéo: H=[2112] và vector g=[10].

  1. Giải hệ phương trình Newton Hd=−g để tìm hướng Newton chính xác.
  2. So sánh kết quả trên với hướng cập nhật nếu chỉ co giãn độc lập theo từng phần tử đường chéo (như triết lý của /).
Lời giải
  1. Hướng Newton chính xác: Giải hệ phương trình:
    [2112][d1d2]=[−10]⟺{2d1+d2=−1d1+2d2=0⟹{d1=−2/3d2=1/3.
    Hướng Newton là d=(−23,13)T. Tọa độ thứ hai được điều chỉnh một lượng dương +1/3 nhờ thông tin tương quan chéo H12=1.
  2. Nếu chỉ co giãn theo đường chéo: Vector bước đi là:
    −diag(H)−1g=[−1/200−1/2][10]=[−1/20].
    Tọa độ thứ hai hoàn toàn không được cập nhật (d2=0). Điều này chứng minh rằng các thuật toán thích nghi từng tọa độ như hay chỉ xấp xỉ đường chéo của , hoàn toàn không thể nắm bắt được tương quan xoay trục giữa các biến trong không gian .

Bài tập 4: Phân tích toán học cơ chế hiệu chỉnh chệch (Bias Correction) của Adam

Thuật toán khởi tạo các vector moment bậc nhất và bậc hai bằng 0: m0=0, v0=0. Quy tắc cập nhật trung bình trượt hàm mũ tại bước t≥1:

mt=β1mt−1+(1−β1)gt,vt=β2vt−1+(1−β2)gt2,

với β1=0,9, β2=0,999.

  1. Khai triển đệ quy để biểu diễn mt thành tổ hợp tuyến tính của các quá khứ {g1,…,gt}.
  2. Giả sử thực tế có không đổi E[gi]=μ với mọi i. Chứng minh rằng:
    E[mt]=(1−β1t)μ.
    Từ đó suy ra công thức hiệu chỉnh chệch: m^t=mt1−β1t.
  3. Xét bước lặp đầu tiên t=1: Nếu không có cơ chế hiệu chỉnh chệch, bước nhảy của bị suy giảm một lượng bằng bao nhiêu? Giải thích tại sao việc thiếu hiệu chỉnh chệch khiến các bước lặp đầu bị đóng băng.
Lời giải
  1. Khai triển đệ quy moment bậc nhất: Tại bước t=1: m1=(1−β1)g1. Tại bước t=2:

    m2=β1m1+(1−β1)g2=β1(1−β1)g1+(1−β1)g2.

    Bằng quy nạp toán học, tại bước t bất kỳ:

    mt=(1−β1)∑i=1tβ1t−igi.
  2. toán học và cơ chế hiệu chỉnh: Lấy kỳ vọng toán học hai vế với giả thiết E[gi]=μ:

\mathbb{E}[m_t] &= (1 - \beta_1) \sum_{i=1}^t \beta_1^{t - i} \mathbb{E}[g_i] \ &= (1 - \beta_1) \mu \sum_{i=1}^t \beta_1^{t - i}. \end

Tổngcấpsốnhânvớicôngbội$β1$:

\sum_{i=1}^t \beta_1^{t - i} = 1 + \beta_1 + \beta_1^2 + \dots + \beta_1^{t-1} = \frac{1 - \beta_1^t}{1 - \beta_1}.

Thayvàobiểuthứckỳvọng:

\mathbb{E}[m_t] = (1 - \beta_1) \mu \left(\frac{1 - \beta_1^t}{1 - \beta_1}\right) = (1 - \beta_1^t) \mu.

Vì$β1<1$,tacó$1−β1t<1$,chứngminhrằng$mt$bịchệchnghiêmtrọngvềphíagốctọađộ$0$.Đểthuđượcmộtướclượngkhôngchệch($E[m^t]=μ$),tachia$mt$chođúnghệsốcocụm$1−β1t$:

\widehat{m}_t = \frac{m_t}{1 - \beta_1^t}.

Chứngminhhoàntoàntươngtựchomomentbậchai:$v^t=vt1−β2t$.3.∗∗Tácđộngtạibướclặpđầutiên$t=1$∗∗:−Vớimomentbậcnhất:$1−β11=1−0,9=0,1$.Khôngcóhiệuchỉnh,$m1=0,1g1$bịthunhỏ10lần.−Vớimomentbậchai:$1−β21=1−0,999=0,001$.Khôngcóhiệuchỉnh,$v1=0,001g12$bịthunhỏ1000lần.TỉsốcậpnhậtcủaAdamkhikhônghiệuchỉnh:

\frac{m_1}{\sqrt{v_1}} = \frac{0{,}1 g_1}{\sqrt{0{,}001 g_1^2}} = \frac{0{,}1}{\sqrt{0{,}001}} \frac{g_1}{|g_1|} = \frac{0{,}1}{0{,}0316} \operatorname{sgn}(g_1) \approx 3{,}16 \operatorname{sgn}(g_1).

Trongkhitỉsốđãhiệuchỉnh:

\frac{\widehat{m}_1}{\sqrt{\widehat{v}_1}} = \frac{g_1}{\sqrt{g_1^2}} = \operatorname{sgn}(g_1) = 1 \operatorname{sgn}(g_1).

Nếukhôngcóhiệuchỉnhchệch,độlệchgiữabậcmộtvàbậchailàmbiếndạngthangđobướcnhảybanđầu.Đặcbiệttrongcáctầngsâukhigradientrấtnhỏ,$vt$bịkéosátvề0làmmẫusốmấtổnđịnhsốhọc,hoặcngượclạilàmcácbướclặpđầubịcogiậtmạnhtrướckhibướcvàoquỹđạoổnđịnh.

Bài tập 5: So sánh động lực học suy giảm bước học: AdaGrad vs RMSProp

Xét bài toán tối ưu với một có không đổi tại mỗi bước lặp: Giả sử gt=c>0 với mọi t≥1.

  1. Với thuật toán : Gt=∑i=1tgi2=tc2. Tính bước nhảy ΔθtAda=ηGtgt và chứng minh tổng quãng đường di chuyển ∑t=1TΔθtAda tăng trưởng theo tốc độ O(T), dẫn tới hiện tượng triệt tiêu bước học (learning rate dying).
  2. Với thuật toán : Biến tích lũy vt=βvt−1+(1−β)gt2 với β∈(0,1) và v0=0.
    • Tìm biểu thức giải tích của vt và giới hạn dừng khi t→∞.
    • Tính bước nhảy ổn định ΔθtRMS khi t lớn.
  3. Giải thích tại sao duy trì được khả năng thích nghi và học tập liên tục trong không gian tối ưu phi lồi của học sâu.
Lời giải
  1. Động lực học của : Tổng bình phương tích lũy tại bước t:

    Gt=∑i=1tc2=tc2.

    Độ dài bước nhảy tại bước t (bỏ qua ϵ>0 rất nhỏ):

    ΔθtAda=ηtc2c=ηt.

    Tổng quãng đường đi được sau T bước lặp:

    ST=∑t=1TΔθtAda=η∑t=1T1t.

    Theo định lý tích phân so sánh:

    ∫1T1tdt=[2t]1T=2T−2.

    Do đó ST=O(T). Độ dài bước nhảy suy giảm theo 1/t→0. Khi T lớn, bước nhảy trở nên nhỏ tới mức gần như đóng băng hoàn toàn. Nếu mô hình gặp một vùng đồi dốc ở giai đoạn đầu, Gt tích lũy quá lớn khiến thuật toán kiệt sức và không bao giờ thoát ra được các thung lũng phẳng sau đó.

  2. Động lực học của : Khai triển đệ quy với gi2=c2:

v_t &= (1 - \beta) c^2 \sum_{i=1}^t \beta^{t - i} \ &= (1 - \beta) c^2 \left(\frac{1 - \beta^t}{1 - \beta}\right) = (1 - \beta^t) c^2. \end

Khi$t→∞$,vì$β∈(0,1)$,sốhạng$βt→0$.Dođó:

\lim_{t \to \infty} v_t = c^2.

Bướcnhảyổnđịnhkhi$t$lớn:

\Delta \theta_t^{\text{RMS}} = \frac{\eta}{\sqrt{c^2}} c = \eta.

Tổngquãngđườngdichuyểnsau$T$bước:

S_T \approx \sum_{t=1}^T \eta = \eta T = O(T).

3.∗∗ƯuthếvượttrộicủaRMSProp∗∗:Bằngcáchthaythếphépcộngdồnlịchsửvôhạnbằngcửasổtrượttrungbìnhmũcóđộdàihiệudụngkhoảng$11−β$bước(với$β=0,9$,cửasổkhoảng10bước),RMSProp"lãngquên"cácgradientquákhứxaxôi.Thuậttoánduytrìtốcđộhọchữuhạnổnđịnh,chophépmôhìnhtiếptụcđiềuchỉnhlinhhoạtkhicảnhquantốiưuthayđổitừváchnúidốcsangvùnglòngchảophẳng.

Bài tập 6: Phương pháp Gradient liên hợp (Conjugate Gradient) trên hàm toàn phương

Cho bài toán cực tiểu hóa hàm toàn phương lồi:

f(x)=12xTAx−bTx,

với ma trận đối xứng xác định dương A=[3112] và vector b=[55]. Khởi tạo từ x0=(0,0)T.

  1. Bước 1: Tính g0=∇f(x0) và chọn hướng đầu tiên p0=−g0. Tìm bước nhảy tối ưu α0=(p0)T(−g0)(p0)TAp0 và điểm cập nhật x1.
  2. Bước 2: Tính mới g1=∇f(x1). Xác định hệ số trực giao Gram-Schmidt liên hợp β1=(g1)TAp0(p0)TAp0 để xây dựng hướng liên hợp thứ hai p1=−g1+β1p0.
  3. Kiểm tra tính liên hợp ma trận (p0)TAp1=0, tính bước nhảy α1 và tìm nghiệm x2. Kiểm chứng rằng x2 chính là nghiệm tối ưu toàn cục chính xác x∗=A−1b.
Lời giải
  1. Bước 1 của : của hàm toàn phương: ∇f(x)=Ax−b. Tại điểm khởi đầu x0=(0,0)T:

    g0=Ax0−b=−b=[−5−5].

    Hướng dốc nhất ban đầu:

    p0=−g0=[55].

    Tích vô hướng với ma trận A:

    Ap0=[3112][55]=[15+55+10]=[2015].

    Mẫu số:

    (p0)TAp0=5(20)+5(15)=100+75=175.

    Tử số: (p0)T(−g0)=∥p0∥22=52+52=50. Độ dài bước nhảy tối ưu:

    α0=50175=27.

    Cập nhật điểm mới:

    x1=x0+α0p0=[00]+27[55]=[10/710/7].
  2. Bước 2: Xây dựng hướng liên hợp: Tính tại điểm mới x1:

    g1=Ax1−b=107[43]−[55]=[40/7−35/730/7−35/7]=[5/7−5/7].

    Tích vô hướng của g1 với p0: (g1)Tp0=57(5)+(−57)(5)=0 ( mới trực giao hoàn hảo với hướng trước).

    Xác định hệ số liên hợp β1 theo công thức Polak-Ribière hoặc Fletcher-Reeves:

    β1=∥g1∥22∥g0∥22=(5/7)2+(−5/7)252+52=50/4950=149.

    Hướng liên hợp mới:

    p1=−g1+β1p0=[−5/75/7]+149[55]=[−35/49+5/4935/49+5/49]=[−30/4940/49].

    Rút gọn tỉ lệ bằng cách nhân với 4910: Chọn vector hướng tương đương p1=[−34].

  3. Kiểm tra tính liên hợp và bước nhảy cuối: Kiểm tra tính liên hợp A-trực giao:

    Ap1=[3112][−34]=[−9+4−3+8]=[−55].

    Tích vô hướng:

    (p0)TAp1=[55][−55]=−25+25=0.

    Tính chất liên hợp được nghiệm đúng hoàn toàn.

    Bước nhảy α1:

    α1=−(g1)Tp1(p1)TAp1=−57(−3)+(−57)(4)(−3)(−5)+4(5)=−−35/715+20=−−535=17.

    Cập nhật nghiệm x2:

    x2=x1+α1p1=[10/710/7]+17[−34]=[10/7−3/710/7+4/7]=[7/714/7]=[12].

    Kiểm tra nghiệm giải tích của Ax=b:

    [3112][12]=[3(1)+1(2)1(1)+2(2)]=[55]=b.

    Nghiệm chính xác tuyệt đối được tìm thấy sau đúng n=2 bước lặp mà không cần tính toán nghịch đảo ma trận A−1.

Bài tập 7: Điều kiện cát tuyến và cập nhật xấp xỉ Hessian Quasi-Newton BFGS

Các phương pháp Quasi-Newton xấp xỉ nghịch đảo Hk≈(∇2f(xk))−1 qua từng bước lặp mà không cần giải . Đặt độ dời sk=xk+1−xk và độ biến thiên yk=∇f(xk+1)−∇f(xk).

  1. Thiết lập phương trình cát tuyến (Secant Equation) cho ma trận độ cong Bk+1≈∇2f(xk+1) và cho ma trận nghịch đảo Hk+1.
  2. Điều kiện độ cong (Curvature Condition): Chứng minh rằng để ma trận xấp xỉ Bk+1 xác định dương (Bk+1≻0), điều kiện cần là skTyk>0.
  3. Công thức cập nhật cho nghịch đảo :
    Hk+1=(I−ρkskykT)Hk(I−ρkykskT)+ρkskskT,ρk=1ykTsk.
    Chứng minh rằng nếu Hk≻0 và ykTsk>0, thì ma trận mới Hk+1 luôn tự động xác định dương (Hk+1≻0).
Lời giải
  1. Phương trình cát tuyến: Theo khai triển Taylor của quanh điểm xk+1:

    ∇f(xk)≈∇f(xk+1)+∇2f(xk+1)(xk−xk+1).

    Chuyển vế:

    ∇f(xk+1)−∇f(xk)≈∇2f(xk+1)(xk+1−xk).

    Đặt yk=∇f(xk+1)−∇f(xk) và sk=xk+1−xk, ta thu được phương trình cát tuyến:

    Bk+1sk=yk.

    Nhân cả hai vế với ma trận nghịch đảo Hk+1=Bk+1−1, ta có phương trình cát tuyến cho ma trận nghịch đảo:

    Hk+1yk=sk.
  2. Điều kiện độ cong: Nhân vế trái của phương trình cát tuyến với skT:

    skTBk+1sk=skTyk.

    Nếu Bk+1≻0 (xác định dương), thì với mọi vector khác không sk≠0, dạng toàn phương bắt buộc phải dương:

    skTBk+1sk>0⟹skTyk>0.

    Điều này đồng nghĩa với việc phải biến thiên cùng chiều với bước nhảy (hàm số có độ cong dương dọc theo hướng tìm kiếm).

  3. Chứng minh tính xác định dương của : Lấy một vector bất kỳ z≠0∈Rn. Xét dạng toàn phương:

    zTHk+1z=zT(I−ρkskykT)Hk(I−ρkykskT)z+ρk(zTsk)2.

    Đặt vector w=(I−ρkykskT)z=z−ρk(skTz)yk. Biểu thức trở thành:

    zTHk+1z=wTHkw+ρk(skTz)2.

    Vì Hk≻0, ta có wTHkw≥0. Hơn nữa ρk=1ykTsk>0 nên số hạng thứ hai ρk(skTz)2≥0. Do đó zTHk+1z≥0.

    Xét trường hợp dấu bằng triệt tiêu: Để zTHk+1z=0, cả hai số hạng không âm đều phải bằng 0:

    • Số hạng thứ hai bằng 0 kéo theo skTz=0.
    • Khi skTz=0, vector w trở thành w=z−ρk(0)yk=z.
    • Thay vào số hạng thứ nhất: wTHkw=zTHkz=0.
    • Vì Hk≻0, điều này buộc z=0, mâu thuẫn với giả thiết z≠0.

    Vậy zTHk+1z>0 với mọi z≠0. Ma trận cập nhật bảo toàn tính xác định dương vĩnh cửu.

Bài tập 8: Cơ chế làm mượt bề mặt mất mát của Batch Normalization

Trong mạng nơ-ron sâu, Batch Normalization (BN) chuẩn hóa một tập hợp các kích hoạt tiền phi tuyến {x1,…,xm} trong một lô nhỏ kích thước m:

μB=1m∑i=1mxi,σB2=1m∑i=1m(xi−μB)2,x^i=xi−μBσB2+ε.

Đầu ra cuối cùng được co dãn và dịch chuyển qua hai học được γ và β: yi=γx^i+β.

  1. Chứng minh rằng đầu ra chuẩn hóa có mẫu bằng 0 và mẫu xấp xỉ bằng 1: Biểu thức 1m∑i=1mx^i=0 và 1m∑i=1mx^i2=σB2σB2+ε≈1.
  2. Tính bất biến đối với thang đo trọng số (Scale Invariance): Giả sử x=Wu. Nếu ma trận trọng số bị nhân với một hằng số dương α>0 (W→αW), hãy chứng minh rằng x^i hoàn toàn không thay đổi.
  3. Giải thích tại sao tính bất biến này ngăn chặn hiện tượng bùng nổ và làm mượt bề mặt mất mát (Loss Landscape Smoothing), cho phép sử dụng tốc độ học lớn hơn đáng kể.
Lời giải
  1. Kiểm tra và mẫu:

    • mẫu của x^i:
      1m∑i=1mx^i=1m∑i=1mxi−μBσB2+ε=1σB2+ε(1m∑i=1mxi−μB)=μB−μBσB2+ε=0.
    • mẫu của x^i:
      1m∑i=1mx^i2=1m∑i=1m(xi−μB)2σB2+ε=1m∑i=1m(xi−μB)2σB2+ε=σB2σB2+ε≈1.
  2. Tính bất biến đối với phép co dãn trọng số: Khi W′=αW với α>0, kích hoạt mới là xi′=αxi.

    • Trung bình mẫu mới:
      μB′=1m∑i=1m(αxi)=αμB.
    • mẫu mới:
      σB′2=1m∑i=1m(αxi−αμB)2=α2σB2.
    • Đầu ra chuẩn hóa mới (bỏ qua ε rất nhỏ):
      x^i′=αxi−αμBα2σB2=α(xi−μB)ασB=xi−μBσB=x^i.

    Đầu ra của tầng BN hoàn toàn bất biến đối với độ lớn của ma trận trọng số W.

  3. Cơ chế làm mượt bề mặt mất mát: Theo quy tắc dây chuyền, đối với ma trận trọng số co dãn:

    ∇W′L=1α∇WL.

    Nếu trọng số W có xu hướng tăng lớn trong quá trình huấn luyện, của nó tự động co nhỏ lại theo tỉ lệ nghịch 1/α. Điều này triệt tiêu hoàn toàn khả năng bùng nổ gradient (exploding gradients).

    Nghiên cứu của Santurkar et al. (2018) đã chứng minh rằng lợi ích cốt lõi của BN không chỉ nằm ở việc giảm "internal covariate shift", mà chính là làm cho hàm mất mát thỏa mãn điều kiện Lipschitz với hằng số L nhỏ hơn nhiều và ổn định hơn. ít bị biến động đột ngột theo các phương hướng không gian, cho phép người huấn luyện tự tin tăng tốc độ học lên gấp 5-10 lần mà không sợ thuật toán bị phân kỳ.


Tóm tắt cốt lõi ​

  1. : Khởi xướng cơ chế chia nhỏ tốc độ học theo tổng bình phương dồn tích, phù hợp với dữ liệu thưa nhưng dễ bị tắt dần bước nhảy.
  2. : Thay thế tổng dồn tích bằng trung bình trượt hàm mũ (EMA), tạo ra cửa sổ bộ nhớ hữu hạn giúp duy trì khả năng học lâu dài.
  3. : Kết hợp cơ chế định hướng của và điều chỉnh bước nhảy thích nghi của , tích hợp bộ hiệu chỉnh chệch khởi tạo chuẩn xác.
  4. & : Cung cấp công cụ xấp xỉ bậc hai siêu việt, giải phóng thuật toán khỏi gánh nặng tính toán và lưu trữ khổng lồ.

Tài liệu tham khảo và Đọc thêm ​

Dành cho người học muốn nghiên cứu chuyên sâu về các thuật toán tối ưu thích nghi:

  • Diederik P. Kingma & Jimmy Ba (2014), : A Method for Stochastic Optimization, ICLR. Bài báo kinh điển đặt nền móng cho thuật toán Adam và cơ chế hiệu chỉnh chệch.
  • John Duchi, Elad Hazan & Yoram Singer (2011), Adaptive Subgradient Methods for Online Learning and Stochastic Optimization, JMLR. Nguồn gốc của thuật toán và giải tích subgradient thích nghi.
  • Jonathan Richard Shewchuk, An Introduction to the Method Without the Agonizing Pain, Carnegie Mellon University. Tài liệu nhập môn trực quan và sâu sắc nhất về phương pháp Gradient liên hợp.

Tiếp theo: Bài 07: Quy hoạch tuyến tính và Quy hoạch động Bellman.

Ảnh & sơ đồ
100%
Ảnh tài liệu được phóng to