Materiały pomocnicze do przedmiotu Wspomaganie decyzji i metody sztucznej inteligencji – ćwiczenie 03
Ćwiczenie 3.
Zadanie: Korzystając z pakietu Simulink należy zrealizować sieć neuronową przybliżającą obiekt o równaniach (1). Nauka sieci powinna być przeprowadzona w trybie on-line. Struktura sieci została przedstawiona na rys 1. Neuronowy model będzie posiadał n=3 wejścia i N=4 neurony z funkcja tansig ( tgh –
tangens hiperboliczny) w warstwie ukrytej.
x& = x
1
2
x& = −4 * sin x − x + u (1)
2
( 1) 2
y = x 1
i-ty neuron
xj
si
fi
wi
y
wij
Rys. 1.
Zadanie zostanie podzielone na dwa etapy: (1) wyznaczenie praw adaptacji wartości wag, (2) implementacja sieci wraz z mechanizmem adaptacji, (1) Prawo adaptacji wartości wag
Podczas kolejnych iteracji (k+1, ....) wagi warstwy wyjściowej będą modyfikowane o składnik i
w
∆ j . W zapisie
wektorowym będzie to
W( k + )
1 = W( k) + ∆W , (2)
gdzie w zależności od przyjętej metody uczenia składnik wyrażenie ∆W może być określony różnie. Dla metody gradientowej składnik ten będzie określony jako
∆W = −η ⋅ ∇ e ,
(3)
gdzie
Politechnika Łódzka, Instytut Automatyki 1
Materiały pomocnicze do przedmiotu Wspomaganie decyzji i metody sztucznej inteligencji – ćwiczenie 03
∂ e ∂ e
∂
∇ e =
e
,
,...,
(4)
∂ w 1 ∂ w 2
∂ wN
jest gradientem błędu, a η to współczynnik uczenia (na diagramach Simulinka rate).
Błąd e został zdefiniowany jako 1
e =
( y − d)2
(5)
2
Wyjście sieci określa równanie
N
y = ∑ f w
(6)
i ⋅
i
i=1
w którym fi jest wyjściem i-tego neuronu o pobudzeniu si.
f = tgh s
(7)
i
( i )
n
(8)
i
s = ∑ x j ⋅ i
w j
j=1
Pochodną cząstkową obliczymy ze wzoru e
∂
e
∂
y
∂
=
(9)
w
∂
y
∂ w
∂
i
i
gdzie zgodnie z (5) i (6)
e
∂ = y − d
(10)
y
∂
y
∂
= fi
(11)
w
∂ i
czyli
e
∂
e
∂
y
∂
=
= ( y − d)⋅ fi
(12)
w
∂
y
∂ w
∂
i
i
W podobny sposób można wyznaczyć aktualizacje wag warstwy ukrytej e
∂
∆ w = −η ⋅
(12)
ij
w
∂ ij
e
∂
e
∂
y
∂
f
∂
s
∂
i
i
=
(13)
w
∂
y
∂ f
∂
s
∂ w
ij
i
i
ij
gdzie zgodnie z (5), (6), (7), (8) e
∂ = y − d
(14)
y
∂
Politechnika Łódzka, Instytut Automatyki 2
Materiały pomocnicze do przedmiotu Wspomaganie decyzji i metody sztucznej inteligencji – ćwiczenie 03
y
∂ = iw
(15)
f
∂ i
f
∂ i = [ tgh 2
1 −
( s
(16)
i )]
s
∂ i
s
∂ i = x
(17)
j
w
∂ ij
czyli
e
∂
e
∂
y
∂
f
∂
s
∂
i
i
=
= ( y − d)⋅ ⋅ −
2
1
⋅
(18)
i
w [ tgh ( si )] x j w
∂
y
∂ f
∂
s
∂ w
ij
i
i
ij
(2) Implementacja sieci wraz z mechanizmem adaptacji
Schamat uczącej się w trybie on-line sieci neuronowej został pokazany na rysunku poniżej, gdzie subsystem n1 jest neuronem ze zmieniającymi się wagami o budowie Politechnika Łódzka, Instytut Automatyki 3
Materiały pomocnicze do przedmiotu Wspomaganie decyzji i metody sztucznej inteligencji – ćwiczenie 03
Bloczki Unit Delay w polu Initial Condition powinny mieć wpisane wyrażenie rand(1). Odpowiada to początkowym losowym wartościom wag sieci neuronowej. Subsystemy wi2 i wi3 niczym się nie różnią od subsystemu wi1. Identyczne w budowie są także subsystemu n1, n2, n3, n4.
Politechnika Łódzka, Instytut Automatyki 4
Materiały pomocnicze do przedmiotu Wspomaganie decyzji i metody sztucznej inteligencji – ćwiczenie 03
Budowę warstwy wyjściowej przedstawia rysunek poniżej.
gdzie wagi w1 – w4 zrealizowane są wg schematu W ramach zajęć należy:
-
sprawdzić jak czas próbkowania wpływa na prace układu
-
sprawdzić jak współczynnik uczenia η wpływ na prace układu
-
zmodyfikować algorytm uczenia wag dokładając składnik momentum
-
do układu wprowadzić sygnały progowe zadziałania neuronów (biasy) Politechnika Łódzka, Instytut Automatyki 5