• Nie Znaleziono Wyników

Modelowanie oscylacyjnych sieci neuronowych w środowisku programistycznym Matlab

N/A
N/A
Protected

Academic year: 2021

Share "Modelowanie oscylacyjnych sieci neuronowych w środowisku programistycznym Matlab"

Copied!
8
0
0

Pełen tekst

(1)

MODELOWANIE OSCYLACYJNYCH SIECI NEURONOWYCH

W ŚRODOWISKU PROGRAMISTYCZNYM MATLAB

W pracy poruszono zagadnienia związane z inteligencją obliczeniową, w szczególności zaś przed-stawiono realizację bezstratnej, hamiltonowskiej sieci neuronowej w formie sprzężonych oscylatorów fazowych. Zaproponowano model takiej sieci w środowisku programistycznym Matlab-Simulink oraz omówiono wyniki badań symulacyjnych.

Słowa kluczowe: przetwarzanie sygnałów, hamiltonowskie sieci neuronowe, modelowanie procesów dynamicznych.

WSTĘP

W ostatnich dekadach nastąpił znaczący rozwój metod inteligencji oblicze-niowej, podyktowany wzrostem zapotrzebowania na alternatywne do klasycznych algorytmów metody rozwiązywania różnych, często bardzo złożonych problemów numerycznych. Do metod inteligencji obliczeniowej w zależności od przyjętej klasyfikacji zalicza się: metody wykorzystujące logikę rozmytą, algorytmy gene-tyczne oraz metody bazujące na zastosowaniu sztucznych sieci neuronowych. Sztuczne sieci neuronowe, które mają naśladować sieci biologiczne, mogą mieć różne struktury, mogą także być dedykowane do realizacji pewnych ściśle określonych zadań.

W prezentowanym artykule przedstawiono wyniki modelowania autorskiej oscylacyjnej sieci neuronowej w środowisku obliczeniowym Matlab-Simulink. Koncepcja analizowanej sieci neuronowej wywodzi się bezpośrednio z koncepcji bezstratnych sieci neuronowych, które w literaturze przedmiotu określa się także jako hamiltonowskie sieci neuronowe (Hamiltonian Neural Networks) [9, 11, 12]. Badane struktury mają charakter sieci oscylacyjnych, ale istnieją proste transfor-macje pozwalające na przekształcenie ich w sieci stałoprądowe, których są twór-czym rozwinięciem [3]. Oscylacyjne sieci neuronowe analizowanego typu składają się ze struktur połączonych pętli fazowych (Phase Locked Loop). Na podkreślenie zasługuje fakt, że informacje wejściowe w takim przypadku mogą być zakodowane zarówno w wektorze dewiacji częstotliwości generatorów wejściowych, jak i wektorze napięć stałych, które po dodaniu do przefiltrowanego sygnału wyjścio-wego przestrajają generatory sterowane napięciem, występujące w pętlach fazo-wych (Voltage Controlled Oscillator).

(2)

1. KONCEPCJA OSCYLACYJNEJ SIECI NEURONOWEJ

Architektura sieci neuronowych z wykorzystaniem sprzężonych pętli fazo-wych (PLL) na podstawie modelu Kuramoto [8], została zaproponowana w pra-cach Hoppensteadta [4, 5]. Śledząc doniesienia literaturowe można zaobserwować, że badania nad tego typu strukturami są w dalszym ciągu kontynuowane [1, 6, 13]. Także autor prezentowanej pracy prowadzi niezależnie badania nad możliwością implementacji procesorów sygnałowych, opartych na hamiltonowskich sieciach sprzężonych pętli fazowych [2, 10]. Jedną z głównych przesłanek uzasadniających badania nad oscylacyjnymi implementacjami sieci neuronowych jest ich uniwersalność w modelowaniu biologicznych, fizycznych i technicznych systemów dynamicznych. Sieci te wykazują także pewną analogię ze strukturami biolo-gicznymi, które z natury są oscylacyjne. Podstawowym elementem hamilto-nowskiej oscylacyjnej sieci neuronowej jest bezstratny neuron, którego struktura zawiera dwie pętle fazowe. Model takiego neuronu zaprezentowano na rysunku 1.

