Tải bản đầy đủ (.pdf) (8 trang)

nhận dạng mô hình đối tượng phi tuyến dùng mạng neuron nhân tạo

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (151.76 KB, 8 trang )

NHẬN DẠNG MÔ HÌNH ĐỐI TƯỢNG PHI TUYẾN
DÙNG MẠNG NEURON NHÂN TẠO
Nguyễn Chí Ngôn
Khoa Công Nghệ Thông Tin

ABSTRACT
In this paper we have introduced a method of nonlinear MIMO system
identification using neural network. The neural network has been equiped with
an input-output data set for approximating the actual output of neural network
to the desired output of plant which its unknown structure and parameters.
Some simulation resulted in identifying a two-degree-of-freedom SCARA robot
arm show which a simple and effective technique.
Keywords:System identification, Neural network, SCARA robot, LevenbergMarquardt algorithm.
TÓM TẮT
Trong bài này chúng ta sẽ tìm hiểu về phương pháp nhận dạng mô hình của đối
tượng đa biến phi tuyến chưa biết cấu và thông số bằng mạng neuron nhân tạo.
Mạng neuron này đạt được bằng cách huấn luyện từ tập dữ liệu vào ra sao cho
nó xấp xỉ được một ánh xạ tương quan giữa ngõ vào và ngõ ra của đối tượng.
Nói cách khác, với cùng một ngõ vào, ngõ ra thực tế của mạng gần nhất với
ngõ ra của đối tượng. Kết quả mô phỏng việc nhận dạng mô hình của robot
SCARA cho thấy phương pháp dùng mạng neuron tỏ ra đơn giản và hiệu quả.
Từ khoá: Nhận dạng mô hình, Mạng neuron, Robot SCARA, Giải thuật
Levenberg-Marquardt.

1 ĐẶT VẤN ĐỀ
Trong điều khiển tự động, để xây dựng bộ điều khiển đôi khi chúng ta cần xây
dựng mô hình của đối tượng bằng cách mô hình hóa hay nhận dạng đối tượng. Tuy
nhiên, đối với các hệ đa biến, phi tuyến, việc xây dựng mô hình theo phương pháp cổ
điển gặp nhiều khó khăn, đặc biệt khi chưa biết thông số và cấu trúc của đối tượng.
Một phương pháp hiệu quả để khắc phục khó khăn này là áp dụng mạng neuron nhân
tạo. Mạng neuron hoạt động trên nguyên tắc xem đối tượng là một hộp đen, dựa vào


dữ liệu vào ra quá khứ của đối tượng, nó sẽ ước lượng ngõ ra hiện tại gần nhất với ngõ
ra thực tế của đối tượng đó.

2 SƠ LƯỢC VỀ MẠNG NEURON NHÂN
TẠO
Các nghiên cứu về neuron sinh học cho thấy hoạt
động của nó khá đơn giản. Khi điện thế ở dây thần kinh
vào (dendrite) vượt quá một ngưỡng nào đó, neuron bắt
Hình 1: Neuron sinh học
đầu giật (firing), tạo ra một xung điện truyền trên dây
thần kinh ra (axon) đến các neuron khác (thông qua các khớp nối - synapse), cơ chế

PDF created with FinePrint pdfFactory Pro trial version


này cho phép dễ dàng tạo ra mô hình neuron nhân tạo (Artificial Neural Network - gọi
tắt là mạng neuron).
2.1 MÔ HÌNH 1 NEURON
Một neuron nhân tạo với p ngõ vào (p1, p2, ..., pR) cho
bởi hình 2. Trong đó, w1,1, w1,2, ..., w 1,R là các trọng số kết
nối (weights) tương ứng của từng ngõ vào và b là ngưỡng
kích hoạt neuron (bias), ta có:
n = w1,1p1+ w1,2p2+... + w1,RpR + b hay n = Wp+b
Hình 2: Neuron nhân tạo

Ngõ ra của neuron là: a = f(Wp+b)

