Giải phương trình đạo hàm riêng sử dụng mạng Neural nhân tạo
Phương trình đạo hàm riêng đã được ứng dụng rộng rãi trong các lĩnh vực khác nhau của đời
sống như vật lý, hóa học, kinh tế, xử lý ảnh vv. Trong bài báo này chúng tôi trình bày một 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 Dirichlete sử
dụng mạng neural truyền thẳng một lớp ẩn (single-hidden layer feedfordward neural networks - SLFN)
gọi là phương pháp mạng neural (neural network method – NNM). Các tham số của mạng neural được
xác định dựa trên thuật toán huấn luyện mạng lan truyền ngược (backpropagation - BP). Kết quả nghiệm
PDE thu được bằng phương pháp NNM chính xác hơn so với nghiệm PDE giải bằng phương pháp sai
phân hữu hạn.

Trang 1

Trang 2

Trang 3

Trang 4

Trang 5

Trang 6

Trang 7

Trang 8

Trang 9

Trang 10
Tóm tắt nội dung tài liệu: Giải phương trình đạo hàm riêng sử dụng mạng Neural nhân tạo

o  ) hàm∈  Ω cấp , hai  của phương trình Poisson sử dụng sai phân trung tâm biến 
đổi ta có một hệ gồm (M+1)2 phương trình với (M+1)2 ẩn. Giải hệ này ta tính được giá trị tại các nút lưới 
của lưới sai phân. 
2.1 Lưới sai phân và hàm lưới 
 Hình 1: Lưới sai phân hữu hạn 
 Chọn số tự nhiên M>0. Chia miền thành các ô lưới như sau: 
 Chia đoạn [a,b] thành M đoạn bằng nhau bởi M+1 điểm chia có tọa độ , 
 Ω
là độ dài đoạn chia, với i : 1 M+1    
     =   +(  − 1)ℎ  ℎ  =  
© 2020 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 
 GIẢI PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG SỬ DỤNG MẠNG NEURAL NHÂN TẠO 25 
 Chia đoạn [c,d] thành M đoạn bằng nhau bởi M+1 điểm chia có tọa độ , 
là độ dài đoạn chia. Mỗi điểm tương ứng với một nút lưới , với i, j : 1 M+1    
     =   +(  − 1)ℎ  ℎ  =  
 Một hàm số xác định tại các nút lưới gọi là hàm lưới. Giá trị của hàm lưới tại nút lưới ký 
    ,     ( ,  )
hiệu xác định bởi :    
      
 , i, j : 1 M+1.    ,    
   , 
 Tập gọi là tập nút trong 
   ,  =      ,     
 Tập   ,               gọi là tập nút biên 
 Ω ={   ,    |   ,     ∈ Ω } 
    
2.2 Lược Ω  đồ,  sai={ phân    ,      |    ,      ∈  Ω }
 Từ phương trình     , để xấp xỉ đạo hàm cấp 
    (  ,  )    (  ,   )
 và     
hai theo biến tại   điểm  +     , chúng=   (ta   sử,    dụng),   <công   <thức ,  sai< phân   < trung  tâm ta được
          
        ,     (3) 
    ,   ,     ,   ,     ,   ,   
  − 2  +     − 2  +    , 
 Thay   +   =   
 (3)ℎ  vào (2) và biến đổi thànhℎ  dạng bài toán sai phân hữu hạn hạn
 (4) 
  
   ℎ 
     ,     ,   ,     ,     ,     ,    (5) 
   +   +    +    − 2(1 +  )  = ℎ   ,   =   
  ℎ 
  (6) 
   ,  =        ,  :1   +1
 (7) 
      ,  =        ,  :1   +1
 (8) 
   ,      
    =   (  ),  : 1   + 1 và . 
 Từ phương trình  (4),    cho ta  mối   quan hệ giữa bốn nút lưới xung quanh của Giải hệ phương 
trình  đại số tuyến tính  (4-8)= ta   xác(  định), được : 1 giá  trị+ của1 hàm lưới với . 
   ,    , 
