T¹p chÝ Khoa häc & C«ng nghÖ - Sè 2(42)/N¨m 2007<br />
<br />
NHẬN DẠNG ĐỐI TƯỢNG PHI TUYẾN BẰNG HỆ MỜ - NƠRON<br />
Lại Khắc Lãi (Trường Đại học Kỹ thuật Công nghiệp- §H Th¸i Nguyªn)<br />
Phạm Văn Thịnh (Trường Cao đẳng Kinh tế kỹ thuật công nghiệp1)<br />
Nguyễn Ánh Dương (Trường Cao đẳng Hóa chất Phú Thọ)<br />
<br />
1. Mở đầu<br />
Nhận dạng là bước đầu tiên và quan trọng nhất của nhiều lĩnh vực khoa học, đặc biệt trong<br />
lĩnh vực điều khiển và tự động hóa nếu không nhận dạng chính xác đối tượng điều khiển thì sẽ<br />
không có giải pháp tối ưu nhất để điều khiển chúng. Trong [6] đã đề cập nhiều phương pháp<br />
nhận dạng khác nhau. Các phương pháp nhận dạng truyền thống như: phương pháp xấp xỉ vi<br />
phân; phương pháp gradient, phương pháp tìm kiếm trực tiếp, tựa tuyến tính, sử dụng hàm<br />
nhạy,… (đối với nhận dạng off-line) và các phương pháp: bình phương cực tiểu, xấp xỉ ngẫu<br />
nhiên, lọc Kalman,… (đối với nhận dạng on-line) đều có chung nhược điểm là ®ộ chính xác<br />
không cao, chỉ phù hợp cho các đối tượng có tính phi tuyến yếu. Khi đối tượng có tính phi tuyến<br />
mạnh, làm việc trong phạm vi rộng, chịu nhiễu lớn và có nhiều chiều (MIMO) ta cần phải sử<br />
dụng các phương pháp nhận dạng hiện đại mới đảm bảo độ chính xác mong muốn.<br />
Như đã phân tích trong [2] hệ mờ và mạng nơron mỗi loại đều có ưu, nhược điểm riêng. Nếu<br />
kết hợp chúng lại, ta sẽ có một hệ lai với ưu điểm của cả hai: Lôgic mờ cho phép thiết kế bộ điều<br />
khiển dễ dàng, tường minh, trong khi mạng nơron cho phép học những gì mà ta yêu cầu về bộ<br />
điều khiển. Nó sửa đổi các hàm liên thuộc về hình dạng, vị trí và sự kết hợp, … hoàn toàn tự<br />
động. Điều này làm giảm bớt thời gian cũng như giảm bớt chi phí khi phát triển hệ.<br />
Bài báo đề xuất một cấu trúc nhận dạng tích<br />
hợp giữa logic mờ và mạng nơron nhân tạo để nhận<br />
dạng đối tượng phi tuyến. Phương pháp này cho phép<br />
nhận dạng các đối tượng có tính phi tuyến mạnh với<br />
độ chính xác đủ dùng trong kỹ thuật.<br />
2. Cấu trúc hệ nhận dạng Mờ - Nơron<br />
<br />
Đối tượng<br />
<br />
y<br />
+<br />
<br />
u<br />
Hệ điều khiển<br />
Mờ-Nơron<br />
<br />
yˆ<br />
<br />
Một hệ nhận dạng Mờ - Nơron có cấu trúc<br />
e<br />
thuật toán<br />
huấn luyện<br />
chung như hình 1 [4]. Khâu nhận dạng là hệ điều<br />
khiển Mờ - Nơron, được xây dựng theo kiểu Hình 1: Cấu trúc hệ nhận dạng Mờ-Nơron<br />
Sugeno-Takasi, bộ điều chỉnh thông số là thuật toán<br />
huấn luyện mạng. Tín hiệu vào/ra của đối tượng (y) được so sánh với tín hiệu vào/ra của khâu<br />
nhận dạng ( yˆ ) Căn cứ vào sai lệch ở đầu ra (e) và thông qua quá trình huấn luyện, các thông<br />
số của tập mờ sẽ được chỉnh định sao cho đầu ra của khâu nhận dạng giống với đầu ra của đối<br />
tượng.<br />
Cấu trúc của hệ Mờ - Nơron trong hệ thống nhận dạng thường có 5 lớp như hình 2, trong<br />
cấu trúc này, lớp đầu tiên chỉ thuần túy mô tả các đầu vào, lớp cuối cùng mô tả các tín hiệu ở đầu<br />
ra, các lớp Nn sẽ thực hiện chức năng của một hệ điều khiển mờ như mờ hóa thông qua các hàm<br />
liên thuộc, suy diễn mờ, giải mờ.Mỗi nút trong mạng đều có hàm tổng f là tổng hợp các thông tin<br />
từ các nút khác thông qua các trọng liên kết.<br />
38<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 2(42)/N¨m 2007<br />
<br />
Neti = f(u1(k), u2(k),... up(k), w1(k), w2(k),...,<br />
wp(k))<br />
<br />
x1<br />
<br />
Trong đó<br />
u1(k), u2(k),... up(k)<br />
là<br />
tín hiệu vào nút; w1(k), w2(k),..., wp(k) là các<br />
trọng số liên kết ; k là chỉ số lớp. Đầu ra của<br />
mỗi nơron được xác định thông qua hàm tác<br />
động a của mỗi nút theo công thức :<br />
(k )<br />
<br />
Output = oi<br />
<br />
= a(net i ) = a ( f )<br />
<br />
Lớp vào Mờ hóa Suy diễn mờ Giải mờ Lớp ra<br />
<br />
y1<br />
<br />
x2<br />
<br />
ym<br />
xn<br />
<br />
Ta có thể sử dụng thuật toán lan<br />
truyền ngược (Backropa) hoặc thuật toán lai<br />
(Hybirdcho quá trình huấn luyện mạng) . Luật<br />
học sẽ làm thay đổi các trọng số liên kết trong<br />
<br />
Lớp 1<br />
<br />
Lớp 2 Lớp 3 Lớp 4<br />
<br />
Lớp 5<br />
<br />
Hình 2: Cấu trúc hệ mờ nơron<br />
<br />
các nút hoặc thông số của mỗi nút (như tâm, độ rộng hàm liên thuộc) theo hướng cực tiểu hóa<br />
hàm mục tiêu sai lệch bằng cách sử dụng phép lặp.<br />
3. Ứng dụng hệ Mờ - Nơron để xấp xỉ đường cong<br />
Trong lôgic mờ đã chứng minh rằng một bộ điều khiển mờ Takasi-Sugeno với luật điều<br />
khiển tuyến tính có thể dùng để xấp xỉ một đa thức với độ chính xác tùy ý. Tuy nhiên, để đạt<br />
được độ chính xác mong muốn, cần phải chỉnh định các thông số của bộ điều khiển mờ, việc này<br />
thường rất khó khăn và mang nhiều tính mò mẫm. Khi kết hợp với mạng nơron, việc chỉnh định<br />
đó được thực hiện thông qua các luật học và quá trình huấn luyện mạng.<br />
Trong bài báo này, chúng tôi sử dụng bộ điều khiển Mờ - Nơron theo kiểu TakasiSugeno để xấp xỉ một đường cong bất kỳ và dùng luật học của mạng nơron của bộ điều khiển<br />
mờ nhằm đạt được độ chính xác mong muốn. Xét đường cong được mô tả bởi phương trình:<br />
<br />
y = 25sin10t + 30e −30t<br />
Ta sẽ khảo sát việc dùng hệ Mờ - Nơron để xấp xỉ đường cong trên trong khoảng t =<br />
[0,10](giây). Tập dữ liệu mẫu để huấn luyện hệ mờ - Nơ ron được liệt kê trong bảng 1.<br />
Thiết kế bộ điều khiển kiểu Takasi-Sugeno với 15 tập mờ đầu vào có dạng hàm Trapmf, đầu<br />
ra là các hàm tuyến tính. Sau 90 kỳ huấn luyện thu được các kết quả (hình 3 đến hình 6), trong đó:<br />
hình 3 là đồ thị tập mấu và tập dữ liệu của hệ Mờ - Nơron sau khi huấn luyện; hình 4 là dạng hàm<br />
liên thuộc đầu vào của hệ Mờ - Nơron sau khi huấn luyện; hình 5 là dạng đường cong y(t) và đầu ra<br />
của bộ điều khiển mờ sau khi huấn luyện; hình 6 là sai số giữa y(t) và đầu ra của hệ Mờ - Nơron.<br />
Bảng 1: Một số dữ liệu vào/ra dùng để xấp xỉ đương cong y(t)<br />
t<br />
0<br />
0.05<br />
0.1<br />
0.15<br />
0.2<br />
...<br />
<br />
y<br />
30;<br />
41.687<br />
50.443<br />
54.051<br />
51.556<br />
...<br />
<br />
t<br />
2.5<br />
2.55<br />
2.6<br />
2.65<br />
2.7<br />
...<br />
<br />
y<br />
14.887<br />
26.991<br />
36.9<br />
42.142<br />
41.392<br />
...<br />
<br />
t<br />
5<br />
5.05<br />
5.1<br />
5.15<br />
5.2<br />
...<br />
<br />
y<br />
4.477<br />
16.736<br />
27.574<br />
34.31<br />
35.269;<br />
...<br />
<br />
t<br />
7.5<br />
7.55<br />
7.6<br />
7.65<br />
...<br />
<br />
y<br />
-3.0006<br />
9.1673<br />
20.714<br />
28.796<br />
...<br />
<br />
39<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 2(42)/N¨m 2007<br />
<br />
Hình 4: Hình dạng các hàm liên thuộc đầu<br />
vào sau 90 kỳ huấn luyện<br />
<br />
Hình 3: Đồ thị tập dữ liệu mẫu và tập sau<br />
khi huấn luyệncủa bộ điều khiển mờ - nơron<br />
<br />
60<br />
<br />
1<br />
<br />
50<br />
<br />
0.8<br />
0.6<br />
<br />
40<br />
<br />
0.4<br />
<br />
30<br />
0.2<br />
<br />
20<br />
0<br />
<br />
10<br />
-0.2<br />
<br />
0<br />
<br />
-0.4<br />
<br />
-10<br />
<br />
-0.6<br />
<br />
-20<br />
<br />
-0.8<br />
<br />
-30<br />
<br />
-1<br />
<br />
0<br />
<br />
1<br />
<br />
2<br />
<br />
3<br />
<br />
4<br />
<br />
5<br />
<br />
6<br />
<br />
7<br />
<br />
8<br />
<br />
9<br />
<br />
Hình 5: Dạng đường cong đầu ra của hàm<br />
y(t) và của bộ điều khiển mờ với 15 tập mờ<br />
đầu vào sau 90 kỳ huấn luyện<br />
<br />
10<br />
<br />
0<br />
<br />
1<br />
<br />
2<br />
<br />
3<br />
<br />
4<br />
<br />
5<br />
<br />
6<br />
<br />
7<br />
<br />
8<br />
<br />
9<br />
<br />
10<br />
<br />
Hình 6: Sai số giữa hàm y(t) và đầu ra của<br />
bộ điều khiển mờ với 15 tập mờ đầu vào<br />
sau 90 kỳ huấn luyện<br />
<br />
Từ các kết quả mô phỏng ta thấy rằng có thể<br />
dùng hệ Mờ - Nơron để xấp xỉ một hàm phi tuyến bất<br />
kỳ với độ chính xác tùy ý. Việc chỉnh định các tham số<br />
của bộ điều khiển mờ được thực hiện thông qua quá<br />
trình huấn luyện mạng nơron nên rất tiện lợi, tốn ít thời<br />
gian. Muốn giảm sai số, ta có thể tăng số tập mờ đầu<br />
vào, tăng số kỳ huấn luyện hoặc dùng mạng động.<br />
4. Nhận dạng đối tượng phi tuyến:<br />
Xét đối tượng phi tuyến được mô tả bởi phương<br />
trình vi phân:<br />
<br />
D<br />
Hình 7: Cấu trúc bộ điều khiển mờ-nơron<br />
nhận dạng hệ phi tuyến<br />
<br />
0,5y” +9y’ +3ysin(0,5y) = 15u<br />
Tập dữ liệu huấn luyện được chỉ ra trên bảng 2. Để nhận dạng được chính xác, ta cần<br />
dùng mạng động. Thiết lập hệ Mờ - Nơron kiểu Takagi - Sugeno có 2 đầu vào (hình 7), mỗi đầu vào<br />
gồm 9 tập mờ có hàm liên thuộc dạng Gauss. Kết quả sau 50 kỳ huấn luyện được chỉ ra trên hình 8<br />
40<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 2(42)/N¨m 2007<br />
<br />
đến hình 11. Trong đó hình 8 là sơ đồ tập dữ liệu của mô hình và tập dữ liệu hệ Mờ - Nơron; hình 9<br />
là hình dạng các tập mờ đầu vào sau khi huấn luyện. Hình 10 là đáp ứng đầu ra của mô hình đối<br />
tượng và đáp ứng đầu ra của mô hình nhận dạng Mờ - Nơron; hình 11 là sai số giữa các đáp ứng đó.<br />
Bảng 2: Một số dữ liệu trong tập dữ liệu huấn luyện mạng<br />
Vào 1<br />
<br />
Vào 2<br />
<br />
ra<br />
<br />
Vào 1<br />
<br />
Vào 2<br />
<br />
ra<br />
<br />
Vào 1<br />
<br />
0<br />
<br />
0<br />
<br />
0<br />
<br />
-2.7077<br />
<br />
-14.248<br />
<br />
0.63999<br />
<br />
0.88656<br />
<br />
29.055<br />
<br />
0.00188<br />
<br />
-2.9685<br />
<br />
-5.8144<br />
<br />
1.6939<br />
<br />
25.565<br />
<br />
0.01396<br />
<br />
-2.9641<br />
<br />
3.139<br />
<br />
2.35<br />
<br />
19.791<br />
<br />
0.04324<br />
<br />
-2.695<br />
<br />
2.7961<br />
<br />
12.25<br />
<br />
0.09329<br />
<br />
-2.1851<br />
<br />
...<br />
<br />
...<br />
<br />
...<br />
<br />
Vào 2<br />
<br />
ra<br />
<br />
2.3317<br />
<br />
-17.68<br />
<br />
0.14317<br />
<br />
0.595<br />
<br />
1.6697<br />
<br />
-24.048<br />
<br />
0.24299<br />
<br />
0.52508<br />
<br />
0.85861<br />
<br />
-28.268<br />
<br />
0.33831<br />
<br />
11.812<br />
<br />
0.43633<br />
<br />
-0.0292<br />
<br />
-29.963<br />
<br />
0.42053<br />
<br />
19.43<br />
<br />
0.33653<br />
<br />
-0.91443<br />
<br />
-28.982<br />
<br />
0.48222<br />
<br />
...<br />
<br />
...<br />
<br />
Hình 8: Sơ đồ tập dữ liệu dùng để huấn luyện mạng<br />
và tập dữ liệu hệ mờ-nơron sau khi huấn luyện<br />
<br />
...<br />
<br />
...<br />
<br />
...<br />
<br />
...<br />
<br />
Hình 9: Dạng hàm liên thuộc đầu vào sau khi<br />
huấn luyện<br />
Đầu ra của mô hình<br />
mờ-nơron<br />
0.4<br />
<br />
Đầu ra của mô hình<br />
đối tượng<br />
1<br />
<br />
0.3<br />
<br />
0.8<br />
<br />
0.2<br />
<br />
0.6<br />
<br />
0.1<br />
0.4<br />
<br />
0<br />
0.2<br />
<br />
-0.1<br />
0<br />
<br />
-0.2<br />
-0.2<br />
<br />
-0.4<br />
<br />
-0.3<br />
<br />
0<br />
<br />
1<br />
<br />
2<br />
<br />
3<br />
<br />
4<br />
<br />
5<br />
<br />
6<br />
<br />
7<br />
<br />
8<br />
<br />
9<br />
<br />
10<br />
<br />
Hình 10: Đáp ứng đầu ra của mô hình đối tượng<br />
và của hệ mờ-nơron<br />
<br />
-0.4<br />
<br />
0<br />
<br />
1<br />
<br />
2<br />
<br />
3<br />
<br />
4<br />
<br />
5<br />
<br />
6<br />
<br />
7<br />
<br />
8<br />
<br />
9<br />
<br />
10<br />
<br />
Hình 11: Sai số giữa đáp ứng đầu ra của mô<br />
hình đối tượng và của hệ mờ-nơron<br />
<br />
5. Kết luận<br />
Kết hợp logic mờ và mạng nơron nhân tạo trong một bộ điều khiển, ta sẽ được hệ điều<br />
khiển Mờ - Nơron có cấu trúc đơn giản, có khả năng học, dễ thiết kế và rất thích hợp để nhận<br />
dạng và điều khiển các đối tượng phi tuyến khác nhau, phục vụ cho quá trình điều khiển hệ<br />
thống, phân loại sản phNm, chNn đoán kỹ thuật và các lĩnh vực khác như kinh tế, y học, ...<br />
41<br />
<br />
T¹p chÝ Khoa häc & C«ng nghÖ - Sè 2(42)/N¨m 2007<br />
<br />
Tóm tắt<br />
Hệ mờ và mạng nơron nhân tạo mỗi loại đều có ưu, nhược điểm riêng, khi kết hợp chúng<br />
lại với nhau ta sẽ được hệ Mờ - Nơron phát huy được ưu điểm của cả 2 loại. Trong bài báo này,<br />
các tác giả đề xuất một giải pháp xây dựng hệ Mờ - Nơron để nhận dạng đối tượng phi tuyến.<br />
Các kết quả mô phỏng cho thấy rõ ưu việt và tính khả thi của hệ này.<br />
Summary<br />
INDENTIFY NONLINAR PLANT BY FUZZY - NEURAL SYSTEM<br />
Both fuzzy system and artificial neural network have advantages and disadvantages.<br />
None theless but they are combined, their advantages will be. In this paper, the authors promote<br />
a solution that builds the neural-fuzzy system to identify nonlinear plants. The imitating results<br />
display the advantages and possibilities of this new one effectivly shown.<br />
Tài liệu tham khảo<br />
[1]<br />
Phan Xuân Minh & Nguyễn Doãn Phước (1999), Lý thuyết điều khiển mờ, Nxb Khoa<br />
học và kỹ thuật, Hà Nội.<br />
[2]<br />
Lại Khắc Lãi (2007), “Hệ mờ-nơ ron và ứng dụng để điều khiển tay máy”, Tạp chí Khoa<br />
học & Công nghệ các trường Đại học kỹ thuật số 59, Tr.60-63.<br />
[3]<br />
Kazuo Kiguchi, Takakazu Tanaka (2004), “Neuro-fuzzy control of a robotic exoskeleton<br />
with EMG signals”, IEEE Transactions on fuzzy systems, Volume 12, Number 4, pp. 481-490, August.<br />
[4]<br />
Kossko (1991), Neural networks and fuzzy control, Prentice Hall.<br />
[5]<br />
Kumpati S. Narendra Fellow and Kannan Parthasarathy (1990), “Identification and<br />
control of dynamical systems using neural networks”, IEEE Transactions on neural networks, Vol.1.<br />
No.1, pp 4-26.<br />
[6]<br />
Ljung, L.(1999), System Identification - Theory for the User, Prentice Hall, Upper Saddle<br />
River, N.J., 2nd edition.<br />
[7]<br />
Wen Yu, Xiaoou Li (2004), “Fuzzy indentification using fuzzy neural networks with<br />
stable learning algorithms”, IEEE Transactions on fuzzy systems, Volume 12, Number 3, pp. 411-420,<br />
August.<br />
<br />
42<br />
<br />