Trong đó f được gọi là hàm truyền của neuron (hình 3). Thông thường f là một
trong 3 hàm: tuyến tính (3a), Log sigmoid (3b) và Hyperbolic tangent sigmoid (3c).
5


1

1

purelin(n)

logsig(n)

0

tansig(n)

0.5

0

n

-5
-5

0

5

0
-5

a) f(n) = n


b)

0

f(n) =

5

-1
-5

0

5
−2n

1
−n

1+ e

c)

f(n) =

1− e

− 2n


1+ e

Hình 3: Các hàm truyền của neuron nhân tạo

2.2 MẠNG NEURON
Mạng neuron là hệ thống gồm nhiều neuron kết nối
với nhau và hoạt động song song. Tính năng của mạng
tùy thuộc vào cấu trúc, các trọng số kết nối và quá trình
tính toán tại các neuron đơn lẻ. Dựa theo kiểu kết nối, ta
có mạng neuron truyền thẳng (feedforward Neural
Network) và mạng hồi qui (recurrent NN). Dựa theo số
lớp neuron, ta có mạng 1 lớp hay mạng nhiều lớp. Hình 4
trình bày mô hình mạng neuron 1 lớp. Mỗi phần tử trong
véctơ vào p, được nối với từng neuron vào (nút vào) nằm
trên lớp vào thông qua ma trận trọng số W.
R

Neuron thứ i có: ni = ∑ pi w i, j + bi
j =1

Hình 4: Mạng neuron 1 lớp

Ngõ ra tương ứng của neuron thứ i là: ai = f(ni)
Ngõ ra của mạng: a = f(Wp+b)
Việc tính toán trên mạng neuron nhiều lớp cũng được thực hiện tương tự trên từng
lớp, ngõ ra của lớp trước là ngõ vào của lớp sau.

PDF created with FinePrint pdfFactory Pro trial version



2.3 HUẤN LUYỆN MẠNG NEURON
Huấn luyện mạng là quá trình thay đổi các trọng số kết nối cũng như cấu trúc của
mạng sao cho phù hợp với các mẫu học [NHPhg]. Người ta phân biệt 3 kỹ thuật học,
đó 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). Trong mỗi kỹ thuật học có
nhiều giải thuật huấn luyện khác nhau. Tuy nhiên, trong phạm vi bài này, chúng ta
không đề cập chi tiết đến các giải thuật huấn luyện mà chỉ nêu khái quát về giải thuật
Levenberg-Marquardt được chọn để áp dụng vì giải thuật này ổn định và có tốc độ hội
tụ nhanh nhất đối với ứng dụng nhận dạng mô hình [NCNgon, HowMark].
Gọi wji(n) là trọng số kết nối từ neuron thứ i đến neuron thứ j ở thời kỳ huấn luyện
(epoch) thứ (n). Giải thuật Levenberg-Marquardt cập nhật trọng số này ở thời kỳ huấn
luyện thứ (n+1) như sau:
wji(n+1) = w ji(n) - [JTJ + mI] -1 JTe
Trong đó: I là ma trận đơn vị; m là một hệ số có giá trị nhỏ được thay đổi trong
quá trình huấn luyện; JT là ma trận chuyển vị của J và J là ma trận Jacobian chứa các
đạo hàm bậc nhất của hàm lỗi e theo trọng số kết nối (δe/δwji).
Hàm lỗi e được xác định như sau: Giả sử ta có tập dữ liệu huấn luyện là {p1,t1},
{p2,t2}, ..., {pN,tN}. Với pi∈ p là ngõ vào của mạng, ti∈ t là ngõ ra mong muốn tương
ứng. Khi mỗi mẫu dữ liệu đưa vào mạng, véctơ ngõ ra thực tế a (mà mạng tính toán)
được so sánh với ngõ ra mong muốn t để xác định lỗi: ei = ti - ai.
Thông thường lỗi của quá trình huấn luyện mạng được đánh giá dựa trên hàm mục
tiêu MSE (Mean Square Error). Với N mẫu huấn luyện được đưa vào mạng, MSE
được tính như sau:
MSE =

1
N

N


∑e
i =1

2

i