3 MẠNG NEURAL TRUYỀN THẲNG MỘT LỚP ẨN ĐỂ  ,  GIẢI  ,  PDE∶1 (NNM)  +1 
3.1 Mạng truyền thẳng một lớp ẩn. 
 Nhiều kiến trúc khác nhau của mạng neural đã và đang phát triển mạnh. Tuy nhiên người ta đã chứng 
minh được rằng mạng neural truyền thẳng một lớp ẩn (single hidden layer feedfordward neural network - 
SLFN) có thể xấp xỉ một hàm bất kỳ nếu số nút ẩn và hàm truyền được chọn một 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 và 1 nút ở lớp xuất có thể minh họa như 
hình 2: 
 Hình 2: Kiến trúc tiêu biểu của mạng neural một lớp ẩn (SLFN) giải PDE 
 © 2020 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 
26 GIẢI PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG SỬ DỤNG MẠNG NEURAL NHÂN TẠO 
 Với là ngõ vào, là véc tơ trọng số kết nối từ các nút nhập j đến nút 
ẩn thứ m,     , là độ lệch (bias) của nút ẩn thứ m, là vector trọng số kết 
    = [   ,    ,,    ] ∈      
nối từ lớp ẩn thứ m đến nút xuất ,   tích vô hướng của hai vecto và , là hàm truyền 
     ,           
(trong nghiên  cứu=[  này,  tác giả,, sử  dụng] hàm  sigmoid). Ứng với mỗi vector đầu  vào ngõ xuất được 
        
xác định   ∙        (.)
      
   (9) 
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 [9]: 
   (10) 
    
thỏa điều   kiện ,   (biên ), ∇ (boundaryu( ), ∇   (conditions )  = 0 ,   – ∈BCs) Ω ⊂ Dirichlete,  ,   ∈  với là nghiệm 
của phương trình (10) cần xác định. Biên của miền kí hiệu là .  
    
 Nghiệm gần đúng của (10) có thể được xác định bằng cách  = chia(  lướ,,i  mi)ền∈   và,  (  và) tìm giá trị 
của tại các nút lưới thuộc miền Ω . Rõ Ω ràng việc tìm giá trị u tại các nút lưới 
thuộc đưa  về(  giải) hệ phương trình (11) Ω  Ω
   Ω  =     ∈ Ω;   =1,,   
 Ω  , (11) 
  
 phải thỏa điều     kiện ,    biên   , ∇Dirichlet.u    , ∇        = 0 ,    ∈ Ω 
 Thay vì xác định giá trị tại các nút lưới thuộc bằng cách giải hệ phương trình, gọi là 
nghiệm  gần đúng của phương trình (14), trong đó p là tham số có thể điều chỉnh sao cho cực tiểu hàm lỗi 
(12) Ω    ( ,  )
 (12) 
    
  ( ) =     (  ,   (  ,  ), ∇  (  ,  ), ∇   (  ,  ))  , 
 thỏa điều kiện  ∈ biên  Dirichlet. 
 Nghiệm gần đúng được xác định sử dụng SLFN thỏa điều kiện biên Dirichlet có thể viết 
  
dưới  dạng tổng của 2 số hạng [9], trong đó là trọng số của SLFN được thay bởi . 
  
   ( ,  ) , (13) 
    ,  
trong  (  ,đó  ,  ) =  ( ) +  ( )  ( , ,  ,  ) (14) 
với giá trị đầ u vào, 
  ( ,  ,  ) =    (  )
     trọng số của SLFN,     là  ngõ  xuất của mạng neural  , A(x) hàm không      chứa 
            
trọng  số=[ của  ,SLFN 1]  và thoả điều kiện  =[ biên  ,Dirichlet,  ,,   F(]x),  là =[hàm  không,   ,, cần  ]thoả,   điều= [  kiện,  ] biên∈R Dirichlet.,   = 
[  Trong,   ,, bài   báo] này nghiệm gần đúng  ( ,  ,  ) của (10) được 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 (12) qua việc điều chỉnh trọng số của mạng. 
 Như vậy việc xác định nghiệm   gần (  , đúng ,   ) phương trình (10) tương ứng với việc xác định 
 , với ,   ,  
