1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Ứng dụng mạng mờ noron trong nhận dạng và điều khiển hệ phi tuyến

131 406 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 131
Dung lượng 2,6 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - PHAN THANH TÙNG ỨNG DỤNG MẠNG MỜ-NORON TRONG NHẬN DẠNG VÀ ĐIỀU KHIỂN HỆ PHI TUYẾN LUẬN VĂN THẠC SĨ KHOA HỌC CHUYÊN NGÀNH ĐIỀU KHIỂN – TỰ ĐỘNG HÓA NGƯỜI HƯỚNG DẪN KHOA HỌC: GS TS NGUYỄN TRỌNG THUẦN Hà Nội – Năm 2011 MỤC LỤC Trang phụ bìa Lời cam đoan Danh mục chữ viết tắt Danh mục bảng Danh mục hình vẽ MỞ ĐẦU Trang CHƯƠNG : TỔNG QUAN ỨNG DỤNG MẠNG MỜ-NƠRON CHO ĐIỀU KHIỂN HỆ PHI TUYẾN Error! Bookmark not defined 1.1 ) Lịch sử hình thành logic mờ mạng noron Error! Bookmark not defined 1.1.1) Logic mờ Error! Bookmark not defined 1.1.2) Mạng noron Error! Bookmark not defined 1.1.3) Lịch sử phát triển mạng mờ-nơron Error! Bookmark not defined 1.2 ) Các cơng trình mạng mờ-nơron Error! Bookmark not defined 1.3 Kết luận nghiên cứu Error! Bookmark not defined CHƯƠNG CƠ SỞ LÝ THUYẾT MẠNG NORON Error! Bookmark not defined.  2.1 Mạng noron tự nhiên Error! Bookmark not defined.  2.2 Mạng noron nhân tạo Error! Bookmark not defined.  Khái niệm Error! Bookmark not defined.  2.3   Mơ hình mạng noron đơn lẻ (Neuron Model)Error! defined.  Bookmark not 2.3.1 Mạng noron tín hiệu đầu vào Error! Bookmark not defined.  2.3.2 Mạng noron đầu vào vecto (nhiều phần tử đầu vào) Error! Bookmark not defined.  2.4   Xây dựng mạng nhiều noron Error! Bookmark not defined.  2.4.1 Mạng noron lớp Error! Bookmark not defined.  2.4.2 Kí hiệu đầu vào lớp ( Inputs and Layers)Error! Bookmark not defined.  2.4.3 Mạng noron nhiều lớp (Multiple layers of Neuron).Error! not defined.  Bookmark 2.5 Phân loại mạng noron Error! Bookmark not defined.  2.5.1 Mạng truyền thẳng ( Layered feedforward network )Error! not defined.  Bookmark 2.5.2 Mạng hồi quy ( Layered digita recurrent network- LDRN) Error! Bookmark not defined.  2.6 Phương thức làm việc mạng noron Error! Bookmark not defined.  2.7 Tổng quan việc huấn luyện mạng noron Error! Bookmark not defined.  2.7.1 Quá trình huấn luyện mạng noron nhiều lớp truyền thẳng Error! Bookmark not defined.  ( Layered feedforward network -LFFN) Error! Bookmark not defined.  2.7.2 Huấn luyện cho mạng noron có phản hồi hay mạng hồi quy Error! Bookmark not defined.  2.8 Minh họa khả xấp xỉ hàm mạng noron.Error! defined.  Bookmark not 2.9 Nhận dạng đối tượng điều khiển mạng nơronError! defined.  Bookmark not 2.9.1 Phép nội suy ngoại suy Error! Bookmark not defined.  2.9.2 Vấn đề khởi tạo tín hiệu đầu vào Error! Bookmark not defined CHƯƠNG CƠ SỞ LÝ THUYẾT LOGIC MỜ Error! Bookmark not defined.  3.1 Logic mờ Error! Bookmark not defined.  3.1.1 Tập mờ Error! Bookmark not defined.  3.1.2 Luật hợp thành mờ Error! Bookmark not defined.  3.1.4 Giải mờ Error! Bookmark not defined.  3.2 Bộ điều khiển mờ Error! Bookmark not defined.  3.2.1 Bộ điều khiển mờ Error! Bookmark not defined.  3.2.2 Các nguyên tắc tổng hợp điều khiển mờError! Bookmark not defined.  3.3 Các loại mơ hình mờ Error! Bookmark not defined.  3.3.1 Dạng mơ hình mờ kinh điển CRI (compositional rule of inference) Error! Bookmark not defined.  3.3.2 Mơ hình mờ Takagi-Sugano (TS) Error! Bookmark not defined.  3.3.3 Dạng hàm liên thuộc tổng quát GFM( generalise fuzzy model ) Error! Bookmark not defined CHƯƠNG 4: ỨNG DỤNG MẠNG MỜ-NORON Error! Bookmark not defined.  4.1 Định nghĩa cấu trúc mạng mờ-noron Error! Bookmark not defined.  4.1.1 Định nghĩa Error! Bookmark not defined.  4.1.2 Các kiến trúc mạng mờ-noron Error! Bookmark not defined.  4.2  Ứng dụng mạng mờ-noron GRNFN điều khiểnError! not defined.  Bookmark 4.2.1 Ứng dụng nhận dạng Error! Bookmark not defined.  4.2.2 : Kết hợp phương pháp GPC xây dựng điều khiểnError! not defined.  Bookmark Kết luận : Error! Bookmark not defined.  Tài liệu tham khảo Phụ lục LỜI CAM ĐOAN Tôi xin cam đoan luận văn thạc sỹ khoa hoc: “Ứng dụng mạng mờnoron nhận dạng điều khiển hệ phi tuyến” tự thiết kế hướng dẫn thầy giáo GS.TS Nguyễn Trọng Thuần Các số liệu kết hoàn toàn trung thực Để hồn thành luận văn này, tơi sử dụng tài liệu ghi danh mục tài liệu tham khảo không chép hay sử dụng tài liệu khác Nếu phát có chép, tơi xin chịu hồn tồn trách nhiệm Hà Nội, ngày 10 tháng năm 2011 Học viên Phan Thanh Tùng Danh mục ký hiệu , chữ viết tắt: ANN Artificial Neural Network ANFIS Adaptive-Network-based Fuzzy Inference System ARMAX AutoRegressive Moving Average with eXogenous inputs models BNN Biological Neural Network CARIMA Controlled Auto-Regressive Integrated Moving Average COG Center Of Gravity CRI Compositional Rule of Inference GPC Generalised Predictive Control GFM Generalized Fuzzy Model GRBFN Generalized Radial Basic Function Network GRNFN Generalized Recurren Neural-Fuzzy network LFFN Layered FeedForward network LDRN Layered Digital Recurrent Network MISO Multi Input- Single Output NARMAX Nonlinear AutoRegressive Moving Average with eXogenous inputs models RNFN Recurren Neural-Fuzzy network SISO Single Input – Single Output TDL Tapped Delay Line TS Takagi-Sugano DANH MỤC CÁC BẢNG, BIỂU, HÌNH ẢNH Danh mục bảng, biểu, đồ thị Bảng 3.1 Bảng luật điều khiển Bảng 4.1: So sánh đặc điểm logic mờ mạng noron Bảng 4.2 sau so sánh đặc điểm mạng huấn luyện Bảng 4.3 : So sánh kết mạng huấn luyện Trang 69 77 89 89 Danh mục hình ảnh Hình 2.1 Một phần mạng nơron bao gồm hai nơron Hình 2.2 Noron khâu MISO Hình 2.3 Noron nhân tạo Hình 2.4 Mơ hình mạng noron Hình 2.5 Noron có nhiều tín hiệu đầu vào Hình 2.6 Kí hiệu mạng noron nhiều đầu vào Hình 2.7 Mạng noron lớp nhiều đầu vào Hình 2.8 Kí hiệu rút gọn mạng noron lớp Hình 2.9 Hệ thống kí hiệu mở rộng cho mạng noron lớp Hình 2.10 Mạng noron nhiều lớp Hình 2.11 Kí hiệu rút gọn mạng nhiều lớp Hình 2.12 Mạng truyền thẳng LFFN Hình 2.13 Đường dây trễ có rẽ nhánh- Tapped delay line Hình 2.14 Ví dụ mạng hồi quy LDRN Hình 2.15 Hệ thống kí hiệu mạng LDRN Hình 2.16 Minh họa phương pháp tìm kiếm Emin theo hướng ngược gradient E Hình 2.17 Huấn luyện cho mạng truyền thẳng LFFN Hình 2.18 Tính tốn đạo hàm riêng phần Hình 2.19 Tính tốn đạo hàm động học tồn phần đầu mạng Hình 2.20 Tính đạo hàm tồn phần hàm mục tiêu tương ứng với biến w b Hình 2.21 Ví dụ việc xấp xỉ mạng neural Hình 2.22 Đáp ứng đầu với thơng số cho mạng hình 2.21 Hình 2.23 Ảnh hưởng thay đổi thông số đến đầu mạng Hình 2.24 Sơ đồ huấn luyện mạng noron Hình 2.25 Lưu đồ thuật tốn nhận dạng đối tượng Hình 2.26 Đáp ứng mạng sử dụng thuật toán bình phương sai lệch cực tiểu 10 11 13 18 19 20 21 22 23 24 25 26 27 28 30 33 34 39 40 41 42 43 43 46 47 48 Hình 2.27 Dữ liệu huấn luyện mạng với xung đầu vào có độ rộng lớn Hình 2.28 Huấn luyện mạng với kích thích đầu vào xung có độ rộng nhỏ 51 52 Hình 2.29: Dữ liệu huấn luyện mạng với độ rộng xung hỗn hợp Hình 3.1 Hàm phụ thuộc số tự nhiên nhỏ Hình 3.2 Mơ tả giá trị ngơn ngữ tập mờ Hình 3.3 Quy tắc hợp thành Hình 3.4 Quy tắc hợp thành Prod Hình 3.5 Luật hợp thành MISO với hai mệnh đề điều kiện Hình 3.6 Hàm thuộc giá trị Hình 3.7 Hàm thuộc đầu mệnh đề thứ Hình 3.8 Hàm thuộc đầu mệnh đề thứ hai Hình 3.9 Hàm thuộc đầu luật hợp thành Hình 3.10 Giải mờ phương pháp cực đại Hình 3.11 Giải mờ phương pháp điểm trọng tâm Hình 3.12 Hàm thuộc đầu có dạng hình thang Hình 3.13 Sơ đồ khối điều khiển mờ Hình 3.14: Ảnh hưởng số vk đến mối quan hệ biến vào biến Hình 3.15 dạng hàm liên thuộc biến tiền đề cho l=0.5 đến Hình 4.1 : Kiến trúc mạng GRBFN Hình 4.2: Ba trường hợp vk sau : v1=v2; v1= 0.1v2; v1= 0.01v2 Hinh 4.3 : Cấu trúc mạng hồi quy RNFN Hình 4.4 Cách chuyển mạng huấn luyện từ trực tiếp sang gián tiếp tương ứng Hình 4.5a, b : Hàm liên thuộc biến tiền đề Hình 4.6: Dạng tín hiệu kích thich đầu vào đối tượng đáp ứng đầu Hình 4.7: Quá trình huấn luyện mạng mờ-noron Hình 4.8 : Đáp ứng đầu mạng mờ-noron, giá trị mấu sai lệch sau huấn luyện Hình 4.9 : Đáp ứng đầu sử dụng liệu kiểm tra kết Hình 4.10 a: Đồ thị hàm liên thuộc biến X1 sau huấn luyện Hình 4.10b) : Đồ thị hàm liên thuộc biến X2 sau huấn luyện Hình 4.11 : Kết huấn luyện mạng GRBFN, RNFN, GRNFN Hình 4.12: Đồ thị mơ tả dự báo tầm xa ước lượng Hình 4.13a) Đồ thị đáp ứng đầu đối tượng điều khiển bám theo giá trị đặt Hình 4.13b) Đồ thị tín hiệu điều khiển đối tượng 52 54 57 58 59 60 62 62 62 63 64 65 66 67 74 75 78 80 81 82 83 84 84 85 85 86 86 90 92 98 98 Chương trình Matlab Hàm tạo mạng noron function net=newnet(PR,ID,LD,LS,connect,TF) % Create a custom network,using a function 'newnet' % PR : input range ==> minmax(P) % LS : layer size ==> [SZ1 SZ2 SZN] % connect : biases,inputs,layers,outputs,targets % ==> {bc,ic,lc,oc,tc} % TF : transfer functions ==> {TF1 TF2 TFN} % ID : input delays ==> {ID1 ID2 IDK} % LD : layer delays ==> {LD1 LD2 LDJ} % net = network; % nP = max(size(PR)); % number of inputs nL = length(LS); % number of layers net.numInputs = nP; net.numLayers = nL; % net.biasConnect = connect{1}; net.inputConnect = connect{2}; net.layerConnect = connect{3}; net.outputConnect = connect{4}; if strcmp(version('-release'),'2008a') else net.targetConnect = connect{4}; end % if iscell(PR) for i=1:nP net.inputs{i}.range = PR{i}; end else for i=1:nP net.inputs{i}.range = PR(i); end end % for i=1:nL net.layers{i}.size = LS(i); net.layers{i}.transferFcn = TF{i}; net.layers{i}.initFcn = 'initnw'; end % -for i=1:max(size(ID)) net.inputWeights{ID{i}(1),ID{i}(2)}.delays = ID{i}(3:end); end for i=1:max(size(LD)) net.layerWeights{LD{i}(1),LD{i}(2)}.delays = LD{i}(3:end); end % -net.initFcn = 'initlay'; net.performFcn = 'mse'; net.trainFcn = 'trainlm'; % -% Weights are initialized net = init(net); % Hàm chuẩn hóa cho mơ hình GRFN function result = hamchuanhoa1(a,b,c,d,e) fn = mfilename; boiler_weight %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Name function n = name n = 'chuan hoa ham lien thuoc'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Flag for dZ/dP type function d = p_deriv d = 1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Flag for dZ/dW type function d = w_deriv d = 1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Parameter default values function fp = param_defaults fp = struct; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Parameter Names function names = param_names names = {}; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Parameter Check function err = param_check(fp) err = ''; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Weight Size function dim = weight_size(s,r,fp) dim = [s r]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Apply Weight Function % Tu tuong phuong phap : so w chua so dien tich vk Vi du dau vao la % p=[p1;p2]; tuong ung voi 2noron va 2trong so la w=[v1 0;v2 0] %thi dau la z1=p1.v1/(p1.v1+p2.v2),z2=p2.v2/(p1.v1+p2.v2) % Luu y ma tran w phai la [w1,w2, wn; w1,w2, wn; ; w1,w2, ,wn] function z = apply(w,p,fp) [S,R] = size(w); [R1,Q] = size(p); z = zeros(S,Q); copies = zeros(1,Q); m= w(:,1+copies).*p; k=sum(m,1); for i=1:S % bien chay ung voi moi thoi diem cua noron i for j=1:Q z(i,j)=m(i,j)/k(j); end end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Derivative w/respect to Input function d = derivative_dz_dp(w,p,z,fp) [S,R] = size(w); [R1,Q] = size(p); p = p'; d = cell(1,Q); copies1 = zeros(1,S); copies2 = zeros(R,1); for q=1:Q % dzi/dpj = (1-zi)*zi/pi neu i=j % hoac = -zj*zi/pj neu i~=j den = p(q+copies1,:); flg = den~=0; mt = z(:,q+copies2); % tao ma tran [z1 z1 z1; z2 z2 z2] num= mt'.*(eye(S)-mt); % cai la minh nghi keke num = flg.*num; den = den + ~flg; d{q} = num./den; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Derivative w/respect to Weight function d = derivative_dz_dw(w,p,z,fp) [S,R] = size(w); % cac cong thuc o day chi dung neu w=[w1,0,0; w2,0,0; w3,0,0]; [R1,Q] = size(p); d = cell(1,S); w = w'; copies1 = zeros(1,Q); copies2 = zeros(R,1); for i=1:S den = w(:,i+copies1); flg = den~=0; mt = z(i+copies2,:); mthang1=[ones(1,Q);zeros((R-1),Q)]; num= z.*(mthang1-mt); num = flg.*num; den = den + ~flg; d{i} = num./den; % Tinh dao ham cho thong so ham lien thuoc end Hàm mờ tổng quát GFM function result = fulldist(a,b,c,d,e) fn = mfilename; boiler_weight %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Name function n = name n = 'Euclidean Distance'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Flag for dZ/dP type function d = p_deriv d = 1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Flag for dZ/dW type function d = w_deriv d = 1; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Parameter default values function fp = param_defaults fp = struct; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Parameter Names function names = param_names names = {}; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Parameter Check function err = param_check(fp) err = ''; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Weight Size function dim = weight_size(s,r,fp) dim = [s r]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Apply Weight Function % Tu tuong phuong phap : so w chua phan : phan chua ck la % tam ham lien thuoc,phan chua lk la ham mu, phan chua ak % De chuong trinh hoat dong thi phai khao bao kich thuoc w cho matlab hieu voi dieu kien la w(S*3R) % va p co kich thuoc (3R*Q) nen vecto p ta phai gap no truoc dua vao de tinh toan p=[p;p;p] function z = apply(w,p,fp) w1=w; [S,R] = size(w1); [R1,Q] = size(p); R2=R/3; w=w1(:,1:R2); % ma tran w chua cac thong so tam ham lien thuoc ck=[c11 c12;c21 c22] w2=w1(:,(R2+1):(2*R2)); % ma tran w2 chua cac thong so ham mu lk=[lk11 lk12;lk21 lk22]; w3=w1(:,(2*R2+1):R); % ma tran w3 chua cac thong so cua bien ak if (R == R1), p=p(1:R2,:); end % chi lay 1/3 vector p z = zeros(S,Q); if (Q

Ngày đăng: 19/07/2017, 22:53

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w