Luận văn: Giải xấp xỉ phương trình đạo hàm riêng bằng Deep Learning

Tổng quan phương pháp giải xấp xỉ phương trình đạo hàm riêng bằng Deep Learning, ứng dụng mạng nơ-ron và thuật toán tối ưu giải bài toán phức tạp.

Chuyên ngành

Toán Tin

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ

2021

52
1
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về Deep Learning trong giải phương trình đạo hàm riêng

Deep Learning đã trở thành một công cụ mạnh mẽ trong việc giải quyết các bài toán toán học phức tạp, đặc biệt là phương trình đạo hàm riêng (PDE). Phương pháp này tận dụng khả năng xấp xỉ hàm số của mạng nơ-ron nhân tạo kết hợp với các thuật toán tối ưu như Gradient Descent. Thay vì sử dụng các phương pháp số truyền thống, Deep Learning cung cấp một cách tiếp cận mới, linh hoạt và hiệu quả hơn. Mạng nơ-ron có thể học được các mẫu phức tạp từ dữ liệu, cho phép giải các phương trình tuyến tính và phi tuyến với độ chính xác cao. Ứng dụng này đã mở ra những khả năng mới trong lĩnh vực tính toán khoa học và kỹ thuật.

1.1. Khái niệm cơ bản về phương trình đạo hàm riêng

Phương trình đạo hàm riêng là các phương trình toán học chứa các đạo hàm riêng của một hàm số chưa biết. Chúng xuất hiện phổ biến trong vật lý, khoa học môi trường và kỹ thuật. Ví dụ điển hình bao gồm phương trình nhiệt, phương trình sóngphương trình Navier-Stokes. Việc giải các PDE này thường đòi hỏi các phương pháp số phức tạp và tốn nhiều tài nguyên tính toán.

1.2. Lợi thế của Deep Learning so với phương pháp truyền thống

So với các phương pháp sai phân hữu hạn và phần tử hữu hạn, Deep Learning mang lại nhiều ưu điểm vượt trội. Thứ nhất, mạng nơ-ron có khả năng xấp xỉ các hàm phi tuyến phức tạp mà không cần xây dựng lưới tính toán. Thứ hai, neural network PDE solvers có thể hoạt động trên các không gian nhiều chiều mà không gặp phải vấn đề chiều (curse of dimensionality). Ngoài ra, GPU acceleration giúp tăng tốc độ tính toán đáng kể.

II. Kiến thức cơ sở về Deep Learning và các thuật toán tối ưu

Để hiểu rõ về ứng dụng Deep Learning trong giải PDE, cần nắm vững các khái niệm cơ bản về mạng nơ-ron nhân tạo (Artificial Neural Networks). Kiến trúc mạng bao gồm các lớp đầu vào, lớp ẩn và lớp đầu ra, nơi các nơ-ron được kết nối thông qua các trọng số. Quá trình lan truyền xuôi (forward propagation) tính toán đầu ra từ đầu vào, trong khi lan truyền ngược (backpropagation) cập nhật các trọng số dựa trên lỗi dự báo. Các thuật toán tối ưu như Adam, MomentumNesterov Accelerated Gradient đóng vai trò quan trọng trong việc giảm thiểu hàm mất mát một cách hiệu quả.

2.1. Kiến trúc mạng nơ ron và cơ chế hoạt động

Mạng nơ-ron sâu (Deep Neural Network) được cấu tạo từ nhiều lớp ẩn xếp chồng lên nhau. Mỗi nơ-ron thực hiện một phép toán tuyến tính theo sau là một hàm kích hoạt (activation function) như ReLU hay Tanh. Quá trình lan truyền xuôi đưa dữ liệu đầu vào qua từng lớp để tính toán kết quả cuối cùng. Lan truyền ngược sau đó tính toán gradient của hàm mất mát đối với mỗi tham số, cho phép cập nhật trọng số theo hướng giảm thiểu sai số.

2.2. Các thuật toán tối ưu hóa trong Deep Learning

Gradient Descent là thuật toán cơ bản nhất, cập nhật tham số theo hướng ngược với gradient. Momentum cải thiện tốc độ hội tụ bằng cách tích lũy gradient trước đó. Nesterov Accelerated Gradient (NAG) dự đoán vị trí tiếp theo trước khi tính gradient, tăng hiệu quả tối ưu hóa. Thuật toán Adam kết hợp ưu điểm của MomentumRMSProp, phù hợp cho các bài toán phức tạp như giải PDE.

