THIẾT KẾ BỘ ĐIỀU KHIỂN BẰNG MẠNG NƠRON TRUYỀN THẲNG THEO MÔ HÌNH MẪU LÀ MỘT KHÂU DAO ĐỘNG BẬC 2
Ngày nay, trí tuệ nhân tạo đang phát triển mạnh mẽ
nhằm tạo ra cơ sở xây dựng các hệ chuyên gia, hệ
trợ giúp quyết định. Trí tuệ nhân tạo được xây dựng
trên cơ sở mạng nơron nhân tạo và ứng dụng trong
thiết kế hệ thống điều khiển thông minh mà trong
đó bộ điều khiển có khả năng tư duy như bộ não
của con người đang là xu hướng mới trong điều
khiển tự động.
THIẾT KẾ BỘ ĐIỀU KHIỂN BẰNG MẠNG NƠRON TRUYỀN THẲNG
THEO MÔ HÌNH MẪU LÀ MỘT KHÂU DAO ĐỘNG BẬC 2
KS. Phạm Ngọc Minh, PGS-TSKH. Phạm Thượng Cát
Phòng Công Nghệ Tự Động Hóa - Viện Công Nghệ Thông Tin
Viện Khoa Học và Công Nghệ Việt Nam
Tel. 84-4-8363484, Fax: 84-4-8363485, E-mail: [email protected]
Tóm tắt : Bài báo này trình bày kết quả nghiên cúu thiết kế bộ điều khiển bằng mạng nơron truyền
thẳng được huấn luyện bằng giải thuật học lan truyền ngược lỗi BP và được cài đặt trên thiết bị điều
khiển thông minh ĐKTM, một sản phẩm công nghệ cao của phòng Công nghệ Tự động hoá - Viện
Công nghệ Thông tin.
DESIGN AND IMPLEMENTATION OF A NEURO CONTROLLER USING
SECOND ORDER REFERENCE MODEL
Dipl.Eng. Pham Ngoc Minh, Prof.DSC. Pham Thuong Cat
Department for Automation Technology, Institute of Infomation Technology.
Viet Nam Academy of Science and Technology
Tel. 84-4-8363484, Fax: 84-4-8363485, E-mail: [email protected]
Abstract: This paper presents research results in design and implementation of a neural controller
using Error Back-Propagation Algorithm. This controller has been installed in an intelligent control
ĐKTM device, a high-tech product of Department for Automation Technology - Institute of
Information Technology.
1. ĐẶT VẤN ĐỀ
Ngày nay, trí tuệ nhân tạo đang phát triển mạnh mẽ
nhằm tạo ra cơ sở xây dựng các hệ chuyên gia, hệ b
trợ giúp quyết định. Trí tuệ nhân tạo được xây dựng
trên cơ sở mạng nơron nhân tạo và ứng dụng trong
thiết kế hệ thống điều khiển thông minh mà trong
đó bộ điều khiển có khả năng tư duy như bộ não
Vi Wi
của con người đang là xu hướng mới trong điều
khiển tự động.
x y
Mạng nơron là sự tái tạo bằng kỹ thuật những chức
Input Output
năng của hệ thần kinh con người với vô số các
nơron được liên kết truyền thông với nhau trong
mạng. Trong bài báo này, chúng tôi sẽ trình bày kết
quả ứng dụng mạng nơron trong chế tạo thiết bị
điều khiển thông minh. Output
Input Hidden Layer
2. MÔ HÌNH MẠNG NƠRON LAN TRUYỀN Layer Layer
THẲNG NHIỀU LỚP
Hình 1 : Cấu trúc mạng nơron
Trong báo cáo này, chúng tôi sử dụng mô hình Trong đó:
mạng nơron lan truyền thẳng nhiều lớp áp dụng cho • Các nơron trong mạng là nơron Fermi
hệ thống SISO (single-input single-output). Mạng • Input Layer gồm 1 nơron có trọng số bằng 1.
nơron nhiều lớp lan truyền thẳng được mô tả như Tín hiệu vào x được đưa tới nơron của Input
hình 1 với 3 lớp – Input Layer (lớp vào), Hidden Layer, khi đó tín hiệu ra của nơron là x
Layer (lớp ẩn), Output Layer (lớp ra). • Vector trọng số giữa Input Layer và Hidden
Layer là Vi . Tín hiệu ra của các nơron Input
Layer được đưa vào các nơron của Hidden
Layer, khi đó tín hiệu ra được tính theo công
thức: Oi = f (Vi * x + b) = f (netVi ) (2.1)
trong đó netVi = Vi * x + b
1
1 df ~
f (netVi ) = − netVi
⇒ = Oi (1 − Oi ) thực y[ k ] . Trên cơ sơ so sánh với mẫu học y[k],
1+ e dnetVi
các trọng số Wi[k] được hiệu chỉnh thành Wi[k+1] .
• Vector trọng số giữa Hidden Layer và Output
Tiếp tục từ Wi[k+1] sẽ hiệu chỉnh các trọng số
Layer là Wi .Tín hiệu ra của các nơron Hidden
Vi[k] .
Layer được đưa vào nơron của Output Layer,
khi đó tín hiệu ra y được tính theo công thức: • Với sai lệch cho mẫu học thứ k là
~
3
y = f ( ∑ ( Wi * Oi )) = f (netY ) =
1 y (k ) − y (k ) , giá trị gia tăng ∆Wi [k ] được
i =1 1 + e − netY xác định theo công thức cải biên của Widnow
df như sau:
⇒ = y (1 − y ) (2.2)
dnetY ~ df
3 ∆Wi [k ] = s y[k ] − y[k ]
d (netY ) Oi
Trong đó netY = ∑ ( Wi * Oi ) netY [ k ]
(3.1)
i =1
= s.δ Y .Oi
Sơ đồ giải thuật tính tín hiệu ra y được mô tả như
hình 2 ~ df
Trong đó δ Y = y[k ] − y[k ]
d (netY )
x[k] netY [ k ]
là tín hiệu sai lệch của nơron đầu ra.
Tham số s gọi là bước học,
i=1 s = 0.1 ÷ 0.9
Có thể xác định Oi theo công thức 2.1.
Sau khi tính được ∆Wi [k ] , ta xác định được
NetVi = Vi*x[k] + b trọng số mới Wi [k + 1] theo công thức sau:
Wi [k + 1] = Wi [k ] + ∆Wi [k ] (3.2)
Oi = f (netVi ) • Sau khi đã có Wi [ k + 1] ta xác định giá trị gia
=
1 tăng ∆Vi [k ] theo công thức cải biên của
− netVi
1+ e Widnow như sau:
∆Vi [k ] == s.δ Vi .x (3.3)
i=i+1 df 3
δ Vi = ∑ δ V Wi [k + 1]
d (netVi ) netVi [ k ] i =1
No Sau khi tính được ∆Vi [k ] , ta xác định được
i>3
trọng số mới Vi [k + 1] theo công thức sau:
Yes Vi [k + 1] = Vi [k ] + ∆Vi [k ] (3.4)
3
netY = ∑ (Wi * Oi ) Thuật toán hiệu chỉnh các trọng số sẽ dừng đến khi
i =1
sai lệch E < ε cho trước:
2
1 ~
~ E = ∑ y (k ) − y (k ) < ε (3.5)
y[k ] = f (netY ) 2
1 Sơ đồ giải thuật huấn luyện mạng được mô tả trong
= hình 3,4.
1 + e − netY
Hình 2: Lưu đồ tính tín hiệu ra y của mạng nơron
3. HUẤN LUYỆN MẠNG NƠRON VỚI GIẢI
THUẬT HỌC LAN TRUYỀN NGƯỢC LỖI
BP
Trước khi sử dụng mạng Nơron, ta cần phải dạy
học cho mạng với nhiệm vụ xác định các trọng số
Vi , Wi .Giải thuật học lan truyền ngược BP được
dùng để dạy mạng nhiều lớp. Ta có tập các mẫu học
{x[k] , y[k] }. Từ tập mẫu học x[k] và các trọng số
Vi[k] , Wi[k] của mạng, ta xác định được đầu ra
2
Start I
k=1 i=1
~ df
δ y = ( y[k ] − y[k ])*
x[k] y[k] d (netY ) netY [ k ]
∆Wi [k ] = s * δ y * Oi
Wi [k + 1] = Wi [k ] + ∆Wi [k ]
Create NN
~ df 3
y [k] δ Vi = * ∑ δ yW j [k + 1]
d (netVi) netVi[ k ] j =1
∆Vi [k ] = s * δ Vi * x
2 Vi [k + 1] = Vi [k ] + ∆Vi [k ]
1 ~
E= * y[k ] − y[k ]
2
i=i+1
Yes
E3
No
Yes
I
II
Thuật toán lan truyền ngược BP
Hình 4: Thuật toán lan truyền ngược BP hiệu
hiệu chỉnh các trọng số
chỉnh các trọng số Wi[k+1], Vi[k+1]
Wi [k + 1] = Wi [k ] + ∆Wi [k ]
Vi [k + 1] = Vi [k ] + ∆Vi [k ]
4. XÂY DỰNG BỘ ĐIỀU KHIỂN DÙNG MẠNG
NƠRON THEO MÔ HÌNH MẪU LÀ MỘT
KHÂU DAO ĐỘNG BẬC 2
II Bài toán đặt ra cần phải thiết kế bộ điều khiển bằng
mạng nơron để tín hiệu ra của đối tượng điều khiển
bám lấy tín hiệu ra của mô hình mẫu khi đối tượng
k=k+1 có tham số không biết trước hoặc bị thay đổi trong
quá trình hoạt động. Xét mô hình mẫu là khâu dao
động bậc 2:
KM
WM ( s ) = 2 (4.1)
s + a1 s + a 0
Hình 3: Lưu đồ giải thuật huấn luyện mạng nơron với thông số KM , a1 và a2 được chọn phù hợp với
các chỉ tiêu chất lượng mong muốn, a1 , a0 có thể
ước lượng được. Phương trình vi phân tương ứng
là:
y M + a1 y M + a 0 y M = K M u (4.2)
3
Mạng nơron trong cấu trúc điều khiển theo vòng
kín đóng vai trò bộ điều khiển
Start
Mô hình mẫu
WM(s)
YM Up = f(t)
EP +
- YP Chuyển đổi D/A
NN Controller UP Analog Output
(điều chỉnh W,b) ĐTĐK
SP
ĐTĐK
Hình 5: Sơ đồ cấu trúc điều khiển mạch kín theo
mô hình mẫu WM (s) Analog Input
Chuyển đổi A/D
Trong đó:
- SP : giá trị đặt Setpoint
- Yp : tín hiệu ra của đối tượng điều khiển Nhận dạng mô hình ĐTĐK
- Ep : sai lệch tín hiệu ra của đối tượng điều bằng mạng nơron theo thuật
khiển với tín hiệu ra mẫu Ep = YM – Yp toán lan truyền ngược BP
- Up : tín hiệu điều khiển
Các bước thiết kế bộ điều khiển dùng mạng Nơron UNN Up
Bước 1: Huấn luyện mạng NN Inverse Model
ĐTĐK để nhận dạng động học nghịch mô hình đối
Ep =
1
2
[
* U p − U NN ]2
tượng điều khiển thực
Up Yp No
ĐTĐK Ep < ε
+
Yes
Ep - Stop
NN Inverse
Model ĐTĐK
UNN Hình 7: Lưu đồ thuật toán nhận dạng động học
nghịch mô hình đối tượng điều khiển
Hình 6 : Sơ đồ huấn luyện mạng nơron nhận dạng Bước 2: Sau khi đã có bộ NN Inverse Model
ĐTĐK , ta lắp bộ đó vào hệ thống để xác định bộ
động học nghịch mô hình đối tượng điều khiển
NN Controller sao cho hệ thống giống mô hình mẫu
là một khâu dao động bậc 2
Up - tín hiệu thử là một hàm f(t) tạo ra nhiều giá trị
mẫu đầu vào để huấn luyện điều chỉnh (W,b) của Mô hình mẫu
mạng Nơron sao cho E 2 → min . WM(s) YM
p
Sai số Ep = Up - UNN được sử dụng để huấn luyện
mạng, thông tin về sai số được lan truyền ngược UNN NN Inverse
qua mạng nơron để hiệu chỉnh lại (W,b) theo giải Model
thuật học lan truyền ngược lỗi BP. ĐTĐK
X +
NN Controller UP
(điều chỉnh W,b) EM
-
Hình 8: Sơ đồ huấn luyện mạng nơron điều
khiển theo mô hình mẫu
4
Sẽ huấn luyện điều chỉnh (W,b) của mạng Nơron 5. MỘT SỐ KẾT QUẢ THỰC NGHIỆM KHI SỬ
sao cho 2
EM → min . Tính tín hiệu ra YM của mô DỤNG BỘ ĐIỀU KHIỂN BẰNG MẠNG
NƠRON TRÊN THIẾT BỊ ĐKTM
hình mẫu WM(s) bằng phương pháp số Runge-Kuta
tại các thời điểm t , từ giá trị YM ta cho lan truyền Chúng tôi đã sử dụng thuật điều khiển bằng mạng
ngược qua NN Model ĐTĐK được giá trị UNN , nơron trên thiết bị ĐKTM với đối tượng là khâu
sai số EM = UNN – UP được sử dụng để luyện mạng. dao động được mô phỏng trên thiết bị mô phỏng
Thông tin về sai số được lan truyền ngược qua MPĐT.
mạng NN Model ĐTĐK mô phỏng động học
nghịch của đối tượng điểu khiển và mạng NN (AI1)
Controller để hiệu chỉnh lại (W,b) của mạng. AO1 MPDT
Start
AI1 (AO1)
Setpoint MPDT
Hình 10 : Sơ đồ ghép nối 2 thiết bị ĐKTM với MPĐT
Hiệu chỉnh các Tín hiệu ra AO1 của thiết bị điều khiển thông minh
trọng số Vi , Wi của Tính đầu ra YM là tín hiệu điều khiển và cũng là tín hiệu vào của
NN Contronller của mô hình đối tượng, tín hiệu ra của đối tượng AO1 chính là
theo thuật toán lan mẫu WM (s) tín hiệu vào của thiết bị điều khiển thông minh.
truyền ngược BP Khi thiết bị điều khiển thông minh ở trạng thái
Prog, đặt SP =1500, ac1=1, ac0=1,
Đối tượng điều khiển được chọn trên thiết bị mô
Tính UNN qua phỏng MPĐT là khâu dao động (chọn trong hệ
mô hình tuyến tính) có hàm truyền đạt:
NN Inverse 0.5
WP (s) = 2 (5.1)
Model ĐTĐK s + s +1
Đặt thiết bị điều khiển ở trạng thái RUN, cho phép
điều khiển đối tượng ta thu được kết đáp ứng thời
gian của đối tượng trên thiết bị mô phỏng MPĐT
Up UNN
Ep =
1
2
[
* U NN − U p ]2
No
Ep < ε
Yes
Stop
Hình 9: Lưu đồ thuật toán huấn luyện mạng
nơron điều khiển theo mô hình mẫu
Hình 11: Màn hình giao diện thiết bị MPĐT
Thuật toán điều khiển dùng mạng nơron trên đã
được lập trình và cài đặt vào thiết bị điều khiển Khi chạy ở mode RUN, chương trình sẽ tự động
thông minh ĐKTM của phòng Công nghệ Tự động học đối tượng để chỉnh các trọng số của mạng
hoá - Viện Công nghệ Thông tin. nơron, sau 30s tín hiệu ra của đối tượng bám được
tín hiệu ra của mô hình mẫu, sai số ε ->0
5
Nếu thay đổi hệ số K của khâu dao động trên thiết TÀI LIỆU THAM KHẢO
bị mô phỏng MPĐT như K=0.75,K=1, K =2 ta vẫn
thu được kết quả tương tự. [1] CHIN-TENG LIN and C.S GEORGE LEE
Neural Fuzzy Systems. A Neuro-Fuzzy
Synergism to Intelligent Systems,
Prentice Hall International, Inc, 1996
[2] SIMON HAYKIN,
Neural Networks a Comprehensive Foundation
Prentice Hall International, Inc, 1999
[3] BÙI CÔNG CƯỜNG,
NGUYỄN DOÃN PHƯỚC
Hệ mờ mạng nơron và ứng dụng,
Nhà xuất bản khoa học và kỹ thuật, 2002
[4] PHAN XUÂN MINH,
NGUYỄN DOÃN PHƯỚC
Lý thuyết điều khiển mờ,
Quá trình huấn luyện Quá trình điều khiển Nhà xuất bản khoa học và kỹ thuật, 2002
NN Controller đối tượng
[5] PHAN MINH TÂN,
Hình 12: Đồ thị quá trình điều khiển đối tượng TRẦN VIỆT PHONG,
trên thiết bị MPĐT với bộ điều khiển BÙI THANH QUYÊN,
mạng nơron cài đặt trên thiết bị ĐKTM PHẠM THƯỢNG CÁT.
Báo cáo “Nghiên cứu phát triển thiết bị
Quá trình huấn luyện mạng NN Controller trong MPĐT mô phỏng thời gian thực các đối
khoảng 22s , sau đó bắt đầu quá trình điều khiển tượng điều khiển”.
đối tượng. Tuyển tập Hội nghị khoa học toàn quốc
VICA5, Vol.1, pp 259-264. Hà nộI 2002.
6. KẾT LUẬN
Phòng Công nghệ Tự động hoá - Viện Công nghệ
Thông tin đã nghiên cứu thiết kế bộ điều khiển trên
cơ sở mạng nơron nhân tạo cài đặt trong thiết bị
ĐKTM với mong muốn tạo ra một thiết bị điều
khiển thông minh có khả năng thích nghi với một
số ứng dụng thực tế như hệ thống điều khiển lò
nhiệt, điều khiển mức nước, điều khiển độ PH
…v.v .
Kết quả nghiên cứu này chỉ là bước đầu tiếp cận
với lĩnh vực ứng dụng trí tuệ nhân tạo trong điều
khiển tự động. Trong thời gian tới, chúng tôi sẽ
nghiên cứu để nâng cao khả năng thông minh cho
thiết bị ĐKTM với một số mô hình mạng nơron và
giải thuật học khác.
6
7