3.3 ∗ ∗ ∗ ∗ SLFN 
   Gradient của ngõ xuất đối  với đầu vào, trọng số của  
  (Để ,  cực,  tiểu) hàm   lỗi =(12)       SLFN được (  huấn,  ) luyện  = để       điều chỉnh (  trọng,  ) số của mạng sao cho với mỗi giá 
trị ta có G( xấp xỉ với giá trị 0. Một trong các tiếp cận phổ biến để tìm thỏa điều kiện trên là 
dựa trên giảm gradient. Trong đó, ngõ xuất và các đạo hàm của ngõ xuất đối với ngõ vào, các 
    
trọng  số của mạng  ) cần phải được xác định.  ,  
3.3.1 Gradient ngõ xuất đối với ngõ vào của (  SLFN,  ,   )
 Xét kiến trúc mạng neural SLFN như hình 2, với đầu vào , ngõ xuất của 
mạng được xác định    
   = [  ,   ,,   ] ∈  
 , (15) 
  
  = ∑       (   )
© 2020 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 
 GIẢI PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG SỬ DỤNG MẠNG NEURAL NHÂN TẠO 27 
với 
  
             
Khi đó  ta= có: ∑     +   
       (16) 
   ( )
                   
   =                  +       =         ,
 vớ i                
   ( )
Tương(  tự) với đạo hàm bậc k của O theo biến ngõ vào được tính theo công thức 
   =   
  
  
   (17) 
    
      ( )
 vớ i =        ,    là đạo hàm bậc k của hàm sigmoid 
        
 ( )
 Hơn  nữa,  = ta ( có   thể)   dễ dàng kiểm chứng [9]   
 (18) 
           
       ( )
            
 với         =         (19) 
                
       
3.3.2   Gradient= ∏    ngõ    xuất, Λ =đối∑ với    các   trọng số của SLFN 
 Dựa vào vế trái công thức (18) ta thấy đạo hàm của ngõ xuất đối với ngõ vào tương đương với một 
mạng truyền thẳng 1 lớp ẩn (SLFN). Ngõ xuất của SLFN này gọi là với SLFN có trọng số kết nối từ 
lớp nhập đến nút ẩn thứ m là , độ dịch nút ẩn thứ m là , trọng  số kết nối nút ẩn thứ m đến ngõ xuất 
  
là hàm truyền các nút ẩn là như vậy  . Khi đó từ công thức (18) ta có: 
      
 ( )   ( )
         ,    = ∑           (20) 
     ( )
 =     
     (21) 
   (   )
         
   =      
    (22) 
  
     (   )         ( )
                    
    =         +                
3.4   Các bước xác định nghiệm của  PDE  ,   bằng  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 của PDE bằng NNM trong bài báo này chọn phương trình 
Poisson hai chiều có dạng [9] : 
 , v i (23) 
     ớ
    (  ,  )    (  ,   )
    
thoả   điều  kiện+ biên    Dirichlet=  (   ,   )    ∈ [0,1],    ∈ [0,1], 
 , 
 (24) 
  (0,   ) =   (  ),  (1,   ) =   (  ) . 
            
 Nghiệm NNM của phương  trình(  ,(023) )= xác   định(  ) ,bằng (  SLFN, 1) = thỏa  (  (24)) có dạng [9]: 
 (25) 
   (  ,   ,  ,  ) =  (  ,   ) +   (1 −   )  (1 −   ) (  ,   ,  ,  ), 
 © 2020 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 
28 GIẢI PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG SỬ DỤNG MẠNG NEURAL NHÂN TẠO 
 (26) 
 với  (  ,   ) = (1 −   )  (  ) +     (  )
 + (1 −   ){  (  )  
 Để xác định nghiệm− [(1 − gần  ) đúng  (0 ) +     (1)] }c+ủa  phương{  (  ) trình (23) tham số cần được điều chỉnh 
bằng cách huấn luyện− [(1 SLFN−   )  sao ( 0cho) + hàm     lỗi(1 )(27)]} đạt giá trị nhỏ nhất. 
   ( ,  ,  )  ,  
 , (27) 
    
       (   ,    )     (   ,    )
        
 (  ,   ,  ,  ) =   ∑   {     +     −  (   ,    )}