III. Phương pháp giải phương trình đạo hàm riêng bằng Deep Learning

Phương pháp giải phương trình đạo hàm riêng bằng Deep Learning (Physics-Informed Neural Networks - PINNs) dựa trên ý tưởng biến đổi bài toán PDE thành bài toán tối ưu hóa. Thay vì tìm hàm u(x,t) thỏa mãn PDE trực tiếp, ta xây dựng một mạng nơ-ron để xấp xỉ u(x,t) và minimize một hàm mất mát bao gồm: (1) sai số thỏa mãn phương trình PDE, (2) sai số điều kiện biên và điều kiện ban đầu. Quá trình training sử dụng thuật toán Adam để cập nhật các tham số mạng. Phương pháp này có thể giải các phương trình tuyến tính không phụ thuộc thời gian, phương trình tuyến tính phụ thuộc thời gian, phương trình phi tuyến và thậm chí hệ phương trình Navier-Stokes phức tạp.

3.1. Xây dựng hàm mất mát và các điều kiện biên

Hàm mất mát trong PINN bao gồm ba thành phần chính. Thứ nhất, sai số PDE được tính từ đạo hàm của mạng nơ-ron đối với đầu vào. Thứ hai, sai số điều kiện biên (boundary condition) đảm bảo u(x,t) thỏa mãn các giá trị biên cho trước. Thứ ba, sai số điều kiện ban đầu (initial condition) nếu phương trình phụ thuộc thời gian. Tổng hàm mất mát là: L = λ₁ * L_pde + λ₂ * L_bc + λ₃ * L_ic, trong đó λ là các hệ số trọng lượng.

3.2. Các ví dụ ứng dụng thực tiễn

Phương trình nhiệt không phụ thuộc thời gian (Poisson equation) là ví dụ đơn giản nhất. Phương trình nhiệt phụ thuộc thời gian với điều kiện ban đầu phức tạp hơn. Phương trình Steady Navier-Stokes mô tả dòng chảy không nén được ở trạng thái ổn định. Phương trình Navier-Stokes động (transient) là bài toán khó nhất, yêu cầu mạng nơ-ron có sức mạnh cao và thuật toán tối ưu hiệu quả để đạt độ chính xác tốt.

IV. Triển khai kết quả và hướng phát triển tương lai

Việc triển khai Deep Learning để giải phương trình đạo hàm riêng được thực hiện bằng ngôn ngữ Python với các framework như TensorFlowKeras. Các hàm đạo hàm tự động (automatic differentiation) cho phép tính toán gradient một cách chính xác và hiệu quả. Kết quả thực nghiệm cho thấy PINN có thể đạt độ chính xác tương đương hoặc vượt qua các phương pháp số truyền thống, đặc biệt trên các không gian nhiều chiều. Hướng phát triển tương lai bao gồm: (1) cải thiện hiệu suất tính toán thông qua tối ưu kiến trúc mạng, (2) phát triển thuật toán học tập thích ứng (adaptive learning), (3) ứng dụng vào các bài toán inverse problems và (4) kết hợp vật lý được yêu cầu một cách tốt hơn.

4.1. Công cụ lập trình và framework sử dụng

Python được chọn làm ngôn ngữ chính do khả năng xử lý số liệu mạnh mẽ. TensorFlow cung cấp các công cụ tính toán hiệu quả và hỗ trợ GPU acceleration. Keras là API bậc cao giúp xây dựng mạng nơ-ron một cách dễ dàng. Automatic differentiation trong TensorFlow cho phép tính đạo hàm của hàm mất mát chính xác. Thuật toán Adam được cấu hình với learning rate thích hợp để đạt hội tụ nhanh nhất.

4.2. Triển vọng và thách thức trong tương lai

Deep Learning cho phép giải PDE trên miền phức tạp mà các phương pháp truyền thống gặp khó khăn. Thách thức chính bao gồm việc lựa chọn kiến trúc mạng tối ưu, cân bằng sai số trainingsai số generalization, cũng như xử lý miền không bị giới hạn. Nghiên cứu trong tương lai sẽ tập trung vào việc phát triển các phương pháp học nhanh hơn, cách lựa chọn dữ liệu huấn luyện tối ưuứng dụng vào các bài toán công nghiệp thực tế.

