Professional Documents
Culture Documents
Ứng dụng mạng nơ ron trong điều khiển
Ứng dụng mạng nơ ron trong điều khiển
Trong bi ny ti xin trao i mt s ch tn mn v mng n ron v ng dng trong iu khin. Hin nay
c nhiu sch v ti liu bng ting Anh vit v l thuyt mng n ron, nhng c l sch v ti ting Vit cn
kh t. Cc bn c th tm c tm tt l thuyt mng n ron trong mc 10.3 H thng iu khin mng n ron,
Chng 10 Thit k h thng iu khin thng minh trong cun Cng ngh iu khin tin tin ca tc gi
Roland
S.
Burns.
Mun thit k c h iu khin dng mng n ron, trc ht chng ta cn hiu c nguyn l ca mng n
ron. Chng ta hy xt mt mng n ron n gin gm ba lp: lp vo (input layer) c 2 n ron, lp n (hidden
layer) c 3 n ron v lp ra (output layer) c mt n ron nh c minh ha trong hnh sau (xem thm V d
10.4 trong 10.3 H thng iu khin mng n ron):
Gi thit rng mng n ron ny c hun luyn dng thut ton lan truyn ngc (BPA). Tn hiu vo
v
ln lt c gi tr 0.2 v 0.6 v u ra mong mun
= 1. Cc trng lng (
) v sai lch ( ) c
cho
nh
sau:
Lp n (l=1):
Lp ra (l=2):
S dng MATLAB (khng dng Neural Network Toolbox), hy tnh u ra v t tnh cc gi tr mi cho
cc trng lng v sai lch. Gi thit l tc hc tp l = 0.5 v hm kch hot sigmoid c dng sau:
--Gii-Lan
truyn
thng
hoc:
(1)
v
(2)
Lp u ra (l = 2):
(3)
(4)
Lan
truyn
ngc
V j = 1 nn:
(6)
Quy
tc
en
ta:
minh ha phng trnh ny, nu c hai n ron trong lp (l + 1), ngha l lp u ra, th nhng gi tr
cho lp (l + 1) c th c tnh. V vy, i vi lp l (lp n), nhng gi tr
v
l:
1:
2:
3:
. Do vy nhng gi tr cho lp
l:
j = 1:
j = 2:
(8)
j = 3:
vy,
dng
quy
tc
en
ta,
gia
trng
lng
cho
lp
l:
T cc tnh ton trn, chng ta c th s dng cc lnh MATLAB tnh cc trng lng v sai lch cho cc
lp nh sau:
matlab code
1.
2. % Vidu01.m
3.
4. x = [0.2;0.6];
5. Wi = [1.0 1.5;0.5 2.0;2.5 3.0];
6. bhj = [1.0;-0.5;1.5];
7. Wj = [3.0 2.0 1.0];
8. boj = -4;
9. dj = 1;
10. eta = 0.5; % learning rate
11.
12. % Calculate yj and new values for the weights and bias, assuming that
13. % learning rate eta = 0.5
14. % Forward propagation:
15. %L = 1;
16.
17. s = Wi*x + bhj
18.
19. y = 1./(1+exp(-s))
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
s1 = Wj*y+boj
y1 = 1./(1+exp(-s1))
% Back propagation
del=y1*(1-y1)*(dj-y1)
% Delta rule:
xx = [1;y]
delw = eta*del*xx
newWj = Wj+delw(2:4)'
newboj = boj+delw(1)
% Hidden layer
delh = (y.*(1-y)).*(newWj'*del)
newxx = [1;x]
% Using the delta rul, the weight increments for hidden layer
% are calculated by:
Delhw = eta*delh*newxx'
% New weights and biases for the hidden layer:
newWi = Wi+[Delhw(2,:)' Delhw(3,:)']
newbhj = bhj + Delhw(1,:)'
1.5006
2.0001
3.0003
--Ch :-- Chng trnh MATLAB trn ch minh ha cc bc tnh cho m hnh mng n ron c th trn.
lp chng trnh cho mt mng n ron tng qut chng ta cn phi lp cc hm cn thit cho thut ton
mng n ron. Nu s dng Neural Network Toolbox trong MATLAB chng ta c cc cng c lp cc
chng trnh m phng mng n ron. Nu bn c Neural Network Toolbox hy dng lnh sau xem chi tit v
hp cng c ny ca MATLAB:
matlab code
1.
2. >> help nnet
3.
Qua v d ny, chng ta c th tm tt thut ton mng n ron s dng thut lan truyn ngc nh sau:
--Bc 1-- Tng n ron n:
(10)
(15)
Qu trnh tip din cho n khi tha mn mt iu kin no , v d (theo Burns, 2001):
(i) ch s c tnh J t ti gi tr thp chp nhn c
(ii) mt s m lp cc i (s cc epochs) c vt qu
(iii) mt chu k (khong, period) thi gian hun luyn (rn luyn) c vt qu.
i vi (ii) hoc (iii) c th nh v c cc im cc tiu cc b. Theo nhng iu kin ny th BPA c th
s ti bt u, v nu li khng thnh cng, c th cn mt tp hp rn luyn (training) mi.
Cc hm kch hot (activation functions) c th s dng l:
1. Gii hn cng (hard limiting) (bc thang n v, unit step)
2. Tuyn tnh (linear) (tng u, ramp)
3. Tang hyperbolic (hyperbolic tangent)
4. Sigmoid hoc log-sigmoid
ng
mng
ron
trong
iu
khin
By gi chng ta hy th lm thm hai bi tp n gin sau (trch t cun Cng ngh iu khin tin tin
trn).
==Bi
tp
1==
Mt mng n ron c cu trc nh trong sau. Gi thit rng tt c cc hm kch hot l sigmoids, tnh cc gi tr
v
khi
cc
u
vo
l:
(a)
(b)
,
,
khi
trng
lng
sai
lch
l:
Lp
,
Lp
ra
,
--Tr
(a)
(b)
li-,
,
--Gii-C nhiu cch biu din mng n ron. gii bi tp ny ti th v li m hnh mng n ron nh trong hnh
sau c th s thy d hiu hn:
Hnh 2: Mng n ron c hai lp: hai u vo, lp 1 (n) c 3 n ron, lp 2 (ra)
c hai n ron
2. % Baitap01.m
3.
4. %x = [0.3;0.5];
5. x = [0.9;0.1]
6. W1 = [1.0 2;3 3;2 1];
7. b1 = [2.0;-2;1];
8. W2 = [-3 -2 1;1 2 3];
9. b2 = [3;-3];
10. % desired outputs and learning rate:
11. %d = [0;1];
12. %eta = 0.5;
13.
14. % Forward propagation:
15.
16. s1 = W1*x + b1
17.
18. y1 = 1./(1+exp(-s1))
19.
20. s2 = W2*y1+b2
21.
22. y2 = 1./(1+exp(-s2))
23.
kt
qu
a) tn hiu vo l:
matlab code
1.
2. x
3.
= [0.3;0.5];
th
matlab code
1.
2. y2 =
3.
0.4502
4.
0.8623
5.
b) tn hiu vo l:
matlab code
1.
tnh
c:
2. x
3.
= [0.9;0.1];
th
matlab code
1.
2. y2 =
3.
0.4049
4.
0.9057
5.
--Tr
Lp
,
,
Lp
n:
,
,
Cc bn hy s dng my tnh tay (calculator) v giy nhp gii hai bi tp trn v sau dng MATLAB
cho ra cng kt qu th ti tin rng cc bn hiu c mng n ron. V sau khi hiu c mng n ron
trn, cc bn hy lm tip bi tp sau (Bi tp 3) hi phc tp hn mt cht. Lm bi tp sau l trang b
thm hnh trang tin ti thit k mt b iu khin mng n ron n gin cho mt i tng no .
--Gii
(BT2)- cp nht cc ma trn trng lng v sai lch thut bng thut ton lan truyn ngc ngi ta c th s dng
mt phng php ti u (v d sai s bnh phng nh nht). Thut lan truyn ngc dng hun luyn
mng n ron, ni nm na l iu chnh cc ma trn trng lng v sai lch trong cc lp. Thut ton lan truyn
(s dng phng php sai s bnh phng nh nht, hay theo Burns (2001) l phng php ti u ha gradient
gim (gradient-descent optimization method), thng qua Quy tc Delta vi tc hc tp v hm kch hot
sigmoid) c minh ha trong hnh sau:
Hnh 3: Minh ha thut ton lan truyn ngc cho mng n ron
Hnh 4: Minh ha thut ton lan truyn ngc cho mng n ron
1.
2. % Baitap02.m
3.
4. %x = [0.3;0.5];
5. x = [0.9;0.1];
6. W1 = [1.0 2;3 3;2 1];
7. b1 = [2.0;-2;1];
8. W2 = [-3 -2 1;1 2 3];
9. b2 = [3;-3];
10. % desired outputs and learning rate:
11. d = [0;1];
12. eta = 0.5;
13.
14. % Forward propagation:
15.
16. s1 = W1*x + b1
17.
18. y1 = 1./(1+exp(-s1))
19.
20. s2 = W2*y1+b2
21.
22. y2 = 1./(1+exp(-s2))
23.
24. % Back propagation algorithm:
25. % Output layer:
26. e = y2.*(1-y2).*(d-y2)
27. Dw2 = (eta.*e)*y1'
28. W2new = W2+Dw2
29. Db2 = (eta.*e).*[1;1]
30. b2new = Db2+b2
31.
32. % Hidden layer:
33. e1 = (y1.*(1-y1)).*(W2new'*e)
34. Dw1=(eta.*e1)*x'
35. W1new = W1+Dw1
36. Db1 = (eta.*e1).*[1;1;1]
37. b1new = Db1+b1
38.
thu
--Lp
Sai s:
= [0.9;0.1];
kt
ra
qu:
(2):--
matlab code
1.
2. e =
3.
-0.0976
4.
0.0080
5.
-2.0357
2.0029
0.9538
3.0038
--Lp
Sai s:
matlab code
1.
2. e1 =
3.
0.0126
4.
0.0422
5.
-0.0034
6.
2.0006
3.0021
0.9998
(1):--
S
n
ron
lp
S
n
ron
lp
S
n
ron
lp
Tng
s
kiu
mu
tn
Hm
kch
hot
f(s)
Ch s c tnh (performance index) (tng bnh phng sai s):
vo
n
ra
hiu
l
=
=
=
vo
hm
5
10
2
32
sigmoid
nh
gi
tha
mn
iu
kin
<=
tol
0.1
trong
qu
trnh
hun
luyn.
Cc trng lng (weights) v sai lch (biases, cng c ti liu gi l ngng, thresholds):
Lp n:
matlab code
1.
2. W1 =
3.
0.5102
4.
0.8221
5.
0.8030
6.
0.9049
7.
0.9223
8.
0.0011
9.
0.7871
10.
0.9070
11.
0.5646
12.
0.4710
13.
0.7140
0.3178
0.6678
0.2822
0.5612
0.5418
0.6186
0.7586
0.7672
0.2028
0.5152
0.5877
0.0136
0.0650
0.6523
0.0069
0.0155
0.3807
0.7799
0.5796
0.6059
0.1302
0.5616
0.4766
0.7727
0.4513
0.8909
0.3311
0.4841
0.6665
0.9667
0.2544
0.4546
0.9837
0.1062
0.1957
0.7617
0.5041
0.8022
0.6768
Ch : W1 c chn ngu nhin s dng mt hm ngu nhin (eg. rand trong MATLAB): W1=WD*rand
(WD l mt h s t chn WD).
matlab code
1.
2. b1 =
3.
0.9000
4.
0.9000
5.
0.9000
6.
0.9000
7.
0.9000
8.
0.9000
9.
0.9000
10.
0.9000
11.
0.9000
12.
0.9000
13.
Lp ra:
matlab code
1.
2. W2 =
3. 0.9425 0.7701 0.7374 0.8663 0.9909 0.5039 0.6291 0.7926 0.4486 0.5244
4. 0.1715 0.1307 0.2188 0.1055 0.1414 0.4570 0.7881 0.2811 0.2248 0.9089
5.
Ch : cng ging nh trn, W2 c tnh bng mt hm ngu nhin, ngha l W2=WD*rand (WD t chn).
matlab code
1.
2. b2 =
3.
0.9000
4.
0.9000
5.
1. S dng 32 kiu mu khc nhau v thut ton lan truyn ngc hy lp chng trnh hun luyn cho mng
n ron trn cho n khi ch s c tnh t ti gi tr nh hn tol = 0.1 th dng chng trnh (eg. s ln lp N
= 10000). V th ch s v s ln lp (c th dng semilogy trong MATLAB). Dng d liu ban u sau:
Tn hiu vo:
matlab code
1.
2. x =
3.
0.1000
4.
0.1000
5.
0.1000
6.
0.1000
7.
0.1000
8.
0.1000
9.
0.1000
10.
0.1000
11.
0.1000
12.
0.1000
13.
0.1000
14.
0.1000
15.
0.1000
16.
0.1000
17.
0.1000
18.
0.1000
19.
0.9000
20.
0.9000
21.
0.9000
22.
0.9000
23.
0.9000
24.
0.9000
25.
0.9000
26.
0.9000
27.
0.9000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.9000
0.1000
0.1000
0.1000
0.1000
0.9000
0.9000
0.9000
0.9000
0.1000
0.1000
0.1000
0.1000
0.9000
0.9000
0.9000
0.9000
0.1000
0.1000
0.1000
0.1000
0.9000
0.9000
0.9000
0.9000
0.1000
0.1000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
28.
29.
30.
31.
32.
33.
34.
35.
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.1000
0.1000
0.1000
0.9000
0.9000
0.9000
0.9000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
of
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.1000
0.9000
0.9000
0.9000
0.1000
0.9000
0.1000
0.1000
0.1000
0.9000
0.9000
0.9000
0.1000
0.9000
0.1000
0.1000
0.1000
0.9000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
2. Sau khi hun luyn mng n ron trn xong, cho tn hiu vo x = [0.15 0.85 0.10 0.95 0.05]', hy tnh cc tn
hiu
ra
y.
Lm xong bi tp ny chng ta s lp trnh tng qut thut ton mng n ron thnh mt hm s, v t chng
ta c th s dng hm s ny chy chng trnh cho bt k mt mng n ron no cng cu trc.
Cc bn quan tm hy cng vi ti gii bi tp ny v sau s so snh kt qu. Bn c th s dng MATLAB
hoc
cc
ngn
ng
khc
m
bn
s
dng
quen.
--Gii-(Tn hiu
Chng
Chng
(xin
ra
sau
xem
khi mng n
trnh
trnh
phn
ron
c hun
mu
mu
sau
luyn: y
bng
[0.10136
bng
trang
0.89999])
MATLAB
C
cui)
Bi tp nguyn vn bng ting Nht (rt may anh bn Nht tm li c cho, va nhn c hm nay
25.6.2007),
ai
bit
ting
Nht
c
th
tham
kho:
Trang 1:
Trang 2:
==Bi
tp
4==
Thit k mt b iu khin mng n ron (neural network autopilot) cho tu thy s dng m hnh Nomoto bc
nht:
= gc bnh li (rad) v
= gc
Trc khi gii, chng ta kim tra c tnh iu ng tu (vng quay tr vi gc bnh li bng 10 ) nh hnh
sau:
tp
(additional
exercise)==
(2)
trong v
l cc tham s h thng ca tu, v l hm s ca vn tc chy ti ca tu
l khng i) v chiu di tu :
(coi
(3)
(4)
Ch : Theo Passino (2005), m hnh 5 thu c bng cch tuyn tnh ha phng trnh chuyn ng xung
quanh gc bnh li bng khng (
). Do vy, gc bnh li khng vt qu 5 , nu khng c gii hn
ny th m hnh khng cn chnh xc na. Vi mc ch thit k h thng my li t ng vi gc bnh li ln
hn 5 , do vy chng ta cn s dng m hnh thch hp hn. M hnh trn c m rng thnh m hnh sau:
(6)
trong
l hm phi tuyn ca
. Hm
trong
nh sau:
(7)
trong v
thit
rng
Cc
l cc hng s thc v
gc
bnh
li
tham
(tu
Gi
chy
thit
vi
tu
tu
vn
chy
(hoc
tc
trong
. Chng ta cng gi
radians).
nh
ti
hai
khng
iu
sau:
i)
kin:
Chy
ba
lt:
Chy
ti:
Bn c th s dng phng php tch phn s phng php Euler hoc Runge-Kutta. Vi gc bnh li
, s dng phng php Runge-Kutta bc 4 (vi thi gian tch phn 1000 giy, bc tch phn
(integration step size) h = 1 giy) thu c kt qu (tu quay tr xon c) nh sau:
Passino, K.M. (2005). Biomimicry for Optimization, Control, and Automation. Springer-Verlag London.
Ti ang gng din gii v mng n ron theo cch thc d hiu nht. Cc bn xem hnh sau, mng n ron
cho Bi tp 3.
Trong cc sch vit v mng n ron c l cun Neural Network Design v ti liu hng dn s dng Neural
Network Toolbox User's Guide l d hiu nht. Ti tham kho hai cun ny v hnh din gii cho Bi tp
3. Nguyn l nh sau:
1. Ban u phi chy mt chng trnh khi ng mng n ron, tc l t cc gi tr ban u cho mng bao
gm cc gi tr u vo (x(0), cc ma trn trng lng (W(0)) v sai lch (b(0)) cho cc lp, v tn hiu mong
mun (d(0)), gi tr ch s c tnh mc tiu (Tol).
2. So snh u ra vi tn hiu mong mun (cng c gi l 'tn hiu thy " hoc mc tiu (target)), chy
chng trnh hun luyn mng n ron cho n khi tha mn iu kin tr s c tnh nh hn gi tr mc tiu,
cc gi tr trng lng v sai lch cho cc lp c cp nht W1(k), b1(k), W2(k), b2(k) th mng n ron bt
u lm vic n nh.
3. Khi c cc gi tr trng lng v sai lch mi th tn hiu vo mi s c tnh ton c u ra c gi tr
bng gi tr mong mun. Trong trng hp gi tr u ra khng bng gi tr mong mun th thut ton hun
luyn tip tc lm vic duy tr gi tr u ra bng vi gi tr mong mun.
4. Khi gi tr mong mun thay i th ton b mng s li c hun luyn u ra t c gi tr mi.
Khi p dng mng n ron trong cc thut ton khc nhau v d nh c lng (estimation) v nhn dng h
thng (system identification), nhn bit kiu mu (pattern recognition) hoc iu khin vn quan trng nht
l cch la chn mng, la chn cc lp v la chn cc gi tr ca cc ma trn trng lng v sai lch sao cho
ph hp. Do vy khi tm hiu thut ton s dng mng n ron chng ta s thy c rt nhiu kiu p dng khc
nhau. Mng n ron cng c th c kt hp vi nhng thut ton khc c mt thut ton tt hn.
tp
6==
Em vit li ci code ny chy th th thy n th chy ht 10000 ln ch khng chu thot khi vng lp bi
iu kin J<0.001.Em th v d 1 th n vn cn ng, c sai khc t cht nhng c bn vn cng bc.Em cng
th dng mng n tron xp x hm ri, nhng khng bit v sao n khng bm hm c, lc u em khng
thay i hm kch hot, vn l hm sigmoid nn n b chn, sau em thay bng hm tuyn tnh n c ung
o theo mt t nhng vn khng bm tt c, em tng s vng lp ln tnh hnh vn khng khc my.Nu
c th anh cho em mt v d anh nh!Cn y l ci code trn:
matlab code
1.
2.
3.
4.
5.
%===
clc
clear
xmau
=
[0.1000
0.1000;
6.
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.9000;
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000]';
36. d = [ 0.1000
37.
0.1000
38.
0.1000
39.
0.1000
40.
0.1000
41.
0.1000
42.
0.1000
43.
0.9000
44.
0.1000
45.
0.1000
46.
0.1000
47.
0.9000
48.
0.1000
49.
0.9000
50.
0.9000
51.
0.9000
52.
0.1000
53.
0.1000
54.
0.1000
55.
0.9000
56.
0.1000
57.
0.9000
58.
0.9000
59.
0.9000
60.
0.1000
61.
0.9000
62.
0.9000
0.1000
0.1000
0.1000
0.1000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.1000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000
0.9000;
0.9000;
0.9000;
0.9000;
0.9000;
0.9000;
0.9000;
0.1000;
0.9000;
0.9000;
0.9000;
0.1000;
0.9000;
0.1000;
0.1000;
0.1000;
0.9000;
0.9000;
0.9000;
0.1000;
0.9000;
0.1000;
0.1000;
0.1000;
0.9000;
0.1000;
0.1000;
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000
0.1000
0.9000
0.9000
0.1000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000;
0.1000;
0.9000
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
0.9000
0.9000
0.9000
0.9000
0.9000
0.1000;
0.1000;
0.1000;
0.1000;
0.1000]'
;
L=3;
g=inline('1./(1+exp(-x))');
sodv=[5 10 2];
eta=0.5;
J=1;
dem=0;
for i=1:L-1
for n=1:sodv(i)
for m=1:sodv(i+1)
w{i}(m,n)=1*rand;
end
end
for m=1:sodv(i+1)
b{i}(m,1)=1*rand;
end
end
w{L}=ones(sodv(L));
w{1:2}
b{1:2}
while (J>0.001)& dem<10
dem=dem+1;
J=0;
for k=1:length(xmau)
x{1}=xmau(:,k);
for i=1:L-1
s{i}=w{i}*x{i}+b{i};
s{i}
x{i+1}=g(s{i});
x{i+1}
end
e=d(:,k)-x{3}
J=J+sum(e.^2);
for i=L-1:-1:1
e=(x{i+1}.*(1-x{i+1})).*(w{i+1}'*e)
deltw{i}=(eta.*e)*x{i}';
w{i}=w{i}+deltw{i};
deltb{i}=(eta.*e).*ones(sodv(i+1),1);
b{i}=b{i}+deltb{i};
end
end
J=J/2;
end
c c ci nhn bao qut v ng dng mng n ron trong iu khin chng ta tm i v tr hai bi tp 4
v 5 cho nhau. Chng ta hy gii Bi tp 5 trc. gii bi tp ny trc ht cc bn hy tham kho v d
trong mc 4.3 Design Example: Multilayer Perceptron for Tanker Ship Steering (Passino, 2005).
--Gii
Bi
tp
5--
Trc khi gii bi tp ny vi mt thut ton iu khin s dng mng n ron, chng ta hy xem xt phng
php thit k ca tc gi Passino (1996) s dng mng n ron cm gic a lp nh th no . c th hiu
c qu trnh thit k v m phng my li t ng dng mng n ron ti xin tm lc li kt qu m Passion
lm, v sau s pht trin thm mt my li t ng dng mng n ron kiu khc (c th ni s phc tp
hn). Ti trnh by tm tt li v d ny t khu kho st i tng c iu khin l tu du c chiu di 350
mt
cho
n
cc
khu
thit
k
my
li
t
ng.
--M
hnh
tu--
Nhm hiu c ng hc tu thy, chng ta p dng cc nh lut c hc Newton cho chuyn ng ca tu.
i vi tu mt nc nh tu du, chng ta c th b qua cc chuyn ng theo trc thng (trt ng, heave),
chuyn ng quay quanh trc x (lc ngang, roll), v chuyn ng quay quanh trc y (lc dc, pitch). Chng ta
ch xt ti ba chuyn ng trong mt phng nm ngang (trn b mt tri t) l chuyn ng trt thng
(surge), trt ngang (sway) v quay tr (yaw). My li t ng l mt h thng iu khin hng tu hay gc
quay tr (yaw angle). Hng tu c iu khin bng bnh li. Do m hnh tu du c s dng cho vic
thit k my li t ng l m hnh ton biu din mi quan h gia gc bnh li ( v gc quay tr .
Trong h ta bc ng (north-earth, c trc tung hng v pha bc - trng theo hng tnh v , v trc
honh hng v pha ng - trng theo hng tnh kinh ), m hnh n gin biu din chuyn ng quay tr
ca tu nh sau:
(1)
(2)
trong
,
,
v
l cc tham s h thng v l hm s ca vn tc trt dc ca tu
chuyn ng theo trc x vi vn tc khng i) v chiu di tu v c tnh nh sau:
trong
cc
gi
tr
th
chn
cho
tu
du
Astrom
(gi thit tu
Wittenmark
(1995):
trn
v
ngc
li
HA).
Vn
tc
tu
l
(m/s).
phn
sau
cch
rt
ra
hnh
khng
gian
trng
thi)
Theo Passio (1996), m hnh (1) hoc (2) trn l phng trnh rt ra t vic tuyn tnh ha cc phng trnh
chuyn ng xung quanh gc bnh li bng khng (
). Do vy ch ng cho cc gc bnh li nh khng
qu 5 , nu khng m hnh ny khng cn chnh xc na. thit k my li t ng s dng mng n ron
cm gic a lp Passino (1996) s dng m hnh phi tuyn m rng thch hp hn vi nhng gc bnh li
ln hn 5 . M hnh phi tuyn m rng c m t nh sau:
(3)
trong
l mt hm phi tuyn ca
. Hm
c th c xc nh t mi quan h gia v
trong
v l cc hng s c gi tr thc v
hnh
khng
gian
trng
thi
ca
hnh
tuyn
tnh:
thit k v m phng tu du ny, chng ta cn bin i phng trnh (tuyn tnh) cho phn trc thnh
nhiu dng khc nhau. Chng ta hy tm m hnh khng gian trng thi ca m hnh tu bng cch vit li
phng trnh trn nh sau:
(1)
trong
Theo Ogata (2002, 4th Ed.) (hoc bn 3rd trang pp.76-80), m hnh khng gian trng thi ca h ny c
tnh nh sau (lc qua cc bc bin i):
Nu chng ta th xt kh nng iu khin v kh nng quan st ca h ny chng thy rng h c biu din
bng m hnh khng gian trng thi ny khng c kh nng iu khin (rank(M) = 2 < 3, s bin trng thi).
Khi lm m phng bng Simulink chng ta c th tch ra thnh hai thnh phn nh sau:
***
Xem
Phn
m
y:
MATLAB
TankerPassino.m
****
(211
views).
Trong phn trn chng ta c hm truyn ca tu du, chng ta c th kho st c tnh & tnh n nh ca
tu (da vo hm truyn h m m t mi quan h gia hng tu vo gc bnh li) s dng cc phng php
kho st nh biu Bode, biu Nyquist, phng php qu o nghim s. Ti ch tr trng v phng
din thc hnh, nn xin b qua phn l thuyt "nhc u" ny! Bng MATLAB v Simulink cc bn c th d
dng
kho
st
c
tnh
n
nh
ca
tu
***
Ht
phn
*****
Bn c c th t lp chng trnh m phng cho tu du s dng m hnh tuyn tnh. Trong phn sau ti trnh
by tm tt chng trnh m phng ca Passino (1996) s dung m hnh phi tuyn.
S dng m hnh phi tuyn, chng ta s bin i li. Gi thit rng h phi tuyn c dng sau:
trong
l vc t trng thi v
l vc t hm phi tuyn, g
l hm phi tuyn nh x trng thi v u vo ln u ra ca h thng, v
l trng thi ban u. Ch
rng f v g l cc hm bin thin theo thi gian do ph thuc r rng vo bin thi gian t. m phng (gii
phng trnh) h phi tuyn, chng ta c th s dng cc phng php s nh Phng php Euler, Phng
php
Runge-Kutta
(xin
xem
thm
ti
liu
tham
kho
Ton
ng
dng(*)).
trong
thuc vo
. Chng ta cn la chn
v
v vi i = 1, 2, 3. Chng ta c:
sao cho
ch ph
Chn:
(2)
sao cho
khng ph thuc vo
Lc chn
sao cho
chng ta phng trnh c dng nh sau:
Nhng v
. S la chn ny cho
nn:
Chng ta c
. iu ny c ngha rng
hoc
Gii
Bi
tp
(tip)
Mng n ron nhn to c to ra t tng p dng mng n ron sinh hc. Vy th bn cht
ca mt mng n ron nhn to hot ng nh th no khi c p dng vo h thng iu khin?
c th hiu nguyn l ng dng mng n ron cho h iu khin t ng chng ta hy th
im qua c ch hot ng ca h thn kinh sinh hc. im c bn ca mng n ron sinh hc (v
d ca con ngi) l khi mi sinh ra h thng thn kinh ca em b c hnh thnh nhng
dng n gin nht, c th tm ni l cha bit lm c g c. H thng thn kinh ca mt con
ngi pht trin trong qu trnh sinh trng v c rn luyn qua trng hc (gio dc), qua
sinh hot x hi v qua mi quan h ca con ngi trong mi trng sng. Nh vy c th ni,
"u ra" ca mt con ngi (s ng x, thao tc chuyn mn...) ph thuc rt nhiu yu t: "u
vo", mi trng sng... c bit l mi trng hc tp v c hun luyn (t cc thy c gio).
tng to ra mng n ron nhn to l t nguyn l hot ng ca h thng n ron sinh hc, tt
nhin mng n ron nhn to n gin hn rt nhiu so vi mng n ron sinh hc, nhng n c
"tha hng" hai yu t quan trng nht l "hc tp" v "hun luyn" "trng thnh" v c
th lm c vic m con ngi ta mong mun! Ngha l mun p dng c mng n ron nhn
to vo trong mt lnh vc no ni chung, v trong h iu khin t ng ni ring th iu
quan trng quyt nh cho s thnh cng l "kh nng hc tp" ca mng (ph thuc vo cu trc
mng v cc bin s la chn cho u vo) v "chng trnh v phng php ging dy" (thut
ton
hun
luyn).
Trong qu trnh pht trin mng n ron nhn to, cho ti thp nin 80s tng chng b tc
nhng do c mt s tc gi khai thc c tng "hun luyn" (training hoc adaptation lm thch ng) mt mng n ron nhn to bng thut ton "lan truyn ngc" (back propagation)
v t cc tc gi i sau pht trin mng n ron theo cc hng tm ti v pht trin
"chng trnh hun luyn" cho mng n ron ng thi vi s h tr ca my tnh lm cho lnh
vc
mng
n
ron
hi
sinh.
T tng trn, chng ta s thy rng khi ng dng mng n ron vo h thng iu khin t
ng, c rt nhiu phng php khc nhau. Khi mng n ron c kt ni vi i tng c
iu khin (plant) th li c cc cch kt ni khc nhau. Do vy chng ta c th hnh dung c
rng h iu khin s dng mng n ron s phong ph v a dng n nhng no. Nh vy t
khi mng n ron c hi sinh, c rt nhiu ngi ngi th ng dng mng n ron vo vic
thit k h thng iu khin t ng cng nh trong cc lnh vc khc nhau, ngy nay chng
ta c th thy c rt nhiu cc cng trnh nghin cu cng nh cc sch khc nhau v mng n
ron.
tip cn ti ng dng mng n ron trong h iu khin chng ta hy theo hng tip cn t
n gin ti phc tp. Chng ta hy xem xt mt h iu khin mng n ron n gin s dng
mng n ron cm gic a lp v sau s xem xt mt s h iu khin mng n ron phc tp
hn.
Thit k b iu khin dng mng n ron cm gic a lp n gin (Passino (1996)
Trong v d ny tc gi Passino (1996) s dng mng n ron cm gic a lp (multilayer
perceptron neural network) cho b iu khin hng tu. S nguyn l my li t ng c
minh ha trong hnh sau:
Ch thch: 1. hidden layer = lp n (c 3 lp), 2. output layer (lp ra); 3. linear activation
function = hm kch hot tuyn tnh; 4. logistic sigmoidal activation function = hm kch hot
sigmoid.
La
chn
cu
trc
lp
u
v
tin
ln , u
. Do vy, chng ta
thm
trong
Passino)
La chn trng lng v sai lch (biases) (ngng, thresholds): xy dng cc c tnh phi tuyn
bng
cc
hm
bc
thang
trn
Tip theo, chng ta gii thch cch la chn trng lng v sai lch cho cc lp cn li. lm
c vic ny, hy xem mng n ron trong Hnh trn c hai ng truyn (2 paths) qu trnh
x l tn hiu e ca lp n u tin ti u ra . Tng tng rng bn tch ng truyn pha
di v xt k cu trc ca ng truyn pha trn. Chng ta s suy ngh v ng truyn pha
trn c dng iu chnh hng tu khi:
Trong trng hp ny, chng ta mun c mt tn hiu bnh li m (negative). Hy xt Hnh 4.8
(Passino 1996) m bn s thy rng gc bnh li dng (positive) s lm gim hng tu v
bnh li m s lm tng hng tu . Do vy nu
th chng ta co
do vy
chng ta cn tng hng tu ln. Chng ta s dng gc bnh li m. Tip theo, hy ch rng
i vi cc gi tr ln hn ca
chng ta cn cc gi tr ln hn lm gim hng tu nhanh. Vy chng ta s chn cc trng
lng v sai lch trong ng truyn pha trn nh th no thc hin kiu hnh ng iu
khin
ny?
xc nh cc gi tr cho trng lng v sai lch, chng ta hy ngh rng mi n ron lm nhim
v cung cp mt kiu o mch trn (smooth switching) (mt hm bc thang trn c cho
trong Hnh 4.6, v d, hm sigmoid) v iu chnh cc trng lng v sai lch xy dng cc
nh xc iu khin phi tuyn. Ch rng khi ch xt ti ng truyn pha trn chng ta c:
trong
Cc tham s trong phng trnh ny nh hng ti hnh dng phi tuyn t sai s e ti theo cch
sau:
:
,
,
di
:
chuyn
cn
nh
chnh
x
trc
ln
xung.
thng
ng
Vi nhng la chn ny chng ta c nh x phi tuyn c cho trong th pha trn cng
Hnh 1.11. Hnh dng tng qut ca hm thch hp dng lm b iu khin cho
v n
to ra dng t l gia ln ca e v ln ca . Ch rng s la chn
cho kt qu
lm tng ln, nn nu
iu
khin
trong
trng
p
m
.
Tip theo hy xt ng truyn pha di trong Hnh 4.10 (tng tng tc ra khi ng truyn
pha trn) c dng cho trng hp
. S dng nhng tng tng t la chn cc
tham s trn, chng ta hy chn:
Tnh phi tuyn thu c c thc hin trong ng truyn bn di c trnh din trong
th gia ca Hnh 4.11. Trc ht, ch rng hnh dng tng qut ca th ph hp dng lm
b iu khin cho trng hp m
; khi ln ca e tng theo hng m, cc gi tr dng
tng lin tc ca gc bnh li c to ra gng lm gim gi tr ca ti gi tr cho ca
. Cc gi tr ca
La chn cho
hon thnh vic xc nh lp ra, n gin l tnh tng cc hm c to ra bi
ng truyn trn v di, cho kt qu nh x ton b t e ti nh c biu din trong Hnh
4.11 (ngha l khi c ng truyn trn v di trong Hnh 4.10 c dng). Ch rng do s
i xng trong cc la chn ca chng ta, e = 0 c rng
sao cho tu chy theo hng
ng (thng), bnh li khng phi iu chnh hng. S la chn ny hon thnh cu trc ca
mng
n
ron
cm
gi
a
lp
iu
chnh
hng
tu.
(xem
thm
Chng
trnh
trong
m
phng
Passino)
(Passino
1996)
Da trn nhng phn tch trn, Passino (1996) lp chn trnh m phng c kt qu nh sau.
Xem
Kt
y:
qu
tanker_mlpautopilot.m
m
(184
views)
phng
(xem thm cc phn nh gi v phn tch h iu khin mng n ron cm gic a lp trong
Passino (1996)).
Nhn
xt
T bi ton thit k m phng h iu khin dng mng n ron v kt qu m phng trn chng ta thy:
1. Bi ton minh ha c tng ca vic ng dng mng n ron trong cho h iu khin. Phng php
ny
l
kt
ni
trc
tip
mng
n
ron
vi
i
tng
iu
khin.
2.
Mng
ron
mi
ch
hot
ng
trn
ng
truyn
thng.
3. Mng n ron cha c thut ton hun luyn, cc trng lng v sai lch cha c lm mi.
4.
ng
(hng
tu)
cha
tt
lm.
Qua m phng thy m hnh phi tuyn ca tu du c c tnh quan h gia gc bnh li v hng tu kh c
bit, vi mt gc bnh li c nh gc quay tr mang gi tr m v qu o (vng quay tr) ca tu c dng
xon c. Khi cc bn thit k my li t ng dng lut PID cho m hnh tu ny khng phi d dng.
H ta dng cho tu c cho nh trong hnh sau:
Hnh 1: H ta tu du trong mt
phng nm ngang
Gii
Bi
tp
:
Xanh
en
[[file
tn
lin:
t
>>
hiu
p
on:
tham
ng
p
s
chiu
bng
ng
cp
bng
nht
(mong
NN-based
PID
sau
mun)
autopilot
autopilot
>>
H iu khin mng n ron thch nghi vi tng tc thch nghi (adaptive interaction) with a constant
learning
rate
H
iu
khin
mng
ron
dng
thut
ton
lan
truyn
ngc
H iu khin mng n ron s dng thut ton tng tc thch nghi bin i tham s (with a timevarying learning rate)
mng n ur v hm n w
P=[-1 -1 2 2;0 5 0 5]
T=[-1 -1 1 1]
alphabet = P;
targets = T;
[R,Q] = size(alphabet);
[S2,Q] = size(targets);
S1 = 10;
net = newff(minmax(alphabet),[S1 S2],{'logsig' 'logsig'},'traingdx');
net.LW{2,1} = net.LW{2,1}*0.01;
net.b{2} = net.b{2}*0.01;
net.performFcn = 'mse';
net.trainParam.goal = 0.1;
net.trainParam.show = 20;
net.trainParam.epochs = 5000;
net.trainParam.mc = 0.95;
P = alphabet;
T = targets;
[net,tr] = train(net,P,T);
y=sim(net,P)