3 NHẬN DẠNG MÔ HÌNH ĐỐI TƯỢNG
Thực chất của quá trình nhận dạng mô hình bằng mạng neuron là tìm ra ánh xạ
tương quan giữa ngõ vào và ngõ ra của đối tượng thông qua quá trình huấn luyện. Ta
có thể nhận dạng mô hình không gian trạng thái (state-space model) hoặc mô hình vào
ra (input-output model). Tuy nhiên, nh ận dạng mô hình vào ra phù hợp hơn đối với hệ
chưa biết cấu trúc và thông số vì quá trình nhận dạng chỉ dựa trên tập dữ liệu vào ra
của đối tượng.
Mô hình vào ra của một hệ SISO (Single-Input-Single-Output) như sau:
y(k)=F(y(k-1), y(k-2), ..., y(k-n); u(k-1), u(k-2), ..., u(k-m))
với [u(k),y(k)] là cặp tín hiệu vào ra ở thời điểm lấy mẫu k. Đối với hệ MIMO
(Multi-Input-Multi-Output) thì y(k) và u(k) là các véctơ.
Dựa trên tập dữ liệu vào ra [u, y] của đối tượng, ta sẽ huấn luyện mạng neuron để
ngõ ra:
y^(k)= F^(y(k-1), y(k-2), ..., y(k-n); u(k-1), u(k-2), ..., u(k-m))

PDF created with FinePrint pdfFactory Pro trial version


sao cho ngõ ra của mạng y^(k) gần nhất với ngõ ra của đối tượng, tức là:
min{|y(k)-y^(k)|}
Có hai phương pháp nhận dạng mô hình vào ra bằng mạng neuron, đó là nhận
dạng theo cấu trúc song song và cấu trúc nối tiếp, hình 5 [DucLiu, EricPeter]. Trong
đó TDL (Tapped Delay Line) dùng để lấy các tín hiệu quá khứ và BP

(Backpropagration), ký hiệu cho giải thuật huấn luyện lan truyền truyền ngược dùng
để hiệu chỉnh các trọng số kết nối của mạng dựa trên sự sai biệt ξ = |y(k)-y^(k)|.
u(k)

y(k)

Plant

u(k)

y(k)

Plant

+

+
TDL
2

TDL
2

-

TDL
2

TDL
2


^

y (k)

y^(k)
BP

BP

a) Cấu trúc song song

b) Cấu trúc nối tiếp

Hình 5: Hai phương pháp nhận dạng mô hình vào ra bằng mạng neuron

Đối với các hệ phi tuyến cao, để mạng tổng quát hóa được trên tập dữ liệu học có
thể đòi hỏi phải có giai đoạn tiền xử lý tập dữ liệu này trước khi huấn luyện mạng
bằng một vài kỹ thuật đặc biệt (có thể tham khảo ở [NCNgon]), cũng như đòi hỏi
người thực hiện có một số kinh nghiệm nhất định.

4 MÔ PHỎNG
Mô phỏng này cho thấy kết quả nhận dạng một robot SCARA 2 bậc tự do, hình 6
[DTSahin]. Đây là một đối tượng MIMO phi tuyến có phương trình trạng thái:
••
M 11
M 12cos(ke( ϕ 1 + ϕ 2 ))  ϕ 1 

 M cos(k ( ϕ + ϕ ))
  • •  =

M 22
 21
e
1
2
 ϕ 2 


C11
−

C sin(k ( ϕ + ϕ )) ϕ
e
1
2
1
 21
Với: M11 = I1+m l 12
C11 = V1


 • 
C12sin(ke( ϕ 1 + ϕ 2 )) ϕ 2   ϕ 1  τ 1 
+ 

τ



C22

 ϕ 2   2 

M12 = M21 = -ml1l2

M22 = I2+I3+ m l 22

C22 = V2

C12 = C21 = ml1l2ke

Joint I
Các thông số của robot như sau:
I3
2
Joint
2
2
I1
I1=1.8 Kgm , I2=0.041 Kgm