22/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1. TỔNG QUAN VỀ PHƯƠNG PHÁP GIẢI QUYẾT BÀI TOÁN BẰNG DEEP LEARNING Bước 3: Gọi tập dữ liệu là Ωd. Để mạng lưới của chúng ta thỏa mãn phương trình đạo hàm riêng, hàm Loss của bài toán sẽ có dạng X 2 J= L N N (x, t, W ) x∈Ωd Khi giá trị của hàm mất mát Loss càng tiến dần về 0, thì đầu ra của mạng lưới N N (x, t, W ) càng gần giá trị của u∗ (x, t) với x ∈ Ωd. Bước 4: Để tìm được W tốt nhất, có rất nhiều phương pháp, chúng ta có thể thử thật nhiều W rồi sau đó lựa chọn, ta có thể giải W ,.

Trong Deep Learning, người ta sử dụng những thuật toán gọi là optimizer để tìm W , có rất nhiều thuật toán hiệu quả có thể sử dụng được vào việc giải bài toán này, mỗi thuật toán thì đều có những ưu nhược điểm riêng, tác giả sẽ trình bày chi tiết từng thuật toán trong phần 2. Chương tiếp theo tác giả sẽ trình bày sơ lược về những kiến thức cơ sở trong Deep Learning phục vụ cho việc giải phương trình đạo hàm riêng, nếu như độc giả nào đã nắm được những kiến thức cơ sở này thì có thể bỏ qua và đến luôn chương 3, đó là chương trình bày về việc giải cụ thể những phương trình đạo hàm riêng bằng Deep Learning. Nguyễn Lâm Tùng 16 SHHV: 20202889M Chương 2 KIẾN THỨC CƠ SỞ DEEP LEARNING Trong Deep Learning, hai thành phần cơ bản nhất là dữ liệu và mô hình. Dữ liệu thì ở khắp mọi nơi, chúng có thể ở bất cứ định dạng, kích cỡ nào, ví dụ như bình luận trên mạng xã hội, hình ảnh trên các website, giọng thu âm của một nhóm người,.

Mô hình trong Deep Learning được mô phỏng lại dựa theo cơ chế hoạt động giống hệ thần kinh não người, nghĩa là mô hình sẽ tiếp nhận dữ liệu bên ngoài, xử lý dữ liệu và đưa ra kết quả, ví dụ như quá trình nhận dạng của con người, con người có thể nhận ra khuôn mặt người quen, giọng nói người quen, phân biệt được giới tính của một người, nhận dạng màu sắc[40],. Cụ thể hơn, mô hình Deep Learning là một hàm số, hàm số này phức tạp và phụ thuộc vào nhiều tham số, người dùng sẽ cố gắng điều chỉnh bộ tham số đó sao cho hàm số đó cho ra được kết quả đầu ra ưng ý nhất. Trong chương này tác giả sẽ trình bày về kiến trúc của mô hình và những phương pháp để điều chỉnh bộ tham số của mô hình (trong Deep Learning, mô hình đồng nghĩa với mạng lưới, nên trong luận văn, tác giả sẽ sử dụng thuật ngữ mạng lưới thay cho mô hình để tránh nhầm lẫn với thuật ngữ mô hình trong toán học).1 Kiến trúc của mạng lưới Deep Learning Một mạng lưới Deep Learning cơ bản sẽ bao gồm nhiều lớp, bao gồm lớp đầu vào (gọi là Input layer), lớp đầu ra (gọi là Output layer) và những lớp ẩn ở giữa (gọi là Hidden layers), mỗi lớp sẽ có một số lượng nơ-ron nhất định. Ví dụ như ở hình bên dưới, ta có lớp đầu vào có 2 nơ-ron, 2 lớp ẩn mỗi lớp có 3 nơ-ron, và lớp đầu ra có 1 nơ-ron.