v i , 
 ớ  
     (   ,    ) (28) 
  
       , v i n s   m  u hu n luy n m ng. 
   (  ,   ) ∈ [0,1] x [0,1]ớ ố ẫ =ấ ệ ạ
     (  ,   )
3.4.2  Các bước   xác    định   nghiệm NNM sử dụng thuật toán huấn luyện lan truyền ngược 
     |      ,       
 Bước 1. Khởi tạo n mẫu , j = 1,,n . 
 Bước 2. Khởi tạo giá trị ngẫu nhiên trọng số mạng neural . 
        
 Bước 3. Tính giá trị ngõ  xuất=(   của,   SLFN) theo công thức (9). 
  ,  
 Bước 4. Tính giá trị của   theo công thức (17), (20-22). 
   (  ,   , , )   (  ,  , , )
 Bước 5. Cập nhật vector trọng số của mạng theo công thức (29). 
    ,    
 = - η , η hệ số học 
   (  ,  , , ) (29) 
   =     - , 
        hệ số học
   (  ,  , , )
 trong đó Wk , k là  cập nh  ậ t trọng số bước lặp thứ k , là hàm lỗi được tính theo công 
           
 thức (27). 
 Bước 6. Nế u < ( hằng số dương)  nhảy(   ,đến  ,  Bước,  ) 7, ngược lại quay lại Bước 3 
 Bước 7. Thay bộ trọng số đã tính ở Bước 5 vào công thức (25) để tính nghiệm NNM của phương 
 trình (23). Bộ trọng (    số,     này,   , sẽ  ) dùng    kiểm tra để đánh giá nghiệm NNM so với nghiệm FDM của 
 phương trình (23). 
4 KẾT QUẢ THỰC NGHIỆM 
 Trong phần này chúng tôi minh họa cách xác định nghiệm NNM của PDE bằng thuật giải đã trình bày 
trong mục 3.32 và so sánh với nghiệm FDM. Lỗi nghiệm NNM được xác định : 
 Lỗi nghiệm NNM = Nghiệm giải tích – Nghiệm NNM (30) 
 Lỗi nghiệm FDM = Nghiệm giải tích – Nghiệm FDM 
Xét phương trình PDE sau 
 (31) 
    
        
với , với điều  + kiện  biên= 0 Dirichlet 
        
 0≤    ≤1,0≤    ≤1 (32) 
  (0,   ) =    2   ,  (1,   ) = 0 
Nghiệm giải tích của phương trình (30) thỏa điều kiên biên Dirichlet (31): 
  (  , 0) =    2   ,  (  , 1) = 0
 (33) 
 1
