Giao diệ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
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
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 độ.
(thường chọn ) 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
- nào có dồn dập: Đại lượng
tăng vọt, tự động co nhỏ lại. - nào có thưa thớt: Đại lượng
tăng chậm, 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
- Bước 1:
- Tích lũy:
. - Bước cập nhật:
.
- Tích lũy:
- Bước 2:
- Tích lũy:
. - Bước cập nhật:
- Tích lũy:
Bước nhảy đã tự động giảm từ
Nhược điểm chí tử của trong học sâu: Vì
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):
với hệ số suy giảm thường chọn
Ý nghĩa toán học: Triển khai đệ quy của
Các cách hiện tại
Ví dụ: Tính toán bước đầu với RMSProp
Khởi tạo
. - Bước cập nhật:
Bước nhảy ban đầu này lớn hơn so với (
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
Trong đó:
: Ước lượng moment bậc nhất (quán tính ). : Ước lượng moment bậc hai (thang đo bình phương ). : Các moment đã được hiệu chỉnh chệch (bias-corrected).
Các siêu tiêu chuẩn:
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
Xét kỳ vọng của
Lấy kỳ vọng hai vế (giả sử kỳ vọng của là hằng số
Rõ ràng
Do đó, phép chia cho
Khi số bước
3.2 Từng bước tính toán số học của Adam
Xét chuỗi thử nghiệm
| Đại lượng trạng thái | Bước 1 ( | Bước 2 ( |
|---|---|---|
| Hệ số hiệu chỉnh | ||
| Hệ số hiệu chỉnh | ||
| Độ dời cập nhật |
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
Làm sao giải hệ
CG chỉ đòi hỏi một thao tác tính duy nhất: Tính tích ma trận - vector
Với ma trận
Đặc tính toán học nổi bật của CG: Các hướng tìm kiếm
Ví dụ: Minh họa CG giải hệ tuyến tính hai chiều
Cho
- Phần dư ban đầu:
, hướng tìm kiếm . - Tích ma trận-vector:
. Mẫu số: . Tử số: . Bước nhảy: . Vị trí mới: . Phần dư mới: - Hệ số góc Gram-Schmidt:
. Hướng liên hợp mới: Kiểm tra tính liên hợp:(liên hợp hoàn hảo!). - Bước 2:
, vị trí mới đạt đúng nghiệm: , thỏa mãn .
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í
Theo định lý giá trị trung bình, ta có
Công thức cập nhật nghịch đảo :
với hệ số chuẩn hóa
Để giải phóng bộ nhớ khi số chiều lớn, biến thể (Limited-memory BFGS) chỉ lưu trữ
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:
- 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).
- 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).
- 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à
- Tính trung bình cộng của và trung bình cộng của bình phương gradient.
- Đ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
?
Lời giải
- Trung bình cộng của :
. - Trung bình cộng của bình phương :
.
- Trung bình cộng của :
- Nếu dùng bình phương của trung bình cộng:
. 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 ( ) 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
Lời giải
. . - 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
Dấu của âm được lưu giữ hoàn hảo trong
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:
- Giải hệ phương trình Newton
để tìm hướng Newton chính xác. - 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
- Hướng Newton chính xác: Giải hệ phương trình:Hướng Newton là
. Tọa độ thứ hai được điều chỉnh một lượng dương nhờ thông tin tương quan chéo . - Nếu chỉ co giãn theo đường chéo: Vector bước đi là:Tọa độ thứ hai hoàn toàn không được cập nhật (
). Đ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
với
- Khai triển đệ quy để biểu diễn
thành tổ hợp tuyến tính của các quá khứ . - Giả sử thực tế có không đổi
với mọi . Chứng minh rằng: Từ đó suy ra công thức hiệu chỉnh chệch:. - Xét bước lặp đầu tiên
: 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
Khai triển đệ quy moment bậc nhất: Tại bước
: . Tại bước : Bằng quy nạp toán học, tại bước
bất kỳ: 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
:
\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
\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}.
\mathbb{E}[m_t] = (1 - \beta_1) \mu \left(\frac{1 - \beta_1^t}{1 - \beta_1}\right) = (1 - \beta_1^t) \mu.
\widehat{m}_t = \frac{m_t}{1 - \beta_1^t}.
\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).
\frac{\widehat{m}_1}{\sqrt{\widehat{v}_1}} = \frac{g_1}{\sqrt{g_1^2}} = \operatorname{sgn}(g_1) = 1 \operatorname{sgn}(g_1).
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ử
- Với thuật toán :
. Tính bước nhảy và chứng minh tổng quãng đường di chuyển tăng trưởng theo tốc độ , dẫn tới hiện tượng triệt tiêu bước học (learning rate dying). - Với thuật toán : Biến tích lũy
với và . - Tìm biểu thức giải tích của
và giới hạn dừng khi . - Tính bước nhảy ổn định
khi lớn.
- Tìm biểu thức giải tích của
- 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
Động lực học của : Tổng bình phương tích lũy tại bước
: Độ dài bước nhảy tại bước
(bỏ qua rất nhỏ): Tổng quãng đường đi được sau
bước lặp: Theo định lý tích phân so sánh:
Do đó
. Độ dài bước nhảy suy giảm theo . Khi 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, 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 đó. Động lực học của : Khai triển đệ quy với
:
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
\lim_{t \to \infty} v_t = c^2.
\Delta \theta_t^{\text{RMS}} = \frac{\eta}{\sqrt{c^2}} c = \eta.
S_T \approx \sum_{t=1}^T \eta = \eta T = O(T).
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:
với ma trận đối xứng xác định dương
- Bước 1: Tính
và chọn hướng đầu tiên . Tìm bước nhảy tối ưu và điểm cập nhật . - Bước 2: Tính mới
. Xác định hệ số trực giao Gram-Schmidt liên hợp để xây dựng hướng liên hợp thứ hai . - Kiểm tra tính liên hợp ma trận
, tính bước nhảy và tìm nghiệm . Kiểm chứng rằng chính là nghiệm tối ưu toàn cục chính xác .
Lời giải
Bước 1 của : của hàm toàn phương:
. Tại điểm khởi đầu : Hướng dốc nhất ban đầu:
Tích vô hướng với ma trận
: Mẫu số:
Tử số:
. Độ dài bước nhảy tối ưu: Cập nhật điểm mới:
Bước 2: Xây dựng hướng liên hợp: Tính tại điểm mới
: Tích vô hướng của
với : ( mới trực giao hoàn hảo với hướng trước). Xác định hệ số liên hợp
theo công thức Polak-Ribière hoặc Fletcher-Reeves: Hướng liên hợp mới:
Rút gọn tỉ lệ bằng cách nhân với
: Chọn vector hướng tương đương . 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
-trực giao: Tích vô hướng:
Tính chất liên hợp được nghiệm đúng hoàn toàn.
Bước nhảy
: Cập nhật nghiệm
: Kiểm tra nghiệm giải tích của
: Nghiệm chính xác tuyệt đối được tìm thấy sau đúng
bước lặp mà không cần tính toán nghịch đảo ma trận .
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
- Thiết lập phương trình cát tuyến (Secant Equation) cho ma trận độ cong
và cho ma trận nghịch đảo . - Điều kiện độ cong (Curvature Condition): Chứng minh rằng để ma trận xấp xỉ
xác định dương ( ), điều kiện cần là . - Công thức cập nhật cho nghịch đảo :Chứng minh rằng nếu
và , thì ma trận mới luôn tự động xác định dương ( ).
Lời giải
Phương trình cát tuyến: Theo khai triển Taylor của quanh điểm
: Chuyển vế:
Đặt
và , ta thu được phương trình cát tuyến: Nhân cả hai vế với ma trận nghịch đảo
, ta có phương trình cát tuyến cho ma trận nghịch đảo: Điều kiện độ cong: Nhân vế trái của phương trình cát tuyến với
: Nếu
(xác định dương), thì với mọi vector khác không , dạng toàn phương bắt buộc phải dương: Đ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).
Chứng minh tính xác định dương của : Lấy một vector bất kỳ
. Xét dạng toàn phương: Đặt vector
. Biểu thức trở thành: Vì
, ta có . Hơn nữa nên số hạng thứ hai . Do đó . Xét trường hợp dấu bằng triệt tiêu: Để
, 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
. - Khi
, vector trở thành . - Thay vào số hạng thứ nhất:
. - Vì
, điều này buộc , mâu thuẫn với giả thiết .
Vậy
với mọi . Ma trận cập nhật bảo toàn tính xác định dương vĩnh cửu. - Số hạng thứ hai bằng 0 kéo theo
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
Đầu ra cuối cùng được co dãn và dịch chuyển qua hai học được
- Chứng minh rằng đầu ra chuẩn hóa có mẫu bằng
và mẫu xấp xỉ bằng : Biểu thức và . - Tính bất biến đối với thang đo trọng số (Scale Invariance): Giả sử
. Nếu ma trận trọng số bị nhân với một hằng số dương ( ), hãy chứng minh rằng hoàn toàn không thay đổi. - 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
Kiểm tra và mẫu:
- mẫu của
: - mẫu của
:
- mẫu của
Tính bất biến đối với phép co dãn trọng số: Khi
với , kích hoạt mới là . - Trung bình mẫu mới:
- mẫu mới:
- Đầu ra chuẩn hóa mới (bỏ qua
rất nhỏ):
Đầ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ố
. - Trung bình mẫu mới:
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:
Nếu trọng số
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 . Đ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ố
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
- : 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.
- : 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.
- : 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.
- & : 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.