KIẾN THỨC CƠ SỞ DEEP LEARNING Hình 2.1: Ví dụ về mạng nơ-ron 2.1 Lan truyền xuôi Con người tiếp nhận một thông tin vào não, sau khi xử lý thông tin đó, não con người sẽ cho ra kết quả, quá trình lan truyền xuôi cũng giống như vậy. Đây quá trình tính toán giá trị của tất cả các nơ-ron trong mạng theo chiều từ lớp đầu vào tới lớp đầu ra[41], nó giống như tính giá trị của các hàm số f (x). Ta lấy ví dụ với hình bên dưới Hình 2.2: Ví dụ sự phụ thuộc của một nơ-ron vào lớp phía trước Với hình trên, giả sử h là giá trị của một nơ-ron ở lớp ẩn, ở lớp phía trước đó có 2 nơ-ron nối vào, giá trị của 2 nơ-ron đó lần lượt là x1 và x2. Hệ số tương ứng lần lượt là w1 và w2.

Giá trị của h sẽ được tính theo công thức h = f (x1 w1 + x2 w2 + b) Nguyễn Lâm Tùng 18 SHHV: 20202889M CHƯƠNG 2. KIẾN THỨC CƠ SỞ DEEP LEARNING tổng quát hơn đối với đầu vào là vec-tơ n chiều n X h = f( xi wi + b), i=1 trong đó • f là một hàm số kích hoạt (có thể là hàm tuyến tính hoặc phi tuyến, nhưng trong những bài toán phức tạp thì người ta thường sử dụng hàm phi tuyến). • b là bias, hay còn gọi là hệ số tự do. Hàm kích hoạt f trên đây thường là hàm phi tuyến[42], một số hàm phổ biến có thể kể đến như • nhị phân:  0  khi x < T, f= khi x ≥ T.

 1 • tuyến tính: f (x) = ax + b. 1 + e−x ex + 1 • tanh: ex − e−x e2x − 1 f (x) = =. • Leaky ReLU:  x  khi x > 0, f= khi x ≤ 0.01x Ngoài ra người dùng hoàn toàn có thể sử dụng các hàm số khác tùy ý, ví dụ như hàm sin(x), cos(x), ex ,. Luyện một mạng lưới chính là tìm ra bộ các tham số wi và bj phù hợp để mạng lưới có đầu ra mong muốn.

Ban đầu bộ tham số wi và bj được người dùng khởi tạo, Nguyễn Lâm Tùng 19 SHHV: 20202889M CHƯƠNG 2. KIẾN THỨC CƠ SỞ DEEP LEARNING nên đầu ra của mạng lưới khả năng cao là không được như ý. Cho nên chúng ta cần phải tìm ra bộ tham số tối ưu. Cơ sở của quá trình tối ưu này nằm ở phần tiếp theo của luận văn, đó là lan truyền ngược.2 Lan truyền ngược Đây giống như quá trình học của con người, ví dụ như việc chúng ta có thể gọi được tên của các màu sắc là bởi chúng ta đã được quan sát, nghe và đọc tên của chúng nhiều lần.

Mục đích của quá trình lan truyền ngược[43] đó là cập nhật lại bộ tham số wi và bj. Để đánh giá độ đúng đắn của bộ tham số trong việc xấp xỉ hàm, người ta xét giá trị của hàm mất mát, hay còn gọi là loss function. Giá trị của hàm mất mát đủ nhỏ thì có thể coi như bộ tham số đủ tốt, thường thì khi xây dựng hàm mất mát, người ta sẽ để giá trị của hàm luôn không âm. Ý tưởng chủ yếu của việc điều chỉnh bộ tham số này là thuật toán đi ngược chiều gradient, hay con gọi là Gradient Descent[44].

Cụ thể như sau, ví dụ ta có một hàm mất mát J = J(x, w1 , w2 , ., bm ), ta sẽ thực hiện cập nhật từng tham số một, giả sử ta cần cập nhật tham số wi , bj , ta sẽ sử dụng công thức ∂J wi = wi − η ∂wi ∂J bj = bj − η ∂bj trong đó η là hệ số học, hay còn gọi là learning rate, là một số thực dương được cài đặt tùy ý bởi người dùng. Nguyễn Lâm Tùng 20 SHHV: 20202889M CHƯƠNG 2. KIẾN THỨC CƠ SỞ DEEP LEARNING Hình 2.3: Ý tưởng thuật toán Gradient Descent Từ ý tưởng tổng quát đó, một số thuật toán đã được xây dựng để tối ưu hóa quá trình lan truyền ngược này. Một số thuật toán phổ biến sẽ được trình bày ở phần sau.2 Các thuật toán tối ưu Với ý tưởng nền là thuật toán Gradient Descent, rất nhiều thuật toán khác đã được xây dựng nên nhằm tăng tính hiệu quả của việc cập nhật tham số.