Γ2 H1(s) LPF V.C.O.1 e1(t) v1(t) s1(t) y1(t) H2(s) LPF V.C.O.2 e2(t) v2(t) s2(t) y2(t) 1 -1 Γ1 si(t) = ACi sin(ωCit + φi1) vi(t) = Avi cos(ωCit + φi2), i = 1,2 Γ1, Γ2 – wejścia stałoprądowe

Rys. 1. Oscylacyjny (PLL) model bezstratnego neuronu (Hi(s) ≡ 1, i = 1, 2) Fig. 1. The oscillating ( PLL) model of the lossless neuron (Hi(s) ≡ 1, i =1, 2)

Dynamika nawet pojedynczej pętli fazowej jest bardzo złożona, z tego względu wygodnie jest czasami posługiwać się w analizach teoretycznych pewnymi przybliżeniami [7]. Takim przybliżeniem jest uśrednione równanie

(3)

fazowe, które dla bezstratnego neuronu z rysunku 1, przy założeniu braku filtrów pętlowych, tzn. Hi(s) ≡ 1, dane jest wyrażeniem:

⎥⎦ ⎤ ⎢⎣ ⎡ Γ Γ − ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ + ⎥⎦ ⎤ ⎢⎣ ⎡ ⎥⎦ ⎤ ⎢⎣ ⎡ ± = ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎣ ⎡ • • • • 2 2 1 1 21 11 2 1 1 1 1 2 2 2 2 1 2 1 2 sin sin 0 2 v v v C m v v C m v k k x x 0 A A k k k k A A x x π φ φ π ∓ (1) gdzie:

kvi, kmi (i = 1, 2) – czułości oscylatorów VCO i detektorów fazy,

,

12 11

1=φ −φ

x x2 =φ −21 φ22.

Strukturę pojedynczego neuronu z rysunku 1 można rozszerzać, tworząc w ten sposób oscylacyjny model n-neuronowej sieci o dynamicznie zmiennych wagach połączeń. Model ten zaprezentowano na rysunku 2. Wagi połączeń zależą od iloczynów wzmocnień pętli fazowych. Należy zwrócić uwagę na fakt, że sieć traci swoje cechy funkcjonalne przy braku sygnałów wejściowych s.

yn(t) y2(t) Γ1 H1(s) VCO1 H2(s) VCO2 Hn(s) VCOn Matryca połączeń pętli fazowych s1(t) sn(t) s2(t) y1(t) v1(t) vn(t) v2(t) Γ2 Γn

Rys. 2. Struktura sieci neuronowej (PLL) Fig. 2. The structure of the neural network (PLL)

Uśrednione równanie fazowe sieci z rysunku 2, bez uwzględnienia filtrów pętlo-wych, dane jest wyrażeniem:

⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ Γ Γ Γ − ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ Δ Δ Δ + ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ Ψ − Ψ Ψ − Ψ −Ψ Ψ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − ± ± ± − = ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎣ ⎡ Ψ − Ψ Ψ − Ψ −Ψ Ψ n Vn V V n n sn s s vk Ck mk vk v C m vk v C mk vk vk Ck mk v v C m v vk Ck mk v v C m v v C m v n sn s s k k k ω ω ω A A k k A A k k A A k k A A k k A A k k A A k k A A k k A A k k dtd     ∓ ∓       ∓   2 2 1 1 2 1 2 2 1 1 2 2 2 1 1 2 1 1 1 2 1 2 2 2 1 1 1 1 1 2 2 1 1 2 ) sin( ) sin( ) sin( 2π π (2) gdzie: si(t) = ACi sin(Ωit + Ψsi), vi(t) = AVi sin(Ωit + Ψi),

(4)

Sieć pętli fazowych w stanie synchronizacji stanowi oscylacyjny model sieci neuronowej, na podstawie którego można konstruować uniwersalne procesory sygnałowe (analizatory widma Haara-Walsha, klasyfikatory, filtry ortogonalne, modele odwzorowań nieliniowych, pamięci asocjacyjne).

2. MODEL OSCYLACYJNEJ SIECI NEURONOWEJ W ŚRODOWISKU MATLAB

Środowisko obliczeniowe MATLAB (Matrix Laboratory) jest uniwersalnym narzędziem programistycznym, znajdującym szerokie zastosowanie w wielu dziedzinach nauki i techniki. Pozwala ono m.in. na modelowanie złożonych proce-sów dynamicznych, sprawdzanie poprawności modeli matematycznych, wykony-wanie skomplikowanych obliczeń numerycznych oraz wizualizację otrzymanych wyników. Znakomicie nadaje się także do modelowania sztucznych sieci neurono-wych, a w szczególności oscylacyjnych sieci neurononeurono-wych, które są przedmiotem niniejszej pracy.

Podstawowym elementem struktury oscylacyjnych sieci neuronowych jest pojedynczy neuron, którego realizację w środowisku Matlab-Simulink zaprezento-wano na rysunku 3. Zasadnicze elementy składowe takiego neuronu stanowią pary detektorów fazy, generatorów VCO oraz dolnoprzepustowych filtrów pętlowych. Sygnałami wejściowymi w przypadku zastosowania takiej realizacji neuronu mogą być zarówno dewiacje częstotliwości generatorów Sin_Wave_1 i Sin_Wave_2, jak i stałe napięcia Constant_1 i Constant_2.

Rys. 3. Model bezstratnego neuronu w środowisku programistycznym Matlab-Simulink Fig. 3. The lossless neuron model development in Matlab-Simulink environment

(5)

Posiadając zdefiniowany model pojedynczego neuronu, stosunkowo łatwo można dokonać syntezy bardziej złożonej struktury przez kompatybilne połączenie pojedynczych neuronów. Propozycję modelu 8-wymiarowej oscylacyjnej sieci neuronowej zaprezentowano na rysunku 4. W przedstawionym modelu wyróżnić można dwa zasadnicze bloki funkcyjne: blok generatorów sterowanych napięciem Blok_VCO oraz blok dolnoprzepustowych filtrów pętlowych Filtry.

Sine Wave8 Sine Wave7 Sine Wave6 Sine Wave5 Sine Wave4 Sine Wave3 Sine Wave2 Sine Wave1 W2* u Gain In1 In2 In3 In4 In5 In6 In7 In8 Out1 Out2 Out3 Out4 Out5 Out6 Out7 Out8 Filtry Demux c(8) C8 c(7) C7 c(6) C6 c(5) C5 c(3) C4 c(3) C3 c(2) C2 c(1) C1 In1 In2 In3 In4 In5 In6 In7 In8 In9 In10 In11 In12 In13 In14 In15 In16 Out1 Out2 Out3 Out4 Out5 Out6 Out7 Out8 Blok VCO

Rys. 4. Model 8-neuronowej oscylacyjnej sieci w środowisku programistycznym Matlab-Simulink

Fig. 4. The model of the 8 neurons – oscillatory neural network in Matlab-Simulink environment

Strukturę połączeń pomiędzy neuronami zrealizowano za pomocą wzmac-niacza Gain, realizującego operację mnożenia W2u, gdzie W2 to macierz połączeń między neuronami, a u – wektor sygnałów po filtracji dolnoprzepustowej. Pojedynczy element struktury Blok_VCO zaprezentowano na rysunku 5, a reali-zację filtru pętlowego będącego częścią bloku Filtry – na rysunku 6.

1 Out1 Continuous-Time VCO VCO 1 Product 2 In2 1 In1

Rys. 5. Pojedyncza pętla fazowa (element bloku Blok_VCO) Fig. 5. The single phase loop (block element Blok_VCO)

(6)

Rys. 6. Pojedynczy filtr pętlowy (element bloku Filtr) Fig. 6. The single loop filter (block element Filtr)

Należy podkreślić, że zastosowanie nawet bardzo prostego filtru pętlowego o transmitancji operatorowej widocznej na rysunku 6 pozwoliło na uzyskanie zadowalających wyników obliczeń.

3. PRZYKŁAD OBLICZENIOWY

W celu sprawdzenia poprawności opracowanego modelu oscylacyjnej sieci neuronowej zrealizowano analizator widma Haara-Walsha, bazujący na strukturze z rysunku 4. Sygnały wejściowe w doświadczeniach numerycznych zostały wpro-wadzone na dwa sposoby jako wektor dewiacji częstotliwości (przykład 1) i wektor napięć stałych (przykład 2). Macierz połączeń pomiędzy neuronami W2 w

przy-padku realizacji funkcji analizatora widma Haara-Walsha dana jest wyrażeniem:

0

w

= −

2

W W 1 (3) gdzie macierz W należy do rodziny macierzy Radona-Hurwitza:

⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ − − − − − − − − − − − − − − − − − − − − − − − − − − − − = w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w w 0 0 0 0 0 0 0 0 W 1 2 3 4 5 6 7 1 3 2 5 4 7 6 2 3 1 6 7 4 5 3 7 1 7 6 5 4 4 5 6 7 1 2 3 5 4 7 6 1 3 2 6 7 4 5 2 3 1 7 6 5 4 3 2 1 (4)

Wartości parametrów macierzy połączeń W2:

• | wi| = 0.2; dla i = 0, 1, ... , 7,

• mnożnik macierzy jednostkowej 1 w0 = 0.2.

Parametry generatorów pętlowych (VCO): • czułość kv,= 1 V/Hz,

• częstotliwość spoczynkowa fV0 = 100 Hz,

(7)

Parametry generatorów sygnałowych (informacyjnych): • amptlituda AC = 1 V,

• częstotliwość podstawowa fC0 = 100 Hz.

Przykład 1

Informacja wejściowa podana w formie wektora dewiacji częstotliwości: Δω= [-0.1, -0.1, -0.1, 0.1, -0,1, 0.1, -0.1, 0,1]T.

W wyniku symulacji uzyskano odpowiedź sieci: ys1 = [0.00, 0.74, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00]T.

Przykład 2

Informacja wejściowa podana w formie wektora napięć stałych: Γ= [-0.1, -0.1, -0.1, 0.1, -0,1, 0.1, -0.1, 0,1]T.

W wyniku symulacji uzyskano odpowiedź sieci: ys2 = [0.00, 0.74, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00]T.

Zarówno w przypadku pobudzenia wektorem dewiacji częstotliwości, jak i wekto-rem napięć stałych uzyskano zgodność wyników symulacji z przewidywaniami teoretycznymi:

ya = [0.00, 0.32, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00]T.

Sieć dokonała prawidłowej analizy sygnału wejściowego, w wyniku czego uzyskano jego widmo Haara, przemnożone przez pewien stały czynnik wynikający z doboru konkretnych wzmocnień pętli fazowych. Przedstawiono wyniki po czasie 100 sekund. Na przebiegach wyjściowych można się jednak było dopatrzyć pewnych oscylacji wokół wartości nominalnej. Oscylacje te są wynikiem zastoso-wania bardzo prostych fitrów pętlowych i można się ich stosunkowo łatwo pozbyć poprzez zastosowanie bardziej złożonych filtrów pętlowych. Wiązałoby się to jednak ze znacznym wzrostem nakładu obliczeniowego, co w sposób wydatny wydłużyłoby czasy symulacji.

PODSUMOWANIE

W pracy wykazano, że możliwe jest zbudowanie efektywnego modelu oscylacyjnej sieci neuronowej w środowisku programistycznym Matlab-Simulink. Pokazano także strukturę procesora neuromorficznego realizującego funkcję anali-zatora widma Haara-Walsha. Sygnałami wejściowymi w analizowanym modelu sieci neuronowej mogą być zarówno napięcia stałe, jak i dewiacje częstotliwości generatorów sterujących. W obu przypadkach uzyskano te same wyniki zgodne z przewidywaniami teoretycznymi. Należy podkreślić, że dynamika połączonych pętli fazowych jest bardzo złożona, dlatego wymagana jest duża staranność przy

(8)

doborze parametrów modeli i algorytmów obliczeniowych, gdyż niewłaściwy ich dobór może nie zapewnić zbieżności algorytmów numerycznych lub prowadzić do błędnych wyników.

LITERATURA

1. Acebron J., Bonilla L., Vincente C., Ritort F., Spigler R., The Kuramoto model: a simple paradigm for synchronization phenomena, Reviews of Modern Physics, 77, 2005, s. 137–186. 2. Citko W., Sieńko W., Badania symulacyjne i modelowanie sieci neuronowych jako sieci pętli

fazowych, IV Krajowa Konferencja Elektroniki, Kołobrzeg 2005, s. 91–96.

3. Citko W., Sieńko W., Oscylacyjne czy stałoprądowe implementacje sztucznych sieci neuro-nowych, V Krajowa Konferencja Elektroniki, Kołobrzeg 2006, s. 509–514.

4. Hoppensteadt F.C., Izhikevich E.M., Pattern Recognition Via Synchronization in Phase-Locked Loop, Neural Networks, IEEE Transactions on Neural Networks, May 2000, vol. 11, no. 2. 5. Hoppenstead F., Izhikevich E., Weakly Connected Neural Network, New York Springer, 1997. 6. Izhikevich E., Dynamical Systems in Neuroscience: The Geometry of Excitability and Bursting,

The MIT Press, Cambridge, MA, 2006.

7. Kudrewicz J., Dynamika pętli fazowej, Wydawnictwo Naukowo-Techniczne, Warszawa 1991. 8. Kuramoto Y., Chemical Oscillations, Waves and Turbulence, Springer-Verlag, Berlin 1984. 9. Sieńko W., Citko W., Hamiltonian Neural Networks Based Networks for Learning [w:] Machine

Learning, red. A. Mellouk, A. Chebira, I-Tech, Vienna, January 2009, s. 75–92.

10. Sieńko W., Citko W., Realizacja sieci neuronowych z zastosowaniem pętli fazowych, III Krajowa Konferencja Elektroniki, KKE'04, Kołobrzeg 2004, s. 121–126.

11. Sieńko W., Citko W., Quantum Signal Processing via Hamiltonian Neural Networks, International Journal of Computing Anticipatory Systems, 2004, vol. 14, s. 224–240.

12. Sieńko W., Citko W., Jakóbczak D., Learning and System Modeling via Hamiltonian Neural Networks, Artificial Intelligence and Soft Computing 7th International Conference, Zakopane, Lecture Notes in Artificial Intelligence 3070, Springer-Verlag, Heidelberg 2004, s. 266–271. 13. Strogatz S., From Kuramoto to Crawford exploring the onset of synchronization in populations

of coupled oscillators, Physica D, 2000, vol. 143, s. 1–20.

OSCILLATORY NEURAL NETWORK MODELLING IN MATLAB-SIMULINK PROGRAMMING ENVIRONMENT

Summary

Computational intelligence methods have recently been widely used to solve many technical problems. Artificial neural networks are also computational intelligence methods. Oscillatory neural networks composed of connected phases loop have been researched in this study.Models of such networks and the results of computer simulation are presented in this paper.

Cytaty

Powiązane dokumenty

Narysowa´c rozk lady dyskryminanty dla sygna lu i t la.. Narysowa´c krzywa ‘ ROC dla wytrenowanej

Samoorganizacja w sieci neuronowej (np. SOM) umożliwiają uczenie sieci bez nauczyciela (unsupervised), którego celem jest wykształcenie w sieci neuronów, które by reagowały na

Narysowa´c rozk lady dyskryminanty dla sygna lu i t la.. Narysowa´c krzywa ‘ ROC dla wytrenowanej

1.2.7 Algorytm uczenia perceptronu (Simple perceptron learning algorithm, SPLA).. Jest to podstawowy

podczas dynamiki osiągane jest minimum (być może lokalne!) funkcji energetycznej w skończonym czasie. Wykorzystamy dynamikę asynchroniczną sieci do znajdowania rozwiązania

Sieci rekurencyjne Autoasocjator Hopfielda Zadania Przeliczenia.. Wstęp do sieci neuronowych, wykład 10

podczas dynamiki osiągane jest minimum (być może lokalne!) funkcji energetycznej w skończonym czasie. Wykorzystamy dynamikę asynchroniczną sieci do znajdowania rozwiązania

W [3] badania nad wykorzystaniem sztucznych sieci neuronowych do rozpoznawania rodzaju i stopnia zaawansowania uszkodzeń kół zębatych oparto na sieciach typu SVM