τ2
Link2
I3=0.134 Kgm 2 lần lượt là moment quán τ1
Link1 ϕ2
tính khớp nối 1, 2 và tải. Khối lượng tải
Payload
m
ϕ1
m=10 Kg; chiều dài của các cánh tay
l1

l2
tương ứng là l1=0.4m và l2=0.35m. Hệ số
Hình 6: Robot SCARA
truyền động khớp nối 2 là ke=0.5 và hệ
2
số ma sát của 2 khớp nối lần lượt là V1=5.0 Kg m /s và V2=2.0 Kgm 2/s.

PDF created with FinePrint pdfFactory Pro trial version


Tín hiệu vào ra của robot như sau: ngõ vào τ=[τ1, τ2]T là moment của các motor
tác động; ngõ ra ϕ=[ϕ1, ϕ2]T là góc lệch tương τ(k
Robot
ϕ(k
+
)
)
ứng của hai khớp nối.
TDL1 TDL2

Mục tiêu là dựa vào tập dữ liệu [τ,ϕ] thu thập
được để xây dựng một mạng neuron sao cho với
cùng một ngõ vào τ, ngõ ra của mạng ϕ^ gần nhất
so với ngõ ra của ϕ robot. Mô hình vào ra của
robot được biểu diễn bởi phương trình:

ϕ^(k)
BP

Hình 7: Nguyên tắc nhận dạng

mô hình robot SCARA

ϕ(k)=F(ϕ(k-1), ϕ(k-2), τ (k-1), τ (k-2))
Mạng neuron cần xây dựng để:
ϕ^(k)=F^(ϕ(k-1), ϕ(k-2), τ (k-1), τ (k-2)) sao cho min{|ϕ(k) - ϕ^(k)|}
8 input
neurons

18 ‘tansig‘
neurons

ϕ1(k)
ϕ2(k)

+1

hidden layer bias

Performance is 1.54148e-010, Goal is 0

10

2 linear
neurons

ϕ1(k-1)
ϕ1(k-2)
τ1(k-1)
τ1(k-2)
ϕ2(k-1)

ϕ2(k-2)
τ2(k-1)
τ2(k-2)

a)

MSE
0

+1

output layer bias

Levenberg-Marquardt backpropagation Algorithm
MSE=1.5e-10
-5

10

-10

10

b)

0

100

200

300
500 Epochs

400

500

Hình 8: a) Cấu trúc mạng neuron b) Lỗi huấn luyện mạng

Tập dữ liệu vào ra dùng để huấn luyện mạng thu được bằng cách đặt 1000 mẫu dữ
liệu τ có giá trị ngẫu nhiên trong [-2π, 2π] lên ngõ vào của robot và đo được 1000 giá
trị ϕ ở ngõ ra.
Mạng neuron được xây dựng theo cấu trúc nối tiếp (hình 8), là mạng truyền thẳng
nhiều lớp (Multi-layer feedforward NN) gồm 8 neuron vào, 18 neuron ẩn phi tuyến có
hàm truyền hyperbolic tangent sigmoid và 2 neuron ra tuyến tính, cấu trúc như hình
8a. Hình 8b cho thấy sau khi huấn luyện với phương pháp học có giám sát và giải
thuật truyền ngược Levenberg-Marquardt, MSE rất thấp, đạt 1.5x10-10.
Chúng ta sẽ kiểm tra mạng neuron đã huấn luyện bằng cách so sánh ngõ ra thực tế
của mạng và ngõ ra của robot với cùng một tín hiệu vào.
Kiểm tra với tín hiệu vào sin: Sơ đồ mô phỏng để so sánh đáp ứng của mạng và
của robot đối với tín hiệu vào sin được cho trên hình 9. Ngõ ra ϕ1 của robot và ngõ ra
ϕ^1 của mạng hầu như trùng khít lên nhau trên hình 10a. Tương tự cho ngõ ra ϕ2 của
robot và ngõ ra ϕ^2 của mạng trên hình 10b.

PDF created with FinePrint pdfFactory Pro trial version


Hình 9. So sánh đáp ứng của robot và mạng neuron vừa huấn luyện
Scara output#1/NN output#1