Những thuật toán đó đã được tích hợp sẵn trong các thư viện hỗ trợ lập trình Deep Learning như TensorFlow[45], Keras[46], Pytorch[47],.4: Mối quan hệ giữa các thuật toán tối ưu Nguyễn Lâm Tùng 21 SHHV: 20202889M CHƯƠNG 2. KIẾN THỨC CƠ SỞ DEEP LEARNING Phần trình bày phía dưới tác giả sẽ gọi bộ tham số cần tìm là W cho ngắn gọn thay vì gọi bộ gồm các tham số wi và bj. Hàm mất mát được ký hiệu là J, với J = J(x, w1 , w2 , ., bm ) trong đó x là một vector đầu vào.1 Gradient Descent Gradient Descent[44] là thuật toán cơ bản nhất, là nền tảng để phát triển rất nhiều thuật toán khác sau này. Thuật toán 1: Gradient Descent khởi tạo bộ tham số W0 ; chọn giá trị cho learning rate η ; while <điều kiện dừng chưa thỏa mãn> do ∂J Wt+1 = Wt − η ; ∂Wt Giả sử ta có bộ dữ liệu X = {x1 , x2 , ., xN }, ta chia bộ X thành k tập con {X1 , X2 ,.

Thuật toán Gradent Descent được chia làm 3 loại nhỏ tùy thuộc vào việc tính toán hàm mất mát như thế nào: • Gradient Descent: J = J(X, W ) • Stochastic Gradient Descent: J = J(xi , W ) với i = 1, N • Mini-batch Gradient Descent: J = J(Xi , W ) với i = 1, k Ở cách thứ nhất, sau khi tính hàm mất mát của toàn bộ dữ liệu, bộ tham số sẽ được cập nhật, cách này giúp cho giá trị hàm mất mát hội tụ một cách nhanh nhất, tuy nhiên nhược điểm của cách này đó là nếu dữ liệu X bị thay đổi, việc tính toán sẽ phải thực hiện lại, không phù hợp với yêu cầu của một số bài toán hiện nay. Cách thứ hai đó là Stochastic Gradient Descent đã được sinh ra nhằm giải quyết vấn đề của cách thứ nhất, dữ liệu được thêm vào sẽ được đưa vào thuật toán để cập nhật bộ tham số luôn mà không phải luyện lại dữ liệu cũ, tuy nhiên cách này lại rất mất thời gian do một điểm dữ liệu không thể đại diện cho toàn bộ dữ liệu được cho nên sự hội tụ của hàm mất mát sẽ lâu hơn. Cách thứ ba là mini-bacth Gradient Descent được xây dựng nhằm giải quyết vấn đề của cả hai cách trên, đó là vẫn đáp ứng được nhu cầu thêm bớt dữ liệu, mà chọn Nguyễn Lâm Tùng 22 SHHV: 20202889M CHƯƠNG 2. KIẾN THỨC CƠ SỞ DEEP LEARNING ra một tập con của bộ dữ liệu thì tính đại diện sẽ cao hơn một điểm, cho nên tốc độ hội tụ của hàm mất mát sẽ nhanh hơn cách thứ hai, nhưng vẫn chậm hơn cách thứ nhất.

Ưu điểm • Dễ hiểu, • Dễ thực hiện. Nhược điểm • Dễ bị mắc vào cực tiểu địa phương, • Việc lựa chọn hệ số học (learning rate) là tùy ý, nên rất khó lựa chọn sao cho hợp lý. Nếu giá trị nhỏ quá, việc hội tụ sẽ lâu, nếu giá trị lớn quá, có thể bộ tham số đạt được sẽ không tốt.2 Momentum Nhược điểm của thuật toán Gradient Descent đó là việc cập nhật bộ tham số khó thoát khỏi cực tiểu địa phương.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