Dựa vào   (dạng  ,    nghiệm) = SLFN( sinhcủa [phương2 (1 − trình  )] (2  5), ( 2n ghiệm  ) + NNMsinh [ 2của ( 1(30)−   có ) ]dạng:    ( 2   )
 sinh 2  
 (34) 
 1 2
Trong đó   (  ,   ,   ,được ) = tính (  dự,   vào) + công  (1 thức−    (2) 6) ( 1 −   ) ( ,  ,  )
 (35) 
  (  ,   )
  (  ,   ) = (1 −   )   2    + (1 −   )   2   
© 2020 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 
 GIẢI PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG SỬ DỤNG MẠNG NEURAL NHÂN TẠO 29 
 Hình 3: Nghiệm FDM phương trình (25) với điều kiên biên Dirichlet (26) 
Hình 4: Nghiệm NNM phương trình (25) với điều kiên biên Dirichlet (26) 
   (  ,   ,  ,  )
 © 2020 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 
30 GIẢI PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG SỬ DỤNG MẠNG NEURAL NHÂN TẠO 
 Hình 5: Lỗi nghiệm FDM và nghiệm giải tích thuộc [-2.10-2, 5x10-3] 
 Hình 5: Lỗi nghiệm NNM và nghiệm giải tích 
 thuộc [-1.5.10-4, 2.5.10-4] 
   (  ,   ) −   (  ,   ,  ,  ) 
© 2020 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 
 GIẢI PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG SỬ DỤNG MẠNG NEURAL NHÂN TẠO 31 
 Để xác định nghiệm gần đúng phương trình (31-32) giải bằng NNM sử dụng SLFN với 10 nút ẩn dựa 
trên thuật toán huấn luyện lan truyền ngược, tập huấn luyện cho SLFN được chọn 121 điểm (bằng cách 
chia lưới [0,1]x[0,1] dọc theo ). Từ đó xác định bộ trọng số (W ) của SLFN và xác định được 
 . Biểu đồ nghiệm FDM, nghiệm NNM, lỗi giữa nghiệm giải tích so với FDM, lỗi giữa 
nghiệm giải tích so với NNM của  ,   thực  nghiệm trên được thể hiện như ,  Hình 3, Hình 4, Hình 5, Hình 6 
tương  (   ,ứng.  ,   ,  )
 Dựa vào hình 5 cho thấy lỗi nghiệm NNM của PDE sử dụng NNM so với nghiệm giải 
tích thuộc đoạn [-1.5.10-4, 2.5.10-4] . 
 Dựa vào hình 6 cho thấy lỗi nghiệm FDM của PDE sử dụng   ( FDM  ,    ,so  ,với ) nghiệm giải tích 
   (  ,có   )lỗi thuộc đoạn [-2.10-2, 5x10-3]. 
 Kết quả cho thấy nghiệm gần đúng PDE giải bằng NNM chính xác hơn nghiệm gần đúng giải bằng 
FDM.  (   ,   ) 
5 KẾT LUẬN 
 Trong bài bá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 Dirichle sử dụng mạng truyền thẳng một lớp ẩn với thuật toán huấn luyện mạng lan truyền 
ngược. Các tham số của SLFN được cập nhật theo công thức (24) bởi một số bước lặp. Với phương pháp 
sử dụng NNM thì nghiệm cho kết quả chính xác hơn so với phương pháp FDM. Các 
tham số cần tìm của NNM ít hơn rất nhiều so với việc tính giá trị tại các nút lưới của lưới sai phân sử 
dụng FDM và yêu cầu về bộ   nhớ(   ,tính  ,  toán,   )ít hơn hẳn so với FDM [10] . Phương pháp NNM để giải PDE 
có dạng nghiệm tổng quát có thể áp dụng cho phương trình vi phân, hệ phương trình vi phân và các PDE 
dạng khác [9]. Hướng phát triển tiếp theo của nghiên cứu là sử dụng mạng tích chập (convolutional neural 
network) để giải PDE nhằm tăng độ chính xác nghiệm của PDE và sử dụng mạng học sâu (deep learning) 
để giải các dạng PDE bậc cao. 
LỜI CẢM ƠN 
 Bài báo được thực hiện với sự 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] Ricardo, H.J., A modern introduction to differential equations2009: Academic Press. 
[2] Boyce, W.E., R.C. diprima, and D.B. Meade, Elementary differential equations and boundary value problems. 
 Vol. 9. 1992: Wiley New York. 
[3] Smith, G.D., Numerical solution of partial differential equations: finite difference methods1985: Oxford 
 university press. 
[4] Dill, E.H., The finite element method for mechanics of solids with ANSYS applications2011: CRC press. 
[5] Demuth, H., M. Beale, and M. Hagan, MATLAB User’s Guide, version 4.0: Neural network toolbox. 
 Mathworks Inc.: Natick, MA, USA, 2005. 
[6] 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. 
[7] 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. 
[8] Thomas, J.W., Numerical partial differential equations: finite difference methods. Vol. 22. 2013: Springer 
 Science & Business Media. 
[9] 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. 
 © 2020 Trường Đại học Công nghiệp thành phố Hồ Chí Minh 
32 GIẢI PHƯƠNG TRÌNH ĐẠO HÀM RIÊNG SỬ DỤNG MẠNG NEURAL NHÂN TẠO 
[10] 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. 
 Ngày nhận bài: 03/05/2019 
 Ngày chấp nhận đăng: 20/06/2019 
© 2020 Trường Đại học Công nghiệp thành phố Hồ Chí Minh File đính kèm:
 giai_phuong_trinh_dao_ham_rieng_su_dung_mang_neural_nhan_tao.pdf giai_phuong_trinh_dao_ham_rieng_su_dung_mang_neural_nhan_tao.pdf




