79
3.7.
Rekurencyjne sieci neuronowe
W ogólności, istnieją dwie metody wprowadzenia dynamiki do sieci neuronowych, a
mianowicie zastosowanie zewnętrznej pamięci w postaci linii opóźniającej lub też użycie
sprzężeń zwrotnych. Najprostszym sposobem, zastosowanym w modelu neuronowym typu
NNOE przedstawionym na rys. 3.7, jest podanie na wejścia klasycznej sieci dwuwarstwowej
sygnału wyjściowego w poprzednich chwilach dyskretnych. Model można podzielić na dwie
części: nieliniowy statyczny aproksymator (sieć neuronowa) i zewnętrzną pamięć. Dlatego też
omawiany model jest często nazywany siecią neuronową z liniami opóźniającymi. Podejście
takie jest najczęściej stosowane w praktyce, umożliwia skuteczne modelowanie bardzo wielu
nieliniowych procesów dynamicznych. Warto jednak pamiętać, że model taki jest znacznie
mniej ogólny niż model w przestrzeni stanu (3.53). Na przykład, model typ NNOE nie nadaje
się do procesów, w których występują nieliniowości niejednoznaczne, np. histereza lub luz.
Drugą metodą umożliwiającą wprowadzenie dynamiki do sieci neuronowych jest
wprowadzenie do nich sprzężeń zwrotnych. Ze względu na rodzaj sprzężeń zwrotnych można
wyszczególnić dwie klasy sieci rekurencyjnych:
Sieci globalnie rekurencyjne, w których sprzężenia występują między neuronami tej samej
warstwy lub między neuronami różnych warstw.
Sieci lokalnie rekurencyjne, w których sprzężenia zwrotne znajdują się wyłącznie
wewnątrz pojedynczych neuronów. Ogólna struktura sieci jest natomiast taka sama jak
w przypadku klasycznej sieci perceptronowej.
Sieć RTRN (ang. Real Time Recurrent Network) służy do przetwarzania sygnałów w
czasie rzeczywistym. Jej struktura została przedstawiona na rys. 3.25. Zawiera ona
u
n
wejść
zewnętrznych, na które podawane są sygnały
)
1
(
,
),
1
(
),
1
(
u
2
1
−
−
−
k
u
k
u
k
u
n
K
. Sieć ma tylko
jedną warstwę, liczba neuronów wynosi K. Każdy z nich objęty jest sprzężeniem zwrotnym w
taki sposób, że sygnały wyjściowe opóźnione o jeden takt podawane są na wejście sieci.
Wśród K neuronów tylko
y
n
stanowi wyjście sieci. Pozostałe
y
n
K −
neuronów to neurony
ukryte, niedostępne dla sygnałów zewnętrznych.
Nieco inną strukturę ma rekurencyjna sieć neuronowa Elmana pokazana na rys. 3.26. Jest
to sieć częściowo rekurencyjna o strukturze dwuwarstwowej. Sieć zawiera
u
n
wejść
zewnętrznych, liczba neuronów ukrytych wynosi K. W odróżnieniu od sieci RTRN,
sprzężenie dotyczy wyłącznie warstwy ukrytej. Wyjście sieci stanowią neurony połączone
tylko z warstwą ukrytą, podobnie jak w sieciach jednokierunkowych. Przepływ sygnałów
odbywa się tylko w jedną stronę, tzn. od warstwy ukrytej do warstwy wyjściowej. Różnica
występuje w warstwie ukrytej, ponieważ opóźnione sygnały wyjściowe neuronów ukrytych są
podawane na wejścia sieci.
Główną zaletą rekurencyjnych sieci neuronowych typu RTRN i Elmana jest możliwość
aproksymacji bardzo szerokiej klasy procesów dynamicznych, mogą być one też zastosowane
do opisu szeregów czasowych. Do uczenia sieci stosuje się zazwyczaj algorytmy gradientowe.
W porównaniu z algorytmami uczenia klasycznej sieci jednokierunkowej ich złożoność
obliczeniowa jest większa, ponieważ obliczając gradient należy uwzględnić rekurencję.
80
M
M
)
(
1
k
y
)
(
y
k
y
n
ϕ
ϕ
ϕ
M
)
1
(
u
−
k
u
n
)
1
(
1
−
k
u
M
ϕ
M
1
1
−
q
1
−
q
1
−
q
1
−
q
Rys. 3.25. Struktura sieci rekurencyjnej RTRN
M
)
(
1
k
y
)
(
y
k
y
n
ϕ
ϕ
M
)
1
(
u
−
k
u
n
)
1
(
1
−
k
u
M
ϕ
1
1
1
−
q
1
−
q
1
−
q
+
+
M
Rys. 3.26. Struktura sieci rekurencyjnej Elmana
81
Nieco inną strukturę ma sieć neuronowa RMLP (ang. Recurrent Multi Layer Perceptron)
pokazana na rys. 3.27. Omawiana sieć jest rozszerzeniem klasycznej sieci jednokierunkowej o
dwóch warstwach ukrytych. Istnieją w niej dodatkowe połączenia skrośne między neuronami
danej warstwy oraz połączenia rekurencyjne, natomiast poszczególne warstwy są połączone
jednokierunkowo. Sieć nadaje się do aproksymacji wielu nieliniowych procesów
dynamicznych. Istotną wadą sieci jest jednak znaczna złożoność struktury, co oznacza, że
proces uczenia jest zazwyczaj złożony obliczeniowo.
M
)
1
(
u
−
k
u
n
)
1
(
2
−
k
u
)
1
(
1
−
k
u
M
M
)
(
1
k
y
)
(
y
k
y
n
ϕ
ϕ
ϕ
M
ϕ
ϕ
ϕ
+
+
Rys. 3.27. Struktura sieci rekurencyjnej RMLP (dla przejrzystości nie zaznaczono sygnałów
polaryzacji)
W stosunku do rekurencyjnych sieci neuronowych omówionych do tej pory interesującą
alternatywę stanowią sieci lokalnie rekurencyjne globalnie jednokierunkowe (ang. Locally
Recurrent Globally Feedforward, w skrócie LRGF) [30]. Sieci LRGF mają strukturę podobną
do jednokierunkowych sieci perceptronowych, ponieważ składają się z kilku warstw
neuronów, natomiast wszystkie sygnały przepływają przez sieć tylko w jednym kierunku – od
wejść, przez warstwy ukryte, do wejść. W przeciwieństwie do np. rekurencyjnych sieci
RTRN lub Elmana, w sieci LRGF nie występują żadne sprzężenia zwrotne między
neuronami. Właściwości dynamiczne sieci uzyskuje się w wyniku zastosowania neuronów
dynamicznych, które zawierają wewnętrzne sprzężenia zwrotne. Istnieje wiele typów
neuronów dynamicznych, najpopularniejsze z nich to neurony z filtrem o Nieskończonej
Odpowiedzi Impulsowej (NOI) i neurony z filtrem o Skończonej Odpowiedzi Impulsowej
(SOI). Strukturę obu neuronów pokazano na rys. 3.28 i rys. 3.29.
1
−
q
)
(⋅
ϕ
1
w
b
A
i
A
i
+
+
x
i
(k)
x
i
(k+1)
Rys. 3.28. Schemat blokowy neuronu z filtrem NOI
82
1
−
q
1
w
c
A
+
x
i
(k)
x
i
(k+1)
Rys. 3.29. Schemat blokowy neuronu z filtrem SOI
Neurony z filtrem NOI oraz z filtrem SOI mogą posłużyć do budowy sieci
jednowarstwowych oraz dwuwarstwowych. Można udowodnić, że sieci dwuwarstwowe, przy
odpowiedniej liczbie neuronów z filtrem NOI, są w stanie odtworzyć trajektorię stanu
wygenerowaną przez dowolną funkcję klasy C
1
(funkcja i jej pierwsze pochodne są ciągłe).
Przedstawiona na rys. 3.30 dwuwarstwowa sieć LRGF może być więc z powodzeniem
zastosowane do modelowania bardzo szerokiej klasy procesów dynamicznych.
Istnieje możliwość uproszczenia dwuwarstwowej sieci LRGF z filtrami NOI. W
przedstawionej na rys. 3.31 sieci kaskadowej stosuje się w drugiej warstwie prostsze neurony
SOI oraz wprowadza się dodatkowe połączenia między wejściami modelu a warstwą ukrytą
neuronów z filtrami SOI. Sieć kaskadowa również jest w stanie odtworzyć dowolną
trajektorię stanu, natomiast jej struktura i uczenie jest prostsze niż pełnej sieci LRGF.
M
)
(
1
k
y
)
(
y
k
y
n
M
)
1
(
u
−
k
u
n
)
1
(
1
−
k
u
NOI
NOI
NOI
NOI
NOI
NOI
M
+
+
M
Rys. 3.30. Struktura sieci lokalnie rekurencyjnej
M
)
(
1
k
y
)
(
y
k
y
n
M
)
1
(
u
−
k
u
n
)
1
(
1
−
k
u
NOI
SOI
NOI
SOI
SOI
M
+
+
M
Rys. 3.31. Struktura kaskadowej sieci lokalnie rekurencyjnej