1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu trí tuệ nhân tạo trong giải phương trình đạo hàm riêng

40 32 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 3,5 MB

Nội dung

BỘ CÔNG THƯƠNG ĐẠI HỌC CÔNG NGHIỆP THÀNH PHỐ HỒ CHÍ MINH BÁO CÁO TỔNG KẾT ĐỀ TÀI KHOA HỌC KẾT QUẢ THỰC HIỆN ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG NGHIÊN CỨU TRÍ TUỆ NHÂN TẠO TRONG GIẢI PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG Mã số đề tài : 182.CNTT01 Chủ nhiệm đề tài : ThS Hồ Đắc Quán Đơn vị thực : Khoa Công Nghệ Thông Tin Tp Hồ Chí Minh, 2019 PHẦN I THƠNG TIN CHUNG I Thông tin tổng quát 1.1 Tên đề tài Nghiên cứu trí tuệ nhân tạo giải phương trình đạo hàm riêng 1.2 Mã số: 182.CNTT01 1.3 Danh sách chủ trì, thành viên tham gia thực đề tài Họ tên TT Đơn vị cơng tác Vai trị thực đề tài Khoa CNTT, ĐH Chủ trì (học hàm, học vị) ThS Hồ Đắc Quán Công nghiệp ThS Lê Trọng Ngọc Khoa CNTT, ĐH Thành viên, phối hợp Cơng nghiệp PGS.TS Huỳnh Trung Khoa CNTT, ĐH Hiếu Công nghiệp Thành viên, phối hợp 1.4 Đơn vị chủ trì: Khoa Cơng Nghệ Thơng Tin 1.5 Thời gian thực hiện: 1.5.1 Theo hợp đồng: từ tháng 01 năm 2018 đến tháng 12 năm 2018 1.5.2 Gia hạn (nếu có): đến tháng 06 năm 2019 1.5.3 Thực thực tế: từ tháng 01 năm 2018 đến tháng 06 năm 2019 1.6 Những thay đổi so với thuyết minh ban đầu (nếu có): (Về mục tiêu, nội dung, phương pháp, kết nghiên cứu tổ chức thực hiện; Nguyên nhân; Ý kiến Cơ quan quản lý) 1.7 Tổng kinh phí phê duyệt đề tài: 20 triệu đồng II Kết nghiên cứu Đặt vấn đề Tính tốn số thời đại kỷ ngun số công cụ mạnh hữu hiệu giúp cho nhà khoa học nhiều lĩnh vực khác nghiên cứu phát triển tri thức chun ngành Tính tốn số cho phép nhà khoa học mơ hình, giải tốn máy tính mà khó giải toán học cách túy Trong thực tế tượng khoa học kỹ thuật dẫn đến tốn giải phương trình đạo hàm riêng (partial differential equation-PDE) PDE thường xuất toán ứng dụng thực tế vật lý, kỹ thuật, sinh học, kinh tế, xử lý ảnh v.v [1, 2][14,16] Vì việc tìm nghiệm PDE yêu cầu quan trọng khoa học thực tiễn Trong số trường hợp đơn giản, nghiệm tìm nhờ vào nghiệm tường minh tốn dạng cơng thức sơ cấp, tích phân hay chuỗi hàm Tuy nhiên đại đa số toán thực tế tốn phi tuyến, tốn có miền tính tốn phức tạp nghiệm tường minh tốn khơng tìm q phức tạp để tìm chúng Trong trường hợp việc tìm nghiệm PDE phải dựa vào phương pháp giải gần Các phương pháp số tìm nghiệm gần thơng thường giải PDE phương pháp phần tử hữu hạn (finite element method - FEM), phương pháp sai phân hữu hạn (finite difference method - FDM) Phương pháp số xác định nghiệm gần cách thay miền xác định liên tục số hữu hạn điểm gọi nút lưới lưới sai phân tính tốn nghiệm PDE nút lưới [3], [4] Như để xác định nghiệm gần PDE điểm miền xác định phương pháp số đòi hỏi phải chia lưới miền tính tốn chứa nút lưới cần tính tính giá trị nút lưới lưới sai phân vừa chia dựa vào điều kiện biên điều kiện ban đầu cho trước PDE Mục tiêu Từ vấn đề nêu để thay xác định nghiệm gần PDE chia lưới miền tính tốn nêu trên, cách tiếp cận để xác định nghiệm gần PDE dạng hàm sử dụng mạng neural (artificial neural network - ANN) ANN cơng cụ tìm nghiệm PDE thích hợp dựa vào việc điều chỉnh tham số mạng cách tăng cường việc huấn luyện mạng [5] Ưu điểm sử dụng ANN để xác định nghiệm PDE không cần phải tính tốn lại giá trị nút lưới miền xác định dựa điểm chia lưới sai phân tính tốn trước [6] Ngồi ANN xấp xỉ hàm hàm truyền chọn cách thích hợp [7] Bộ mơn Khoa học máy tính thuộc khoa Cơng nghệ thơng tin Đại Học Cơng nghiệp thành phố Hồ Chí Minh giảng dạy môn học như: xử lý ảnh, xử lý ảnh y khoa, nhận dạng mẫu, nhận dạng mẫu nâng cao v v cho bậc học từ đại học cao học, việc tác giả thực đề tài nghiên cứu khoa học cấp trường “Nghiên cứu trí tuệ nhân tạo giải phương trình đạo hàm riêng” tài liệu cần thiết phục vụ sinh viên thuộc mơn Khoa học máy tính khoa Công nghệ thông tin trường Đại học Công nghiệp Tp.HCM Phương pháp nghiên cứu Có nhiều phương pháp để giải PDEs, báo cáo tác giả sử dụng mạng neural để giải PDEs Phương pháp nghiên cứu cụ thể: Khảo sát dạng phương trình PDEs Tìm hiểu phân tích phương pháp số giải PDEs phương pháp sai phân hữu hạn Tìm hiểu mạng neural truyền thẳng lớp ẩn Thiết kế mạng neural truyền thẳng lớp ẩn giải PDEs Thực nghiệm:đánh giá kết nghiệm PDE sử dụng ANN so với FDM Tổng kết kết nghiên cứu Đề tài đạt kết sau: - 01 báo đăng Tạp chí Khoa học Cơng nghệ Trường Đại học Cơng Nghiệp Tp Hồ Chí Minh - Chương trình máy tính : Đánh giá kết đạt kết luận Nhóm tác giả nghiên cứu ứng dụng mạng neural truyền thẳng lớp ẩn giải phương trình Poisson Kết nghiên cứu đề tài đạt cung cấp tài liệu hổ trợ giảng dạy cho sinh viên chuyên ngành Khoa học máy tính Khoa Cơng Nghệ Thơng Tin Trường Đại học Công Nghiệp Tp HCM Nghiên cứu thành công đề tài đóng góp quan trọng cho nội dung luận án tiến sĩ mà chủ nhiệm đề tài thực hiện, góp phần vào việc nâng cao chất lượng đội ngũ giảng viên công bố khoa học khoa Công nghệ thông tin trường Đại học Công nghiệp thành phố Hồ Chí Minh Tóm tắt kết (tiếng Việt tiếng Anh) Phương trình đạo hàm riêng ứng dụng rộng rãi lĩnh vực khác đời sống vật lý, hóa học, kinh tế, xử lý ảnh vv Trong đề tài chúng tơi trình bày phương pháp giải phương trình đạo hàm riêng (partial differential equation - PDE) thoả điều kiện biên Dirichlet sử dụng mạng neural truyền thẳng lớp ẩn (single-hidden layer feedfordward neural networks - SLFN) gọi phương pháp mạng neural (neural network method – NNM) Các tham số mạng neural xác định dựa thuật toán huấn luyện mạng lan truyền ngược (backpropagation - BP) Kết nghiệm PDE thu phương pháp NNM xác so với nghiệm PDE giải phương pháp sai phân hữu hạn Partial differential equations have been widely applied in various fields of human knowledge, such as physics, chemistry, economics, image processing, etc In this project, we presented a method for solving the problem of partial differential equations (PDEs) with Dirichlet boundary conditions (This method) using single-hidden layer feedforward neural network (SLFN) called neural network method (NNM) The parameters of SLFNs are determined by training the neural network with backpropagation The results show that NNM can obtain accuracy higher finite difference method III Sản phẩm đề tài, công bố kết đào tạo 3.1 Kết nghiên cứu Yêu cầu khoa học hoặc/và tiêu TT kinh tế - kỹ thuật Tên sản phẩm Đăng ký Đạt Chương trình máy tính 1 Bài báo khoa học 1 IV Tình hình sử dụng kinh phí T Nội dung chi T Kinh phí Kinh phí duyệt thực (triệu đồng) (triệu đồng) A Chi phí trực tiếp 19,000,000 19,000,000 Th khốn chun mơn 17,800,000 17,800,000 Ngun, nhiên vật liệu, Thiết bị, dụng cụ Công tác phí Dịch vụ th ngồi Hội nghị, hội thảo,thù lao nghiệm thu kỳ In ấn, Văn phịng phẩm 400,000 400,000 Ghi Chi phí khác 800,000 800,000 B Chi phí gián tiếp 1,000,000 1,000,000 Quản lý phí 1,000,000 1,000,000 Chi phí điện, nước 20,000,000 20,000,000 Tổng số V Kiến nghị (về phát triển kết nghiên cứu đề tài) Kết nghiên cứu đề tài “Nghiên cứu trí tuệ nhân tạo giải phương trình đạo hàm riêng” tài liệu nghiên cứu giảng dạy sinh viên bậc đại học cao học Với tiếp cận tác giả nghiên cứu tiếp cách xác định nghiệm xấp xỉ số dạng phương trình đạo hàm riêng phương trình khuếch tán tuyến tính khuếch tán phi tuyến ứng dụng xử lý ảnh y khoa VI Phụ lục 01 báo đăng Tạp chí Khoa học Công nghệ Trường Đại học Công Nghiệp Tp Hồ Chí Minh Chương trình máy tính Tp HCM, ngày tháng năm Chủ nhiệm đề tài Phịng QLKH&HTQT Khoa Cơng Nghệ Thơng Tin Trưởng (đơn vị) (Họ tên, chữ ký) MỤC LỤC CHƯƠNG TỔNG QUAN VẤN ĐỀ NGHIÊN CỨU 1.1 Đặt vấn đề 1.2 Mục tiêu 1.3 Phương pháp nghiên cứu CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Phương trình đạo hàm riêng 2.1.1 Khái niệm 2.1.2 Phương trình Laplace 2.1.3 Phương trình truyền nhiệt [9] 2.2 Phương pháp sai phân hữu hạn giải PDE 2.2.1 Phương pháp sai phân hữu hạn 2.2.2 Lưới sai phân hàm lưới 2.2.3 Lược đồ sai phân 2.2.4 Lược đồ sai phân ẩn 2.3 Ứng dụng PDEs khử nhiễu ảnh CHƯƠNG SLFN GIẢI PDE (NNM) 16 3.1 Mạng truyền thẳng lớp ẩn 16 3.2 Nghiệm PDE sử dụng SLFN 17 3.3 Gradient ngõ xuất đầu vào, trọng số SLFN 18 3.3.1 Gradient ngõ xuất ngõ vào SLFN 18 3.3.2 Gradient ngõ xuất trọng số SLFN 18 3.4 Các bước xác định nghiệm PDE NNM với điều kiện biên Dirichlet 19 3.4.1 Nghiệm phương trình Poisson sử dụng SLFN 19 3.4.2 Các bước xác định nghiệm NNM sử dụng thuật toán BP 20 CHƯƠNG KẾT QUẢ THỰC NGHIỆM 21 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 24 5.1 Kết luận 24 5.2 Hướng phát triển 24 LỜI CẢM ƠN 25 TÀI LIỆU THAM KHẢO 25 DANH MỤC HÌNH VẼ Hình 2-1 Lưới sai phân hữu hạn Hình 2-2 Biểu diễn hướng Gradient [7] 12 Hình 2-3 Biểu diễn mối quan hệ Gradient độ mịn [7] 13 Hình 2-4 Biểu diễn mối quan hệ Gradient độ mịn [7] 13 Hình 2-5 Biểu diễn khuếch tán ánh sáng [7] 14 Hình 3-1 Kiến trúc tiêu biểu mạng neural lớp ẩn (SLFN) giải PDE 16 Hình 4-1 Nghiệm FDM phương trình (3.17) với điều kiện biên Dirichlet (3.18) 21 Hình 4-2 Nghiệm NNM 𝑢𝑡𝑥1, 𝑥2, 𝑊, 𝛽 phương trình (3.17) với điều kiện biên Dirichlet (3.18) 22 Hình 4-3 Lỗi nghiệm FDM nghiệm giải tích thuộc [-2.10-2, 5x10-3] 22 Hình 4-4 Lỗi nghiệm NNM nghiệm giải tích 23 CHƯƠNG SLFN GIẢI PDE (NNM) 3.1 Mạng truyền thẳng lớp ẩn Nhiều kiến trúc khác mạng neural phát triển mạnh Tuy nhiên người ta chứng minh mạng neural truyền thẳng lớp ẩn (single hidden layer feedfordward neural network - SLFN) xấp xỉ hàm số nút ẩn hàm truyền chọn cách thích hợp [7] Kiến trúc SLFN giải PDE với d nút lớp nhập, N nút lớp ẩn nút lớp xuất minh họa hình 3-1 [15]: Hình 3-1 Kiến trúc tiêu biểu mạng neural lớp ẩn (SLFN) giải PDE Với 𝒙𝒋 = [𝑥𝑗1, 𝑥𝑗2 , … , 𝑥𝑗𝑑 ]𝑇 ∈ 𝑅𝑑 ngõ vào, 𝑤𝑚𝑗 véctơ trọng số kết nối từ nút nhập j đến nút ẩn thứ m, 𝐰m = [𝑤𝑚1, 𝑤𝑚2 , … , 𝑤𝑚𝑑 ]𝑇 , 𝑏𝑚 độ lệch (bias) nút ẩn thứ m, 𝛽𝑚 vectơ trọng số kết nối từ lớp ẩn thứ m đến nút xuất , 𝒘𝑚 ∙ 𝒙𝑗 tích vơ hướng hai vectơ 𝒘𝑚 𝒙𝑗 , 𝜎( ) hàm truyền (trong nghiên cứu này, tác giả sử dụng hàm sigmoid) Ứng với vector đầu vào 𝒙𝒋 ngõ xuất 𝑜j xác định 𝑁 𝑜𝑗 = ∑ 𝛽𝑚 𝜎(𝒘𝑚 ∙ 𝒙𝑗 + 𝑏𝑚 ) (3.1) 𝑚=1 16 3.2 Nghiệm PDE sử dụng SLFN Cho phương trình đạo hàm riêng cấp hai với có dạng tổng quát [12]: 𝐺(𝒙, 𝑢(𝒙), ∇u(𝒙), ∇2 𝑢(𝒙)) = , 𝒙 ∈ Ω ⊂ 𝑅𝑑 , 𝑑 ∈ 𝑁 (3.2) thỏa điều kiện biên (boundary conditions – BCs) Dirichlet, với 𝒙 = (𝑥1 , … , 𝑥𝑑 ) ∈ 𝑅𝑑 , 𝑢(𝒙) nghiệm phương trình (3.2) cần xác định Biên miền Ω kí hiệu 𝜕Ω Nghiệm 𝑢(𝒙) gần (3.2) xác định cách chia lưới miền Ω 𝜕Ω ̂ = {𝒙 ∈ Ω; 𝑗 = 1, … , 𝑛} Rõ ràng việc tìm giá trị tìm giá trị 𝑢 nút lưới thuộc miền Ω 𝑗 ̂ đưa giải hệ phương trình (3.3) u nút lưới thuộc Ω ̂ 𝐺 (𝒙𝑗 , 𝑢(𝒙𝑗 ), ∇u(𝒙𝑗 ), ∇2 𝑢(𝒙𝑗 )) = , 𝒙𝑗 ∈ Ω (3.3) 𝑢 phải thỏa điều kiện biên Dirichlet ̂ cách giải hệ phương trình, gọi 𝑢𝑡 (𝒙, 𝒑) Thay xác định giá trị nút lưới thuộc Ω nghiệm gần phương trình (3.6), p tham số điều chỉnh cho cực tiểu hàm lỗi (3.4) 𝐸 (𝒑) = ∑ (𝐺(𝒙𝑗 , 𝑢𝑡 (𝒙𝒋 , 𝒑), ∇𝑢𝑡 (𝒙𝒋 , 𝒑), ∇2 𝑢𝑡 (𝒙𝒋 , 𝒑))) , ̂ 𝒙𝑗 ∈Ω (3.4) 𝑢𝑡 thỏa điều kiện biên Dirichlet Nghiệm gần 𝑢𝑡 (𝒙, 𝒑) xác định sử dụng SLFN thỏa điều kiện biên Dirichlet viết dạng tổng số hạng [12], 𝒑 trọng số SLFN thay 𝑾, 𝜷 𝑢𝑡 (𝒙, 𝑾, 𝜷) = 𝐴(𝒙) + 𝐹(𝒙) 𝑂(𝒙, 𝑾, 𝜷) với 𝑂 (𝒙, 𝑾, 𝜷) = 𝜷𝑻 𝜎 (𝑾𝒙) (3.5) (3.6) với 𝒙 = [𝒙T , 1]T giá trị đầu vào, 𝐰 = [𝒘1𝑇 , 𝒘𝑇2 , … , 𝒘𝑇𝑁 ]𝑇 , 𝒃 = [𝑏1 , 𝑏2 , … , 𝑏𝑁 ]𝑇 , 𝑾 = [𝒘, 𝒃] ∈ RNxd+1 , 𝜷 = [𝛽1 , 𝛽2 , … , 𝛽𝑁 ]𝑇 trọng số SLFN, 𝑂(𝒙, 𝑾, 𝜷) ngõ xuất mạng neural, A(x) hàm không chứa trọng số SLFN thoả điều kiện biên Dirichlet, F(x) hàm không cần thỏa điều kiện biên Dirichlet Trong nghiên cứu nghiệm gần 𝑢𝑡 (𝒙, 𝑾, 𝜷) (3.2) xác định sử dụng SLFN với thuật toán lan truyền ngược để cực tiểu hàm lỗi (3.4) qua việc điều chỉnh trọng số 𝑾, 𝜷 mạng Như việc xác định nghiệm gần phương trình (3.2) tương ứng với việc xác định 𝑢𝑡 (𝒙, 𝑾∗ , 𝜷∗ ), với 𝑾∗ = 𝑎𝑟𝑔𝑚𝑖𝑛𝑾 𝐸(𝑾, 𝜷), 𝜷∗ = 𝑎𝑟𝑔𝑚𝑖𝑛𝜷 𝐸(𝑾, 𝜷) 17 3.3 Gradient ngõ xuất đầu vào, trọng số SLFN Để cực tiểu hàm lỗi (3.4) SLFN huấn luyện để điều chỉnh trọng số mạng cho với giá trị 𝒙𝑗 ta có G(𝒙𝑗 ) xấp xỉ với giá trị Một tiếp cận phổ biến để tìm 𝑾, 𝜷 thỏa điều kiện dựa giảm gradient Trong đó, ngõ xuất 𝑂(𝒙, 𝑾, 𝜷) đạo hàm ngõ xuất ngõ vào, trọng số mạng cần phải xác định 3.3.1 Gradient ngõ xuất ngõ vào SLFN Xét kiến trúc mạng neural SLFN hình 3-1, với đầu vào 𝒙 = [𝑥1, 𝑥2 , … , 𝑥𝑑 ]𝑇 ∈ 𝑅𝑑 , ngõ xuất mạng neural xác định 𝑁 𝑂 = ∑ 𝛽𝑚 𝜎(𝑧𝑚 ) (3.7) 𝑚=1 với 𝑧𝑚 = ∑𝑑𝑗=1 𝑤𝑚𝑗 𝑥𝑗 + 𝑏𝑚 Khi đó: 𝑁 𝑑 𝑁 𝜕𝑂 𝜕 𝑘 ( ∑ 𝛽𝑚 𝜎 (∑ 𝑤𝑚𝑗 𝑥𝑗 + 𝑏𝑚 ) ) = ∑ 𝛽𝑚 𝑤𝑚𝑗 = 𝜎 (1) , 𝜕𝑥𝑗 𝜕𝑥𝑗 𝑚=1 𝑗=1 (3.8) 𝑚=1 Tương tự với đạo hàm bậc k O theo biến ngõ vào 𝑥𝑗𝑘 tính theo công thức 𝑁 𝜕𝑘 𝑂 𝑘 (𝑘) 𝑘 = ∑ 𝛽𝑚 𝑤𝑖𝑗 𝜎𝑚 𝜕𝑥𝑗 (3.9) 𝑚=1 với 𝜎𝑚 = 𝜎(𝑧𝑚 ), 𝜎 (𝑘) đạo hàm bậc k hàm sigmoid 𝜎 Hơn nữa, ta dễ dàng kiểm chứng [9] 𝜕 𝜆1 𝜕 𝜆2 𝜆 𝜕𝑥1 𝜆 𝜕𝑥2 … 𝜕 𝜆𝑑 𝜆 𝜕𝑥𝑑 𝑑 𝑁 (Λ) 𝑂 = ∑ 𝛽𝑚 𝑃𝑚 𝜎𝑚 (3.10) 𝑚=1 𝜆𝑘 với 𝑃𝑚 = ∏𝑑𝑘=1 𝑤𝑚𝑘 , Λ = ∑𝑑𝑚=1 𝜆𝑚 3.3.2 Gradient ngõ xuất trọng số SLFN Dựa vào vế trái công thức (3.10) ta thấy đạo hàm ngõ xuất 𝑂 ngõ vào tương đương với mạng truyền thẳng lớp ẩn (SLFN) Ngõ xuất SLFN gọi 𝑂𝑑 với SLFN có trọng số kết nối từ lớp nhập đến nút ẩn thứ m 𝒘𝑚 , độ dịch nút ẩn thứ m 𝑏𝑚 , trọng số kết (Λ) nối nút ẩn thứ m đến ngõ xuất 𝛽𝑚 𝑃𝑚 hàm truyền nút ẩn 𝜎𝑚 , 𝑂𝑑 = (Λ) ∑𝑁 𝑚=1 𝛽𝑚 𝑃𝑚 𝜎𝑚 Khi từ cơng thức (3.10) ta có: 18 𝜕𝑂𝑑 (Λ) = 𝑃𝑚 𝜎𝑚 𝜕𝛽𝑚 (3.11) 𝜕𝑂𝑑 (Λ+1) = 𝛽𝑚 𝑃𝑚 𝜎𝑚 𝜕𝑏𝑚 (3.12) 𝜕𝑂𝑑 𝜆𝑗 −1 (Λ+1) 𝜆𝑘 (Λ) ) 𝜎𝑖 = 𝑥𝑗 𝛽𝑚 𝑃𝑚 𝜎𝑚 + 𝛽𝑚 𝜆𝑗 𝑤𝑚𝑗 ( ∏ 𝑤𝑚𝑘 𝜕𝑤𝑚𝑗 (3.13) 𝑘=1,𝑘≠𝑗 3.4 Các bước xác định nghiệm PDE NNM với điều kiện biên Dirichlet 3.4.1 Nghiệm phương trình Poisson sử dụng SLFN Để minh họa cho việc xác định nghiệm PDE NNM nghiên cứu chọn phương trình Poisson hai chiều có dạng [12] : 𝜕 𝑢(𝑥1 , 𝑥2 ) 𝜕 𝑢(𝑥1 , 𝑥2 ) + = 𝑓 (𝑥1 , 𝑥2 ), 𝑥1 ∈ [0,1], 𝑥2 ∈ [0,1], 𝜕𝑥12 𝜕𝑥22 (3.14) thoả điều kiện biên Dirichlet 𝑢(0, 𝑥2 ) = 𝑓0 (𝑥2 ), 𝑢(1, 𝑥2 ) = 𝑓1 (𝑥2 ) (3.15) 𝑢(𝑥1 , 0) = 𝑔0 (𝑥1 ), 𝑢(𝑥1 , 1) = 𝑔1 (𝑥1 ) (3.16) Nghiệm NNM phương trình (3.14) xác định SLFN thỏa (3.15-3.16) có dạng [12]: 𝑢𝑡 (𝑥1 , 𝑥2 , 𝑾, 𝜷) = 𝐴(𝑥1 , 𝑥2 ) + 𝑥1 (1 − 𝑥1 )𝑥2 (1 − 𝑥2 )𝑂(𝑥1 , 𝑥2 , 𝑾, 𝜷), (3.17) với 𝐴(𝑥1 , 𝑥2 ) = (1 − 𝑥1 )𝑓0 (𝑥2 ) + 𝑥1 𝑓1 (𝑥2 ) + (1 − 𝑥2 ){𝑔0 (𝑥1 ) − [(1 − 𝑥1 )𝑔0 (0) + 𝑥1 𝑔0 (1)]} + 𝑦{𝑔1 (𝑥1 ) (3.18) − [(1 − 𝑥1 )𝑔1 (0) + 𝑥1 𝑔1 (1)]} Để xác định nghiệm gần 𝑢𝑡 (𝒙, 𝑾, 𝜷) phương trình (3.14) tham số 𝑾, 𝜷 cần điều chỉnh cách huấn luyện SLFN cho hàm lỗi (3.19) đạt giá trị nhỏ 𝑛 𝜕 𝑢𝑡 (𝑥1𝑖 , 𝑥2𝑖 ) 𝜕 𝑢𝑡 (𝑥1𝑖 , 𝑥2𝑖 ) 𝐸(𝑥1 , 𝑥2 , 𝑾, 𝜷) = ∑{ + − 𝑓(𝑥𝑖1 , 𝑥𝑖2 )}2 𝜕𝑥12 𝜕𝑥22 (3.19) 𝑖=1 với (𝑥1𝑖 , 𝑦2𝑖 ) ∈ [0,1] x [0,1], n số mẫu huấn luyện 𝜕 𝑢𝑡 (𝑥1𝑖 , 𝑥2𝑖 ) 𝜕 𝑢𝑡 (𝑥1 , 𝑥2 ) = |𝑥1= 𝑥1𝑖 , 𝑥2= 𝑥2𝑖 𝜕𝑥12 𝜕𝑥12 (3.20) 19 3.4.2 Các bước xác định nghiệm NNM sử dụng thuật toán BP Bước Khởi tạo n mẫu 𝒙𝑗 = (𝑥1𝑗 , 𝑥2𝑗 ), j = 1,…,n Bước Khởi tạo giá trị ngẫu nhiên trọng số mạng neural 𝑾, 𝜷 Bước Tính giá trị ngõ xuất 𝑜𝑗 SLFN theo cơng thức (3.1) Bước Tính giá trị ∂𝐸(𝑥1 ,𝑥2 ,𝑾,𝜷) ∂𝐸(𝑥1 ,𝑥2 ,𝑾,𝜷) ∂𝐖 , ∂𝜷 dựa vào công thức mục 3.3 Bước Cập nhật vector trọng số mạng theo công thức (3.21), (3.22) 𝑾𝑘 = 𝑾𝑘−1 - η 𝜷𝑘 = 𝜷𝑘−1 - 𝜃 ∂𝐸(𝑥1 ,𝑥2 ,𝑾,𝜷) ∂𝐖 ∂𝐸(𝑥1 ,𝑥2 ,𝑾,𝜷) ∂𝜷 , η hệ số học (3.21) , 𝜃 hệ số học (3.22) Wk , 𝜷 k cập nhật trọng số bước lặp thứ k , 𝐸(𝑥1 , 𝑥2 , 𝑾, 𝜷) hàm lỗi tính theo công thức (3.19) Bước Nếu 𝐸(𝑥1 , 𝑥2 , 𝑾, 𝜷)< 𝜀 (𝜀 số dương) nhảy đến Bước 7, ngược lại quay lại Bước Bước Thay trọng số tính Bước vào cơng thức (3.17) để tính nghiệm NNM phương trình (3.14) Bộ trọng số dùng kiểm tra để đánh giá nghiệm NNM so với nghiệm FDM phương trình (3.14) 20 CHƯƠNG KẾT QUẢ THỰC NGHIỆM Trong phần minh họa cách xác định nghiệm NNM PDE thuật giải trình bày mục 3.32 so sánh với nghiệm FDM Lỗi nghiệm NNM xác định : Lỗi nghiệm NNM = Nghiệm giải tích – Nghiệm NNM Lỗi nghiệm FDM = Nghiệm giải tích – Nghiệm FDM (4.1) Xét phương trình PDE sau 𝜕2𝑢 𝜕2𝑢 + =0 𝜕𝑥12 𝜕𝑥22 (4.2) với ≤ 𝑥1 ≤ 1, ≤ 𝑥2 ≤ 1, với điều kiện biên Dirichlet 𝑢(0, 𝑥2 ) = 𝑠𝑖𝑛2𝜋𝑥2 , 𝑢(1, 𝑥2 ) = 𝑢(𝑥1 , 0) = 𝑠𝑖𝑛2𝜋𝑥1 , 𝑢(𝑥1 , 1) = (4.3) Nghiệm giải tích phương trình (4.1) thỏa điều kiện biên Dirichlet (4.2): 𝑢𝑒 (𝑥1 , 𝑥2 ) = (sinh[2𝜋(1 − 𝑥2 )] 𝑠𝑖 𝑛(2𝜋𝑥1 ) sinh 2𝜋 (4.4) + sinh[2𝜋(1 − 𝑥1 )] 𝑠𝑖 𝑛(2𝜋𝑥2 ) Dựa vào dạng nghiệm SLFN phương trình (3.17), nghiệm NNM (4.1) có dạng: 𝑢𝑡 (𝑥1 , 𝑥2 , 𝑾, 𝜷) = 𝐴(𝑥1 , 𝑥2 ) + 𝑥1 (1 − 𝑥1 )𝑥2 (1 − 𝑥2 )𝑂(𝒙, 𝑾, 𝜷) (4.5) Trong 𝐴(𝑥1 , 𝑥2 ) tính dựa vào cơng thức (3.18) 𝐴(𝑥1 , 𝑥2 ) = (1 − 𝑥1 )𝑠𝑖𝑛2𝜋𝑥2 + (1 − 𝑥2 )𝑠𝑖𝑛2𝜋𝑥1 (4.6) Hình 4-1 Nghiệm FDM phương trình (3.17) với điều kiện biên Dirichlet (3.18) 21 Hình 4-2 Nghiệm NNM 𝒖𝒕 (𝒙𝟏 , 𝒙𝟐 , 𝑾, 𝜷) phương trình (3.17) với điều kiện biên Dirichlet (3.18) Hình 4-3 Lỗi nghiệm FDM nghiệm giải tích thuộc [-2.10-2, 5x10-3] 22 Hình 4-4 Lỗi nghiệm NNM nghiệm giải tích 𝑢𝑒 (𝑥1 , 𝑥2 ) − 𝑢𝑡 (𝑥1 , 𝑥2 , 𝑾, 𝜷) thuộc [-1.5.10-4, 2.5.10-4] Để xác định nghiệm gần phương trình (31-32) giải NNM sử dụng SLFN với 10 nút ẩn dựa thuật toán huấn luyện lan truyền ngược, tập huấn luyện cho SLFN chọn 121 điểm (bằng cách chia lưới [0,1]x[0,1] dọc theo 𝑥1 , 𝑥2 ) Từ xác định trọng số (W, 𝜷) SLFN xác định 𝑢𝑡 (𝑥1 , 𝑥2 , 𝑾, 𝜷) Biểu đồ nghiệm FDM, nghiệm NNM, lỗi nghiệm giải tích so với FDM, lỗi nghiệm giải tích so với NNM thực nghiệm thể Hình 4-1, Hình 4-2, Hình 4-3, Hình 4-4 tương ứng Dựa vào Hình 4-3 cho thấy lỗi nghiệm NNM PDE sử dụng NNM 𝑢𝑡 (𝑥1 , 𝑥2 , 𝑾, 𝜷) so với nghiệm giải tích 𝑢𝑒 (𝑥1 , 𝑥2 ) thuộc đoạn [-1.5.10-4, 2.5.10-4] Dựa vào Hình 4-4 cho thấy lỗi nghiệm FDM PDE sử dụng FDM so với nghiệm giải tích 𝑢𝑒 (𝑥1 , 𝑥2 ) có lỗi thuộc đoạn [-2.10-2, 5x10-3] Kết cho thấy nghiệm gần PDE giải NNM xác nghiệm gần giải FDM 23 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết luận Trong báo cáo này, chúng tơi trình bày phương pháp NNM để giải phương trình Poisson hai chiều với điều kiện biên Dirichlet sử dụng mạng truyền thẳng lớp ẩn với thuật toán huấn luyện mạng lan truyền ngược Các tham số SLFN cập nhật theo công thức (3.21), (3.22) số bước lặp Với phương pháp sử dụng NNM nghiệm 𝑢𝑡 (𝑥1 , 𝑥2 , 𝑾, 𝜷) cho kết xác so với phương pháp FDM Các tham số cần tìm NNM nhiều so với việc tính giá trị nút lưới lưới sai phân sử dụng FDM yêu cầu nhớ tính tốn hẳn so với FDM [13] Phương pháp NNM để giải PDE có dạng nghiệm tổng qt áp dụng cho phương trình vi phân, hệ phương trình vi phân PDE dạng khác [12] 5.2 Hướng phát triển Hướng phát triển nghiên cứu sử dụng mạng tích chập (convolutional neural network) để giải PDE nhằm tăng độ xác nghiệm PDE sử dụng mạng học sâu (deep learning) để giải dạng PDE bậc cao 24 LỜI CẢM ƠN Đề tài nghiên cứu khoa học thực với hỗ trợ từ quỹ đề tài nghiên cứu khoa học trường đại học Công nghiệp TP HCM, mã số 182.CNTT01/HD-DHCN TÀI LIỆU THAM KHẢO [1] P Đ Long, "Phát triển số thuật toán xử lý ảnh sử dụng mạng nơron tế bào" luận văn tiến sỹ, Viện công Nghệ Thông Tin, 2011 [2] Ricardo, H.J., A modern introduction to differential equations2009: Academic Press [3] Boyce, W.E., R.C DiPrima, and D.B Meade, Elementary differential equations and boundary value problems Vol 1992: Wiley New York [4] Smith, G.D., Numerical solution of partial differential equations: finite difference methods1985: Oxford university press [5] Dill, E.H., The finite element method for mechanics of solids with ANSYS applications2011: CRC press [6] Demuth, H., M Beale, and M Hagan, MATLAB User’s Guide, version 4.0: Neural network toolbox MathWorks Inc.: Natick, MA, USA, 2005 [7] Shirvany, Y., M Hayati, and R Moradian, Multilayer perceptron neural networks with novel unsupervised training method for numerical solution of the partial differential equations Applied Soft Computing, 2009 9(1): p 20-29 [8] Huang, G.-B and H.A Babri, Upper bounds on the number of hidden neurons in feedforward networks with arbitrary bounded nonlinear activation functions IEEE Transactions on Neural Networks, 1998 9(1): p 224-229 [9] Phạm, H.Q., T.H Phan, and Đ.T Hồng, Giáo trình phương trình đạo hàm riêng: Mã số: GT2012-05 2014 [10] Pinchover, Y and J Rubinstein, An introduction to partial differential equations2005: Cambridge university press [11] Causon, D and C Mingham, Introductory finite difference methods for PDEs2010: Bookboon [12] Perona, P and J Malik, Scale-space and edge detection using anisotropic diffusion IEEE Transactions on pattern analysis and machine intelligence, 1990 12(7): p 629-639 [13] Lagaris, I.E., A Likas, and D.I Fotiadis, Artificial neural networks for solving ordinary and partial differential equations IEEE transactions on neural networks, 1998 9(5): p 987-1000 [14] Rudd, K., G Di Muro, and S Ferrari, A constrained backpropagation approach for the adaptive solution of partial differential equations IEEE transactions on neural networks and learning systems, 2014 25(3): p 571-584 [15] Huynh, H.T and Q.D Ho, Hematocrit estimation using online sequential extreme learning machine Journal of Computer Science and Cybernetics, 2013 29(3): p 277-284 [16] Rudd, K., & Ferrari, S (2015) A constrained integration (CINT) approach to solving partial differential equations using artificial neural networks Neurocomputing, 155, 277-285 25 PHẦN III PHỤ LỤC ĐÍNH KÈM (tất văn sử dụng photo, sử dụng lý hợp đồng) Hợp đồng thực đề tài nghiên cứu khoa học Thuyết minh đề tài phê duyệt Quyết định nghiệm thu Hồ sơ nghiệm thu (biên họp, phiếu đánh giá, bảng tổng hợp điểm, giải trình, phiếu phản biện) Sản phẩm nghiên cứu: 01 báo đăng Tạp chí Khoa học Cơng nghệ Trường Đại học Cơng Nghiệp Tp Hồ Chí Minh, 01 chương trình máy tính 26 THUYẾT MINH CHƯƠNG TRÌNH MÁY TÍNH: Chương trình cài đặt ngôn ngữ Python chạy môi trường Colab Google Bước 1: Import số hàm thư viện python import autograd import autograd.numpy as np from autograd import grad, jacobian, hessian from autograd import elementwise_grad as egrad import matplotlib import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D Bước 2: Định nghĩa số hàm phụ thuộc vào phương trình cần giải ví dụ: def solution(x): return np.exp(-x[0])*(x[0]+x[1]**3) def sigmoid(x): return 1./(1+np.exp(-x)) def make_array_random(m,n): a = np.zeros((m,n)) for i in range(m): for j in range(n): a[i][j] = np.random.rand() return a def f(x): return np.exp(-x[0])*(x[0]-2+x[1]**3+6*x[1]) def A(x): return (1-x[0])*x[1]**3 + x[0]*(1+x[1]**3)*np.exp(-1) + (1-x[1])*x[0]*(np.exp(-x[0])-np.exp(-1)) + x[1]*((1+x[0])*np.exp(-x[0]) - (1-x[0]+2*x[0]*np.exp(-1))) def yTrial(x,net_out): return A(x) + x[0]*(1-x[0])*x[1]*(1-x[1])*net_out def network_netout(x, Win,Wout ): # x la vector [x1,x2] wt = sigmoid(np.dot(x,Win)) return ((np.dot(wt,Wout))) # tra ve vector Bước 3: Định nghĩa hàm loss_function sử dụng thuật toán BP để huấn luyện mạng cách cập nhật trọng số mạng thu Win, Wout mạng # - Mạng ANN -#Khai báo số nút ẩn định nghĩa hàm loss n_hides = 20 Win = np.zeros((2,n_hides)) # reset Tham số Wout = np.zeros((n_hides,1)) Win = make_array_random(2,n_hides) # khởi tạo tham số ngẫu nhiên ban đầu #print(Win) Wout = make_array_random(n_hides,1) #print(Wout) # Định nghĩa hàm loss_function def loss_funtion(Win,Wout): 27 loss_sum = h_yTrial = hessian(yTrial,0) # h_yTrial funtion lấy đạo ham bac theo x (=[x1,x2]) cua ham yTrial # áp dụng hàm cho biến x cụ thể chang hạn x = [1.,2.] ta có # ma trận hession giá trị biến for xi in xs: for yi in ys: x = np.array([xi,yi]) x = Q(x,0.0001) net_out = network_netout(x,Win,Wout)[0] # [0] kết đầu mảng grad2_yTrial = h_yTrial(x,net_out) # mang Hess 2x2 tai x = [xi,yi] = [ [d2fdx1,dfdx1_dfdx2],[dfdx2_dfdx1,d2f_dx2] ] func = f(x) # vế phải err = (grad2_yTrial[0][0] + grad2_yTrial[1][1] - func)**2 loss_sum += err return loss_sum def loss_funtion_1(Win,Wout): # sửa đổi để vẽ hàm loss loss_sum = h_yTrial = hessian(yTrial) # h_yTrial funtion lấy đạo ham bac theo x (=[x1,x2]) cua ham yTrial # áp dụng hàm cho biến x cụ thể cho g hạn x = [1.,2.] ta có # ma trận hession giá trị biến for i, xi in enumerate(xs): for j, yi in enumerate(ys): x = np.array([xi,yi]) x = Q(x,0.0001) net_out = network_netout(x,Win,Wout)[0] # [0] kết đầu mảng grad2_yTrial = h_yTrial(x,net_out) # mang Hess 2x2 tai x = [xi,yi] = [ [d2fdx1,dfdx1_dfdx2],[dfdx2_dfdx1,d2f_dx2] ] func = f(x) # vế phải err = (grad2_yTrial[0][0] + grad2_yTrial[1][1] - func)**2 loss_sum += err Zloss[i][j] = err # dùng vẽ hàm loss return loss_sum # Training epoches = 100 # Dao ham cua ham loss d_lossFin = jacobian(loss_funtion,0) # d_lossFin la Ham (W,x), dao hàm bậc cua loss_function theo Win d_lossFout = jacobian(loss_funtion,1) # d_lossFout la Ham (W,x), dao dao hàm bậc cua loss_function theo Wout # toc hoc lmb = 0.001 Loss = np.zeros(epoches)# Luu cac gia trị lan lap cua loss function for i in range(epoches): # lap epoches lan Zloss = np.zeros((nx,ny)) # lưu sai số lỗi điểm nội suy dùng để vẽ hàm loss # Tính hàm loss ZLoss i_loss = loss_funtion_1(Win,Wout) Loss[i] = i_loss; print('Loop ',i,' : error = ',i_loss) # Cap nhat trọng số win wout 28 md_lossFin = d_lossFin(Win,Wout) # Áp dụng hàm d_lossFin (Win,Wout) ta có Mảng đạo hàm riêng hàm Loss giá trị Win md_lossFout = d_lossFout(Win,Wout) # Áp dụng hàm d_lossFout (Win,Wout) ta có Mảng đạo hàm riêng hàm Loss giá trị Wout Win = Win - lmb*md_lossFin Wout = Wout - lmb*md_lossFout # Tham so sau huan luyen print(' ') print('Tham so sau Huan luyen') print(' ') print('Win') print(Win) print('Wout') print(Wout) Bước 4: Thay trọng số Win, Wout vào hàm yTrial để tính nghiệm xấp xỉ phương trình đạo hàm riêng Z2 = np.zeros((nx, ny)) # tính giá trị hàm (surface) điểm lưới (nx,ny) for i, xi in enumerate(xs): for j, yi in enumerate(ys): x = np.array([xi,yi]) net_out = network_netout(x, Win,Wout ) Z2[i][j] = yTrial(x,net_out)# thay trọng số vào hàm yTrial để tính giá trị điểm lưới Hai hàm vẽ biểu đồ: # Viet hai hàm vẽ đồ thị def drawFunc(title,xs,ys,Z,zMin,zMax,face,c): fig = plt.figure() ax = fig.add_subplot(111, projection='3d') X, Y = np.meshgrid(xs,ys) ax.set_title(title) ax.set_xlabel("x") ax.set_ylabel("y") ax.set_xlim(xs.min(),xs.max()) ax.set_ylim(ys.min(),ys.max()) ax.set_zlim(zMin,zMax) if face: ax.plot_surface(X,Y,Z,color=c) else: ax.plot_wireframe(X,Y,Z,color=c) ax.view_init(azim=230) plt.show() def draw2Func(title,xs,ys,Z1,Z2,zMin,zMax,face): # Vẽ hàm để so sánh độ fit fig = plt.figure() ax = fig.add_subplot(111, projection='3d') X, Y = np.meshgrid(xs,ys) ax.set_title(title) ax.set_xlabel("x") ax.set_ylabel("y") ax.set_xlim(xs.min(),xs.max()) ax.set_ylim(ys.min(),ys.max()) ax.set_zlim(zMin,zMax) if face: 29 ax.plot_surface(X,Y,Z1,color='r',linewidth=3) ax.plot_surface(X,Y,Z2,color='b') else: ax.plot_wireframe(X,Y,Z1,color='r',linewidth=2) ax.scatter(X, Y, Z2, s = 100, color = 'b', marker='*') #ax.plot_wireframe(X,Y,Z2,color='b',linestyle=' ') ax.legend(["${Nghiệm\ giải\ tích}$","${Nghiệm\ BP}$"]) ax.view_init(azim=230) plt.show() 30 ... kết nghiên cứu đề tài) Kết nghiên cứu đề tài ? ?Nghiên cứu trí tuệ nhân tạo giải phương trình đạo hàm riêng? ?? tài liệu nghiên cứu giảng dạy sinh viên bậc đại học cao học Với tiếp cận tác giả nghiên. .. tiếng Anh) Phương trình đạo hàm riêng ứng dụng rộng rãi lĩnh vực khác đời sống vật lý, hóa học, kinh tế, xử lý ảnh vv Trong đề tài chúng tơi trình bày phương pháp giải phương trình đạo hàm riêng (partial... bậc học từ đại học cao học, việc tác giả thực đề tài nghiên cứu khoa học cấp trường ? ?Nghiên cứu trí tuệ nhân tạo giải phương trình đạo hàm riêng? ?? tài liệu cần thiết phục vụ sinh viên thuộc mơn

Ngày đăng: 27/05/2021, 22:54

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w