Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 66 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
66
Dung lượng
1,22 MB
Nội dung
1 Việc ứng dụng mạng nơ-ron trong nhận dạng và đặc biệt trong lĩnh vực điều khiển còn gặp phải nhiều khó khăn như vấn đề tìm nghiệm tối ưu toàn cục, tốc độ học, khả năng đáp ứng tính năng thời gian thực của hệ thống. Tuy nhiên trong những năm gần đây đã ra đời một loại mạng nơ-ron mới với phương pháp huấn luyện đơn giản và nhanh hơn. Mạng mới này có tên gọi khác nhau gồm: Reservoir Computing Networks (RCN), Echo State Networks (ESN) và Liquid State Machines (LSM). Nhưng về bản chất là giống nhau. Để đơn giản và tiện lợi trong quá trình nghiên cứu, tôi gọi tên mạng này là mạng Reservoir. Trong thực tế mạng reservoir đã được ứng dụng thành công trong dự đoán chuỗi thời gian hỗn loạn không có nhiễu và bài toán thích nghi nhanh, nhưng chưa được ứng dụng vào lĩnh vực nhận dạng hệ thống và thiết kế bộ điều khiển dựa trên cơ sở mạng này. Mạng reservoir là một ý tưởng nghiên cứu tương đối mới và vẫn còn nhiều vấn đề mở và hướng nghiên cứu trong tương lai. Xuất phát từ lý do đó nên tôi đã tự đề xuất hướng nghiên cứu và chọn đề tài: “ Ứng dụng mạng Reservoir trong nhận dạng và điều khiển”. Nâng cao phương pháp huấn luyện mạng reservoir và ứng dụng để nhận dạng hệ thống và thiết kế bộ điều khiển nơ-ron. Đề tài " Ứng dụng mạng Reservoir trong nhận dạng và điều khiển" nhằm phát triển một phương pháp huấn luyện mạng mới sử dụng các 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 trong nhận dạng và điều khiển đòi hỏi phải có những hiểu biết nhất định về mạng nơ ron, sử dụng phần mềm matlab. 2 - Khai thác công cụ Neural Networks Toolbox trong Matlab 2013, viết tài liệu hướng dẫn sử dụng công cụ này. - Viết chương trình huấn luyện cho mạng reservoir trong Matlab. - So sánh kết quả huấn luyện mạng reservoir với các tham số mạng ban đầu khác nhau cho một 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 và huấn luyện bộ điều khiển trên cơ sở mạng reservoir trong Matlab và kiểm chứng chất lượng điều khiển trên đối tượng thực là mô hình cánh tay máy 1 bậc tự do. u: Nghiên cứu lý thuyết và nghiên cứu thực nghiệm: - Nghiên cứu mạng reservoir, Viết chương trình huấn luyện cho mạng reservoir trong Matlab. - Mô hình hóa và huấn luyện mạng trên cơ sở phần mềm Matlab, Neural Networks Toolbox bản 2013. - Viết chương trình nhận dạng hệ thống và huấn luyện bộ điều khiển trên cơ sở mạng reservoir trong Matlab. - Chạy thử nghiệm chương trình trên Matlab. - Thực nghiệm trên mô hình vật lý để kiểm nghiệm và hoàn thiện cấu trúc và tham số bộ điều khiển. - Ứng dụng nhận dạng và điều khiển các hệ thống trong phòng thí nghiệm như cánh tay máy Đề tài sẽ trình bày theo những nội dung sau: Chương I: Giới thiệu về mạng Reservoir Chương II: Tìm hiểu công cụ mạng nơ ron trong Matlab Chương III: Ứng dụng mạng Reservoir trong nhận dạng hệ thống Chương IV: Điều khiển cánh tay máy 1 bậc tự do trong phòng thí nghiệm Kết quả và kiến nghị 3 IR Mạng Reservoir là một khái niệm mới trong lĩnh vực mạng nơ-ron. Về cơ bản cấu trúc mạng reservoir không có gì khác biệt so với các mạng nơ-ron khác, nhưng về phương pháp huấn luyện mạng thì có sự khác biệt trong quá trình học. Trong chương này tôi sẽ giới thiệu cấu trúc mạng nơ-ron từ cơ bản tới phức tạp, các ký hiệu và khái niệm cơ bản. Trên cơ sở đó tôi sẽ trình bày cấu trúc và phương pháp huấn luyện mạng reservoir. 1.1 -ron Trong phần này tôi sẽ giới thiệu cấu trúc, khái niệm của một nơ-ron, một lớp nơ-ron, nhiều lớp nơ-ron và mạng hồi qui. Đồng thời để đơn giản cho việc theo dõi và mô tả về sau, tôi cũng đưa ra một số qui ước chung. Tôi sẽ sử dụng công cụ Neural Networks trong Matlab để mô tả và huấn luyện mạng. Do đó các ký hiệu, khái niệm và cấu trúc sẽ theo như định nghĩa của Matlab/Neural Network Toolbox. 1.1.1 - ron Một nơ ron với một đầu vào có sơ đồ cấu trúc như hình 1.1. Hình 1.1. Cấu trúc cơ bản của một nơ - ron (1 đầu vào) Cấu trúc cơ bản của một nơ ron gồm: đầu vào p, và đầu ra a, w là trọng số, ∑ là bộ tổng, b là ngưỡng, f là hàm truyền. Quan hệ vào ra của 1 nơ ron là: wa f p b (1.1) 1 ∑ ƒ b p w n a 4 1.1 Hình 1.2. Cấu trúc cơ bản của một nơ - ron nhiều đầu vào Hình 1.2 là sơ sồ cấu trúc của 1 nơ-ron có nhiều đầu vào. Nơ ron có R tín hiệu đầu vào biểu diễn dưới dạng rút gọn được thể hiện như trên hình 1.3. Trong đó: b là bias; n là tổng trọng, f là hàm truyền, a là đầu ra của nơ ron; p = [p 1 p 2 p R ] là véc tơ đầu vào, W = [w 1,1 w 1,2 w 1,R ] là véc tơ trọng số đầu vào. n = w 1,1 p 1 + w 1,2 p 2 + + w 1,R p R + b (1.2) n = W*p + b a = f (wp + b) (1.3) Mô hình thu gọn của nơ ron: Hình 1.3. Mô hình nơ ron thu gọn (nhiều đầu vào) ∑ ƒ b 1 P1 n a a = f (wp + b) P2 P3 PR w 1,1 w 1,R W ƒ R 1 P n 1x1 b + 1x1 1x1 Rx1 5 R W ƒ 1 P n sx1 b + sx1 sx1 Rx1 SxR a 1.1.-ron Mô hình một lớp có S nơ ron với R đầu vào như hình vẽ 1.4. Hình 1.4: Mô hình 1 lớp nơ ron Trong đó mỗi phần tử của véc tơ đầu vào p được nối với mỗi nơ ron tương ứng qua ma trận trọng số W; f là hàm truyền; p là véc tơ đầu vào có dạng véc tơ cột (Rx1); a là đầu ra của lớp nơ ron có dạng véc tơ cột (Sx1) và ma trận trọng số có dạng: Hình 1.5: Mô hình một lớp nơ ron ∑ ƒ b1 1 a 1 a = f (wp + b) P2 P3 PR w S,R ∑ ƒ n2 a 2 B2 1 ∑ ƒ ns a s bs 1 n1 P1 w 1,1 6 1,1 1,2 1, 2,1 2,2 2, ,1 ,2 , w w w w w w W w w w R R S S S R (1.4) Các thành phần cơ bản của một nơron nhân tạo bao gồm: ♦ T: Là các tín hiệu vào (input signals) của nơron, các tín hiệu này thường được đưa vào dưới dạng một vector N chiều. ♦ Tt: Mỗi liên kết được thể hiện bởi một trọng số (gọi là trọng số liên kết – Synaptic weight). Trọng số liên kết giữa tín hiệu vào thứ j với nơron k thường được kí hiệu là w kj . Thông thường, các trọng số này được khởi tạo một cách ngẫu nhiên ở thời điểm khởi tạo mạng và được cập nhật liên tục trong quá trình huấn luyện mạng (epoch). ♦ B tng (Summing function): Thường dùng để tính tổng của tích các đầu vào với trọng số liên kết của nó. ♦ ng (còn gọi là một độ lệch - bias): Ngưỡng này thường được đưa vào như một thành phần của hàm truyền. ♦ n (Transfer function) : Hàm này được dùng để giới hạn phạm vi đầu ra của mỗi nơron. Nó nhận đầu vào là kết quả của hàm tổng và ngưỡng đã cho. Các hàm truyền rất đa dạng, có thể là các hàm tuyến tính hoặc phi tuyến. Việc lựa chọn hàm truyền nào là tuỳ thuộc vào từng bài toán và kinh nghiệm của người thiết kế mạng. Một số hàm truyền thường sử dụng trong các mô hình mạng nơron được đưa ra trong bảng 1 . ♦ u ra: Là tín hiệu đầu ra của một nơron, với mỗi nơron sẽ có tối đa là một đầu ra. Xét về mặt toán học, cấu trúc của một nơron k, được mô tả bằng cặp biểu thức sau: 7 a = f (wp + b) trong đó: x 1 , x 2 , , x p : là các tín hiệu vào; (w k1 , w k2, , w kp ) là các trọng số liên kết của nơron thứ k; u k là hàm tổng; b k là một ngưỡng; f là hàm truyền và y k là tín hiệu đầu ra của nơron. Gọi ma trận trọng số liên kết với lớp vào là ma trận trọng số đầu vào IW. Gọi ma trận trọng số liên kết giữa 2 lớp LW. Quy ước ký hiệu chỉ số lớp nguồn là chỉ số thứ hai và chỉ số lớp đích thực là chỉ số thứ nhất. Ví dụ: LW i,j là ma trận trọng số liên kết từ lớp nguồn j đến lớp đích i. Hình 1.6: Mạng 1 lớp rút gọn Đầu ra của nơ ron được tính như sau: a 1 = f (IW 1,1 p + b 1 ) 1.1 Hình 1.7 mô tả mô hình của mạng nơ ron truyền thẳng 3 lớp. Mỗi lớp có ma trận trọng số IW, LW, véc tơ bias b và véc tơ tín hiệu đầu ra a. Tín hiệu đầu ra mỗi lớp a i , p là véc tơ tín hiệu vào, f i là hàm truyền (i= 1,2,3). Từ đó có được tín hiệu ra là a 3 có dạng: a 3 = f 3 (LW 3,2 f 2 (LW 2,1 f 1 (IW 1,1 p+b 1 )+ b 2 )+ b 3 ) IW 1,1 ƒ R 1 P n 1 sx1 b1 + s 1 x1 s 1 x1 Rx1 s 1 xR a 1 8 ∑ f 1 b 1 1 1 a 1 1 P2 P3 PR IW1,1 S,R ∑ f 1 a 1 2 b 1 2 1 ∑ f 1 n 1 s 1 a 1 s 1 b 1 s 1 1 n 1 1 P1 IW 1,1 n 1 2 a 1 = f1 (IW 1,1 p+ b 1 ) ∑ f 2 b 2 1 1 a 2 1 LW 2,1 s 2 , s 1 ∑ f 2 a 2 2 b 2 2 1 ∑ f 2 n 2 s 1 a 2 s 2 b 2 s 2 1 n 2 1 LW 2,1 n 2 2 a 2 = f2 (LW 2,1 a 2 + b 2 ) ∑ f 3 b 3 1 1 a 3 1 LW 3,2 s 3 , s 2 ∑ f 3 a 3 2 b 3 2 1 ∑ f 3 n 3 s 1 a 3 s 3 b 3 s 3 1 n 3 1 LW 3,2 n 3 2 a 3 = f3 (LW 3,2 a 3 + b 3 ) Hình 1.7: Mô hình của mạng nơ ron truyền thẳng ba lớp Mô hình rút gọn như hình 1.8. Hình 1.8: Mô hình của mạng nơ ron truyền thẳng ba lớp thu gọn 1.1 Hình 1.9: Mô hình 1 nơ ron hồi quy ∑ D p(t) IW 1,1 LW 1,1 n(t) a(t) a(t) = IWp(t)+LW a(t-1) IW 1,1 f 1 R 1 P n 1 s 1 x1 b 1 + s 1 x1 s 1 x1 R x1 s 1 xR a 1 1 LW 2,1 f 2 n 2 s 2 x1 b2 + s 2 x1 s 2 x1 s 2 xs 1 a 2 LW 3,2 f 3 n 3 s 3 x1 b3 + s 3 x1 s 3 x1 s 3 xs 2 a 3 1 s 1 s 2 s 3 a 1 = f1 (IW 1,1 p+ b 1 ) a 2 = f2 (LW 2,1 a 2 + b 2 ) a 3 = f3 (LW 3,2 a 3 + b 3 ) 9 Hình 1.10: Mô hình mạng hồi quy nhiều lớp Trong đó khối TDL là khâu trễ 1.2 ir Mạng Reservoir có quan hệ vào ra như sau: 1 W W W in back x k f u k u k y k (1.5) W f y k x k (1.6) Về cơ bản mạng Reservour có cấu trúc giống như mạng nơ ron thông thường, nhưng không có bias. Hình 1.11: Mạng Reservoir IW 1,1 s 1 xR + n 1 (t) s 1 x1 f 1 b 1 s 1 x1 LW 1,1 T D L a 1 (t) LW 1,3 T D L LW 2,1 s 1 x1 T D L s 2 xs 1 LW 2,3 + s 2 x1 n 2 (t) f 2 s 2 s 2 x1 a 2 (t) LW 3,1 1 b 3 + n 3 (t) s 3 x1 T D L R 1 1 1 b 2 s 2 x1 s 3 x1 s 3 x1 s 3 xs 2 a 3 (t) s 1 s 3 R 1 x1 f 3 Z -1 W back + Z -1 u W in f g W f Z -1 W y u 10 Trong quá trình huấn luyện mạng trọng số được giữ cố định, chỉ trừ trọng số W f . Các trọng số ban đầu được chọn phải nằm trong được tròn đơn vị. Chính vì lý do này đã làm cho quá trình huấn luyện mạng reservoir đơn giản hơn so với các mạng thông thường. Nhìn vào công thức (1.5) và (1.6) ta thấy mạng này chỉ có một trễ, tức là động học của hệ là bậc 1. Như vậy trong nhận dạng khi các đối tượng có bậc lớn hơn 1 thì mạng reservoir rất khó có thể huấn luyện được. Do đó tôi sẽ tiến hành làm thí nghiệm và cải tiến phương pháp huấn luyện mạng cho mạng reservoir để mạng này có thể sử dụng để nhận dạng được các đối tượng có bậc lớn hơn hoặc bằng 2. 1.3 1.3c Một mạng nơron được huyấn luyện sao cho với một tập các vector đầu vào X, mạng có khả năng tạo ra tập các vector đầu ra mong muốn Y của nó. Tập X và Y được sử dụng cho huấn luyện mạng được gọi là tập huấn luyện (training set). Các phần tử x thuộc X được gọi là các mẫu huấn luyện (training example). Quá trình huấn luyện bản chất là sự thay đổi các trọng số liên kết của mạng. Trong quá trình này, các trọng số của mạng sẽ hội tụ dần tới các giá trị tối ưu sao cho với mỗi vector đầu vào x từ tập huấn luyện, mạng sẽ cho ra vector đầu ra y như mong muốn. Có ba phương pháp học phổ biến là học có giám sát (supervised learning), học không giám sát (unsupervised learning) và học tăng cường (Reinforcement learning): ♦ H: Là quá trình học có sự tham gia giám sát của một “thầy giáo”. Cũng giống như việc ta dạy một em nhỏ các chữ cái. Ta đưa ra một chữ “a” và bảo với em đó rằng đây là chữ “a”. Việc này được thực hiện trên tất [...]... không có nhiễu và bài toán thích nghi nhanh Trong quá trình huấn luyện mạng, mạng reservoir chỉ cập nhật các trọng số ở lớp ra, do đó rút ngắn được quá trình huấn luyện mạng 17 Trong luận văn này tôi sẽ nghiên cứu mạng reservoir và ứng dụng vào nhận dạng và điều khiển hệ thống Đầu tiên tôi sẽ sử dụng mạng reservoir để nhận dạng đối tượng trong bài báo [4] Đối tượng này có tính phi tuyến mạnh và động học... trị trong quá trình huấn luyện mạng 22 Chương 3 ỨNG DỤNG MẠNG RESERVOIR NHẬN DẠNG HỆ THỐNG 3.1 Chọn tham số ban đầu cho mạng Reservoir Một đặc điểm cơ bản của mạng reservoir là các trọng số của lớp 1 và hồi qui được chọn phải nằm trong đường tròn đơn vị Điều này đảm bảo điều kiện mạng ổn định và có thể học được Tham số ban đầu của mạng reservoir có thể được chọn dựa theo tiêu chuẩn ổn định của mạng. .. hoặc SDA pin và A5 hoặc SCL pin - Aref Điện áp tham chiếu cho các đầ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 1 Trong phần này tôi sẽ nhận dạng một đối tượng bậc 1 trong [4] Các tác giả của bài báo này đã chứng tỏ mạng nơ ron có thể nhận dạng được đối tượng có quan hệ vào ra như sau: y p k 1 yp k 1 yp k 2 u3 k (3.2) Trong đó u là... số học η cho phù hợp mạng nhiều lớp là không đơn giản, η quá lớn dẫn đến quá trình học không ổn định và ngược lại η quá nhỏ sẽ làm cho thời gian huấn luyện lớn Mạng phụ thuộc vào số neuron có trong lớp ẩn quá ít neuron sẽ dẫn đến tình trạng thiếu, quá nhiều neuron sẽ dẫn đến tình trạng thừa 1.4 Ứng dụng mạng Reservoir trong nhận dạng Mạng reservoir đã được ứng dụng thành công trong dự đoán chuỗi thời... giả trong bài báo này đã dùng mạng thông thường để nhận dạng đối tượng Sau đó tôi sẽ dùng mạng reservoir để nhận dạng đối tượng phi tuyến bậc 2 trong thực tế là cánh tay máy một bậc tự do 18 Chương 2 TÌM HIỂU CÔNG CỤ MẠNG NƠ RON TRONG MATLAB Trong chương này tôi sẽ trình bày một số lệnh cơ bản được sử dụng trong Matlab [8] để huấn luyện mạng nơ ron Những lệnh này sẽ được dùng đến để tạo mạng reservoir. .. hai bước: - Bước 1: Huấn luyện mạng hở - Bước 2: Huấn luyện mạng kín lần lượt với các chuỗi dữ liệu từ k, k+1, , N k phụ thuộc vào số trễ của mạng 3.4 Nhận dạng cánh tay máy Trên cơ sở thành công trong việc nhận dạng đối tượng (3.2) ở trên, tôi sẽ nhận dạng cánh tay máy Tín hiệu vào ra mẫu sẽ được thu thập từ một cánh tay máy thực Tín hiệu vào là điện áp điều khiển động cơ và tín hiệu ra mẫu (target)... đầu ra của mạng và Error – sai số 34 MSE 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 2000 4000 6000 8000 10000 12000 Hình 3.12 MSE Ở phần tiếp theo, chúng ta sẽ sử dụng các trọng số và bias của mạng hở làm các giá trị ban đầu cho các trọng số và bias của mạng kín trong quá trình huấn luyện mạng kín 3.4.2 Huấn luyện mạng nơ ron (mạng kín) Hình 3.13: Cấu trúc mạng nơ ron (mạng kín) Sau khi huấn luyện mạng có MSE... đầu vào và y p là tín hiệu đầu ra 26 Tôi đã tiến hành thử nghiệm bằng cách sử dụng mạng reservoir để nhận dạng đối tượng trên, nhưng kết quả là không thành công Điều này buộc tôi phải thay đổi cách thức huấn luyện mạng này Dựa trên ý tưởng huấn luyện của mạng reservoir là cố định các trọng số của lớp 1 và chỉ cập nhật trọng số của lớp 2, tôi đã thử nghiệm cách cập nhật các trọng số mới đó là: trong. .. được cho trước Học có giám sát trong các mạng nơ ron thường được thực hiện theo các bước sau: ♦ B1: Xây dựng cấu trúc thích hợp cho mạng nơron, chẳng hạn có (n + 1) nơron vào (n nơron cho biến vào và 1 nơron cho ngưỡng x0), m nơron đầu ra, và khởi tạo các trọng số liên kết của mạng ♦ B2: Đưa một vector x trong tập mẫu huấn luyện X vào mạng ♦ B3: Tính vector đầu ra o của mạng ♦ B4: So sánh vector đầu... sai lệch giữa neuron đầu ra mong muốn d(k) và đầu ra thực sự y(k) của mạng được truyền ngược từ lớp đầu ra đến các lớp ứng trước để cập nhật các trọng số trong mạng Giả sử xét mạng truyền thẳng ba lớp như hình 1.8 gồm lớp neuron đầu vào (input layer), lớp neuron ẩn (hidden layer) và lớp neuron đầu ra (output layer) Lớp neuron đầu vào của mạng có m đầu vào trong đó x 1… ,xi ,xm lớp neuron ẩn có r phần . luyện mạng. 17 Trong luận văn này tôi sẽ nghiên cứu mạng reservoir và ứng dụng vào nhận dạng và điều khiển hệ thống. Đầu tiên tôi sẽ sử dụng mạng reservoir để nhận dạng đối tượng trong. và chọn đề tài: “ Ứng dụng mạng Reservoir trong nhận dạng và điều khiển . Nâng cao phương pháp huấn luyện mạng reservoir và ứng dụng để nhận dạng hệ thống và. thiệu về mạng Reservoir Chương II: Tìm hiểu công cụ mạng nơ ron trong Matlab Chương III: Ứng dụng mạng Reservoir trong nhận dạng hệ thống Chương IV: Điều khiển cánh tay máy 1 bậc tự do trong