Mạng nơron nhân tạo(Neural network) chuỗi thời gian (Artificial neural network and time series) Tại lại mạng.mạng Có cách giải toán phức tạp dùng mạng.bổ đề mạng.chia nhỏ để xử lý Nghĩa nghiên cứu hệ phức tạp ngời ta thờng phân tích hệ thành nhiều hệ phần tử, nhiều phần tử đơn giản để đẽ tìm hiểu Tuy nhiên, nhiều phần tử, yếu tố đơn giản lại tạo thành hệ thống phức tạp, lý thuyết mạng cách tiếp cận dễ đạt đợc điều Mạng ? Có nhiều loại mạng khác nhng chúng đặc trng hai cấu thành : tập nút tập quan hệ, kết nối nút Nút đơn vị tính toán Nút nhận đầu vào(input), xử lý đầu vào cho đầu ra(output) Quá trình xử lý đơn giản chảng hạn cộng đầu vào, phức tạp (một nút mạng ).) Các kết nối xác định luồng thông tin nút, luồng thông tin chiều, thông tin truyền theo hớng hai chiều truyền theo hai hớng (thuận ngợc) Nhng tơng tác nút thông qua kết nối đà cho dáng điệu toàn cục mạng, điều mà nghiên cứu riêng rẽ phần tử mạng phát đợc, tính toàn cục dáng điệu gọi tính trồi lên mạng, hệ thống điều làm cho mạng trở thành công cụ nghiên cứu hiệu Mạng nhân tạo mạng nơron nhân tạo ANN Có loại mạng đợc coi loại mạng phức tạp nhất, mạng thần kinh(neural network) cđa ngêi Tõ 1943[1] Mc Culloh vµ Pitts sau nhiều nhà khoa học thuộc nhiều ngành khác đà tìm cách mô mạng thần kinh, gọi mạng nơron nhân tạo(atificial networks), viết gọn ANN; từ trở đi, này, nói mạng đợc hiểu ANN 3.1 Tế bào nơ rôn.[2] Tín hiệu đợc truyền từ nơrôn sang nơrôn khác nơrôn thông qua khớp(synapse), khớp đơn vị đóng vai trò trung gian tơng tác nơrôn Khi trạm điểm khớp, tín hiệu đủ mạnh, nghĩa tín hiệu vợt qua ngỡng tín hiệu đợc truyền qua khớp khác mạng nơrôn khác, tín hiệu không đủ mạnh, không vợt qua ngỡng tín hiệu bị dừng khớp Thông thờng khớp làm việc dới dạng biến đổi tín hiệu điện thành tín hiệu hoá sau trở thành tín hiệu điện theo thuật ngữ điện phần tử nh đợc gọi thiết bị có hai cổng không nghÞch(nonreciprocal two-ports device) Theo Arbib[3], hƯ ãc ngêi, tøc trung tâm hệ thần kinh đợc mô hình hoá mạng nơrôn, hệ thống gồm khèi(xem h×nh vÏ) S KÝch thÝch TiÕp nhËn R Mạng nơrôn NN Hiệu E R e Đáp ứng Hình vẽ Tín hiệu kích thích(stimulus) từ thể ngời hay từ môi trờng bên qua khớp tiếp nhận R(Reciptor) khối biến đổi tín hiệu kích thích thành xung điện để truyền thông tin đến khối mạng nơrôn NN(Neural Net), khối xử lý định dới dạng xung điện chuyển xung điện sang khối hiệu E(Effeetor), khối E lại biến xung điện NN tạo thành đáp ứng Re (Response) để thể dới dạng đầu ra(output) hệ 3.2 Mô hình toán học nơrôn Một nơrôn đơn vị xử lý thông tin, sở thao tác mạng nơrôn Hình vẽ dới mô tả nơrôn thứ k mô hình ANN theo mô hình Mc Culloh Pitts đề xớng gọi mô hình MC TÝn hiƯu vµo x0 Wk x1 Wk Độ lệch b k so với ngỡng Hàm kích hoạt y xm () k Ra Bé tổng W km Trong mô hình MP có yếu tố sở : Một tập khớp có phần tử đặc trng trọng số(đặc trng cho cờng độ hay độ dài khớp), cụ thể tín hiệu x j đầu vào khớp j dới kết nối với nơrôn thứ k trọng số W kj ;( j=1,m ) 1) Một mạng.thiết bị bé tỉng(addu,) céng c¸c tÝn hiƯu x j sau đà đợc liên W kj khớp tiếp nhận, dĩ nhiên kích hoạt kết với trọng số có dạng tổ hợp tuyến tính Ngoài nơrôn thứ k có độ lệch b k có tácdụng nâng cao hay hạ thấp đầu vào khối E phụ thuộc vào b k dơng hay âm 2) Một mạng.thiết bị hoạt kích(Activation function,) để giới hạn biên độ đầu vào nơrôn, thờng đợc hạn chế khoảng [-1,1] [0,1] Vậy, với nơrôn thø k, ta cã m u k := ∑ wkj x j +b k j=1 (3.2.1) hay, nÕu coi b k tín hiệu x 01 , ta cã thĨ biĨu diƠn m u k := ∑ wkj x j j=1 x :=1; wk :=bk ; (3.2.2) Cuối cùng, với mô hình MP, ta có : m y k = Trong ®ã (uk ) ; u k := ∑ wkj x j j=1 (3.3.3) u0 (u)= (3.2.4) uu j khác jk (3.5.6) k đà đợc định nghĩa phần trớc, xem (3.2.3) Ngoài gọi w kj trọng số khớp kết nối nút nơrôn j với nơrôn k, đợc wkj=1 giả thiết thêm j Luật học k (3.5.7) e ( x j wk j ) nơrôn k thắng ww kj= (3.5.8) e nơrôn k thua tốc độ học BL Luật xuất phát từ học thống kê đợc Achkey (1985) Hinton Sejrowski (1986) đề nghị xuất phát từ thiết bị đợc gọi máy Boltzmann, thiết bị có ANN có cấu trúc đệ qui hoạt động theo chế độ, chẳng hạn, thiết bị chế độ mạng.ON kí hiệu trạng thái +1, chế độ mạng OF ., trạng thái-1 Thiết bị đặc trng hàm lợng E ®Þnh nghÜa bëi E :=− w kj x k x j ∑ ∑ j k j≠ k x j trạng thái nơrôn j, w kj lµ träng sè kÕt nèi kÕt nèi nơrôn j với nơrôn k ; j k chứng tỏ nơrôn thiết bị đợc tự phản hồi Thiết bị thao tác chọn ngẫu nhiên tiến hiệu, chẳng hạn x k bớc trình học trợt trạng thái sang x k với mạng nhiệt độ T với xác suất P ( x k →−x k ) = 1+ exp ( −ΔwE k /T ) Luật lặp thiết bị đạt đợc cân nhiệt hạ theo qui tắc Δww kj=ηe ( ρ+kj −ρ− kj ) + víi ρkj tơng quan trạng thái j k víi ANN ë chÕ ®é cã ®iỊu kiƯn − ρ ràng buộc, kj tơng quan chế độ tự Trong ANN ngêi ta cịng ph©n biƯt kiĨu häc chđ u : häc cã thÇy (learning with a teacher ) đợc coi học có giám sát (supervised) Kiểu học kiểu học tri thức đợc hiểu dới dạng đầu vào (x) - đầu (d) , với x d đà biết, yêu cầu học điều chỉnh trọng số w cho đạt mức nhỏ Dới sơ đồ minh hoạ kiểu học có thầy: Môi trờng xd Thầy Đáp ứng mong muốn + Đ/ thực tế Hệ thống học Tín hiệu lỗi Học thầy (learning without teacher) tự học (self learning) kiểu học ANN biết đầu vào (x) đầu mong muốn cha biết Khi đó, nguyên tắc, phải tạo tiêu tốt thuật toán học dẫn đến việc điều chỉnh trọng số w cho đạt đợc mạng.tổn thất Sơ đồ loại học có dạng Môi trờng Véc tơ mô tả trạng thái môi trờng 3.6 Tối u không ràng buộc Hệ thống luật học Một thuật toán luật học thuật toán truyền ngợc nguồn gốc toán thuật toán tìm lời giải tối u toán tối u không ràng buộc m Ta xét hàm tổn thất ξ ( w ) ,w R , gi¶ sư ( w ) khả vi véc tơ w, toán cực tiểu hoá ( w ) w Với giả thiết khả vi ξ ( w ) , vÐc t¬ gradient cđa ξ ( w ) : t ∂ξ ∂ ξ ∂ξ ∇ ξ ( w ) := ∂ w1 ∂ w ∂w n [ ∇:= ∂ ∂ ∂ ∂ w1 ∂w ∂w n [ ] t ] vµ dĩ nhiên ý tởng phơng pháp lặp giảm (iterative descent) xuất phát từ giá trị ban đầu w(0), tạo dÃy véc tơ trọng số w(1), w(2) cho hàm tổn thất giảm dần, nghĩa lµ ξ ( w ( n+1 ) ) 0 số, đợc gọi tham số tốc độ học, g ( n ) véc tơ gradient tính điểm w ( n ) , nói khác luật học theo kiĨu hiƯu chØnh Δww ( n ) :=w ( n+1 )−w ( n )=−ηeg ( n ) (3.6.3) w ( n+1 )=w ( n )−ηeg ( n ) hay B©y ta chứng minh thuật toán điều chỉnh trọng số w cho thoả mÃn điều kiện (*) ThËt vËy, theo gi¶ thiÕt ξ ( w ) kh¶ vi, khai triển Taylor lân cận w ( n ) ®Ĩ xÊp xØ ξ ( w ( n+1 ) ) ta đợc t ( w ( n+1 ) ) =ξ ( w ( n ) ) +g ( n ) Δww ( n ) (3.6.4) víi ηe đủ bé, thay giá trị ww ( n ) vào biểu thức ta đợc ( w ( n+1 ) ) =ξ ( w ( n ) )−ηegt ( n ) g ( n ) ξ w ( n ) −ηe‖g ( n ) ‖ ( ) = (3.6.5) giảm điều chứng tỏ với tốc độ học e>0 hàm tổn thất dần theo thuật toán đà giới thiệu Phơng pháp giảm nhanh hội tụ chậm đến lời giải tối u w* Hơn thuật toán phụ thuộc nhiều vào giá trị e 3.6.2 Phơng pháp Newton (N) ý tởng phơng pháp Newton dùng khai triển Taylor đến cấp hai, nghĩa viết: ( w (n) ) Δwξ ( w ( n ) )=ξ ( w ( n+1 )) −ξ ( w ( n ) ) =gt Δww ( n ) + Δww t ( n ) H ( n ) Δww ( n ) (3.6.6) ®ã H ( n ) lµ ma trËn hƯ sè cđa ξ ( w ) , nghÜa lµ H ( n )=∇ ξ ( w )= Tõ biĨu diƠn Δwξ ( w ( n ) ) [ 2 ∂ ξ ∂ w21 ∂ ξ ∂ w1 ∂ w ∂2 ξ ∂ w1 ∂ w n ∂2 ξ ∂ w2 ∂ w1 ∂2 ξ ∂ w22 ∂2 ξ ∂ w2 ∂ w n ∂2 ξ ∂ wn ∂w ∂2 ξ ∂ wn ∂w ∂2 ξ ∂w 2n ] (3.6.7) trªn suy ( Xem (3.6.6) ) g ( n ) +H ( n ) Δww ( n )=0 −1 Δww ( n )=−H ( n ) g ( n ) hay (3.6.8) (3.6.9) −1 w ( n+1 )=w ( n )−H ( n ) g ( n ) hay (3.6.10) Phơng pháp Newton đòi hỏi H ( n ) phải xác định dơng, điều mà bớc lặp có đợc, đà có cải tiến ([15], [16]) 3.6.3 Phơng pháp GaussNewton (GN) Phơng pháp áp dụng với hàm tổn thất có dạng tổng bình phơng sai số n ( w ) :=− ∑ ¿ e (i ) ¿ i=1 Trong e ( i ) hàm chỉnh véc tơ w ; đà cho điểm w ( n ) , ta cã thÓ tuyÕn tÝnh hãa sù phơ thc cđa e(i) ®èi víi w b»ng c¸ch viÕt ∂e ( i ) ' e ( i ,w ) :=e ( i )+ ∂w t [ ] w =w ( n ) ( w−w ( n ) ) 1 ,i=1,2, ,n hay, díi d¹ng ma trËn lµ: e ' ( n , w )=e ( n )+ J ( n ) ( w−w ( n ) ) (3.6.12) t e ( n ) :=[ e (1 ) , e ( ) , , e ( n ) ] víi ®ã J ( n ) lµ ma trËn Jacobi cÊp n cđa e ( n ) : ∂ e(1 ) ∂ w1 ∂ e(2 ) J (n ):= ∂ w ¿ ¿ ∂e (n ) ∂ w1 [ ∂ e(1 ) ∂w ∂ e(2 ) ∂w ¿ ¿ ∂ e(n ) ∂w ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ¿ ∂e (1) ∂ wn ∂e (2) ∂ wn ¿ ¿ ∂e (n ) ∂ wn ] (3.6.13) Ta thÊy r»ng ma trËn J(n) chÝnh lµ ma trËn chun vÞ cđa ma trËn gradient, ∇ e ( n ) víi ∇ e ( n ) :=[ ∇ e ( ) ,∇ e (2 ) , ,∇ e ( n ) ] Nh thÕ c«ng thøc cËp nhËt cđa w ( n+1 ) lµ w ( n+1 )=arg ‖e' ( n , w )‖2 w { } (3.6.14) ' e ( n , w ) ë trªn suy ' 1 t ‖e ( n , w )‖2 = ‖e ( n )‖2 +e t ( n ) J ( n ) ( w−w ( n ) ) + ( w−w ( n ) ) J t ( n ) J ( n ) ( w−w ( n ) ) 2 MỈt khác từ biểu thức biểu diễn (3.6.15) Lấy đạo hàm biểu thức w cho tích , ta đợc t t J ( n ) e ( n )−J ( n ) J ( n ) ( w−w ( n ) )=0 (3.6.16) vµ dïng biĨu thức w ( n+1 ) ta Giải phơng trình w đợc [3] w ( n+1 )=w ( n )−( J t ( n ) J ( n ) ) J t ( n ) e ( n ) (3.6.17) Và dạng công thức phơng pháp GN Khác với phơng pháp N, phơng pháp GN không đòi hỏi phải biết ma trËn Hess cđa hµm tỉn thÊt ξ ( n ) nhng phơng pháp lại đòi hỏi ma trận t J ( n) J (n) phải khả đảo ®iỊu ®ã dÉn ®Õn lµ rank ( J ( n ) ) phải n , dĩ nhiên, điều không dễ 3.6.4 Lọc tuyến tính bình phơng nhỏ (linear leastsquare filter(LLSF)) Nh tên gọi, phơng pháp có hai đặc trng phân biệt Thứ nhất, nơrôn đơn độc phải đợc thiết lập theo kiểu tuyến tính, gièng nh biĨu thøc (3.2.1), thø hai hµm tổn thất dùng để thiết kế lọc phải tổng bình phơng sai sót Nh với véc tơ sai sãt e ( n ) : t e ( n ) :=d ( n ) − [ x ( ) , x ( ) , , x ( n ) ] w ( n ) :=d ( n )−X ( n ) e ( n ) (3.6.18) Trong d ( n ) véc tơ ®¸p øng mong mn t n chiỊu d ( n ) :=[ d ( ) , d ( ) , , d ( n ) ] (3.6.19) Còn X ( n ) ma trận liệu cÊp n X ( n ) := [ x ( ) , x ( ) , , x ( n ) ] t : (3.6.20) Lấy đạo hàm w ( n ) biểu thức e ( n ) ta đợc ma trận gradient t e ( n ) =−X ( n ) T¬ng øng, ma trËn Jacobi cđa e ( n ) lµ J ( n )=− X ( n ) Khi ®ã biĨu thøc (3.6.17) sÏ cã d¹ng: : (3.6.21) −1 w ( n+1 )=w ( n )+ ( X t ( n ) X ( n ) ) X t ( n ) ( d ( n )− X ( n ) w ( n ) ) −1 =( X t ( n ) X ( n ) ) X t ( n ) d ( n ) (3.6.22) −1 X − ( n ) :=( X t ( n ) X ( n ) ) X t ( n ) NÕu đặt (3.6.23) công thức cuối w ( n+1 )=X ( n ) d ( n ) (3.6.24) 3.6.5 Thuật toán trung bình bình phơng nhỏ nhất(least meansquare algorithm LMS) Thuật toán LMS dựa vào việc dùng giá trị tức thời hàm tổn thất ξ ( w) : ξ ( w ) := e2 ( n ) (3.6.25) ®ã e ( n ) sai sót tín hiệu đo đợc thời điểm Lấy đạo hàm ( w ) ®èi víi w , ®ỵc: n ∂ξ ( w ) ∂ e (n) =e ( n ) ∂w ∂w Vì thuật toán LMS thực với nơrôn có dạng tuyÕn tÝnh(3.2.1) nªn t e ( n )=d ( n )−x ( n ) w ( n ) (3.6.26) ®ã ∂e ( n ) =−x ( n ) ∂w ∂ξ ( w ) =−x ( n ) e ( n ) ∂w ( n ) vµ (3.6.27) NÕu dïng biÓu thøc −x ( n ) e ( n ) nh xấp xỉ véc tơ gradient nghÜa lµ (xem (3.6.1)) : g ( n ) :=x ( n ) e ( n ) (3.6.28) B©y giờ, dùng công thức tơng tự ( 3.6.3 ) ta ®ỵc : w^ ( n+1 )=w^ ( n )−ηex ( n ) e ( n ) (3.6.29) ηe ®ã, nh thờng lệ tốc độ học Thuật toán lan trun ngỵc BA (Backpropagation algolrithm) 4.1 ý tëng cđa phơng pháp Thuật toán BA [17] đợc dùng rộng rÃi ANN có nhiều tầng có hớng tiến, nghĩa ANN đợc tổ chức thành nhiều tầng chuyển tín hiệu mạng.về phía trớc sau sai sót đợc truyền sau Nh đà biết ANN nơrôn chuyên nhận tín hiệu đầu vào tầng đầu vào đầu ANN đợc thực nơ ron thuộc tầng đầu Ngoài có hay nhiều tầng khuất trung gian tầng đầu vào tầng đầu Thuật toán BA đợc dùng cho luật học có thầy, ý tởng thuật toán bớc tính toán trọng số khớp w ( n ) tính sai sót đầu thực tế đầu mong muốn ANN mạng.học cho sai sót đợc giảm dần đến mức Hàm kích hoạt (activation function) ANN thuật toán BA tổng có trọng số, nghĩa nơrôn thứ k , với đầu vào t x=( x , x , ,x j , , x m ) w kj x : Δw=1 ; vµ träng sè khíp ( wk :=( wk , w k , w kj , w km )) (4.1.1) hàm kích hoạt A k ( x , w k ) sÏ lµ : m A k ( x,w k ) :=∑ ¿ wkj x j ¿ w k0 :=b k j=0 (4.1.2) x :=( x , x , , x m )t (xem biểu thức từ ( 3.2.1 ) đến ( 3.2.3 ) ) Hàm kích hoạt phụ thuộc đầu vào trọng số Nếu hàm đầu hàm đồng (đầu = kích hoạt) nơrôn đợc gọi nơrôn tuyến tính, dĩ nhiên loại nơrôn có nhiều hạn chế Có loại hàm đầu thông dụng: hàm signoide, có dạng ( 3.2.6 ) , thĨ lµ: Ok ( x , w k ) := − A (x , w ) 1+e k k (4.1.3) DÜ nhiªn Ok ( , ) rÊt gÇn A k ( ,) lấy giá trị dơng lớn, A k ( , ) lấy giá trị không gần số không Khi A k ( , ) lấy giá trị âm có trị tuyệt đối lớn thấy hàm đầu Ok phụ thuộc hàm kích hoạt đó, rốt y phụ thuộc giá trị đầu vào trọng số tơng ứng Bây lu ý mục đích trình học chờ đợi nơrôn k cho đạt đợc đầu mong muốn d k ứng với đầu thực tế Ok , ta định nghĩa hàm sai sót đầu nơ ron k là: Ek ( x , w k , d k ) :=( Ok ( x , w k ) −d k ) (4.1.4) Nh thế, tổng sai sót nơ ron tầng đơn giản là: E ( x,,d ) := ¿ [ O k ( x , wk )−d k ] ¿ ∑ k (4.1.5) Nhiệm vụ thuật toán BA tìm w cho biểu thức sai sót ( 4.1.5 ) đạt giá trị Và muốn thế, theo công thức ( 3.6.3 ) ta phải tính E , để dùng công thức dạng: ww kj :=wkj ( n+1 ) w kj ( n )=ηe ∂E ∂w kj (4.1.6) Tuy nhiªn, E phụ thuộc qua O O phụ thuộc A nên rốt ta phải dùng công thức tính đạo hàm hàm phức hợp E E Ok ∂ Ak = ∂w kj ∂ Ok ∂ A k w kj (4.1.7) dĩ nhiên từ ( 4.1.5 ) ta cã: ∂E = O −d ∂Ok ( k k ) (4.1.8) Tõ ( 4.1.3 ) suy ra: ∂Ok ∂ Ak = ∂ Ak (4.1.9) = −A k 1+ e ( − ) }′ =(−1 ) ( 1+e −Ak = ∂O k − A k −1 { = (1+e −A k e (1+e − Ak ) − Ak 1+e − Ak 1+e − = ) (1+e− A )′ − Ak −2 1+ e −1 − Ak ( 1+ e ) (1+e− A ) k = ) =O k −O k =O k ( 1−O k ) B©y giê, tõ ( 4.1.2 ) suy ra: k ∂ Ak ∂w kj =x j (4.1.10) Cuèi cïng, tõ ( 4.1.8 )−( 1.10 ) vµ ( 4.1.7 ) suy ∂E = O −d O 1−Ok ) x j ∂w kj ( k k ) k ( Và cuối thuật toán BA đợc thể dới dạng: ww kj :=wkj ( n+1 ) −w kj ( n )=−ηe ( O k −d k ) Ok ( 1−Ok ) x j e>0 tham số dơng đặc trng mạng.tốc ®é häc” (4.1.11) (4.1.12) 4.2 Chó ý Khi dïng công thức ( 4.1.12 ) thiết phải có giá trị khởi đầu w kj ( ) , (ứng với n =0) đó, nguyên tắc, thông tin tiên nghiệm w kj ( ) phải giả thiết w kj ( ) lấy giá trị ngẫu nhiên đó, nguyên tắc, không thiết phải biết luật xác xuất hay đặc trng ngẫu nhiên Tuy nhiên dùng tiếp cận ANN vào ngành khác giá trị w kj ( ) thờng đợc coi kết tính toán phơng pháp [20] ngời ta dùng tiếp cận ANN để làm tốt kết tính toán đà có Nh đà nói ỏ phần 4.1, công thức ( 4.1.12 ) dùng để tính, điều chỉnh trọng số w kj ANN có tầng: tầng đầu vào tầng đầu Bây bàn đến việc dùng ( 4.1.12 ) ANN có tầng: tầng đầu vào, tầng đầu tầng khuất Chẳng hạn, ta muốn điều chỉnh trọng số tầng trớc, tạm gọi v ij việc phải tính cho sai sót phụ thuộc trọng số mà phụ thuộc đầu vào tầng trớc, muốn cần đổi x j w kj ( 4.1.9 ) , ( 4.1.11 ) ( 4.1.12 ) , nhiên phải biết sai sót phụ thuộc vào việc điều chỉnh v ij nh nào, nh dẫn đến: Δwv ij :=vij ( n+1 )−vij ( n )=−ηe ∂E ∂ v ij (4.2.1) ∂ E ∂ E ∂ xj = ∂v ij ∂ x j ∂ v ij (4.2.2) đó, dĩ nhiên : E =( Od k ) O k ( 1−Ok ) wkj ∂ xj (4.2.3) vµ cuối cùng, tơng tự ( 4.1.9 ) ( 4.1.10 ) ∂xj =x ( 1−x j ) v ji ∂v ji j (4.2.4) Rèt cuéc, ta cã: Δwv ji :=v ji ( n+1 )−v ji ( n )=( v k −d k ) O k ( 1−Ok ) w kj x j ( 1−x j ) v ji ( n ) Nguyễn hồ quỳnh Mạng nơrôn nhân tạo chuỗi thời gian (artificirl neural network and times reries) khoa toán ứng dụng Trờng đại học bách khoa hà néi -2003