S cara output#2 /N N o utput#2

1

0.6

0.8
0.6

0.4

0.4
0.2

0

0.2

0

2

4Samples6

8

0

10


0

2

4S am ples6

a)

8

10

b)

Hình 10: So sánh ngõ ra của mạng và robot đối với tín hiệu vào sin

Kiểm tra với tín hiệu vào ngẫu nhiên: Dữ liệu vào trên hình 11 và kết quả so
sánh trên hình 12.
Input #1/ Input #2

1
Input1
0.5
0
-0.5

Input2
-1

0


1

2 Samples 3

4

5

Hình 11: Ngõ vào [τ1, τ2] ngẫu nhiên dùng để kiểm tra mạng
Scara ouput #2/ NN output #2

Scara output #1/ NN output #1

0.04

0
0.02
-0.05
0
-0.1
-0.02
-0.15
-0.04
-0.2
-0.06

0

1


2

3

4

5

0

1

2

3

X Axis

4

Hình 12: So sánh ngõ ra của mạng và robot đối với tín hiệu vào ngẫu nhiên

PDF created with FinePrint pdfFactory Pro trial version

5


5 KẾT LUẬN
Việc áp dụng mạng neuron để nhận dạng mô hình của đối tượng đa biến phi tuyến

là một kỹ thuật đơn giản và hiệu quả. Quá trình thực hiện chúng ta không quan tâm
đến cấu trúc và thông số của đối tượng mà chỉ xây dựng tập dữ liệu vào ra để huấn
luyện mạng. Lưu ý rằng, tập dữ liệu này phải được thu thập sao cho bao quát được
mọi giá trị trong miền hoạt động của đối tượng. Ngoài ra, thời gian huấn luyện mạng
tỉ lệ nghịch với kích thước của tập dữ liệu mẫu. Tuy nhiên, điều này không quan trọng
vì mạng chỉ cần học một lần dưới sự hổ trợ của một máy tính mạnh. Kết quả mô
phỏng cho thấy sai số giữa mô hình và đối tượng là rất nhỏ.

PDF created with FinePrint pdfFactory Pro trial version


TÀI LIỆU THAM KHẢO
[DucLiu] Duc Truong Pham & Liu Xing, Neural networks for Identification,
Prediction and Control, Springer-Verlag London Limited, 3rd printing, 1997.
[DTSahin] D.T. Pham & Sahin Yildrim, Design of a Neural Internal Model Control
System for a Robot, Volume 18, pp. 505-512, Cambridge University Press,
(2000).
[EricPeter] Eric Ronco & Peter J. Gawthrop, Neural networks for Modelling and
Control, Centre for System and Control, Department of Mechanical
Engineering, University of Glasgrow, Technical report: CSC97008, 1997.
[HowMark] Howard Demuth & Mark Beale, Neural Network ToolBox User's
Guide Version 4.0, The MathWorks, Inc., 2000.
[LMTrung] Lê Minh Trung, Giáo trình Mạng Nơron nhân tạo, Nxb Thống kê,
1999.
[NCNgon] Nguyễn Chí Ngôn, Điều khiển Mô hình nội & Neural Network, Luận án
cao học, ĐHBK - ĐH Quốc gia Tp. HCM, 2001.
[NĐThuc] Nguyễn Đình Thúc, Trí Tuệ Nhân Tạo - Mạng Nơron Phương pháp và
Ứng dụng, Nxb Giáo dục, 2000
[NHPhg] Nguyễn Hoàng Phương, Bùi Công Cường, Nguyễn Doãn Phước, Phan
Xuân Minh & Chu Văn Hỷ, Hệ mờ và Ứng dụng, phần 4: Mạng Nơron, Hệ

thống Nơron mờ và ứng dụng (pp. 311-414), Nxb Khoa học Kỹ thuật, 1998.
[OmiDavid] Omid Omidvar & David L. Elliott, Neural Systems for Control,
Acadamic Press, 1997.

PDF created with FinePrint pdfFactory Pro trial version



×