T¹p chÝ Khoa häc & C«ng nghÖ - Sè 3(43)/N¨m 2007<br />
<br />
ỨNG DỤNG MẠNG NEURAL TRONG NHẬN DẠNG HỆ THỐNG PHI TUYẾN<br />
Nguyễn Hữu Công (Trường ĐH Kỹ thuật Công nghiệp – ĐH Thái Nguyên)<br />
<br />
1. Đặt vấn đề<br />
Lí thuyết về nhận dạng và điều khiển các đối tượng phi tuyến đã được nhiều nhà khoa<br />
học nghiên cứu, tuy nhiên chỉ giới hạn ở các đối tượng có độ phi tuyến thấp. Nhược điểm của<br />
các phương pháp nhận dạng truyền thống là:<br />
<br />
<br />
Thời gian xử lí chậm.<br />
<br />
<br />
<br />
Không có cấu trúc xử lí song song.<br />
<br />
<br />
<br />
Không có khả năng học và ghi nhớ.<br />
<br />
Khi đối tượng có tính phi tuyến cao, độ bất định lớn và số chiều lớn thì mạng neural sẽ là<br />
một công cụ hữu hiệu.<br />
2. Khả năng dùng mạng neural để xấp xỉ các hàm liên tục<br />
Mạng neural và hệ mờ có khả năng xấp xỉ vạn năng nên trong những năm gần đây chúng<br />
được sử dụng rộng rãi và có hiệu quả trong các bài toán nhận dạng và điều khiển, đặc biệt là các<br />
hệ thống có độ phi tuyến cao. Cơ sở toán học của việc khẳng định rằng mạng neural là công cụ<br />
xấp xỉ vạn năng các hàm số liên tục là dựa trên các định lý Stone – Weierstrass và<br />
Kolmogorov[1], [2].<br />
Việc sử dụng định lý Stone – Weierstrass để chứng minh khả năng xấp xỉ của mạng<br />
noron đã được các tác giả Hornic et al., Funahashi, Cotter, Blum đưa ra từ năm 1989. Các mạng<br />
noron thỏa mãn định lý Stone – Weierstrass có thể kể đến là mạng lượng giác, mạng hai lớp với<br />
hàm kích hoạt sigmoid, mạng hai lớp với hàm kích hoạt McCulloch – Pitts(MC - P) và mạng với<br />
hàm cơ sở xuyên tâm(RBF)[1], [2].<br />
Việc sử dụng định lý Kolmogorov để biểu diễn chính xác hàm liên tục và đưa ra sơ đồ mạng<br />
neural tương ứng đã được Hecht - Nielson và Lorents công bố[1], [2].<br />
3. Ứng dụng mạng neural trong nhận dạng hệ thống phi tuyến<br />
3.1. Phân loại các hệ thống phi tuyến<br />
Các hệ thống phi tuyến SISO rời rạc trong thực tế có thể được phân thành 4 mô hình cơ<br />
bản như sau:<br />
Mô hình I:<br />
<br />
y p (k + 1) =<br />
<br />
∑ α i y p (k − i ) + g[u(k ), u(k − 1),..., u(k − (m − 1))]<br />
n −1<br />
<br />
(1)<br />
<br />
i =0<br />
<br />
Mô hình II:<br />
<br />
[<br />
<br />
]<br />
<br />
y p (k + 1) = f y p (k ), y p (k − 1),..., y p (k − ( n − 1)) +<br />
50<br />
<br />
∑ β i u(k − i )<br />
<br />
m −1<br />
i =0<br />
<br />
(2)<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 3(43)/N¨m 2007<br />
<br />
Mô hình III:<br />
<br />
[<br />
<br />
]<br />
<br />
y p (k + 1) = f y p (k ), y p (k − 1),..., y p (k − (n − 1) )<br />
<br />
(3)<br />
<br />
+ g [u (k ), u (k − 1),..., u (k − (m − 1) )]<br />
<br />
Mô hình IV:<br />
<br />
[<br />
<br />
]<br />
<br />
y p (k + 1) = f y p (k ), y p (k − 1),..., y p (k − (n − 1) ); u (k ), u (k − 1),...., u (k − ( m − 1) )<br />
<br />
(4)<br />
<br />
Trong đó:<br />
[u(k), yp(k)]: biểu thị cặp đầu vào – ra của hệ SISO ở thời điểm k và m ≤ n.<br />
n<br />
Các hàm: f : R → R trong mô hình II và III, hàm f : R n +m → R trong mô hình IV và<br />
hàm g : R m → R trong các phương trình (1) đến (4) được giả thiết là các hàm khả vi theo các<br />
argument của chúng.<br />
<br />
Trong cả 4 mô hình trên đầu ra của hệ ở thời điểm k+1 phụ thuộc vào n giá trị trong quá<br />
khứ yp(k-i), (i=0,1,...,n-1) cũng như m giá trị trong quá khứ của đầu vào u(k-j), (j=0,1,...,m-1).<br />
- Trong mô hình I, sự phụ thuộc của đầu ra vào các giá trị quá khứ yp (k-i) là tuyến tính.<br />
- Trong mô hình II, sự phụ thuộc của đầu ra vào các giá trị quá khứ của đầu vào u(k-j) là tuyến tính.<br />
- Trong mô hình III, sự phụ thuộc phi tuyến của yp(k+1) vào yp(k-i) và u(k-1) được giả<br />
thiết là có thể phân tách.<br />
- Trong mô hình IV, yp(k+1) là một hàm phi tuyến yp(k-i) và u(k-j), nó là gộp của các<br />
mô hình I-III.<br />
Từ nhiều kết quả nghiên cứu đã đưa ra đầy đủ các điều kiện cần thiết cho hàm f và hàm<br />
g, đồng thời có thể dùng các mạng neural nhiều lớp để xấp xỉ gần đúng từng bước. Giả thiết<br />
rằng các hàm f và g thuộc lớp đã biết trong phạm vi quan tâm thì hệ có thể được mô tả bằng một<br />
mạng neural tổng quát. Từ giả thiết này đưa ra sự lựa chọn các mô hình nhận dạng và cho phép<br />
giải quyết các bài toán nhận dạng đặt ra. Quá trình nhận dạng của mô hình có thể xem như là sự<br />
điều chỉnh các tham số đối với mạng neural.<br />
Một hệ động học phi tuyến có thể mô tả bằng một trong 4 mô hình như ở trên. Nếu hệ<br />
được nhận dạng sử dụng dữ liệu vào – ra thì nó phải có các đầu ra giới hạn phù hợp với các đầu<br />
vào. Điều đó nói nên rằng mô hình được chọn đã mô tả được các tính chất của hệ thống.<br />
3.2. Nhận dạng hệ thống phi tuyến bằng mạng neural<br />
Bài toán nhận dạng đối tượng bằng mạng neural được xây dựng trên cơ sở sau:<br />
•<br />
<br />
Lớp mô hình thích hợp của đối tượng được chọn là mô hình mạng neural.<br />
<br />
•<br />
<br />
Loại tín hiệu quan sát được là tín hiệu hình sin hoặc ngẫu nhiên.<br />
<br />
•<br />
Phương thức mô tả sai lệch giữa mô hình và đối tượng thực là trung bình bình<br />
phương sai lệch (mse), được biểu diễn dưới dạng công thức như sau:<br />
<br />
Q=<br />
<br />
1 N 2<br />
∑ ek → min<br />
N k =1<br />
<br />
(5)<br />
51<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 3(43)/N¨m 2007<br />
<br />
với N là số mẫu, ek là sai lệch giữa đầu ra của mô hình và đối tượng tương ứng với mẫu<br />
thứ k. Q chính là hàm mục tiêu của bài toán huấn luyện mạng neural.<br />
<br />
Đối tượng<br />
T<br />
<br />
P<br />
<br />
e<br />
<br />
NN<br />
W,b<br />
<br />
Hình1. Mô hình nhận dạng cơ bản<br />
<br />
Trên cơ sở sai lệch mse của đầu ra, mô hình mạng neural NN sẽ được huấn luyện, sau<br />
khi huấn luyện sẽ thu được các tham số là các trọng số và tham số bù (W, b).<br />
3.3. Kết quả nhận dạng<br />
Vì nội dung giới hạn của bài báo, chúng ta chỉ xét một ví dụ sau:<br />
Giả sử cần nhận dạng một đối tượng phi tuyến có mô hình toán học sau:<br />
<br />
y p (k + 1) = 0,3.y p (k) + 0,6.y p (k − 1) + f[u(k)]<br />
<br />
(6)<br />
<br />
f[u(k)] = 0,6.cos( πu) + 0,3.cos(3πu) + 0,1.cos(5πu)<br />
<br />
(7)<br />
<br />
Với tín hiệu vào: u(k) = cos(<br />
<br />
2 πk<br />
)<br />
250<br />
<br />
(8)<br />
<br />
Phương trình toán học của mô hình nhận dạng có sử dụng mạng neural:<br />
<br />
y ' p (k + 1) = 0,3.y p (k) + 0,6.y p (k − 1) + N[u(k)]<br />
<br />
(9)<br />
<br />
So sánh hai phương trình yp(k+1) và y’p(k+1) ta thấy rằng cần xây dựng một mạng<br />
neural có quan hệ vào ra theo luật của hàm N tương quan với luật của hàm f mạng neural cần<br />
xác định cấu trúc, sau đó được luyện với bộ mẫu (u(k),f[u(k)]).<br />
Ta sử dụng mạng neural 3 lớp để nhận dạng [3]:<br />
Lớp vào có 8 neural, sử dụng hàm purelin<br />
Lớp Nn có 8 neural, sử dụng hàm tansig<br />
Lớp ra có 1 neural, sử dụng hàm purelin<br />
Kết quả nhận được khi mô phỏng trên Matlab như sau:<br />
52<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 3(43)/N¨m 2007<br />
Performance is 4.7323e-011, Goal is 1e-015<br />
0<br />
<br />
10<br />
<br />
-2<br />
<br />
10<br />
<br />
-4<br />
<br />
Training-Blue Goal-Black<br />
<br />
10<br />
<br />
-6<br />
<br />
10<br />
<br />
-8<br />
<br />
10<br />
<br />
-10<br />
<br />
10<br />
<br />
-12<br />
<br />
10<br />
<br />
-14<br />
<br />
10<br />
<br />
-16<br />
<br />
10<br />
<br />
0<br />
<br />
1000<br />
<br />
2000<br />
<br />
3000<br />
<br />
4000<br />
<br />
5000<br />
6000<br />
10000 Epochs<br />
<br />
7000<br />
<br />
8000<br />
<br />
9000<br />
<br />
10000<br />
<br />
Hình 2. Các kỉ nguyên luyện mạng<br />
Ket xuat thuc<br />
<br />
Ket xuat dich<br />
<br />
1<br />
<br />
1<br />
<br />
0.5<br />
<br />
0.5<br />
<br />
0<br />
<br />
0<br />
<br />
-0.5<br />
<br />
-0.5<br />
<br />
-1<br />
-1<br />
<br />
-0.5<br />
<br />
0<br />
<br />
0.5<br />
<br />
-5<br />
<br />
2<br />
<br />
-1<br />
-1<br />
<br />
1<br />
<br />
-0.5<br />
<br />
0<br />
<br />
0.5<br />
<br />
1<br />
<br />
0.6<br />
<br />
0.8<br />
<br />
1<br />
<br />
Sai so giua mo hinh mau va doi tuong<br />
<br />
x 10<br />
<br />
1<br />
<br />
0<br />
<br />
-1<br />
<br />
-2<br />
-1<br />
<br />
-0.8<br />
<br />
-0.6<br />
<br />
-0.4<br />
<br />
-0.2<br />
<br />
0<br />
<br />
0.2<br />
<br />
0.4<br />
<br />
Hình3. Kết xuất thực, đích; sai số giữa mô hình và đối tượng<br />
<br />
53<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 3(43)/N¨m 2007<br />
<br />
4. Kết luận<br />
Từ cấu trúc mạng neural ta thấy, mạng neural chính là một hệ thống phi tuyến. Vấn đề<br />
còn lại là ta phải biết chọn cấu trúc mạng, phương pháp huấn luyện mạng hợp lý.<br />
Có thể ứng dụng mạng neural để nhận dạng mô hình đối tượng phi tuyến bất kỳ. Kết quả<br />
nhận được là một mô hình đối tượng dưới dạng mạng neural, trong đó sai lệch giữa mô hình<br />
neural với đối tượng nằm trong sai số cho phép, chấp nhận được <br />
TÓM TẮT<br />
Bài báo trình bày về khả năng sử dụng mạng neural trong việc xấp xỉ các hàm phi tuyến.<br />
Việc xấp xỉ này được ứng dụng để nhận dạng các đối tượng điều khiển phi tuyến trong công<br />
nghiệp và mở ra khả năng áp dụng vào thực tế.<br />
Mọi sự quan tâm xin liên hệ:<br />
TS. Nguyễn Hữu Công; Khoa Điện tử, trường Đại học Kĩ thuật Công nghiệp - Đại học<br />
Thái Nguyên.<br />
ĐT: 0913589758. Email: huucongdk55@yahoo.com<br />
Summary<br />
APPLYING NEURAL NETWORKS IN MODEL IDENTIFICATION<br />
OF NONLINEAR DYNAMICAL OBJECTS<br />
<br />
This paper demonstrates the ability of using neural network in approximation nonlinear<br />
functions. Approximation is used to identify nonlinear controled objects in industry and apply<br />
into reality.<br />
Further information, please contact Dr. Nguyen Huu Cong, Electronics Engineering<br />
Faculty, Thainguyen University of Technology. Tel: 0913589758.<br />
Email: huucongdk55@yahoo.com<br />
TÀI LIỆU THAM KHẢO<br />
[1]. Kumpati S. Narendra fellow, IEEE, and Kannan parthasarathy. Identification and control of<br />
Dynamical Systems Using Neural Networks.<br />
[2]. S. Reynold Chu, Rahmat Shoureshi, and Manoel Tenorio. Neural Network for System<br />
Identification.<br />
[3]. Bernadette Curley B.E. 2002. System Identification using Neural Network, Optimised with<br />
Genetic Algorithms.<br />
<br />
54<br />
<br />