ĐẠI HỌC CẦN THƠ Mã số: CT384, 3 Tín chỉ (KT Điện tử VT, KT Điều khiển và Cơ Điện tử) TS. Nguyễn Chí Ngôn Bộ môn Tự Động Hóa Khoa Kỹ thuật Công nghệ Email: ncngon@ctu.edu.vn ---008--- 1 Nội Dung Chương 1: Tổng quan về mạng nơron nhân tạo (ANN) Chương : Cấu trúccủaann Chương 3: Các giải thuật huấnluyện ANN Chương 4: Mộtsốứng dụng của ANN (MATLAB) Đồ án môn học Chương 5: Mạng nơron mờ (Fuzzy-Neural Networks) Chương 6: Mộtsốđịnh hướng nghiên cứu (Case Studies) Ôn tậpvàthảo luận Tham khảo: 1. Nguyễn Chí Ngôn, Điều khiển mô hình nội và Neural network: Chương Mạng nơron nhân tạo, Luận án cao học, ĐHBK Tp. HCM, 001.. Nguyễn Đình Thúc, Mạng nơron Phương pháp và ứng dụng, NXBGD, 000. 3. Simon Haykin, Neural Networks a comprehensive foundation, Prentice Hall, 1999. 4. Howard Demuth, Mark Beale and Martin Hagan, Neural Networks toolbox 5 User s Guide, The Matworks Inc., 007.
Tổ chức mônhọc Thờilượng môn học: 3TC TC lý thuyếtvàbàitậptrênlớp 1 TC Đồ án môn học (03 SV thực hiện 1 đề tài) Lịch học: Tuần 1: Chương 1 Tuần 3: Chương + Bài tập Tuần 4 5: Chương 3 + Bài tập Tuần 6 7: Chương 4 + Bài tập Tuần 8 11: Đồ án môn học Tuần 1 13: Chương 5 + Bài tập Tuần 14: Chương 6 Tuần 15: Ôntậpvàthảoluận Đánh giá Đồ án môn học: 45% Thi hết môn: 55% 3 Chương 3 Các giải thuật huấn luyện ANN Giớithiệu Các phương pháp huấnluyện Mộtsố giảithuật thông dụng Hàm mục tiêu Mặtlỗivàcácđiểmcực tiểucục bộ Qui trình thiếtkế một ANN Các kỹ thuật phụ trợ Minh họa bằng MATLAB Bài tập 4
Giới thiệu Gới thiệu về các phương pháp huấn luyện Tìm hiểu một số giải thuật thông dụng để huấn luyện ANN. Phần này tập trung vào giải thuật Gradient descent và các giải thuật cải tiến của nó Hàm mục tiêu Mặt lỗi và các điểm cực tiểu cục bộ Một số ví dụ về phương pháp huấn luyện mạng bằng MATLAB Qui trình thiết kế một ANN Các kỹ thuật phụ trợ Hiện tượng quá khớp của ANN 5 Các phương pháp huấn luyện Huấnluyện mạng là quá trình thay đổicáctrọng số kếtnối và các ngưỡng củanơ-ron, dựatrêncácmẫu dữ liệu học, sao cho thỏamãnmộtsốđiều kiện nhất định. Có 3 phương pháp học: Học giám có sát (supervised learning) Học không giám sát (unsupervised learning) Học tăng cường (reinforcement learning). Sinh viên tham khảo tàiliệu [1]. Giáo trình này chỉ tập trung vào phương pháp học cógiám sát. Hai phương pháp còn lại, sinh viên sẽđượchọc trong chương trình Cao học. 6
Giải thuật huấn luyện ANN (1) Trong phần này chúng ta tìm hiểu về giảithuậttruyềnngược (backpropagation) và các giảithuậtcảitiếncủa nó, áp dụng cho phương pháp họccógiámsát. Giảithuậttruyềnngượccậpnhậtcáctrọng số theo nguyên tắc: w (k+1) = w (k) + ηg(k) trong đó: w(k) là trọng số của kết nốitừ nơ-ron j đến nơ-ron i, ở thời điểm hiệntại η là tốc độ học (learning rate, 0< η 1) g(k) là gradient hiệntại Có nhiều phương pháp xác định gradient g(k), dẫntớicónhiều giảithuậttruyềnngượccảitiến. 7 Giải thuật huấn luyện ANN () Để cập nhậtcáctrọng số cho mỗichukỳ huấnluyện, giảithuật truyềnngượccần thao tác: Thao tác truyền thuận (forward pass phase): Áp vectơ dữ liệuvào trong tập dữ liệuhọc cho ANN và tính toán các ngõ ra của nó. Thao tác truyền ngược (backward pass phase): Xác định sai biệt(lỗi) giữa ngõrathực tế của ANN và giá trị ngõramongmuốntrongtậpdữ liệuhọc. Sau đó, truyềnngược lỗinàytừ ngõ ra về ngõ vào của ANN và tính toán các giá trị mới của cáctrọng số, dựa trêngiátrị lỗi này. p 1 (k) p (k) p j (k) p R (k) w i1 (k) w i (k) w (k) w Rj (k) Σ f a i (k) + - e i (k) t i (k) Minh họa phương pháp điều chỉnh trọng số nơron thứ j tại thời điểm k 8
Giải thuật gradient descent (1) Xét một MLP lớp: Lớp ẩn p 1 Ngõ ra nơ-ron ẩn làa 1 i p a 1 p i a j a m p n w 1 là trọng số lớp ẩn, từ j đến i w là trọng số lớp ra, từ j đếni 9 Giải thuật gradient descent () Thao tác truyền thuận Tính ngõ ra lớp ẩn (hidden layer): n 1 i (k) = Σ j w 1 (k) p j (k) tạithời điểm k a 1 i (k) = f1 ( n 1 i (k) ) với f 1 là hàm kích truyềncủa các nơ-ron trên lớp ẩn. Ngõ ra của lớp ẩn là ngõ vào củacácnơ-ron trên lớpra. Tính ngõ ra ANN (output layer): n i (k) = Σ j w (k) a1 j (k) tạithời điểm k a i(k) = f ( n i(k) ) với f là hàm truyềncủa cácnơ-ron trên lớpra 10
Giải thuật gradient descent (3) Thao tác truyền ngược Tính tổng bình phương của lỗi: với t(k) là ngõ ra mong muốntại k Tính sai số các nơ-ron ngõ ra: E( k) Δi = = ti ai f ' n i ( n i Tính sai số các nơ-ron ẩn: E( k) 1 1 δi ( k ) = = f ' n i Δ j w 1 ji n i Cập nhậttrọng số E( k) = Sinh viên tham khảo tàiliệu [3], trang 161-175. 1 i t a [ ] ) k lớp ẩn: lớp ra: w w 1 ( k + 1) = w ( k + 1) = w j + ηδ i i + ηδ p i i j a 1 j 11 Minh họa giải thuật huấn luyện (1) Xét một ANN như hình vẽ, với cácnơ-ron tuyến tính. p 1 w 1 1 = 0 w 1 11 = -1 w 1 = -1 w 11 = 1 a 1 p w 1 1 = 0 w 1 = 1 w 1 = 0 w = 1 a b 1 1= 1 b 1 = 1 b 1 = 1 b = 1 Minh họa giảithuật truyềnngược như sau 1
Minh họa giải thuật huấn luyện () Để đơn giản, ta cho cả các ngưỡng bằng 1, và không vẽ ra ởđây p 1 =0 w 1 11 = -1 w 11 = 1 a 1 w 1 1 = 0 w 1 = -1 p =1 w 1 1 = 0 w 1 = 1 w 1 = 0 w = 1 a Giả sử ta có ngõ vào p=[0 1] và ngõ ra mong muốn t=[1 0] Ta sẽ xem xét từng bước quá trình cậpnhậttrọng số củamạng vớitốc độ học η=0.1 13 Minh họa giải thuật huấn luyện (3) Thao tác truyền thuận. Tính ngõ ra lớp ẩn: p 1 =0 w 1 11 = -1 a 1 1 = 1 w 11 = 1 a 1 w 1 1 = 0 w 1 = -1 p =1 w 1 1 = 0 w 1 = 1 w 1 = 0 w = 1 a a 1 = a 1 1 = f1 (n 1 1 ) = n1 1 =(-1*0 + 0*1) +1 = 1 a 1 = f 1 (n 1 )=n 1 = (0*0 + 1*1) +1 = 14
Minh họa giải thuật huấn luyện (4) Tính ngõ ra củamạng (lớpra): p 1 =0 w 1 11 = -1 w 1 1 = 0 a 1 1 = 1 w 1 = -1 w 11 = 1 a 1 = p =1 w 1 1 = 0 w 1 = 1 w 1 = 0 w = 1 a = a 1 = a 1 = f (n 1 ) = n 1 =(1*1 + 0*) +1 = a 1 = f (n )=n = (-1*1 + 1*) +1 = Ngõ ra a khác biệt nhiềuvớingõ ra mong muốn t=[1 0] 15 Minh họa giải thuật huấn luyện (5) Thao tác truyền ngược w ( k + 1) = w + ηδ i a 1 j p 1 =0 w 1 11 = -1 w 1 1 = 0 a 1 1 = 1 w 11 = 1 Δ 1 = -1 w 1 = -1 p =1 w 1 1 = 0 w 1 = 1 w 1 = 0 w = 1 Δ = - a 1 = Với ngõ ra mong muốn t =[1, 0], Ta có các error ở ngõ ra: Δ 1 = (t 1 -a 1 )= 1 = -1 Δ = (t -a )= 0 = - 16
Minh họa giải thuật huấn luyện (6) Tính các gradient lớp ra p 1 =0 p =1 w 1 11 = -1 w 1 1 = 0 w 1 1 = 0 w 1 = 1 a 1 1 = 1 w 11 = 1 Δ 1 a 1 1 = -1 w 1 = -1 w 1 = 0 w = 1 a 1 = Δ 1 a 1 = - Δ a 1 1 = - Δ a 1 = -4 17 Minh họa giải thuật huấn luyện (7) Cập nhậttrọng số lớp ra w ( k + 1) = w + ηδ i a 1 j p 1 =0 p =1 w 1 11 = -1 w 1 1 = 0 w 1 1 = 0 w 1 = 1 a 1 1 = 1 w 11 = 0.9 w 1 = -1. w 1 = -0. w = 0.6 a 1 = w 11 w 1 w 1 w = 1 + 0.1*(-1) = 0.9 = -1 + 0.1*(-) = -1. = 0 + 0.1*(-) = -0. = 1 + 0.1*(-4) = 0.6 18
Minh họa giải thuật huấn luyện (8) Tiếp tục truyền ngược p 1 =0 p =1 w 1 11 = -1 w 1 1 = 0 w 1 1 = 0 w 1 = 1 Δ 1 w 11 = -1 Δ w 1 = Δ 1 w 1 = 0 Δ w = - Δ 1 = -1 Δ = - Sử dụng lạicáctrọng số trước khicậpnhật cho lớpra, để tính gradient lớp ẩn 1 1 δi ( k ) = f ' n i Δ j w j ji 19 Minh họa giải thuật huấn luyện (9) Tính các error trên lớp ẩn p 1 =0 w 1 11 = -1 w 1 1 = 0 δ 1 = 1 Δ 1 = -1 p =1 w 1 1 = 0 w 1 = 1 Δ = - δ = - δ 1 = Δ 1 w 11 + Δ w 1 = -1 + = 1 δ = Δ 1 w 1 + Δ w = 0 - = - 0
Minh họa giải thuật huấn luyện (10) Tính gradient lớp ẩn p 1 =0 w 1 11 = -1 w 1 1 = 0 δ 1 p 1 = 0 δ 1 p = 1 Δ 1 = -1 p =1 w 1 1 = 0 w 1 = 1 δ p 1 = 0 Δ = - δ p = - 1 Minh họa giải thuật huấn luyện (11) Cập nhậttrọng số lớp ẩn w 1 ( k + 1) = w ( t) + ηδ p i j p 1 =0 p =1 w 1 11 = -1 w 1 1 = 0 w 1 1 = 0.1 w 1 = 0.8 δ 1 p 1 = 0 δ 1 p = 1 δ p 1 = 0 w 1 11 = -1 + 0.1*0 = -1 w 1 1 = 0 + 0.1*0 = 0 w 1 1 = 0 + 0.1*1 = 0.1 = 1 + 0.1*(-) = 0.8 w 1 δ p = -
Minh họa giải thuật huấn luyện (1) Giá trị trọng số mới: w 1 11 = -1 w 1 1 = 0 w 1 1 = 0.1 w 1 = 0.8 w 1 = -1. w 11 = 0.9 w 1 = -0. w = 0.6 Quá trình cập nhậtcácgiátrị ngưỡng hoàn toàn tương tự. 3 Minh họa giải thuật huấn luyện (13) Truyền thuận 1 lần nữa để xác định ngõ ra củamạng với giátrị trọng số mới p 1 =0 w 1 11 = -1 w 1 1 = 0 a 1 1 = 1. w 1 = -1. w 11 = 0.9 p =1 w 1 1 = 0.1 w 1 = 0.8 w 1 = -0. w = 0.6 a 1 = 1.6 4
Minh họa giải thuật huấn luyện (14) p 1 =0 w 1 11 = -1 a 1 1 = 1. w 11 = 0.9 a 1 = 1.66 w 1 1 = 0 w 1 = -1. p =1 w 1 1 = 0.1 w 1 = 0.8 w 1 = -0. w = 0.6 a 1 = 1.6 a = 0.3 Giá trị ngõ ra bây giờ là a = [1.66 0.3] gần vớigiátrị mong muốn t=[1 0] hơn. Bài tập: Từ kếtquả này, sinh viên hãy thực hiệnthaotác truyền ngượcvàcập nhậttrọng số ANN 1 lầnnữa. 5 Huấn luyện đến khi nào? Đủ số thờikỳ (epochs) ấn định trước Hàm mục tiêu đạt giá trị mong muốn Hàm mục tiêu phân kỳ 6
Hàm mục tiêu MSE (1) Mean Square Error MSE là lỗi bìnhphương trung bình, đượcxácđịnh trong quá trình huấn luyệnmạng. MSE được xem như là một trong những tiêu chuẩn đánh giá sự thành công của quá trình huấn luyện. MSE càng nhỏ, độ chính xác của ANN càng cao. Định nghĩamse: Giả sử ta có tậpmẫu học: {p 1,t 1 }, {p,t },, {p N,t N }, với p=[p 1, p, p N ] là vectơ dữ liệu ngõ vào, t= [t 1, t,, t N ] là vectơ dữ liệu ngõ ra mong muốn. Gọi a=[a 1, a,, a N ] là vectơ dữ liệu ra thực tế thu đượckhiđưa vectơ dữ liệuvàop qua mạng. MSE: MSE = 1 N N i= 1 t i a i được gọi làhàmmục tiêu 7 Hàm mục tiêu MSE () Ví dụ 1: Cho ANN lớptuyếntínhnhư hình vẽ. p=[1 3; 0 1 1] là các vectơ ngõ vào. p 1 t=[ 1 ] là vectơ ngõ ra mong muốn. 0 Tính MSE. 1 p Giải: Ngõ ra lớp ẩn: a 1 1 =f(n1 1 )=n1 1 =[1.5 3.5 4.5] a 1 =f(n1 )=n1 =[0...] 1 a 1 1.5 1 1 a 1 1. 1 0 a Lớp ra: a =f(n )=n =[3. 9. 11.] 3 1 1 MSE = t i a i = 3. + 3 i= 1 3 MSE = 51.1067 ( ) ( ) ( 1 9.) + ( 11.) 8
Hàm mục tiêu MSE (3) Mô phỏng:» net=newff([-5 5; -5 5], [ 1], {'purelin', 'purelin'});» net.iw{1,1}=[1 1; 0 ]; % gán input weights» net.lw{,1}=[ 1]; % gán layer weights» net.b{1}=[.5;.]; % gán ngưỡng nơ-ron lớp ẩn» net.b{}=0; % gán ngưỡng nơ-ron lớpra» p=[1 3; 0 1 1]; % vectơ dữ liệuvào» t=[ 1 ]; % ngõ ra mong muốn» a=sim(net,p) % ngõ ra thựctế của ANN» mse(t-a) % tính mse ans = 51.1067 9 Hàm mục tiêu MSE (4) MSE được xácđịnh sau mỗi chu kỳ huấnluyệnmạng (epoch) và đượcxemnhư 1 mục tiêu cần đạt đến. Quá trình huấnluyệnkết thúc (đạt kết quả tốt) khi MSE đủ nhỏ. 30
Ví dụ về GT Gradient descent (1) Bài toán: Xây dựng mộtann để nhậndạng mô hình vào ra của hệ thống điều khiển tốc độ motor DC sau: 31 Ví dụ về GT Gradient descent () Nguyên tắc: ngõ vào V Motor DC θ ngõ ra Mô hình ANN gradient descent ~ θ e = θ - θ ~ θ(k)=f ANN [V(k), V(K-1), V(K-), θ(k-1), θ(k-)] Các bướccầnthiết: Thu thập vàxửlý dữ liệu vàoracủa đốitượng Chọn lựa cấu trúcvàxâydựng ANN Huấn luyện ANN bằng giảithuật gradient descent Kiểm trađộ chính xác của môhìnhbằng các tín hiệu khác 3
Ví dụ về GT Gradient descent (3) Thựchiện: Mô hình Simulink để thu thập dữ liệu: data_dcmotor.mdl V(k), V(k-1), V(k-) θ(k), θ(k-1), θ(k-) Chuẩn bị dữ liệu huấn luyện: ANN_Dcmotor.m load data_dcmotor; P=[datain'; dataout(:, :3)']; T=dataout(:,1)'; % nap tap du lieu hoc % [V(k), V(k-1), V(k-), θ(k-1), θ(k-)] % theta(k) 33 Ví dụ về GT Gradient descent (4) Thựchiện: Tạo ANN vàhuấn luyện: ANN_Dcmotor.m >> net=train(net, Ptrain,Ttrain, [], [], VV,TV); Nhậnxét: Tốc độ hội tụ của giải thuật Gradient descent quá chậm. Sau 5000 Epochs, MSE chỉ đạt 6.10-4. Kết quả kiểm tracho thấy lỗi lớn. Cần giải thuật cải tiến. 34
Ví dụ về GT Gradient descent (5) Thựchiện: Mô hình kiểm trađộ chính xác ANN: Test_Dcmotor.mdl θ(k)=f ANN [V(k), V(K-1), V(K-), θ(k-1), θ(k-)] 35 Ví dụ về GT Gradient descent (6) Kết quả: 0.4 0.3 Testing result of DC_motor model DC_motor output Model output 0. 0.1 θ(rad) 0-0.1-0. -0.3-0.4 0 5 10 15 0 5 30 35 40 45 50 Time(s) 36
Cực tiểu cục bộ Ảnh hưởng của tốc độ học Quá trình huấn luyện mạng, giải thuậtcần vượt qua các điểmcực tiểucục bộ (ví dụ: có thể thay đổi hệ số momentum), để đạt được điểm global minimum. E Local minimum global minimum W 37 Mặt lỗi Cực tiểu mongmuốn 38
Gradient des. with momentum (1) Nhằmcảitiến tốc độ hộitụ của giảithuật gradient descent, ngườitađưa ra 1 nguyên tắc cậpnhậttrọng số của ANN: w w ( k + 1) = w = ηg( k) + μ w với g(k): gradient; η: tốc độ học (k-1) là giá trị trước đócủa (k) μ: momentum + w ( k 1) Để đạthiệu quả huấn luyện cao, nhiềutácgiảđềnghi giá tổng giá trị của moment và tốc độ học nêngầnbằng 1: μ [0.8 1]; η [0 0.] 39 Gradient des. with momentum () Áp dụng cho bài toán nhậndạng mô hình của motor DC: Nhận xét: Sau 5000 Epochs, MSE đạt4.10-4, nhanh hơngiải thuậtgradient descent. 40
GD với tốc độ học thích nghi (1) Tốc độ hội tụ củagiảithuật Gradient descent phụ thuộc vàotốc độ học η. Nếu η lớn giải thuậthội tụ nhanh nhưng bất ổn. Nếu η nhỏ thờigianhộitụ sẽ lớn. Việc giữ tốc độ học η là mộthằng số suốt quá trình huấnluyện, tỏ ra kém hiệu quả. Mộtgiảithuậtcảitiếnnhằm thay đổithích nghi tốc độ học theo nguyên tắc: 41 GD với tốc độ học thích nghi (1) Áp dụng cho bài toán nhậndạng mô hình của motor DC: Nhận xét: Sau 5000 Epochs, MSE đạt 10-4, nhanh hơn giải thuật gradient descent with momentum 4
Là giải thuật gradient descent cảitiến, mà cả tốc độ học η và hệ số momentum μ được thayđổi thích nghi trong quá trình huấn luyện. Việc thay đổi thích nghi μ được thực hiệntương thự như việc thích nghi tốc độ học μ. Thủ tụccập nhậttrọng số giống như giải thuật GD with momentum: w ( k + 1) = w + w w = ηg( k) + μ w với g(k): gradient; η: tốc độ học thích nghi (k-1) là giá trị trước đócủa (k) μ: momentum thích nghi ( k 1) (1) 43 Áp dụng cho bài toán nhậndạng mô hình của motor DC: () Nhận xét: Sau 5000 Epochs, MSE đạt 3.10-5, nhanh hơn giải thuật gradient descent with η thích nghi 44
GT. truyền ngược Resilient (1) Các hàm truyền Sigmoid nén các ngõ vào vô hạn thành các ngõ ra hữuhạn làm phát sinh một điểmbất lợi là các gradient sẽ có giá trị nhỏ, làm cho các trọng số chỉ được điều chỉnh mộtgiátrị nhỏ, mặcdù nó còn xa giá trị tối ưu. Giải thuật Resilient đượcpháttriển nhằm loại bỏđiểmbất lợinàybằng cách sử dụng đạohàmcủahàmlỗi để quyết định hướng tăng/giảm của gradient. Nếu Ek Ek + 1 & cùng dấu: w w w (k+1) đượctăng thêm 1 lượng inc Gradient direction Nếu Ek Ek + 1 & khác dấu: w (k+1) đượcgiảm đi 1 lượng dec w w 45 GT. truyền ngược Resilient () 46
GT. truyền ngược Resilient (3) Áp dụng cho bài toán nhậndạng mô hình của motor DC: Nhận xét: Sau 5000 Epochs, MSE đạt 8.10-6, nhanh hơn giải thuật gradient descent with η & μ thích nghi 47 Giải thuật BFGS Quasi-Newton Sinh viên tự đọctàiliệu [1] và [3] Áp dụng cho bài toán nhậndạng mô hình motor DC: Nhận xét: Sau 1100 Epochs, MSE đạt.10-7, nhanh hơngiải thuật Resilient 48
Giải thuật Levenberg-Marquardt (1) Giảithuật Levenberg-Marquardt đượcxâydựng để đạttốc độ hộitụ bậc màkhôngcầntínhđếnma trận Hessian như giải thuật BFGS Quasi-Newton. Ma trận Hessian được tính xấpxỉ: H=J T J và giá trị gradient đượcxácđịnh: g=j T e trong đó, J là ma trận Jacobian, chứa đạohàmbậc nhấtcủahàm lỗi (δe/δw), với e là vectơ lỗicủa mạng. Nguyên tắc cập nhậttrọng số: w (k+1)=w (k) [J T J + mi] -1 J T e Nếu m=0, thì đây là giải thuật BFGS Quasi-Newton. Nếu m có giá trị lớn nólàgiải thuật gradient descent. Giải thuật Levenberg-Marquardt luôn sử dụng giá trị m nhỏ, do giải thuật BFGS Quasi-Newton tốthơngiải thuật gradient descent. 49 Giải thuật Levenberg-Marquardt (1) Áp dụng cho bài toán nhậndạng mô hình của motor DC: Nhận xét: Sau 0 Epochs, MSE đạt1,7.10-7, nhanh hơngiải thuật Newton 50
So sánh các giải thuật So sánh trên bài toán nhậndạng mô hình một đối tượng phi tuyến, được trình bày trong tài liệu [1]: 51 Các giải thuật của NN. toolbox Trainb Trainbfg Trainbr Trainc Traincgb Traincgf Traincgp Traingd Traingdm Traingda Traingdx Trainlm Trainoss Trainr Trainrp Trains Trainscg Batch training with weight & bias learning rules. BFGS quasi-newton backpropagation. Bayesian regularization. Cyclical order incremental training w/learning functions. Powell-Beale conjugate gradient backpropagation. Fletcher-Powell conjugate gradient backpropagation. Polak-Ribiere conjugate gradient backpropagation. Gradient descent backpropagation. Gradient descent with momentum backpropagation. Gradient descent with adaptive lr backpropagation. Gradient descent w/momentum & adaptive lr backpropagation. Levenberg-Marquardt backpropagation. One step secant backpropagation. Random order incremental training w/learning functions. Resilient backpropagation (Rprop). Sequential order incremental training w/learning functions. Scaled conjugate gradient backpropagation. 5
Qui trình thiết kế một ANN B A B A 53 54
Tiền xử lý dữ liệu (1) Phương pháp chuẩn hóa dữ liệu: Chuẩn hóađể tậpdữ liệunằm trong khoảng [-1 1]. Dữ liệu vào p [pmin, pmax] Chuẩn hóa p s [-1, 1] ANN a Hậu xử lý a t Gọi p [p min, p max ] là vectơ dữ liệuvào p s là vectơ dữ liệusaukhichuẩn hóa, thì: p p = p p Nếu tađưa tậpdữ liệu đã đượcxử lý vào huấnluyệnmạng, thì các trọng sốđượcđiềuchỉnh theo dữ liệunày. Nêngiátrị ngõ ra của mạng cần cóthaotáchậuxửlý. Gọi a là dữ liệu racủamạng, a t giá trị hậuxửlý, thì: 1 a t = ( a + 1)( pmax pmin ) + pmin p s max min min 1 55 Tiền xử lý dữ liệu () Phương pháp chuẩn hóa dữ liệu (ví dụ) 56
Tiền xử lý dữ liệu (3) Phương pháp trị trung bình và độ lệch chuẩn: Tiền xử lý để tậpdữ liệucótrị trung bình bằng 0 (mean=0) và độ lệch chuẩn bằng 1 (standard deviation=1). Gọi p là vectơ dữ liệuvào, cótrị trung bình là mean p và độ lệch chuẩnlàstd p, thì vectơ dữ liệu đượcxử lý là: p s = p mean std p p Gọi a là vectơ dữ liệuracủa ANN, thì vectơ dữ liệungõrasau khi thựchiện thao tác hậuxử lý: a = a * std + mean t p p 57 Tiền xử lý dữ liệu (4) Phương pháp trị trung bình và độ lệch chuẩn (ví dụ) Mean 0 Std 1 Mean = 0 Std = 1 58
Nâng cao khả năng tổng quát hóa (1) Mộtvấn đề xuất hiện trong quá trình huấnluyệnmạng, đólà hiện tượng quá khớp (overfitting). Khi kiểmtramạng bằng tậpdữ liệu đã huấnluyện, nó cho kết quả tốt(lỗithấp). Nhưng khi kiểm tra bằng dữ liệumới, kếtquả rấttồi(lỗi lớn). Do mạngkhôngcókhả năng tổng quát hóa các tình huống mới( học vẹt ). Có phương pháp khắc phục: Phương pháp định nghĩa lại hàm mục tiêu và phương pháp ngừng sớm. 59 Nâng cao khả năng tổng quát hóa () Phương pháp định nghĩalại hàm mục tiêu: Thông thường hàm mục tiêu được định nghĩalà: Hàm mục tiêu được định nghĩalại bằng cách thêm vào đại lượng tổng bình phương trung bình của cáctrọng số và ngưỡng, MSW, khi đó: Với γ là mộthằng số tỉ lệ và n tổng số trọng số và ngưỡng củamạng 60
Nâng cao khả năng tổng quát hóa (3) Phương pháp ngừng sớm: Phương pháp này đòi hỏichiatập dữ liệu học thành 3 phần, gồm dữ liệu huấn luyện, dữ liệu kiểm travàdữ liệu giámsát. P = [P train, P test, P validation ] Sau lỗi thờikỳ huấn luyện, tập dữ liệu dámsátp validation được đưavàomạng để kiểm tralỗi. Nếu lỗi thuđược giảm, quá trình huấn luyện được tiếp tục. Nếu lỗi thu đượcbắt đầu tăng (hiện tượng quá khớp bắt đầu xảy ra), quá trình huấn luyện được dừng lại gọi làngừng sớm. Sinh viên đọc thêm ở tài liệu [1]. 61 Minh họa bằng MATLAB Bài toán: Nhận dạng mô hình hệ thống đệmtừ, có phương trình vi phân mô tả hệ: Với i(t) [0, 4A] dòng điệnngõvào y(t) là khoảng cách từ nam châm vĩnh cửu đến nam châm điện. các tham số: β=1, α=15, g=9.8 và M=3. 6
Bài tập 1. Sinh viên thựchiệnlại bài toán nhậndạng mô hình motor DC và huấnluyệnmạng bằng tất cả các giải thuậtcủa NN toolbox của MATLAB. So sánh tốc độ hội tụ của các giải thuật. 63 Chương 4 Một sốứng dụng của ANN Giới thiệu Nhậndạng ký tự (OCR) Nhậndạng tiếng nói Thiết kế các bộ điềukhiển Kếtluận Bài tập 64
Giới thiệu Giớithiệu mộtsố hướng ứng dụng ANN Phát triển thành Luận văn tốt nghiệp hay đề tài NCKH sinh viên 65 Nhận dạng ký tự Ma trận hóa bitmap củakýtự Giả lập các hình thức nhiễu Tậphợpdữ liệuhuấnluyện, mỗikýtự là 1 vectơ dữ liệu ngõ vào Qui ước ngõ ra, giả sử là mã ASCII tương ứng củakýtự. Xây dựng cấuvàhuấnluyệnann 66
Nhận dạng tiếng nói Trích đặc trưng tín hiệutiếng nói Tập hợp dữ liệu vào, qui ước dữ liệura Huấn luyệnvàthử nghiệm Phương pháp LPC & AMDF để xác định đặc trưng tiếng nói 67