• Công thức đổi biến cho tích phân hàm nhiều biến.Sau đây nhóm sẽ trình bày lại một số định nghĩa, tính chất sẽ dùng trong bài báo cáo.. Định thức của ma trận có một số tính chất như sau
Trang 1Projects in Mathematics and Applications
Mô hình luồng chuẩn hóa
Ngày 31 tháng 8 năm 2025
Nguyễn Anh Khoa ∗ †Nguyễn Minh Khôi
Nguyễn Thuý Nam Trân ‡ §Nguyễn Ngọc Khang
∗Trường Phổ thông Năng khiếu, ĐHQG-TPHCM
†Trường THPT Nguyễn Thị Minh Khai, TPHCM
‡Trường Phổ thông Năng khiếu, ĐHQG-TPHCM
§Trường THPT Chuyên Lê Quý Đôn, Bà Rịa-Vũng Tàu
Trang 2Lời cảm ơn
Lời đầu tiên, chúng em xin gửi lời trân trọng và lời cảm ơn sâu sắc đến Ban Tổ Chức Trại hèPIMA - Toán học và Ứng dụng, trường Đại học Khoa Học Tự Nhiên, cùng các đơn vị tài trợ
đã tạo điều kiện cho chúng em được tham gia vào một mùa trại hè thật sự ý nghĩa Chính nhờ
sự chuẩn bị chu đáo, sự tận tâm của Ban Tổ Chức mà chúng em đã có tuần hè trọn vẹn, đượchọc hỏi và trải nghiệm trong một môi trường vừa nghiêm túc, vừa đầy cảm hứng, đam mê vềToán học
Chúng em cũng xin bày tỏ lòng biết ơn đến các thầy cô và các anh chị cố vấn, những người đađồng hành, chỉ dẫn và luôn kiên nhẫn trong suốt quá trình chúng em tham gia trại Những bàigiảng, những buổi thảo luận và cả những giờ làm việc dưới sự hướng dẫn tận tình ấy đã khôngchỉ giúp chúng em hoàn thành dự án mà còn để lại nhiều bài học quý báu về kiến thức, phươngpháp nghiên cứu và cách làm việc trong môi trường đầy sự chuyên nghiệp
Đặc biệt nhất, chúng em xin gửi lời cảm ơn sâu sắc đến chị Đỗ Lê Tuyết Ly và chị Đặng TrọngBảo Thi - hai mentor đã luôn tận tâm đồng hành, hỗ trợ và hướng dẫn chúng em trong suốtquá trình thực hiện dự án Chúng em cũng vô cùng biết ơn Ban Tổ Chức và các thầy cô, kháchmời vì đã cung cấp những đề tài và kiến thức nền tảng về Toán Tin, giúp chúng em hiểu rõhơn về tính ứng dụng thực tiễn của toán học trong nghiên cứu và cuộc sống
Xin chúc trại hè PiMA đạt nhiều thành công hơn trong tương lai sắp tới, và tiếp tục duy trìcác mùa trại hè sau nữa để mang kiến thức và ứng dụng của Toán đến gần hơn các bạn họcsinh THPT trên cả nước.Trại hè PIMA không chỉ trang bị cho chúng em thêm kiến thức và kỹnăng, mà còn mở ra một hành trình trải nghiệm trọn vẹn, khích lệ tinh thần học hỏi và khámphá Đây không chỉ là kỷ niệm đáng nhớ của mùa hè, mà còn là cơ hội đế chúng em tích luỹhành trang, chuẩn bị vững vàng hơn cho chằng đường phía trước, tự tin trên con đường họctập, nghiên cứu và trưởng thành trong tương lai
Một lần nữa, chúng em xin gửi lời cảm ơn chân thành đến tất cả những ai đã góp phần tạonên một mùa hè đầy ý nghĩa Cảm ơn PiMA vì đã mang đến cho chúng em một trải nghiệmđáng nhớ và nhiều giá trị quý báu
Trang 3Tóm tắt nội dung
Normalizing Flows là một phương pháp mô hình hóa phân phối xác suất phức tạp bằng cáchbiến đổi một phân phối đơn giản thông qua một chuỗi các ánh xạ khả nghịch và khả vi Bài báocáo giới thiệu nguyên lý cơ bản của công thức đổi biến, cùng với các mô hình luồng chuẩn hoáphổ biến Ngoài ra, hai vấn đề then chốt là khả năng biểu diễn và hiệu quả tính toán được phântích kỹ lưỡng Độ chính xác trong ước lượng mật độ và việc tối ưu thông qua log-likelihood đượcthảo luận, cùng với những kỹ thuật mở rộng như coupling layers, Ứng dụng của NormalizingFlows trong học máy, sinh dữ liệu và suy luận xác suất được trình bày, đồng thời cũng chỉ ramột số hạn chế về độ phức tạp mô hình và chi phí tính toán
Trang 4Mục lục
1.1 Đại số tuyến tính 1
1.2 Giải tích 1
2 Giới thiệu luồng chuẩn hóa 2 3 Xây dựng luồng chuẩn hoá 3 3.1 Autoregressive flow 4
3.2 Bộ biến đổi Affine 4
3.3 Bộ điều kiện Coupling Layer 5
3.4 Lớp ghép cặp Affine 6
4 Ước lượng tham số 7 5 Cài đặt 8 5.1 Cài đặt lớp kết hợp affine 8
5.2 Cài đặt luồng chuẩn hoá 9
6 Real NVP 9 6.1 Mặt nạ nhị phân 10
6.2 Kiến trúc đa tầng tỉ lệ 11
7 Mở rộng: Luồng tuyến tính 11 7.1 Tổng quan về luồng tuyến tính 11
7.2 Luồng PLU 12
9 Hướng phát triển trong tương lai 13
Trang 5• Công thức đổi biến cho tích phân hàm nhiều biến.
Sau đây nhóm sẽ trình bày lại một số định nghĩa, tính chất sẽ dùng trong bài báo cáo Phầnchứng minh các tính chất sẽ nằm ở phụ lục
n
Y
i =1
ai σ(i ),trong đó Sn là tập tất cả các hoán vị trên tập {1, , n} và sgn(σ) là dấu của hoán vị σ
Ta có 1 cách ký hiệu khác cho det(A):
det(A) =
a11 a12 · · · a1n
a21 a22 · · · a2n
. .
an1 an2 · · · ann
Tính chất 1.3 Định thức của ma trận có một số tính chất như sau:
a) Nếu A là ma trận tam giác, khi đó det(A) bằng tích các phần tử trên đường chéo
b) det(AB) = det(A) det(B) Hệ quả: det(A−1) = det(A)−1 nếu A khả nghịch
c) det(A) = det(AT)
1
Trang 6d) Nếu hoán đổi 2 hàng của ma trận A thì det(A) đổi dấu.
e) Phép biến đổi r owi1 ← r owi + k r owj không làm thay đổi định thức
Định nghĩa 1.4 (Ma trận hoán vị) Cho ma trận P∈ Rn×n là ma trận hoán vị nếu nó thu đượcbằng cách hoán vị các hàng hoặc cột của một ma trận đơn vị kích thước n× n
Tính chất 1.5 Cho P là ma trận hoán vị Khi đó det(P) =±1
Định nghĩa 1.6 (Ma trận Jacobi) Cho hàm số f : Rn
→ Rm với các hàm thành phần
fi : Rn → R, i = 1, 2, , m Các đạo hàm riêng bậc nhất (nếu tồn tại) được xếp thành một
ma trận có kích thước m× n, gọi là ma trận Jacobi (Jacobian) của f :
Tổng quát: Đặt g = gK◦ · · · ◦ g1, z0= z , zK = x , zk = gk(xk−1) với k = 1, K Khi đó:
U
(f ◦ ϕ)| det Jϕ|
2 Giới thiệu luồng chuẩn hóa
Normalizing flows cung cấp một cách tổng quát để xây dựng các phân phối xác suất linh hoạttrên các biến ngẫu nhiên liên tục Gọi x là một vector thực D-chiều, và giả sử ta muốn địnhnghĩa một phân phối chung trên x Ý tưởng chính của mô hình dựa trên flow là biểu diễn x nhưmột phép biến đổi T của một vector thực z được lấy mẫu từ pz(z):
x = T (z), z∼ pz(z) (1)
Ta gọi pz(z) là phân phối cơ sở (base distribution) của mô hình luồng Phép biến đổi T vàphân phối cơ sở pz(z) có thể có các tham số riêng (lần lượt ký hiệu là φ và ψ); điều này sinh
ra một họ phân phối trên x được tham số hóa bởi {φ, ψ}
Tính chất cốt lõi của các mô hình luồng là phép biến đổi T phải khả nghịch và cả T lẫn
T−1 đều phải khả vi Những phép biến đổi như vậy được gọi là phép vi đồng phôi và yêu cầu zcũng là vector D-chiều Trong các điều kiện này, mật độ xác suất của x được xác định rõ ràng
và có thể tính bằng công thức đổi biến:
px(x) = pz(z)|det JT(z)|−1, với z = T−1(x) (2)
1 r owi là vector hàng thứ i của ma trận
2
Trang 7Tương đương, ta cũng có thể viết px(x) theo định thức Jacobian của T−1:
px(x) = pz T−1(x) |det JT −1(x)| (3)Trực giác mà nói, ta có thể xem phép biến đổi T như việc “bóp méo” không gian RD để điềuchỉnh mật độ pz(z) thành px(x) Định thức Jacobian tuyệt đối| det JT(z)| đo lường sự thay đổitương đối về thể tích của một lân cận nhỏ quanh z do T gây ra Nói một cách đơn giản, hãycoi d z là một lân cận rất nhỏ quanh z và d x là lân cận nhỏ quanh x mà d z được ánh xạ tới.Khi đó, ta có:
| det JT(z)| ≈ Vol(d x)
Vol(d z),tức là thể tích của d x chia cho thể tích của d z
Khối xác suất trong d x phải bằng khối xác suất trong d u Do đó, nếu d z được “mở rộng”, thìmật độ tại x sẽ nhỏ hơn mật độ tại z Ngược lại, nếu d z bị “co lại”, thì mật độ tại x sẽ lớn hơn
Một tính chất quan trọng của các phép vi đồng phô là chúng có thể lấy hàm hợp Với haiphép vi đồng phôi T1 và T2, hàm hợp T2◦ T1 cũng là phép vi đồng phôi Nghịch đảo và địnhthức Jacobian của nó được cho bởi:
(T2◦ T1)−1 = T1−1◦ T2−1 (5)det JT2◦T1(z) = det JT2(T1(z))· det JT1(z) (6)
Từ tính chất này, ta có thể xây dựng các phép biến đổi phức tạp bằng cách lấy hợp từ nhiềuphép vi đồng phôi đơn giản hơn, mà không làm mất đi tính khả nghịch và khả vi, và do đó vẫngiữ được khả năng tính toán mật độ px(x)
Trong thực tế, ta thường móc nối nhiều phép biến đổi T1, , TK để thu được phép biếnđổi:
T = TK◦ · · · ◦ T1,trong đó mỗi Tk biến đổi zk−1 thành zk, với giả sử z0 = z và zK = x Do đó, từ “luồng” ámchỉ quỹ đạo mà một tập mẫu từ pz(z) đi theo khi chúng được biến đổi dần dần bởi chuỗi cácphép biến đổi T1, , TK Thuật ngữ “chuẩn hoá” đề cập đến việc nghịch đảo của luồng thôngqua TK−1, , T1−1 sẽ biến một tập mẫu từ px(x) thành một tập mẫu từ phân phối cơ sở pu(u)(thường được chọn là chuẩn đa biến)
Về chức năng, một mô hình luồng cung cấp hai thao tác: lấy mẫu từ mô hình thông quaPhương trình (1), và tính mật độ của mô hình thông qua Phương trình (3) Hai thao tác này
có yêu cầu tính toán khác nhau: việc lấy mẫu từ mô hình cần khả năng lấy mẫu từ pz(z) vàtính biến đổi thuận T , còn việc đánh giá mật độ cần ta tính nghịch đảo T−1 và định thức matrận Jacobi của nó, và sau đó đánh giá mật độ pz(z) Việc ứng dụng sẽ quyết định thao tácnào cần được sử dụng và mức hiệu quả cần đạt
3 Xây dựng luồng chuẩn hoá
Trong phần trên, ta có thể thấy mấu chốt của các thao tác đối với mô hình luồng chuẩn hoáchính là việc tính toán định thức ma trận Jacobi của phép biến đổi Tuy nhiên trên thực tế,việc tính toán định thức của ma trận không phải lúc nào cũng dễ dàng, và có thể gây mất quánhiều thời gian cho máy tính Chính vì vậy, ta cần xây dựng một cách khéo léo phép biến đổi
để định thức của ma trận Jacobi có thể được tính toán một cách dễ dàng hơn
3
Trang 8xi = τ zi; hi và hi = ci z<i, (1)trong đó τ là bộ biến đổi (transformer) và ci là bộ điều kiện (conditioner) thứ i Hàm τ làđơn điệu nghiêm ngặt theo zi (nên khả nghịch) và được tham số hoá bởi hi, và xác định cáchluồng tác động lên zi để cho ra xi Bộ điều kiện quyết định các tham số của bộ biến đổi,
và do đó có thể làm thay đổi hành vi của bộ biến đổi Bộ điều kiện không cần phải là songánh Ràng buộc duy nhất là ci chỉ được có đầu vào là các biến có chỉ số nhỏ hơn i Các tham
số φ của fφthường thuộc về các bộ điều kiện, nhưng đôi khi τ cũng có tham số riêng (ngoài hi).Miễn là τ khả nghịch, cấu trúc trên là khả nghịch Cho x, ta có thể tính z tuần tự:
Jfφ(z) có thể được tính trong thời gian O(D) như sau:
logdet Jfφ(z)= log
∂τ
∂zi(zi; hi)
Phần tam giác dưới của Jacobian-ký hiệu ở đây là L(z)-không quan trọng Các đạo hàm của
bộ biến đổi có thể được tính toán hoặc bằng phương pháp giải tích, hoặc bằng vi phân tự động,tuỳ thuộc vào cách cài đặt
Ở các phần tiếp theo, ta sẽ đi sâu cụ thể vào cách xây dựng bộ biến đổi và bộ điều kiệntrong mô hình Autoregressive flow
3.2 Bộ biến đổi Affine
Một trong những lựa chọn đơn giản nhất cho bộ biến đổi—và cũng là một trong những loạiđược sử dụng đầu tiên—là lớp các hàm affine:
τ (zi; hi) = αizi+ βi với hi ={αi, βi} (33)
4
Trang 9Tính khả nghịch được đảm bảo nếu αi ̸= 0, và điều này có thể đạt được dễ dàng bằng cách lấy
αi = exp( ˜αi), trong đó ˜αi là một tham số không bị ràng buộc (lúc này hi ={ ˜αi, βi})
Đạo hàm của bộ biến đổi theo zi bằng αi; do đó log-giá trị tuyệt đối định thức của matrận Jacobi là:
Tuy vậy, có thể đạt được các flow giàu tính biểu đạt hơn bằng cách xếp chồng nhiều tầngaffine autoregressive, mặc dù hiện chưa rõ các flow affine autoregressive nhiều tầng có phải làxấp xỉ phổ quát hay không Các bộ biến đổi affine phổ biến trong tài liệu, đã được sử dụngtrong các mô hình như NICE, Real NVP, IAF, MAF, và Glow
3.3 Bộ điều kiện Coupling Layer
Bộ điều kiện ci(z<i) có thể là bất kỳ hàm nào của z<i, nghĩa là về nguyên tắc mỗi bộ điều kiện
có thể được cài đặt như một mô hình tùy ý với đầu vào z<i và đầu ra hi Tuy nhiên, một cáchthiết lập ngây ngô trong đó mỗi ci(z<i) là một mô hình riêng biệt sẽ mở rộng rất kém theo
số chiều D, vì cần tới D lần đánh giá mô hình, mỗi lần với một vector có kích thước trungbình xấp xỉ D/2 Ngoài ra còn phải gánh thêm chi phí lưu trữ và ước lượng tham số của D
mô hình độc lập Thực tế, các nghiên cứu ban đầu về tiền thân về luồng đã coi phương phápautoregressive là quá tốn kém để áp dụng
Tuy nhiên, vấn đề này có thể được giải quyết hiệu quả trong thực tế bằng cách chia sẻtham số giữa các bộ điều kiện ci(z<i), hoặc thậm chí gộp các bộ điều kiện lại thành một môhình duy nhất Trong các đoạn tiếp theo, chúng ta sẽ thảo luận về cách cài đặt bộ điều kiệnCoupling layer để giúp cho phép nó mở rộng lên các chiều cao
Ý tưởng của bộ điều kiện Coupling layers là ta chọn một chỉ số d (thông thường chọn d = D/2,làm tròn thành số nguyên) và thiết kế bộ điều kiện sao cho:
• Các tham số (h1, , hd) là hằng số, tức là không phụ thuộc vào z
• Các tham số (hd +1, , hD) chỉ phụ thuộc vào z≤d, tức là không phụ thuộc vào z>d.Điều này có thể được thực hiện dễ dàng bằng cách sử dụng một bộ xấp xỉ hàm tùy ý F (chẳnghạn như mạng nơ-ron) như sau:
(h1, , hd) = const, (hd +1, , hD) = F (z≤d)
Nói cách khác, tầng ghép chia z thành hai phần sao cho z = [z≤d, z>d] Phần thứ nhất đượcbiến đổi theo từng phần tử độc lập với các chiều khác Phần thứ hai được biến đổi theo từngphần tử phụ thuộc vào phần thứ nhất Ta có thể xem tầng ghép như một chiến lược mặt nạmạnh mẽ, cho phép chỉ (hd +1, , hD) phụ thuộc vào z≤d
Các cách cài đặt phổ biến của tầng ghép là cố định các bộ biến đổi τ (·; h1), , τ (·; hD)thành hàm đồng nhất Khi đó, phép biến đổi có thể được viết như sau:
x≤d = z≤d, (hd +1, , hD) = F (z≤d), xi = τ (zi; hi), i > d
5
Trang 10Ngược lại, phép biến đổi nghịch đảo được viết đơn giản như sau:
trong đó I là ma trận đơn vị d × d , 0 là ma trận không d × (D − d ), A là ma trận (D − d ) × dđầy đủ, và D là ma trận chéo (D−d )×(D −d ) Định thức Jacobian đơn giản chỉ là tích của cácphần tử đường chéo của D, vốn bằng với đạo hàm của các bộ biến đổi τ (·; hd +1), , τ (·; hD)
(
x1:d = z1:d
xd +1:D = zd +1:D⊙ exp(s(z1:d)) + t(z1:d)Trong đó, s và t thường được cài đặt dưới dạng một mạng nơ-ron (MLP, CNN, ) nhận đầu vào
z1:d và trả về vector có cùng kích thước với zd +1:D;⊙ là tích từng phần tử (tích element-wise)2.Khi đó, ma trận Jacobi của phép biến đổi T có dạng:
JT(z) =
"Id 0
A diag (exp [s(z1:d)])
#,
Trang 11với mọi k = 1, K
Với si là mạng nơ-ron tương ứng với phép biến đổi Ti và si ,j là phần tử thứ j của si
Định thức của ma trận Jacobian JT(z) có thể được tính bởi:
4 Ước lượng tham số
Sau khi đã có được mô hình, ta bắt đầu xây dựng phương pháp ước lượng tham số:
Xét T (z; φ) = x
Bộ tham số θ = (φ, ψ), là bộ tham số cần ước lượng
D = (x1, , xn) là các giá trị được giả sử là lấy mẫu độc lập và cùng từ px(x)
Hàm mật độ xác xuất của phân phối px đối với điểm x có thể viết lại theo công thức đổi biếnnhư sau:
px(xi; θ) = pz(T−1(xi; φ); ψ)| det JT−1(xi; φ)|
=⇒ log px(xi; θ) = log pz(T−1(xi; φ); ψ) + log| det JT−1(xi; φ)|
Mục tiêu là tìm bộ tham số θ sao cho phân phối xác suất của pz sau khi biến đổi khớp với dữliệu quan sát được
Gọi pΘ là họ phân phối được tham số hoán bởi θ ∈ Θ Khi đó ta sẽ ước lượng hợp lý cực đại(MLE):
ˆ
θMLE = arg max
θ∈Θ L(θ; D)trong đó Hàm log-hợp lý trên toàn bộ dữ liệu quan sát được tính bởi:
log pz(T−1(xi; φ); ψ) + log| det JT −1(xi; φ)|
Ta định nghĩa Hàm mất mát là đối âm của hàm log-hợp lý:
Ta cần cực đại hoá hàm L(θ; D) tương đương ta cần cực tiểu hoá hàm Ll oss(θ)
Để cực tiểu hóa hàm mất mát, ta dùng phương pháp Gradient descent để tìm θ thỏa Ll oss(θ)đạt giá trị nhỏ nhất
7
Trang 12Việc huấn luận mô hình là giải bài toán tối ưu sau:
θ∗ = arg min
θ∈ΘL↕≀∫ ∫(θ;D)Đối với mô hình luồng chuẩn hóa sử dụng nhiều lớp kết hợp affine, ta có:
| det JT −1(xi; φ)| = | det(JT(zi; φ)−1)|
=| det JT(zi; φ)|−1Dấu =thứ nhất do tính chất 1.6.a Dấu =thứ hai do hệ quả của Tính chất 1.2.b
Do đó, ta có thể tính được định thức của JT−1 như sau:
log| det JT −1(xi; φ)| = − log | det JT(zi; φ)|