Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 116 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
116
Dung lượng
1 MB
Nội dung
Bộ giáo dục đào tạo Trường đại học bách khoa hà nội - Luận văn thạc sỹ khoa học Tìm hiểu mạng nơ ron ứng dụng mạng nơ ron kĩ thuật điều khiển Ngành: tự động hoá & điều khiển Nguyễn thái sơn Người hướng dẫn khoa học: pgs.ts phan xuân minh Hà nội 2008 ÁN TỐT NGHIỆP CAO HỌC MỤC LỤC Lời cam đoan…………………………………………………………… Mục lục………………………………………………………………… Danh mục hình vẽ………………………………………………… LỜI MỞ ĐẦU………………………………………………………… CHƯƠNG 1: MẠNG NƠ RON NHÂN TẠO………………………… 1.1: Mô hình mạng nơ ron nhân tạo………………………… 1.1.1: Cấu trúc nơ ron nhân tạo……………………… 1.1.2: Các cấu trúc mạng nơ ron nhân tạo…… 1.2: Huấn luyện mạng……………………………………… 1.2.1: Nguyên tắc huấn luyện mạng……………………… 1.2.2: Cấu trúc phương pháp huấn luyện mạng nơ ron tiêu biêu………………………………………………………… 1.2.2.1: Mạng truyền thẳng…………………………… 1.2.2.2: Mạng RBF……………………………………… 16 1.2.2.3: Mạng tự tổ chức Kohonen…………………… 20 1.2.2.4: Mạng hồi quy………………………………… 22 1.2.2.5: Mạng nơ ron động……………………………… 26 CHƯƠNG 2: ỨNG DỤNG MẠNG NƠ RON TRONG NHẬN DẠNG HỆ THỐNG PHI TUYẾN…………………………………………… 30 2.1: Giới thiệu……………………………………………… 30 2.2: Nhận dạng đối tượng động học phi tuyến……………… 32 2.2.1: Mô tả đối tượng…………………………………… 32 Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC 2.2.2: Nhận dạng đối tượng……………………………… 33 2.2.3: Kết luận…………………………………………… 41 CHƯƠNG 3: ỨNG DỤNG MẠNG NƠ RON TRONG BÀI TOÁN ĐIỀU KHIỂN………………………………………………………… 42 3.1: Giới thiệu…………………………………………………… 42 3.2: Điều khiển dự đốn mơ hình…………………………… 43 3.2.1: Nhận dạng hệ thống……………………………………… 43 3.2.2: Điều khiển dự đoán dựa mơ hình…………………… 45 3.2.3: Khối điều khiển dự báo mơ hình mạng nơ ron Matlab……………………………………………………………… 47 3.3: Điều khiển NARMA-L2…………………………………… 54 3.3.1: Nhận dạng mẫu NARMA-L2…………………………… 54 3.3.2: Bộ điều khiển NARMA-L2……………………………… 55 3.3.3: Khối điều khiển NARMA-L2 Matlab……………… 57 3.4: Điều khiển theo mô hình mẫu……………………………… 63 3.4.1: Thiết kế điều khiển nơ ron theo mơ hình mẫu……… 65 3.4.2: Kết luận………………………………………………… 74 3.5: Kết luận……………………………………………………… 74 KẾT LUẬN CHUNG………………………………………………… 75 PHỤ LỤC……………………………………………………………… 76 TÀI LIỆU THAM KHẢO……………………………………………… 113 Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC CHƯƠNG MẠNG NƠ RON NHÂN TẠO 1.1 MƠ HÌNH MẠNG NƠ RON NHÂN TẠO 1.1.1 Cấu trúc nơ ron nhân tạo Mạng nơ ron tái tạo kĩ thuật chức hệ thần kinh người Trong trình tái tạo, tất chức não người có tái tạo, mà có chức cần thiết Bên cạnh đó, cịn có chức tạo nhằm giải toán điều khiển định hướng trước Mạng nơ ron bao gồm vô số nơ ron liên kết truyền thông với mạng Một nơ ron chứa đựng thành phần bản: - Thân nơ ron giới hạn màng membran nhân Từ thân nơ ron có nhiều đường rẽ nhánh tạm gọi rễ - “Bus” liên kết nơ ron với nơ ron khác gọi axon, axon có đường rẽ nhánh Nơ ron cịn liên kết với nơ ron khác qua rễ Chính cách liên kết đa dạng nên mạng nơ ron có độ liên kết cao Các rễ nơ ron chia thành hai loại: loại nhận thông tin từ nơ ron khác qua axon, gọi rễ đầu vào loại đưa thông tin qua axon tới nơ ron khác, gọi rễ đầu Một nơ ron có nhiều rễ đầu vào, có rễ đầu Bởi xem nơ ron khâu điều khiển khâu có nhiều đầu vào, đầu (MISO) Một tính chất mạng nơ ron sinh học đáp ứng theo kích thích có khả thay đổi theo thời gian Các đáp ứng tăng lên, giảm hồn tồn biến Qua nhánh axon liên kết tế bào nơ ron với nơ Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC ron khác, thay đổi trạng thái nơ ron kéo theo thay đổi trạng thái nơ ron khác thay đổi toàn mạng nơ ron Việc thay đổi trạng thái mạng nơ ron thực qua trình “dạy” khả “học” tự nhiên Sự thay tính chất mơ hình tốn học tương đương gọi mạng nơ ron nhân tạo Mạng nơ ron nhân tạo chế tạo nhiều cách khác nhau, thực tế tồn nhiều kiểu mạng nơ ron nhân tạo Hình 1.1: Mơ hình nơ ron nhân tạo khơng có trọng số Hình 1.2: Mơ hình nơ ron nhân tạo có trọng số Đại lượng đầu vào vơ hướng p truyền thơng qua đường dây có hệ số trọng w Tích số wp đối số hàm truyền f, tạo nên đầu vô Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC hướng a Nơ ron hình có hệ số bias b, có vai trị giống trọng số đầu vào cố định Cả w b tham số vơ hướng thay đổi nơ ron Ý tưởng trung tâm mạng nơ ron điều chỉnh thơng số để thu hành vi theo yêu cầu Vì huấn luyện mạng nơ ron để thực công việc cụ thể mạng nơ ron tự điều chỉnh thông số để đạt kết ý muốn Ở đây, f hàm truyền, có loại thường dùng, sau: a) Hàm truyền Hard-limit Hình 1.3: Hàm truyền Hard-lim Hàm truyền Hard-limit giới hạn đầu nơ ron đối số đầu vào n nhỏ 0; n lớn Hàm truyền sử dụng mạng Perceptron b) Hàm truyền tuyến tính Hình 1.4: Hàm truyền tuyến tính Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC Các mạng nơ ron loại thường dùng xấp xỉ tuyến tính c) Hàm truyền sigmoid Hình 1.5: Hàm truyền sigmoid Hàm truyền thường dùng mạng nơ ron lan truyền ngược 1.1.2 Các cấu trúc mạng nơ ron nhân tạo Liên kết đầu vào nhiều nơ ron với ta mạng nơ ron Việc ghép nối nơ ron mạng với theo nguyên tắc Ở mạng, nơ ron phân biệt với thơng qua vị trí mạng, cụ thể là: - Nhóm nơ ron đầu vào (input layer) nơ ron nhận thông tin từ môi trường bên ngồi vào mạng Chúng có vị trí ngồi “bên trái” nối với nơ ron khác mạng từ (rễ) đầu - Nhóm nơ ron nơ ron khác mạng kết nối tới thông qua (rễ) đầu vào gọi nơ ron đầu (output layer) Những nơ ron đầu có vị trí ngồi “bên phải” có nhiệm vụ đưa tín hiệu mạng bên ngồi - Những nơ ron cịn lại khơng thuộc hai nhóm gọi nơ ron bên (hidden layer) Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC Như vậy, mạng nơ ron có chức hệ truyền đạt xử lý tín hiệu từ đầu vào đến đầu mạng Các nơ ron mạng thường chọn loại, chúng phân biệt với qua véc tơ hàm trọng số w Một mạng nơ ron chia thành lớp, lớp bao gồm nhiều nơ ron có chức mạng Hình 1.6: Mạng nơ ron ba lớp truyền thẳng Hình 1.6 mơ hình mạng nơ ron ba lớp Mạng có R đầu vào p1, p2, , pn S đầu a31, a32, , a3S Các tín hiệu đầu vào đưa đến S nơ ron đầu vào, nơ ron làm thành lớp đầu vào mạng (input layer) Đầu nơ ron đưa đến đầu vào nơ ron tiếp theo, nơ ron không trực tiếp tiếp xúc với môi trường xung quanh làm thành lớp trung gian mạng (hidden layer) Đầu nơ ron đưa đến nơ ron đưa tín hiệu mơi trường bên ngồi, thuộc lớp nơ ron đầu (output layer) Mạng nơ ron mà khơng tồn mạch hồi tiếp kể hồi tiếp nội lẫn hồi tiếp từ đầu trở đầu vào, gọi mạng truyền Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC thẳng (feedforward network) Ngược lại, mạng có đường phản hồi từ đầu nơ ron tới đầu vào nơ ron lớp thuộc lớp phía trước có tên gọi mạng hồi tiếp (feedback network) Mạng nơ ron bao gồm hay nhiều lớp (lớp trung gian) gọi mạng MLP (multilayer perceptrons network) Cịn mạng có lớp, vừa lớp vào vừa lớp trung gian lớp mạng có tên mạng lớp Mạng nơ ron ln có cấu trúc ghép nối hồn toàn, tức nơ ron mạng nối với vài nơ ron khác Trong trường hợp nơ ron mạng có khâu tạo chức đáp ứng khâu tuyến tính, tính phi tuyến nằm khâu tạo chức việc mắc nối tiếp nơ ron mạng khơng cịn ý nghĩa lúc ta hồn tồn thay mạng nơ ron nhiều lớp thành mạng nơ ron lớp 1.2 HUẤN LUYỆN MẠNG 1.2.1 Nguyên tắc huấn luyện mạng Huấn luyện mạng công việc xác định véc tơ trọng số w i có nơ ron mạng cho mạng nơ ron có khả tạo đáp ứng đầu mong muốn (giống tín hiệu hệ thống) kích thích lượng thông tin đầu vào hệ thống Như vậy, xem việc huấn luyện mạng tạo cho mạng khả thiết bị xấp xỉ thông tin Để huấn luyện, người ta cho tác động vào mạng hàng loạt kích thích x(k) , k = 1, 2, có khả lặp lại trình mạng làm việc Những tác ~ (k ) động gọi kích thích mẫu Các giá trị y tương ứng đầu - Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC mạng so sánh với đáp ứng mẫu y (k ) cho trước Các phần tử - véc tơ trọng số w i I = 1, 2, …, n có tất n nơ ron mạng hiệu chỉnh theo bước huấn luyện cho tổng sai lệch Ek = e (k ) - 2 ~ (k ) = y - y - (k ) nhỏ Như vậy, thực chất việc huấn luyện - mạng q trình giải tốn tối ưu tham số để thực toán tối ưu tham số này, phải xây dựng phiến hàm mục đích mơ tả rõ ràng sai lệch Hình 1.7 mô tả nguyên lý huấn luyện mạng nơ ron Hình 1.7: Ngun tắc huấn luyện mạng Có hai phương pháp huấn luyện mạng phương pháp học có giám sát học khơng có giám sát Trong phương pháp học có giám sát, đầu vào tác động vào mạng, đầu mạng so sánh với mục tiêu Khi đó, ta sử dụng luật huấn luyện để điều chỉnh trọng số bias mạng để đưa đầu mạng gần với mục tiêu Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC 99 up_delta = max(min(up + b*dX,max_i),min_i); priori iteration u_vec(uvi) = up_delta(upi); updated controls % A % Insert % CALCLULATE PERFORMANCE FOR B [JJ,dJJ]=calcjjdjj(u_vec,Ni,Nu,Nj,N2,Ai,Ts,ref,tiu,rho,dUtilde_dU,Norm alize,minp,maxp); perfb = JJ; dJdub = dJJ; dperfb = dJdub'*dX; cnt1 = cnt1 + 1; end if (a == % TAKE x = (a X_step a_old) INITIAL BISECTION STEP IF NO MIDPOINT EXISTS + b)/2; = x*dX; up_delta = max(min(up + X_step,max_i),min_i); priori iteration u_vec(uvi) = up_delta(upi); Insert updated controls % A % % CALCLULATE PERFORMANCE FOR X [JJ,dJJ]=calcjjdjj(u_vec,Ni,Nu,Nj,N2,Ai,Ts,ref,tiu,rho,dUtilde_dU,Norm alize,minp,maxp); perfx = JJ; dJdux = dJJ; dperfx = dJdux'*dX; cnt1 = cnt1 + 1; else % USE ALREADY COMPUTED VALUE AS INITIAL BISECTION STEP x = a; perfx = perfa; dperfx = dperfa; a=a_old; perfa=perfa_old; dperfa = dperfa_old; end % DETERMINE THE W POINT (A OR B WITH MINIMUM FUNCTION VALUE) if perfa>perfb w = b; perfw = perfb; dperfw = dperfb; else w = a; perfw = perfa; dperfw = dperfa; end Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC 100 % DETERMINE THE OVERALL MINIMUM POINT minperf = min([perfa perfb perfx]); amin = a; dperfmin = dperfa; if perfb J + alpha*amin*dperf) abs(dperfmin)>abs(beta*dperf) ) | if(abs(w-x) x) aa = x; fa = perfx; ga = dperfx; bb = w; fb = perfw; gb = dperfw; else bb = x; fb = perfx; gb = dperfx; aa = w; fa = perfw; ga = dperfw; end ww = 3*(fa - fb)/(bb-aa) + ga + gb; w_gagb = ww^2 - ga*gb; if (w_gagb >= 0) v = sqrt(w_gagb); u_star = aa + (bb-aa)*(1 - (gb + v - ww)/(gb - ga +2*v)); if ((u_star > a)&(u_star < b)) up_delta = max(min(up + u_star*dX,max_i),min_i); % A priori iteration u_vec(uvi) = up_delta(upi); % Insert updated controls % CALCLULATE PERFORMANCE FOR U_STAR [JJ,dJJ]=calcjjdjj(u_vec,Ni,Nu,Nj,N2,Ai,Ts,ref,tiu,rho,dUtilde_dU,Norm alize,minp,maxp); perfu = JJ; dJduu = dJJ; dperfu = dJduu'*dX; u = u_star; cnt2 = cnt2 + 1; bisection = 0; else bisection = 1; end else bisection = 1; end end if (bisection == 1) % BISECTION Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC 101 if ((dperfa0) | (perfx>perfa))) | ((dperfa>0) & (dperfx>0) & (perfxtol) & ((minperf > J + alpha*amin*dperf) abs(dperfmin)>abs(beta*dperf) ) | % IF THE SLOPE AT B IS NEGATIVE INCREASE OR DECREASE THE STEP SIZE BY SCALE if (dperfb < 0) % IF FUNCTION IS HIGHER, DECREASE STEP SIZE BY SCALE if (perfb >= perfa) % ODJ 1/28/00 Greater or equal Nguyễn Thái Sơn - Cao học ĐKTĐ 2006 – 2008 ĐỒ ÁN TỐT NGHIỆP CAO HỌC 111 delta = delta/scale; % IF FUNCTION IS LOWER, CHANGE THE A POINT AND INCREASE THE STEP SIZE BY SCALE else delta = scale*delta; end % IF THE SLOPE AT B IS POSITIVE DO A CUBIC INTERPOLATION FOR THE MINIMUM else ww = 3*(perfa - perfb)/(b-a) + dperfa + dperfb; w_gagb = ww^2 - dperfa*dperfb; if w_gagb