Ứng dụng mạng Reservoir trong nhận dạng và điều khiển Ứng dụng mạng Reservoir trong nhận dạng và điều khiển Ứng dụng mạng Reservoir trong nhận dạng và điều khiển luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp luận văn tốt nghiệp,luận văn thạc sĩ, luận văn cao học, luận văn đại học, luận án tiến sĩ, đồ án tốt nghiệp
ĐẠI HỌC THÁI NGUYÊN TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP TRỊNH THỊ MINH NGUYỆT ỨNG DỤNG MẠNG RESERVOIR TRONG NHẬN DẠNG VÀ ĐIỀU KHIỂN LUẬN VĂN THẠC SĨ KỸ THUẬT Thái nguyên - 2014 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ MỞ ĐẦU Tính cấp thiết đề tài: Việc ứng dụng mạng nơ-ron nhận dạng đặc biệt lĩnh vực điều khiển gặp phải nhiều khó khăn vấn đề tìm nghiệm tối ưu tồn cục, tốc độ học, khả đáp ứng tính thời gian thực hệ thống Tuy nhiên năm gần đời loại mạng nơ-ron với phương pháp huấn luyện đơn giản nhanh Mạng có tên gọi khác gồm: Reservoir Computing Networks (RCN), Echo State Networks (ESN) Liquid State Machines (LSM) Nhưng chất giống Để đơn giản tiện lợi trình nghiên cứu, gọi tên mạng mạng Reservoir Trong thực tế mạng reservoir ứng dụng thành cơng dự đốn chuỗi thời gian hỗn loạn khơng có nhiễu tốn thích nghi nhanh, chưa ứng dụng vào lĩnh vực nhận dạng hệ thống thiết kế điều khiển dựa sở mạng Mạng reservoir ý tưởng nghiên cứu tương đối nhiều vấn đề mở hướng nghiên cứu tương lai Xuất phát từ lý nên tơi tự đề xuất hướng nghiên cứu chọn đề tài: “ Ứng dụng mạng Reservoir nhận dạng điều khiển” Mục tiêu đề tài: Nâng cao phương pháp huấn luyện mạng reservoir ứng dụng để nhận dạng hệ thống thiết kế điều khiển nơ-ron Đề tài " Ứng dụng mạng Reservoir nhận dạng điều khiển" nhằm phát triển phương pháp huấn luyện mạng sử dụng công cụ, thiết bị nghiên cứu như: Máy tính, phần mềm Matlab, Neural Network Toolbox 2013 Việc nghiên cứu ứng dụng mạng Reservoir nhận dạng điều khiển địi hỏi phải có hiểu biết định mạng nơ ron, sử dụng phần mềm matlab Kết dự kiến cần đạt đƣợc: Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ - Khai thác công cụ Neural Networks Toolbox Matlab 2013, viết tài liệu hướng dẫn sử dụng cơng cụ - Viết chương trình huấn luyện cho mạng reservoir Matlab - So sánh kết huấn luyện mạng reservoir với tham số mạng ban đầu khác cho số đối tượng thử nghiệm - Đề xuất phương pháp chọn tham số ban đầu cho mạng reservoir - Đề xuất phương pháp huấn luyện mạng reservoir - Viết chương trình nhận dạng hệ thống huấn luyện điều khiển sở mạng reservoir Matlab kiểm chứng chất lượng điều khiển đối tượng thực mơ hình cánh tay máy bậc tự Phƣơng pháp nghiên cứu: Nghiên cứu lý thuyết nghiên cứu thực nghiệm: Nghiên cứu lý thuyết: - Nghiên cứu mạng reservoir, Viết chương trình huấn luyện cho mạng reservoir Matlab - Mơ hình hóa huấn luyện mạng sở phần mềm Matlab, Neural Networks Toolbox 2013 - Viết chương trình nhận dạng hệ thống huấn luyện điều khiển sở mạng reservoir Matlab Nghiên cứu thực nghiệm - Chạy thử nghiệm chương trình Matlab - Thực nghiệm mơ hình vật lý để kiểm nghiệm hoàn thiện cấu trúc tham số điều khiển - Ứng dụng nhận dạng điều khiển hệ thống phịng thí nghiệm cánh tay máy Đề tài trình bày theo nội dung sau: Chương I: Giới thiệu mạng Reservoir Chương II: Tìm hiểu công cụ mạng nơ ron Matlab Chương III: Ứng dụng mạng Reservoir nhận dạng hệ thống Chương IV: Điều khiển cánh tay máy bậc tự phịng thí nghiệm Kết kiến nghị Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Chƣơng GIỚI THIỆU MẠNG RESERVOIR Mạng Reservoir khái niệm lĩnh vực mạng nơ-ron Về cấu trúc mạng reservoir khơng có khác biệt so với mạng nơ-ron khác, phương pháp huấn luyện mạng có khác biệt q trình học Trong chương giới thiệu cấu trúc mạng nơ-ron từ tới phức tạp, ký hiệu khái niệm Trên sở tơi trình bày cấu trúc phương pháp huấn luyện mạng reservoir 1.1 Cấu trúc mạng nơ-ron Trong phần giới thiệu cấu trúc, khái niệm nơ-ron, lớp nơ-ron, nhiều lớp nơ-ron mạng hồi qui Đồng thời để đơn giản cho việc theo dõi mô tả sau, đưa số qui ước chung Tôi sử dụng công cụ Neural Networks Matlab để mô tả huấn luyện mạng Do ký hiệu, khái niệm cấu trúc theo định nghĩa Matlab/Neural Network Toolbox 1.1.1 Cấu trúc mạng nơ - ron đầu vào Một nơ ron với đầu vào có sơ đồ cấu trúc hình 1.1 p w n ∑ ƒ a b Hình 1.1 Cấu trúc nơ - ron (1 đầu vào) Cấu trúc nơ ron gồm: đầu vào p, đầu a, w trọng số, ∑ tổng, b ngưỡng, f hàm truyền Quan hệ vào nơ ron là: a Số hóa Trung tâm Học liệu f wp b (1.1) http://www.lrc-tnu.edu.vn/ 1.1.2 Cấu trúc mạng nơron nhiều đầu vào P1 P2 P3 w1,1 n ∑ a ƒ b w1,R PR a = f (wp + b) Hình 1.2 Cấu trúc nơ - ron nhiều đầu vào Hình 1.2 sơ sồ cấu trúc nơ-ron có nhiều đầu vào Nơ ron có R tín hiệu đầu vào biểu diễn dạng rút gọn thể hình 1.3 Trong đó: b bias; n tổng trọng, f hàm truyền, a đầu nơ ron; p = [p1 p2 pR] véc tơ đầu vào, W = [w1,1 w1,2 w1,R] véc tơ trọng số đầu vào n = w1,1 p1 + w1,2 p2 + + w1,R pR + b (1.2) n = W*p + b a = f (wp + b) (1.3) Mơ hình thu gọn nơ ron: P Rx1 W + R b n 1x1 ƒ 1x1 1x1 Hình 1.3 Mơ hình nơ ron thu gọn (nhiều đầu vào) Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 1.1.3 Cấu trúc lớp nơ-ron Mơ hình lớp có S nơ ron với R đầu vào hình vẽ 1.4 P1 w1,1 ∑ P2 n1 ƒ a1 n2 ƒ a2 ns ƒ as b1 ∑ P3 B2 wS,R PR ∑ bs a = f (wp + b) Hình 1.4: Mơ hình lớp nơ ron Trong phần tử véc tơ đầu vào p nối với nơ ron tương ứng qua ma trận trọng số W; f hàm truyền; p véc tơ đầu vào có dạng véc tơ cột (Rx1); a đầu lớp nơ ron có dạng véc tơ cột (Sx1) ma trận trọng số có dạng: P Rx1 R W SxR b + n sx1 ƒ a sx1 sx1 Hình 1.5: Mơ hình lớp nơ ron Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ w1,1w1,2 w1, R W w 2,1w 2,2 w 2, R (1.4) w S ,1w S ,2 w S , R Các thành phần nơron nhân tạo bao gồm: ♦ Tập đầu vào: Là tín hiệu vào (input signals) nơron, tín hiệu thường đưa vào dạng vector N chiều ♦ Tập liên kết: Mỗi liên kết thể trọng số (gọi trọng số liên kết – Synaptic weight) Trọng số liên kết tín hiệu vào thứ j với nơron k thường kí hiệu w Thông thường, trọng số khởi kj tạo cách ngẫu nhiên thời điểm khởi tạo mạng cập nhật liên tục trình huấn luyện mạng (epoch) ♦ Bộ tổng (Summing function): Thường dùng để tính tổng tích đầu vào với trọng số liên kết ♦ Ngƣỡng (cịn gọi độ lệch - bias): Ngưỡng thường đưa vào thành phần hàm truyền ♦ Hàm truyền (Transfer function) : Hàm dùng để giới hạn phạm vi đầu nơron Nó nhận đầu vào kết hàm tổng ngưỡng cho Các hàm truyền đa dạng, hàm tuyến tính phi tuyến Việc lựa chọn hàm truyền tuỳ thuộc vào toán kinh nghiệm người thiết kế mạng Một số hàm truyền thường sử dụng mô hình mạng nơron đưa bảng ♦ Đầu ra: Là tín hiệu đầu nơron, với nơron có tối đa đầu Xét mặt toán học, cấu trúc nơron k, mô tả cặp biểu thức sau: Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ a = f (wp + b) đó: x , x , , x : tín hiệu vào; (w , w p k1 k2, , w ) trọng số kp liên kết nơron thứ k; u hàm tổng; b ngưỡng; f hàm truyền y k k k tín hiệu đầu nơron Gọi ma trận trọng số liên kết với lớp vào ma trận trọng số đầu vào IW Gọi ma trận trọng số liên kết lớp LW Quy ước ký hiệu số lớp nguồn số thứ hai số lớp đích thực số thứ Ví dụ: LWi,j ma trận trọng số liên kết từ lớp nguồn j đến lớp đích i P IW1,1 Rx1 s1xR R b1 + n1 s1x1 ƒ a1 sx1 s x1 Hình 1.6: Mạng lớp rút gọn Đầu nơ ron tính sau: a1 = f (IW1,1 p + b1) 1.1.4 Mạng nhiều lớp Hình 1.7 mơ tả mơ hình mạng nơ ron truyền thẳng lớp Mỗi lớp có ma trận trọng số IW, LW, véc tơ bias b véc tơ tín hiệu đầu a Tín hiệu đầu lớp ai, p véc tơ tín hiệu vào, fi hàm truyền (i= 1,2,3) Từ có tín hiệu a3 có dạng: a3 = f3 (LW3,2f2 (LW2,1f1(IW1,1p+b1)+ b2)+ b3) Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ P1 IW1,1 n1 ∑ P2 1 f 1 b S,R a 2 n ∑ f a s f s ∑ ∑ LW2,1s2, s1 b s1 a21 LW3,2 f b3 f n2s1 1 n ∑ b a22 a2s ∑ LW3,2s3, s2 b2 s2 f3 n3s1 f a1 = f1 (IW1,1p+ b1) n3 ∑ f 1 n ∑ b2 2 n2 b2 b1 PR IW1,1 n1 ∑ P3 a11 LW2,1 f a31 a32 a3s b3 s3 a3 = f3 (LW3,2a3+ b3) a2 = f2 (LW2,1a + b ) Hình 1.7: Mơ hình mạng nơ ron truyền thẳng ba lớp Mơ hình rút gọn hình 1.8 P IW R x1 s xR R a1 1,1 b1 s x1 + n1 s1x1 f a2 2,1 s1x1 LW s2xs1 s1 + b2 n2 s2x1 s2 x1 s2 x1 a1 = f1 (IW1,1p+ b ) f2 s2 a3 LW3,2 s3xs2 + b3 n3 s3x1 s3 x1 s3 3,2 1.1.5 Mạng nơ ron hồi quy IW1,1 ∑ n(t) a(t) LW1,1 D a(t) = IWp(t)+LW a(t-1) Hình 1.9: Mơ hình nơ ron hồi quy Số hóa Trung tâm Học liệu a3 = f3 (LW a3+ b ) a2 = f2 (LW2,1a + b ) Hình 1.8: Mơ hình mạng nơ ron truyền thẳng ba lớp thu gọn p(t) f3 http://www.lrc-tnu.edu.vn/ s3 x1 T D L IW R1x1 R 1,1 s1xR b 1 a1(t) LW1,1 n1(t) + T D f1 s x1 L LW s x1 s x1 s1 + 2 f2 s x1 s2x1 s x1 T D L T D LW1,3 L n (t) b a2(t) s xs 1 2,1 s2 LW a3(t) 3,1 + s xs b s3 x1 n3(t) s3x1 f3 s3 LW2,3 Hình 1.10: Mơ hình mạng hồi quy nhiều lớp Trong khối TDL khâu trễ 1.2 Mạng Reservoir Mạng Reservoir có quan hệ vào sau: f Winu k x k Wback y k Wu k Wf x k y k (1.5) (1.6) Về mạng Reservour có cấu trúc giống mạng nơ ron thơng thường, khơng có bias W Z-1 u u Z-1 Win f Wf + Wback g y Z-1 Hình 1.11: Mạng Reservoir Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ s3 x1 title('Tin hieu mau') grid on save nguyet_PT01 R1 T1 Chƣơng trình huấn luyện mạng hở tốn nhận dạng đối tƣợng bậc load nguyet_PT01 net = network(2,2,[1;1],[1 1;0 0],[0 0;1 0],[0 1]); net.inputWeights{1,1}.delays =[1]; d11 = max(net.inputWeights{1,1}.delays); net.inputWeights{1,2}.delays=[1]; d12 = max(net.inputWeights{1,2}.delays); net.layerWeights{1,1}.delays=[1]; n1 = 60; net.trainFcn = 'trainlm'; net.performFcn = 'mse'; net.trainParam.goal = 0; net.trainParam.epochs = 20000; net.trainParam.min_grad = 1e-12; net.trainParam.time = inf; net.trainParam.max_fail = 1000; net.inputs{1}.range = [-2 2]; net.inputs{2}.range = [-10 10]; net.outputs{2}.range = [-10 10]; Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ x = num2cell([R1';T1']); t = num2cell(T1'); net.layers{1}.size = n1; net.layers{2}.size = 1; net.layers{1}.transferFcn = 'tansig'; net.layers{2}.transferFcn = 'purelin'; net = configure(net,x,t); [xs,xi,ai,ts]=preparets(net,x,t,{}); net.IW{1,2} = randn(n1,d12); net.IW{1,1} = randn(n1,d11); a = sum(sum(net.IW{1,2}).^2) + sum(sum(net.IW{1,1}).^2) + sum(sum(net.b{1}).^2)+ sum(sum(net.LW{1,1}).^2); net.LW{2,1} = 0.01*net.LW{2,1}/sqrt(a); net.IW{1,2} = 0.01*net.IW{1,2}/sqrt(a); net.IW{1,1} = 0.01*net.IW{1,1}/sqrt(a); net.b{1} = 0.01*net.b{1}/sqrt(a); net.inputWeights{1,2}.learn = 0; view(net); net.LW{2,1} = randn(1,n1); [net,tr] = train(net,xs,ts,xi,ai); y = net(xs,xi,ai); y = cell2mat(y); figure(1) n = length(xs); Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ti = 1:n; ts = cell2mat(ts); subplot(2,1,1) plot(ti,y,'r',ti,ts,'b') legend('Network Output','Target') grid on subplot(2,1,2) plot(ti,y-ts,'r') grid on legend('Error') mse_end = min(tr.perf) figure(2) plot(tr.perf) grid on title('MSE') neto = net; save example01_603012 neto Chƣơng trình huấn luyện mạng kín tốn nhận dạng đối tƣợng bậc load nguyet_PT01 load example01_603012 neto Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ net = network(1,2,[1;1],[1;0],[0 1;1 0],[0 1]); net.inputWeights{1,1}.delays = neto.inputWeights{1,1}.delays; net.layerWeights{1,2}.delays = neto.inputWeights{1,2}.delays; net.layers{1}.size = neto.layers{1}.size; net.layers{2}.size = neto.layers{2}.size; net.inputs{1}.range = [-12 12]; net.outputs{2}.range = [-pi pi]; net.IW{1,1} = neto.IW{1,1}; net.LW{1,2} = neto.IW{1,2}; net.LW{2,1} = neto.LW{2,1}; net.b{1} = neto.b{1}; net.b{2} = neto.b{2}; net.layers{1}.transferFcn = 'tansig'; net.layers{2}.transferFcn = 'purelin'; view(net) C = 2; N = 98; netc = cell(1,N); perfc = cell(1,N); figu = cell(2,N); d = 1; m = length(T1'); for i = 1:N C = C + 1; Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ net1 = net; k = floor(rand*m/C); if k == k = 1; end net1.trainFcn = 'trainlm'; net1.performFcn = 'mse'; net1.trainParam.goal = 0; net1.trainParam.epochs = 500; net1.trainParam.min_grad = 1e-10; net1.trainParam.time = inf; net1.trainParam.max_fail = 1000; net1.layerWeights{1,2}.learn = 0; [x,xr] = batch_data01(C,R1',k,d); [t,rt] = batch_data01(C,T1',k,d); net1 = configure(net1,x,t); [xs,xi,ai,ts] = preparets(net1,x,t,{}); [net1,tr] = train(net1,xs,ts,xi,ai); net = net1; netc{1,i} = net; perfc{1,i} = tr.perf; % mse end figure(3) plot(perfc{1,end}) Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ grid on save example_nguyet3012 netc perfc figure(4) [xs,xi,ai,ts]=preparets(net1,xr,rt,{}); y1 = net(xs,xi,ai); y = cell2mat(y1); t1 = cell2mat(ts); ti = 1:length(ts); subplot(2,1,1) plot(ti,y,'r',ti,t1,'b') legend('Network Output','Target') grid on subplot(2,1,2) plot(ti,y-t1,'r') grid on legend('Error') Chƣơng trình huấn luyện mạng hở toán nhận dạng cánh tay máy thực load nguyet_data01 net = narxnet(1:2,1:2,6); net.trainFcn = 'trainlm'; net.performFcn = 'mse'; net.trainParam.goal = 0; Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ net.trainParam.epochs = 10000; net.trainParam.min_grad = 1e-12; net.trainParam.time = inf; net.trainParam.max_fail = 10000; net.inputs{1}.range = [-12 12]; net.inputs{2}.range = [-pi pi]; net.outputs{2}.range = [-pi pi]; d11 = max(net.inputWeights{1,1}.delays); d12 = max(net.inputWeights{1,2}.delays); n1 = net.layers{1}.size; net.IW{1,2} = randn(n1,d12); net.IW{1,1} = randn(n1,d11); net.b{1} = randn(n1,1); net.LW{2,1} = randn(1,n1); net.b{2} = randn; a = sum(sum(net.IW{1,2}).^2) + sum(sum(net.IW{1,1}).^2) + sum(sum(net.b{1}).^2)+ sum(sum(net.LW{2,1}).^2)+ sum(sum(net.b{2}).^2); net.LW{2,1} = 0.01*net.LW{2,1}/sqrt(a); net.IW{1,2} = 0.1*net.IW{1,2}/sqrt(a); net.IW{1,1} = 0.01*net.IW{1,1}/sqrt(a); net.b{1} = 0.01*net.b{1}/sqrt(a); net.inputWeights{1,2}.learn = 0; view(net); x = num2cell(R1'); Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ t = num2cell(T1'); net = configure(net,[x;t],t); [xs,xi,ai,ts]=preparets(net,x,{},t); [net,tr] = train(net,xs,ts,xi,ai); y = net(xs,xi,ai); y = cell2mat(y); figure(1) n = length(xs); ti = 1:n; t1 = cell2mat(ts); subplot(2,1,1) plot(ti,y,'r',ti,t1,'b') legend('Network Output','Target') grid on subplot(2,1,2) plot(ti,y-t1,'r') grid on legend('Error') figure(2) plot(tr.perf) grid on title('MSE') mse_end = min(tr.perf) save nguyet_robot_3012 net Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Chƣơng trình huấn luyện mạng kín tốn nhận dạng cánh tay máy thực load nguyet_data01 load nguyet_robot_3012 net net = closeloop(net); view(net) C = 3; N = 1997; netc = cell(1,N); perfc = cell(1,N); figu = cell(2,N); d = 1; m = length(T1'); for i = 1:N C = C + 1; net1 = net; k = floor(rand*m/C); if k == k = 1; end net1.trainFcn = 'trainlm'; net1.performFcn = 'mse'; net1.trainParam.goal = 0; net1.trainParam.epochs = 500; Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ net1.trainParam.min_grad = 1e-15; net1.trainParam.time = inf; net1.trainParam.max_fail = 10000; net1.layerWeights{1,2}.learn = 0; [x,xr] = batch_data01(C,R1',k,d); [t,rt] = batch_data01(C,T1',k,d); net1 = configure(net1,x,t); [xs,xi,ai,ts] = preparets(net1,x,{},t); [net1,tr] = train(net1,xs,ts,xi,ai); net = net1; netc{1,i} = net; perfc{1,i} = tr.perf; % mse end figure(1) plot(perfc{1,end}) grid on title('MSE') mse_end = min(perfc{1,end}) [xs,xi,ai,ts]=preparets(net,xr,{},rt); y = net(xs,xi,ai); y = cell2mat(y); figure(2) n = length(xs); ti = 1:n; Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ t1 = cell2mat(ts); subplot(2,1,1) plot(ti,y,'r',ti,t1,'b') legend('Network Output','Target') grid on subplot(2,1,2) plot(ti,y-t1,'r') grid on legend('Error') mse_end = min(tr.perf) save nguyet_close_robot3012 netc perfc Chƣơng trình mơ hai chiều cho cánh tay máy môt bậc tự Matlab/Simulink function [sys, x0, str, ts]=animdemo(t, x, u, flag) l1 = 2; global xP1 yP1 R P xLink1 yLink1 xCenter yCenter global Link1 Center global AnimDemoFigure str=[]; ts=[.01 0]; P0 = [8 8]; if flag==2 if any(get(0,'Children')==AnimDemoFigure) set(0, 'CurrentFigure', AnimDemoFigure); xP1new = l1*cos(u(1)+pi/2) + P0(1); yP1new = l1*sin(u(1)+pi/2) + P0(2); Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ R = [cos(u(1)+pi/2) sin(u(1)+pi/2);-sin(u(1)+pi/2) cos(u(1)+pi/2)]; P = [l2*cos(u(2)) l2*sin(u(2))]*R+[xP1new yP1new]; xP2new = P(1); yP2new = P(2); xLink1 = [P0(1) xP1new]; yLink1 = [P0(2) yP1new]; n = 100; t = 0:2*pi/n:2*pi*(1-1/n); xCenter = xP1new + 02*cos(t); yCenter = yP1new + 02*sin(t); set(Link1, 'XData', xLink1,'YData', yLink1); set(Center,'XData',xCenter,'YData',yCenter); drawnow end sys=[]; elseif flag==0 [fig, flag]=figflag('Animation Demo Figure', 0); if flag AnimDemoFigure=fig; cla reset; else AnimDemoFigure=figure; end set(AnimDemoFigure, 'Name', 'Robotarm', 'NumberTitle', 'off') plot([0 16],[0 0],'k') n = 100; Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ t = 0:2*pi/n:2*pi*(1-1/n); x = + 02*cos(t); y = + 02*sin(t); plot(x,y,'k','LineWidth',5); set(gca, 'Visible', 'off', 'DrawMode','fast', 'XLim', [0 16], 'YLim', [0 16]); xLink1 = [8 8]; yLink1 = [8 10]; n = 100; t = 0:2*pi/n:2*pi*(1-1/n); xCenter = + 5*cos(t); yCenter = 10 + 5*sin(t); hold on; Link1 =plot(xLink1, yLink1,'b','LineWidth',6); Center = plot(xCenter,yCenter,'g','LineWidth',5) sys=[0 0 0 1]; x0=[]; end pause(.01) Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ TÀI LIỆU THAM KHẢO Tài liệu tiếng việt [1] Mạng nơ ron ứng dụng điều khiển tự động – NXB Khoa học Kỹ thuật – 2009 – Pham Hữu Đức Dục [2] Báo cáo mạng neural ứng dụng – Đại học Quốc gia Hà Nội - PGS TS Đỗ Năng Tồn – 2010 [3] Nguyễn Dỗn Phước: “Lý thuyết điều khiển tuyến tính” NXB Khoa học & Kỹ thuật, 2007 Tài liệu tiếng anh [4] KUMPATI S NARENDRA FELLOW AND KANNAN PARTHASARATHY, ”Identification and Control of Dynamical Systems Using Neural Networks,” IEEE TRANSACTlONS ON NEURAL NETWORKS VOL I NO I MARCH 1990 [5] N E Barabanov and D V Prokhorov, “Stability analysis of discretetime recurrent neural networks,” IEEE Trans on Neural Networks, 2002 [6] M Liu, “Delayed standard neural network models for control systems,” IEEE Trans Neural Networks, 2007 [7] Nam H Nguyen and Martin Hagan, “Stability Analysis of Layered Digital Dynamic Networks Using Dissipativity Theory,” Proceedings of International Joint Conference on Neural Networks, San Jose, California, USA, July 31 - August 5, 2011 [8] M H Beal, M T Hagan, and H B Demuth, “Neural network toolbox user’s guide,” Matlab, 2012 [9] An overview of reservoir computing: theory, applications and implementations Benjamin Schrauwen David Verstraeten Jan Van Campenhout Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Electronics and Information Systems Department, Ghent University, Belgium Benjamin.Schrauwen@UGent.be [10] An experimental unification of reservoir computing methods D Verstraeten_, B Schrauwen, M D’Haene, D Stroobandt 2007 Special Issue [11] D Verstraeten, B Schrauwen, M D’Haene, and D Stroobandt A unifying comparison of reservoir computing methods Neural Networks, 2007 to appear [12] Danil Prokhorov, Echo State Networks: Appeal and Challenges Ford Research and Advanced Engineering Dearborn, MI 48124 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ... Reservoir nhận dạng điều khiển? ?? Mục tiêu đề tài: Nâng cao phương pháp huấn luyện mạng reservoir ứng dụng để nhận dạng hệ thống thiết kế điều khiển nơ-ron Đề tài " Ứng dụng mạng Reservoir nhận dạng điều. .. luyện mạng Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Trong luận văn nghiên cứu mạng reservoir ứng dụng vào nhận dạng điều khiển hệ thống Đầu tiên sử dụng mạng reservoir để nhận dạng. .. chiếu cho đầu vào tương tự Sử dụng với nalogReference 3.3 Ứng dụng mạng reservoir nhận dạng đối tƣợng bậc Trong phần nhận dạng đối tượng bậc [4] Các tác giả báo chứng tỏ mạng nơ ron nhận dạng đối