POLITECHNIKA POZNAŃSKA Wydział Informatyki Katedra Inżynierii Komputerowej mgr inż. Aleksandra Świetlicka Stochastyczny model biologicznej sieci neuronowej oparty na kinetycznych schematach Markowa Streszczenie rozprawy doktorskiej Promotor: dr hab. inż. Andrzej Rybarczyk, prof. nadzw. Politechnika Poznańska Recenzenci: prof. dr hab. inż. Mirosław Galicki Uniwersytet Zielonogórski prof. dr hab. inż. Marek Kurzyński Politechnika Wrocławska Poznań, 2013
Spis treści Spis treści 1 Wstęp 1 1.1 Przedmiot pracy........................... 1 1.2 Motywacja i cel pracy........................ 3 1.3 Teza i układ pracy.......................... 4 2 Deterministyczne i stochastyczne modele komórki neuronowej 6 2.1 Wprowadzenie............................. 6 2.2 Podstawowy model Hodgkina-Huxleya............... 7 2.3 Kinetyczny model Hodgkina-Huxleya................ 9 2.3.1 Kinetyczny schemat Markowa................ 9 2.3.2 Deterministyczny model kinetyczny............. 9 2.3.3 Stochastyczny model kinetyczny............... 11 3 Metody uczenia komórki neuronowej 12 3.1 Metoda gradientu prostego...................... 12 3.2 Nauka w modelu Hodgkina-Huxleya................. 13 3.3 Nauka w stochastycznym modelu kinetycznym neuronu...... 17 3.4 Wyniki eksperymentalne....................... 18 4 Przykłady zastosowania modeli biologicznych komórek neuronowych w automatyce i robotyce 20 4.1 Aproksymacja funkcji prostokątnej................. 20 4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS................. 21 5 Podsumowanie 30 Literatura 33 Wykaz publikacji autora 36 i
Rozdział 1 Wstęp 1.1 Przedmiot pracy W ostatnich latach można zaobserwować zwiększone zainteresowanie działaniem systemu nerwowego i próbami jego opisu z wykorzystaniem aparatu matematycznego [4]. Nieustannie gromadzone dane nie są wciąż jednak wystarczające do sporządzenia precyzyjnego modelu matematycznego tego systemu. Stąd potrzeba ciągłego rozwijania tej dziedziny i prowadzenia dalszych badań. Przedmiotem pracy są badania nad konstrukcją nowych modeli matematycznych pozwalających efektywniej opisać działanie komórek nerwowych. Praca ma też wymiar praktyczny, podano przykłady zastosowań w sterowaniu obiektami automatyki i robotyki. Neuron jest podstawową jednostką układu nerwowego, która zbudowana jest zawsze z jednego aksonu i wielu dendrytów. Przystosowana jest do przewodzenia, przetwarzania i generowania impulsów nerwowych. W rzeczywistości przewodzenie może odbywać się w różnych kierunkach, natomiast w rozpatrywanych modelach, zakładać się będzie, że odbywa się ono w jednym kierunku: od dendrytów do jądra oraz z komórki poprzez akson do następnej komórki. Impulsy, które wpływają do komórki poprzez dendryty są sumowane na błonie komórkowej. Następnie z pomocą aksonu, który zakończony jest synapsą, impulsy przekazywane są do kolejnego neuronu lub grupy neuronów. Największe znaczenie przy przesyłaniu sygnałów nerwowych ma błona komórkowa, która równoważy różnicę potencjałów pomiędzy wnętrzem i zewnętrzem komórki. Istnieje wiele modeli opisujących procesy zachodzące na błonie komórkowej, przy czym każdy z nich jest efektem przyjęcia innych założeń upraszczających. Z jednej strony zwiększa się liczba parametrów modelu, aby jak najwierniej odwzorować potencjał na błonie komórkowej, z drugiej zaś strony poszukuje się również uproszczeń już istniejących modeli, głównie w celu ułatwienia implementacji. Poniżej pokrótce przedstawiona zostanie charakterystyka wybranych modeli, podczas gdy w kolejnych rozdziałach pracy znajduje się obszerny opis modeli stanowiących bazę dla nowo tworzonych. Pierwszy model neuronu zaproponowany został w roku 1907 przez Louisa Lapicque - integrate-and-fire [1, 26] i opisany był jedynie prostym równaniem: dv (t) I (t) = C dt (1.1) 1
1.1 Przedmiot pracy przedstawiającym zmianę w czasie potencjału V na błonie komórkowej o konduktancji C względem prądu wejściowego I. Innym, przełomowym modelem, okazał się model Alana Lloyda Hodgkina i Andrew Huxleya podany w 1952 roku. Model ten, stanowiący również bazę dla analizy przeprowadzonej w niniejszej pracy, przyjmuje już więcej założeń związanych ze strukturą błony komórkowej. Podkreśla się tu fakt, że błona komórkowa zbudowana jest z kanałów, na które składają się bramki regulujące procesy przepływu jonów pomiędzy wnętrzem a zewnętrzem komórki. W modelu tym wprowadzone zostało założenie, że właściwości błony komórkowej mogą być zamodelowane poprzez obwód elektryczny (bliższy opis w rozdziale trzecim). Stąd pojawiły się składowe prądowe wynikające z rodzajów jonów przepływających przez błonę: C dv dt = I ext I ion (1.2) gdzie I ext jest prądem wymuszającym, natomiast I ion powiązany jest z ruchem poszczególnych jonów przez błonę. W przedstawionych powyżej modelach zakłada się, że komórka nerwowa jest strukturą punktową, to znaczy w każdym punkcie błony komórkowej potencjał jest identyczny. To znacznie ułatwia analizę matematyczną oraz implementację tych modeli. Podejście takie powoduje jednak utratę informacji o pewnych właściwościach komórki nerwowej. Chcąc dążyć do jak najwierniejszego odwzorowania układu nerwowego należy jednak przyjąć, że komórka nie jest strukturą punktową. Stąd powstało wiele takich modeli, które zakładają że potencjał w różnych punktach błony komórkowej jest różny. Już Hodgkin i Huxley w artykule z roku 1952 [19] zaproponowali rozszerzenie swojego modelu w taki sposób aby opisywał drzewiastą strukturę neuronu (dla łatwiejszego rozróżnienia tych modeli w pracy stosowane będzie określenie neuronu czy też komórki nerwowej w odniesieniu do modeli reprezentujacych strukturę punktową oraz określenie sieci neuronowej dla komórki nerwowej o strukturze drzewiastej ). Również później wyprowadzony został model linii długiej ( cable theory - rok 1959) [4] oraz jego zdyskretyzowany odpowiednik - model przedziałowy ( compartmental model - rok 1964) [4]. W modelach opisujących potencjał na błonie komórkowej z reguły stosuje się uproszczenia umożliwiające dużo mniej skomplikowany zapis równań różniczkowych danego modelu. Do tych uproszczeń należy m.in. metoda wyznaczania liczby kanałów będących w stanie przepuszczania przy utrzymaniu stałego napięcia wewnątrz i na zewnątrz komórki nerwowej (ang. voltage clamp) [16]. W takim przypadku konieczne jest utrzymanie stałego poziomu napięcia w punkcie pomiaru, a co za tym idzie, założenie, że na całej błonie komórkowej potencjał rozkłada się równomiernie. Wykorzystanie modelu opartego o schematy Markowa umożliwia przywrócenie niektórych utraconych własności komórki nerwowej [6], wynikających m. in. z podejścia, w którym komórkę nerwową traktuje się jako strukturę punktową. W związku z powyższym w rozdziale drugim pokazane zostały również niektóre z rozszerzeń tego modelu. Przedstawiony został przede wszystkim model kinetyczny w dwóch wersjach - deterministycznej oraz stochastycznej. Rozważanie modeli biologicznych komórek neuronowych czy całych sieci tych komórek nie miałoby większego sensu bez prezentacji ich praktycznych zasto- 2
1.2 Motywacja i cel pracy sowań. Dlatego też w pracy skupiono się nie tylko na opisie matematycznym nowych modeli ale także na wybranych zastosowaniach tych modeli. Najważniejszą część stanowi wykorzystanie tego typu modeli w automatyce i robotyce, a w szczególności do sterowania obiektami automatyki. 1.2 Motywacja i cel pracy Pierwszym celem niniejszej pracy było utworzenie rozszerzeń znanych modeli, przedstawionych powyżej, aby można było możliwie wiernie odwzorowywać procesy zachodzące w układzie nerwowym. Zaproponowany został rozszerzony model kinetyczny komórki nerwowej o strukturze punktowej oraz model kinetyczny sieci neuronowej o budowie drzewiastej. Poza wprowadzeniem nowych modeli, celem pracy było opracowanie metody uczenia sieci neuronowej dla opisywanych modeli - w stochastycznym modelu kinetycznym neuronu oraz w stochastycznym modelu kinetycznym sieci neuronowej. Równie istotną rzeczą są jednak proponowane możliwe zastosowania tych modeli, zwłaszcza w zagadnieniach automatyki i robotyki. Dlatego też jeden rozdział pracy poświęcony został wybranym zastosowaniom nauczonej komórki nerwowej, które podkreślają ich zalety i niejednokrotnie przewagę nad konwencjonalnymi sztucznymi sieciami neuronowymi. Zadania postawione w pracy nie tylko mają prowadzić do lepszego zrozumienia czy przedstawienia nieprzewidywalnej natury komórki nerwowej, ale również do zastosowań praktycznych modeli tych komórek. Biologiczne sieci komórkowe i ich modele mają duże możliwości asocjacyjne [28], które dają im ogromną przewagę nad konwencjonalnymi sztucznymi sieciami neuronowymi. Dodatkowo przygotowanie modeli do implementacji z wykorzystaniem kart graficznych daje ogromne możliwości obliczeniowe. Przeprowadzenie wielu obliczeń w trybie równoległym pozwala na szybką symulację sieci neuronowych zbudowanych z dużej liczby neuronów, niezbędnej do realizacji dużych, skomplikowanych zadań. Modele biologiczne nie mają zastępować sztucznych sieci neuronowych, które już w pewnym stopniu modelują sieć biologiczną. Można to natomiast interpretować jako próbę dołączenia tych modeli do zasobu opracowanych już do tej pory modeli, jako narzędzie, które jest w stanie rozwiązywać zagadnienia obliczeniowe (często z lepszym skutkiem). Wśród tych zagadnień można wyróżnić takie problemy jak: przetwarzanie sygnałów, aproksymacja i prognozowanie danych wyjściowych na podstawie danych wejściowych bez konieczności definiowania związku pomiędzy nimi, czy też problemy automatyki i robotyki związane np. ze sterowaniem obiektami. Dodatkowo wprowadzenie procesu nauki do omawianych modeli pozwala na nakierowanie tych sieci na rozwiązywanie problemów, podobnych do problemów rozwiązywanych przez sztuczne sieci neuronowe. Wykorzystano tutaj jedną z bardziej popularnych metod nauki wykorzystywaną również w klasycznych sztucznych sieciach neuronowych, mianowicie metodę gradientu prostego (ang. descent gradient). Wprowadzenie metod nauki do biologicznych modeli komórek neuronowych umożliwia w oczywisty sposób ich zastosowania praktyczne. W pracy skupiono się na modelach stochastycznych z wielu powodów. Przede 3
1.3 Teza i układ pracy wszystkim modele te w lepszy sposób odwzorowują nieprzewidywalną naturę komórki nerwowej. Z drugiej strony jest to korzystniejsze z punktu widzenia implementacji zarówno w środowisku obliczeniowym MATLAB jak i z wykorzystaniem kart graficznych. Możliwość zastąpienia dużych układów równań różniczkowych wyznaczaniem wartości z rozkładu normalnego daje dużą przewagę nad modelami deterministycznymi, ze względu na duże uproszczenia obliczeniowe. Podsumowując powyższe założenia, można następująco przedstawić podstawowe cele postawione w tej pracy: Sformułowanie i opis rozszerzonych modeli komórki neuronowej, jako struktury punktowej. Celem tego zadania jest możliwe wierne odwzorowanie procesów zachodzących na błonie komórkowej neuronu. Sformułowanie i opis modeli neuronów opartych na strukturze drzewiastej (sieci neuronowych) z wykorzystaniem formalizmu schematów kinetycznych Markowa. Opracowanie metody nauki (metoda gradientu prostego) w modelach stochastycznych komórki nerwowej oraz sieci neuronowej. Przedstawienie możliwości wykorzystania modeli w automatyce - wykorzystanie nowych modeli, które przechodząc proces nauki mają rozwiązywać klasyczne problemy automatyki i robotyki, takie jak sterowanie obiektami. Wykorzystanie modeli komórki nerwowej podobnie jak klasycznych sztucznych sieci neuronowych. Duże możliwości asocjacyjne biologicznych sieci neuronowych dają im przewagę nad konwencjonalnymi sztucznymi sieciami neuronowymi. Pokazanie możliwości modelu pojedynczego neuronu na przykładzie aproksymacji funkcji prostokątnej. Wykorzystanie modelu komórki nerwowej jako element końcowy w procesie sterowania quadrocopterem - w systemie zbudowanym z rekurencyjnej sztucznej sieci neuronowej Elmana oraz nauczonej komórki według stochastycznego modelu kinetycznego do obliczania AHRS (ang. Attitude Heading Reference System), czyli wyznaczania położenia obiektu w przestrzeni na podstawie odczytów z czujników. 1.3 Teza i układ pracy Zanim przedstawione zostaną główne tezy pracy warto krótko podsumować założenia przyjęte podczas opracowywania modeli później wykorzystywanych w praktyce: Komórka nerwowa, jako podstawowa jednostka układu nerwowego, nie jest jednostką deterministyczną, a ma bardziej złożoną i stochastyczną naturę. Komórka nerwowa nie jest strukturą punktową, a ma budowę drzewiastą. Modele biologicznych komórek nerwowych oraz sieci tych komórek można wykorzystywać podobnie jak konwencjonalne sztuczne sieci neuronowe. 4
1.3 Teza i układ pracy W związku z powyższym, dzięki wprowadzeniu efektywnej metody nauki do tych modeli, możliwe jest ich wykorzystanie w zagadnieniach automatyki i robotyki. W związku z powyższym można następująco sformułować tezy pracy: 1. Możliwe jest efektywne sterowanie w czasie rzeczywistym obiektami automatyki i robotyki z wykorzystaniem sztucznej inteligencji, bazującej na impulsowym modelu neuronu wynikającym z odpowiednio zmodyfikowanego opisu neuronu Hodgkina-Huxleya. 2. Z uwagi na dużą złożoność obliczeniową istniejących modeli biologicznych komórek neuronowych, które nadają się do tego celu, możliwe jest zbudowanie takich modeli, w których wierność procesów odtwarzania będzie większa od dotychczasowych przy jednoczesnym obniżeniu nakładów niezbędnych do obliczeń. 3. Wykorzystanie w zagadnieniach aproksymacji - można skonstruować matematyczny model neuronu biologicznego, który zdolny jest aproksymować wybraną funkcję nieliniową jednej zmiennej z dowolną dokładnością aproksymacji. W niniejszym streszczeniu przedstawione zostały tylko wybrane części pracy, prowadzące do najważniejszych wniosków. W rozdziale drugim pokazany został kinetyczny model komórki nerwowej, do którego wprowadzony został proces uczenia (metodą gradientu prostego) przedstawiony w rozdziale trzecim. W rozdziale czwartym zaprezentowano jedno z zastosowań tak nauczonej komórki nerwowej. 5
Rozdział 2 Deterministyczne i stochastyczne modele komórki neuronowej Jako wprowadzenie do teorii dotyczącej wyprowadzonych modeli neuronu w pracy przedstawiony został przegląd modeli, które stanowiły bazę jak i inspirację do pracy nad dalszymi ich rozwinięciami. Tutaj jednak skupiono się jedynie na wybranych modelach, mianowicie na podstawowym modelu Hodgkina-Huxleya oraz jego rozwinięciu w oparciu o schematy kinetyczne Markowa, jako, że w kolejnym rozdziale (rozdział trzeci) pokazany zostanie proces uczenia właśnie w tych modelach. 2.1 Wprowadzenie Model stworzony przez Hodgkina-Huxleya bazuje na założeniu, że elektryczne właściwości błony komórkowej mogą być zamodelowane przez równoważny obwód elektryczny, pokazany na rysunku 2.1 [4, 16, 19, 23]. Rys. 2.1: Obwód elektryczny modelujący elektryczne właściwości błony komórkowej [4, 16, 19, 23] Prąd przepływający przez błonę komórkową złożony jest z dwóch głównych 6
2.2 Podstawowy model Hodgkina-Huxleya składników, a mianowicie prądu jonowego I ion oraz prądu I ext podawanego z zewnątrz - jako zewnętrzne źródło prądowe. Pierwszy z nich, I ion, powiązany jest z ruchem poszczególnych typów jonów przez membranę. Wyróżniamy tutaj trzy rodzaje jonów: jony potasu, jony sodu oraz jony małego przepływu, zazwyczaj są to jony chloru. Drugi z tych prądów, I ext, powiązany jest z załączaniem i wyłączaniem kondensatora C. Stąd główne równanie opisujące obwód elektryczny przedstawiony na rysunku 2.1 ma postać C dv dt + I ion = I ext (2.1) Ponieważ z każdym elementem jonowym związana jest pewna konduktancja g i oraz potencjał V i, dla i {Na, K, L}, stąd można zapisać równanie dla prądu jonowego w postaci: I ion = I i = g i (V V i ) (2.2) i i 2.2 Podstawowy model Hodgkina-Huxleya Podstawowy model Hodgkina-Huxleya składa się z czterech równań. Pierwsze z nich opisuje zmianę potencjału V na błonie komórkowej [4, 19, 21]: C dv dt = I ḡ Na (V V Na ) ḡ K (V V K ) g L (V V L ) (2.3) gdzie elementy ḡ Na = g Na m 3 h, ḡ K = g K n 4 oraz g L mają wymiar konduktancji jonowych (wyrażają przepuszczalność jonową błony komórkowej [19]), odpowiednio dla sodu i potasu, natomiast g Na oraz g K są wartościami stałymi o wymiarze konduktancji mierzonymi na cm 2. Parametry m, n i h są zmiennymi bezwymiarowymi przyjmującymi wartości pomiędzy 0 a 1. W podstawowym modelu zakładamy, że każdy kanał jonowy zbudowany jest z niewielkiej liczby bramek, które kontrolują przepływ jonów przez ten kanał. Pojedyncza bramka może być w jednym z dwóch stanów, a mianowicie w stanie przepuszczania lub w stanie nieprzepuszczania (ang. permissive i non-permissive). Prawdopodobieństwo, że pojedyncza bramka jest w stanie przepuszczania jest opisane przez dodatkowe zmienne m, n i h. Kombinacja zmiennych m i h kontroluje kanały sodowe, podczas gdy zmienna n - kanały potasowe. Potencjał zależy od konduktancji jonowej dzięki założeniu, że prawdopodobieństwo tego, że pojedyncza bramka jest w stanie przepuszczania lub nieprzepuszczania zależy od potencjału na błonie komórkowej. Rozważmy bramkę typu i (i = m, n, h), wówczas p i reprezentować będzie prawdopodobieństwo tego, że bramka i jest w stanie przepuszczania. Zmiany pomiędzy dwoma stanami bramki przedstawia poniższe równanie [4]: dp i dt = α i (V ) (1 p i ) β i (V ) p i (2.4) Funkcje α i (V ) oraz β i (V ) są funkcjami sigmoidalnymi, zależnymi od potencjału V. Reprezentują one współczynnik przejścia pomiędzy wnętrzem i zewnętrzem komórki nerwowej [19]. Pierwsza część równania (2.4) (α i (V ) (1 p i )) 7
2.2 Podstawowy model Hodgkina-Huxleya opisuje współczynnik przejścia bramki ze stanu nieprzepuszczania do stanu przepuszczania, podczas gdy druga część (β i (V ) p i ) opisuje współczynnik przejścia bramki ze stanu przepuszczania do stanu nieprzepuszczania. Jeżeli potencjał na błonie komórkowej ustali się na pewnej wartości, wówczas bramki w stanie przepuszczania osiągną stan ustalony przy czasie dążącym do nieskończoności α i (V ) p i,t (V ) = (2.5) α i (V ) + β i (V ) gdzie czas osiągnięcia tej wartości wynosi [4]: τ i (V ) = 1 α i (V ) + β i (V ) (2.6) Zestawiając równania (2.3) oraz (2.4) dla konkretnych wartości i = m, n i h, otrzymujemy pełny układ równań opisujący podstawowy model Hodgkina- Huxleya: C dv dt = I g Nam 3 h (V V Na ) g K n 4 (V V K ) g L (V V L ) dn dt = α n (V ) (1 n) β n (V ) n dm dt = α m (V ) (1 m) β m (V ) m dh dt = α h (V ) (1 h) β h (V ) h (2.7) Na rysunku 2.2 zestawione zostały przykładowe przebiegi potencjału na błonie komórkowej wyznaczone według równań różniczkowych układu (2.7) - zamodelowanych w środowisku MATLAB. Przedstawione tu zostały dwa przebiegi potencjału dla różnych wymuszeń prądowych (I = 0, 80 [na]). Należy przede wszystkim zwrócić uwagę na wzrost skoków napięcia wraz ze wzrostem prądu wymuszającego. Ponadto, również wraz ze wzrostem prądu wmuszającego, częstotliwość występowania impulsów potencjału stabilizuje się i występują one regularnie, co jest charakterystyczne dla deterministycznych modeli komórki nerwowej. A Rys. 2.2: Przebieg potencjału na błonie komórkowej według podstawowego modelu Hodgkina-Huxleya dla czterech różnych wymuszeń prądowych: A. I = 0 [na] B. I = 80 [na] B 8
2.3 Kinetyczny model Hodgkina-Huxleya 2.3 Kinetyczny model Hodgkina-Huxleya 2.3.1 Kinetyczny schemat Markowa Jedno z rozszerzeń podstawowego modelu Hodgkina-Huxleya oparto o schematy kinetyczne Markowa o ogólnej postaci [10]: nα n (n 1)α n (n 2)α n x 0 x 1 x 2 β n 2β n (n 1)β n... α n nβ n x n (2.8) Według pracy [10] schematy kinetyczne Markowa zapewniają bardziej ogólną strukturę modelowania kanałów jonowych niż model Hodgkina-Huxleya. Bazują one na diagramach stanów, w których prawdopodobieństwa przejść są niezależne od czasu. Maszyna stanów ma podobne znaczenie jak diagramy reakcji w kinetyce chemicznej - stany reprezentują sekwencję proteinowych struktur które podkreślają bramkowość kanałów. Za ich pomocą można opisać prawdopodobieństwo P (x i, t) znajdowania się w chwili t w stanie x i oraz prawdopodobieństwo P (x i x j ) przejścia ze stanu x i do stanu x j. Wówczas możemy zapisać: dp (x i, t) dt = n P (x j, t) P (x j x i ) j=1 n P (x i, t) P (x i x j ) (2.9) Powyższe równanie można zinterpretować następująco: postęp czasu zależy jedynie od aktualnego stanu systemu i jest definiowany w całości dzięki wiedzy o prawdopodobieństwach przejść. Pierwsza suma występująca w powyższym równaniu reprezentuje wszystkie przejścia wchodzące w stan x i (wkład source - źródło) podczas gdy druga suma - wszystkie przejścia wychodzące z tego stanu (wkład sink - wypływ). W przypadku gdy mamy do czynienia z dużą liczbą identycznych kanałów, różnych cząsteczek, można przeinterpretować równanie (2.9). Prawdopodobieństwo znajdowania się w stanie x i będzie odpowiadało liczbie kanałów znajdujących się w tym stanie - co oznaczono po prostu przez [x i ]. Prawdopodobieństwo przejścia będzie natomiast traktowane jako funkcja przejścia oznaczana tutaj przez r ij. Stosując się do oznaczeń pokazanych na schemacie: j=1 x i r ij r ji x j (2.10) gdzie funkcje r ij i r ji są odpowiednio funkcjami przejścia ze stanu i do stanu j oraz ze stanu j do stanu i, można zapisać: d [x i ] n n = [x j ] r ji [x i ] r ij (2.11) dt 2.3.2 Deterministyczny model kinetyczny j=1 W modelu kinetycznym kanały jonowe traktowane są jako elementy dyskretne, co ułatwia ich stochastyczny opis. Najlepszym sposobem aby opisać aktywność komórek nerwowych jest pokazanie interakcji pomiędzy stochastycznymi j=1 9
2.3 Kinetyczny model Hodgkina-Huxleya elementami dyskretnymi. Zanim przedstawiona zostanie wersja stochastyczna modelu, pokazana zostanie prosta translacja podstawowego modelu Hodgkina- Huxleya (układ równań (2.7)) do wersji kinetycznej [6, 32]. n 0 4α n β n n 1 3α n 2β n n 2 2α n 3β n n 3 α n 4β n n 4 (2.12) Kanały jonowe potasu mogą znajdować się w jednym z pięciu stanów, co pokazane zostało na schemacie (2.12). [n i ] oznacza liczbę i stanów przepuszczających, zatem n 4 (odwzorowujące n 4 w podstawowym modelu) oznacza, że potrzebne są 4 przepuszczające bramki, aby przepływ jonów potasu był możliwy, stąd m 0 h 0 α h β h m 0 h 1 ḡ K (V, t) = [n 4 ] ϕ K (2.13) 3α m m 1 h 0 β m α h β h 3α m β m m 1 h 1 2α m 2β m m 2 h 0 α h β h 2α m 2β m m 2 h 1 α m 3β m m 3 h 0 α h β h α m 3β m m 3 h 1 (2.14) Analogicznie kanały jonowe sodu mogą znajdować się w jednym z ośmiu stanów (schemat (2.14)) i [m 3 h 0 ] oznacza stan otwarty (m 3 h - w modelu podstawowym), stąd: ḡ Na (V, t) = [m 3 h 0 ] ϕ Na (2.15) Parametry ϕ K oraz ϕ Na, o których można założyć, że są sobie równe, stanowią konduktancję pojedynczego kanału jonowego będącego w stanie otwartym. Na rysunku 2.3 zestawione zostały przykładowe przebiegi potencjału na błonie komórkowej dla dwóch wartości wymuszenia prądowego. Przewagą tego modelu nad klasycznym modelem Hodgkina-Huxleya jest przede wszystkim dokładniejszy opis matematyczny procesów zachodzących w komórce nerwowej. Jednak obserwując wykresy przebiegów potencjału można zauważyć dokładnie te same zależności co w modelu Hodgkina-Huxleya, mianowicie regularność występowania skoków potencjału oraz wzrost częstotliwości tych skoków wraz ze wzrostem prądu wymuszającego. Należy ten model traktować jako model przejściowy pomiędzy ściśle deterministycznym modelem Hodgkina-Huxleya a stochastyczną wersją modelu kinetycznego, która wyprowadzona zostanie w następnym podrozdziale. A Rys. 2.3: Przebieg potencjału na błonie komórkowej według podstawowego modelu kinetycznego Hodgkina-Huxleya dla czterech różnych wymuszeń prądowych: A. I = 0 [na] B. I = 80 [na] B 10
2.3 Kinetyczny model Hodgkina-Huxleya 2.3.3 Stochastyczny model kinetyczny W podrozdziale tym przedstawiono sposób przekształcenia deterministycznego modelu kinetycznego do jego wersji stochastycznej. Tym razem zamiast brać pod uwagę każdy z kanałów jonowych oddzielnie (niezależnie), wzięto pod uwagę bardziej rzetelny schemat, w którym rozważana będzie całościowa liczba kanałów. Załóżmy, że w chwili t w stanie A znajduje się n A kanałów i podobnie - w stanie B - n B kanałów. r AB jest funkcją przejścia, która określa przejście ze stanu A do stanu B i analogicznie - r BA określa przejście ze stanu B do stanu A. Prawdopodobieństwo przejścia jednego kanału ze stanu A do stanu B w chwili czasu między t a t + t wynosi p = t r AB. Stąd dla każdej chwili czasu można określić średnią liczbę kanałów n AB, które przechodzą ze stanu A do stanu B, poprzez losowe wybranie liczby według rozkładu dwumianowego, gdzie n = n A i k = n AB [6, 32]: ( ) na P (X = n AB ) = p n AB (1 p) n A n AB (2.16) n AB Przy odpowiednich założeniach [14], rozkład dwumianowy B (n, p) można aproksymować za pomocą rozkładu normalnego N (µ, σ), gdzie µ = n AB p i σ = n AB p (1 p). Na rysunku 2.4 zestawione zostały przykładowe przebiegi potencjału na błonie komórkowej. Stochastyczną naturę neuronu najlepiej odwzorowuje przebieg potencjału dla zerowego prądu wymuszającego, gdzie najłatwiej zaobserwować nieregularność w występowaniu impulsów potencjału. Ponadto można zaobserwować wzrost częstotliwości występowania skoków potencjału wraz ze wzrostem prądu wymuszającego, co jest charakterystyczne dla modeli komórki neuronowej. A Rys. 2.4: Przebieg potencjału na błonie komórkowej według stochastycznego modelu kinetycznego Hodgkina-Huxleya dla czterech różnych wymuszeń prądowych: A. I = 0 [na] B. I = 80 [na] B 11
Rozdział 3 Metody uczenia komórki neuronowej Tworzenie biologicznych modeli komórki nerwowej lub ich całych sieci ma sens wówczas gdy w zamierzeniu zostaną one wykorzystane do rozwiązywania problemów, podobnych do tych, które rozwiązywane są przez sieci sztuczne. W rozdziale tym przedstawiono sposób wprowadzenia do modelu komórki nerwowej procesu uczenia. Poprzez wykorzystanie metody gradientu prostego można, traktując część parametrów modelu jak wagi, przystosować sieć neuronową do zadanego potencjału wzorcowego. Jest to elementarne podejście, jednak daje nadzieję na dalszy rozwój tych modeli i ich intensywne wykorzystanie w automatyce. W niniejszym rozdziale przedstawiona została pokrótce metoda gradientu prostego oraz jej wykorzystanie w podstawowym modelu Hodgkina-Huxleya [11, 12, 13]. Dodatkowo jako nowe rozszerzenie tego podejścia pokazany został proces uczenia w stochastycznym modelu kinetycznym neuronu. W modelu tym, dzięki zastąpieniu pewnych obliczeń generowaniem liczb pseudolosowych z rozkładu normalnego, liczba wag redukuje się i tym sposobem osiąga się dużo mniej skomplikowany przebieg procesu uczenia. 3.1 Metoda gradientu prostego Metoda gradientu prostego należy do grupy podstawowych metod optymalizacji matematycznej. Stosuje się ją w celu znalezienia minimum zadanej funkcji celu F (w tym przypadku funkcji błędu E). Jest to iteracyjna metoda, która bazuje na fakcie, że jeśli wielowartościowa funkcja F jest różniczkowalna w sąsiedztwie punktu x i, wówczas F maleje w kierunku ujemnego gradientu F (x i ) [2, 8, 27]. Wówczas możemy zapisać x i+1 = x i η F (x i ) (3.1) gdzie η jest małą wartością stałą (η 0) i F (x i+1 ) F (x i ). Parametr η jest tak zwanym współczynnikiem długości kolejnych kroków. Uaktualnienie pokazane wzorem (3.1) powtarza się tak długo, aż zostanie spełnione kryterium końca. Najczęściej jako warunek wyjścia przyjmuje się test stacjonarności, czyli F (x i ) < ɛ [2, 8, 27]. 12
3.2 Nauka w modelu Hodgkina-Huxleya 3.2 Nauka w modelu Hodgkina-Huxleya Modele biologicznych komórek nerwowych wymagają różnych parametrów, które opisują pewne właściwości błony komórkowej. Te parametry można dobrać w dowolny sposób tak, aby przebieg potencjału na błonie komórkowej odpowiadał przyjętym założeniom. Zadaniem pojedynczej komórki nerwowej jest minimalizacja następującej funkcji błędu [11, 12, 13]: E = 1 T T 0 1 2 (V (t) V (t)) 2 dt (3.2) gdzie V jest wynikiem działania komórki nerwowej, V jest wektorem celu, natomiast T jest przedziałem czasu, w którym rozpatrujemy działanie komórki. Część parametrów modelu Hodgkina-Huxleya działać będzie jak wagi w klasycznych sztucznych sieciach neuronowych. Trzy podstawowe parametry to g Na, g K oraz g L, które przedstawione zostały w następujący sposób [11, 12, 13]: g Na = ǧ Na e g Na g K = ǧ K e g K g L = ǧ L e g L (3.3) gdzie wartości ǧ Na, ǧ K oraz ǧ L odpowiadają konduktancjom jonowym odpowiednio sodu, potasu i chloru i oznaczają tutaj domyślne wartości tych parametrów, natomiast wartości g Na, g K oraz g L będą traktowane jako wagi modelu. Dodatkowe wagi wprowadzone zostały do równań eliptycznych α (V ) oraz β (V ). Nowe postaci tych funkcji zestawione zostały w tabeli 3.1, gdzie parametry V αn, V αm, V αh oraz V βn, V βm, V βh stanowią wagi. Również te parametry przedstawione zostały w zmienionej formie [11, 12, 13]: V αn = ˇV αn + dv Ṽα n V βn = ˇV βn + dv Ṽβ n V αm = ˇV αm + dv Ṽα m V βm = ˇV βm + dv Ṽβ m (3.4) V αh = ˇV αh + dv Ṽα h V βh = ˇV βh + dv Ṽβ h gdzie również ˇV αi i ˇVβi oznacza wartość domyślną parametru, Ṽ αi i Ṽ βi będzie wagą modelu, natomiast dv jest wartością stałą (dv = 20). Domyślne wartości parametrów ˇV αi i ˇV βi wynikają one bezpośrednio z wyjściowych postaci funkcji α i β. i α i (V, V αi ) β i (V, V βi ) n m h 0.01 (V αn V ) ( Vαn ) V exp 1 10 0.1 (V αm V ) ( Vαm ) V exp 1 10 ( Vαh V 0.07 exp 20 ) ( ) Vβn V 0.125 exp 80 ( ) Vβm V 4 exp 18 exp 1 ( Vβh V 10 ) + 1 Tab. 3.1: Postacie funkcji α i (V, V αi ) i β i (V, V βi ) 13
3.2 Nauka w modelu Hodgkina-Huxleya Główne równanie modelu nie ulega zmianie i przyjmuje postać jak w podstawowym modelu Hodgkina-Huxleya: C dv dt = I g Nam 3 h (V V Na ) g K n 4 (V V K ) g L (V V L ) (3.5) W procesie nauki przyjmuje się natomiast, że równania opisujące przepływ jonów przez błonę komórkową uwzględniają potencjał wzorcowy zamiast potencjału wyznaczonego w procesie nauki [11, 12, 13], czyli: dn dt = α n (V ) (1 n) β n (V ) n dm dt = α m (V ) (1 m) β m (V ) m dh dt = α h (V ) (1 h) β h (V ) h (3.6) Postępując zgodnie z metodą gradientu prostego, po zdefiniowaniu problemu (minimalizacja funkcji błędu (3.2)) w pierwszym kroku należy ustalić wartości początkowe wszystkich wag. Zostało przyjęte, że każda z tych wartości losowana jest z przedziału 0.5, +0.5. Kolejnym etapem jest wyznaczenie gradientu funkcji błędu względem wszystkich wag modelu. Zakładając, że w i odpowiada poszczególnym wagom modelu, można napisać [11, 12, 13]: E w i = 1 T T 0 (V (t) V (t)) V (t) w i dt (3.7) W przypadku podstawowego modelu Hodgkina-Huxleya mamy do czynienia z systemem postaci [11, 12, 13]: Ẋ = F (X,..., w i,...) (3.8) Parametr X odpowiada tutaj wartości potencjału V, stąd możemy zapisać, że: F = 1 C ( I gna m 3 h (V V Na ) g K n 4 (V V K ) g L (V V L ) ) (3.9) Chcemy znać wpływ poszczególnych parametrów w i na równanie (3.8). Wpływ pojedynczej wagi w i na układ dynamiczny można zapisać jako równanie różniczkowe: Ẏ = F X Y + F (3.10) w i gdzie: Y = X w i (3.11) Aktualizacja wag może odbywać się dwojako, mianowicie albo po symulacji całego modelu, albo w trybie online, to znaczy w każdym kroku czasu [11, 12, 13]: T a wi = w i + 1 T (V (t) V V (t) w i (t)) (3.12) w i w i 14
3.2 Nauka w modelu Hodgkina-Huxleya gdzie: w i = η w i (3.13) natomiast T a jest wartością stałą i T a = 5T [11, 12, 13]. Powyższy schemat, po zastosowaniu jawnej metody Eulera do rozwiązania numerycznego równania różniczkowego, możemy przepisać w następującej postaci: w i w i t w i + t (V V ) Y i w i T a T T a (3.14) w i w i η t w i V (t) Wartości pochodnych cząstkowych postaci są rozwiązaniami równań w i różniczkowych postaci (3.10). Stąd utworzony został układ równań różniczkowych postaci: Ẏ 1 = G Y 1 + m 3 h (V V Na ) Ẏ 2 = G Y 2 + n 4 (V V K ) Ẏ 3 = G Y 3 + V V L Ẏ 4 = G Y 4 1 C g K4n 3 (V V K ) n V αn Ẏ 5 = G Y 5 1 C g Na3m 2 h (V V Na ) m V αm Ẏ 6 = G Y 6 1 C g Nam 3 (V V Na ) h (3.15) V αh Ẏ 7 = G Y 7 1 C g K4n 3 (V V K ) n V βn Ẏ 8 = G Y 8 1 C g Na3m 2 h (V V Na ) m Ẏ 9 = G Y 9 1 C g Nam 3 (V V Na ) V βm h V βm gdzie: G = F V = 1 ( ) gna m 3 h + g K n 4 + g L (3.16) C jest pochodną funkcji F względem potencjału V. Funkcje Y 1, Y 2,..., Y 9 stanowią odpowiednie wartości pochodnych V i wykorzystywane są bezpośrednio do w i obliczenia nowych wartości wag modelu, przy czym: w 1 = g Na w 4 = V αn w 7 = V βn w 2 = g K w 5 = V αm w 8 = V βm (3.17) w 3 = g L w 6 = V αh w 9 = V βh W układzie (3.15) pojawiają się pochodne funkcji n, m i h po odpowiednich wagach V αi lub V βi. Wartości tych pochodnych można wyznaczyć analogicznie jak w przypadku tworzenia samego układu (3.15). Przykładowo wyznaczymy pochodną n. Równanie różniczkowe opisujące zmianę funkcji n w czasie przepiszemy w następujący V αn sposób: ṅ = F n (n, V, V αn, V βn ) = α n (V ) (1 n) β n (V ) n (3.18) 15
3.2 Nauka w modelu Hodgkina-Huxleya Wówczas wprowadzając pomocniczą zmienną Y n = n V αn możemy zapisać: gdzie F n V αn Ẏ n = F n n Y n + F n V αn (3.19) = α n n n (1 n) α n β n (3.20) V αn V αn V αn Niezbędne jest zatem wyznaczenie pochodnych funkcji α i (V, V αi ) oraz β i (V, V βi ) względem wartości V αi oraz V βi. Postaci tych pochodnych przedstawione zostały w tabelach 3.2 i 3.3. i α i (V, V alphai ) V αi n m h ( ( Vαn ) V 0.01 exp 10 ( ( Vαm ) V 0.1 exp 10 ) 1 ( exp ) 1 ( exp ( Vαn V 0.001 (V αn V ) exp 10 ) ( Vαn V 10 1 ) 2 0.01 (V αm V ) exp ) ) 2 1 ( Vαm V 10 ( Vαh V 0.07 0.05 exp 20 ) ( Vαm V Tab. 3.2: Postacie pochodnych funkcji przejścia α i (V ) V αi 10 ) ) i β i (V, V βi ) V βi n m h ( ) Vβn V 0.125 0.0125 exp 80 ( ) 4 18 exp Vβm V 18 ( Vβh ) V 0.1 exp 10 (( Vβh ) V exp + 1 Tab. 3.3: Postacie pochodnych funkcji przejścia β i (V ) V βi 10 ) 2 16
3.3 Nauka w stochastycznym modelu kinetycznym neuronu 3.3 Nauka w stochastycznym modelu kinetycznym neuronu Proces nauki można wprowadzić właściwie do każdego modelu z prezentowanych w trzecim rozdziale pracy. Tutaj jednak przedstawiony zostanie schemat postępowania jedynie w przypadku stochastycznego modelu kinetycznego komórki nerwowej. Jest to oryginalne podejście nieprezentowane dotychczas w literaturze. Podobnie jak w przypadku podstawowego modelu Hodgkina-Huxleya cały proces nauki komórki rozpoczyna się od postawienia problemu minimalizacji funkcji błędu E postaci (3.2). Ponieważ proces przepływu jonów przez błonę komórkową jest zdefiniowany inaczej niż w modelu Hodgkina-Huxleya i opiera się na generowaniu w każdym kroku serii liczb losowych, stąd wagi w postaci V α oraz V β właściwie nie są potrzebne do procesu nauki. W związku z tym wystarczą jedynie trzy wagi (aby ujednolicić oznaczenia, zamiast wartości ϕ Na oraz ϕ K zastosowane zostały oznaczenia g Na oraz g K ): w 1 = g Na = ǧ Na e g Na w 2 = g K = ǧ K e g K w 3 = g L = ǧ L e g L (3.21) Przeprowadzając podobne rozumowanie jak w przypadku podstawowego modelu Hodgkina-Huxleya (równania (3.8) i (3.10)), funkcję F można zapisać następująco: F = 1 C (I g Na [m 3 h 0 ] (V V Na ) g K [n 4 ] (V V K ) g L (V V L )) (3.22) Następnie należy utworzyć analogiczny układ równań różniczkowych, jak ten postaci (3.15): Ẏ 1 = G Y 1 + [m 3 h 0 ] (V V Na ) Ẏ 2 = G Y 2 + [n 4 ] (V V K ) (3.23) Ẏ 3 = G Y 3 + V V L gdzie: G = F V = 1 C (g Na [m 3 h 0 ] + g K [n 4 ] + g L ) (3.24) W związku z tym, że liczba kanałów zmieniających stan w danym kroku nie zależy od wag modelu, stąd wartość ta jest wyznaczana za każdym razem jednorazowo przed rozpoczęciem nauki komórki. Aktualizacja wag odbywa się dokładnie tak samo jak w przypadku modelu Hodgkina-Huxleya, czyli według schematu (3.14). Stochastyczny model kinetyczny ma przewagę nad modelem Hodgkina-Huxleya ze względu na jego uproszczoną formę. Zmniejszenie liczby wag z dziewięciu do trzech przyczynia się do redukcji złożoności obliczeń. Nie ma potrzeby obliczania wielu pochodnych, związanych z ruchami jonów między wnętrzem i zewnętrzem komórki. Dlatego też zdecydowano się na transfer procesu uczenia z modelu Hodgkina-Huxleya na stochastyczny model kinetyczny, który później wykorzystywany jest również w zastosowaniach praktycznych. 17
3.4 Wyniki eksperymentalne 3.4 Wyniki eksperymentalne Na rysunku 3.1 przedstawione zostały przykładowe wyniki działania nauczonej komórki nerwowej. W pierwszym przykładzie jako sygnał uczący V wykorzystany został potencjał wygenerowany przez komórkę według podstawowego modelu Hodgkina-Huxleya przy założeniu prądu wymuszającego I = 40 [na]. Na rysunku 3.1 zestawione zostało pięć wykresów: pierwszy z nich pokazuje sygnał wzorcowy V, kolejne dwa otrzymane zostały w wyniku działania nauczonych komórek: drugi wykres z komórki według modelu Hodgkina-Huxleya, trzeci - z modelu stochastycznego. Na kolejnych dwóch wykresach pokazany został błąd otrzymany w wyniku porównania potencjału wzorcowego z wynikiem działania obu rodzajów komórek. Łatwo zauważyć, że największe oscylacje pojawiają się na samym początku oraz przy okazji występowania skoków potencjału. W tym przypadku niezbędne jest poprawne dopasowanie współczynnika uczenia. Jak widać sygnały otrzymane w wyniku procesu uczenia komórki nieznacznie odbiegają od sygnału zadanego. Widać jedynie, że na początku proces ten nie do końca się powiódł, w wyniku czego powstały niewielkie odchylenia od sygnału zadanego. Wykresy pokazane na rysunku 3.1 potwierdzają, że nauka modelu stochastycznego daje wyniki zbliżone do wyników otrzymanych z modelu Hodgkina- Huxleya. Tym bardziej stosowanie modelu stochastycznego jest bardziej celowe ze względu na jego uproszczoną formę i dużo łatwiejszą implementację. 18
3.4 Wyniki eksperymentalne Rys. 3.1: Wynik działania nauczonych komórek nerwowych: pierwszy wykres - potencjał wzorcowy, drugi wykres - działanie komórki nerwowej Hodgkina-Huxleya, trzeci wykres - działanie komórki nerwowej według stochastycznego modelu kinetycznego 19
Rozdział 4 Przykłady zastosowania modeli biologicznych komórek neuronowych w automatyce i robotyce W niniejszym rozdziale przedstawiony jeden z przykładów zastosowania modelu biologicznej komórki nerwowej uczonej za pomocą metody gradientowej. Pokazano tutaj zastosowanie pojedynczej komórki nerwowej wraz ze strukturą sztucznej sieci neuronowej Elmana, jako elementu dopinającego w systemie AHRS wyznaczania stopni swobody związanych z obrotem względem osi x, y i z. System ten ma zostać wykorzystany w procesie sterowania quadrocopterem. 4.1 Aproksymacja funkcji prostokątnej Model biologicznej komórki nerwowej został wykorzystany do jednego z referencyjnych zagadnień rozwiązywanych przy pomocy sztucznych sieci neuronowych, mianowicie w zagadnieniu aproksymacji. Podczas gdy w przypadku sztucznych sieci neuronowych niezbędna jest struktura zbudowana przynajmniej z jednej warstwy ukrytej, w przypadku modelu komórki nerwowej w zupełności wystarcza jeden neuron, aby z sukcesem przeprowadzić proces aproksymacji, również funkcji nieciągłych. Według teorii Kołmogorowa [29, 30] w przypadku funkcji ciągłych niezbędne jest wykorzystanie trzech warstw w strukturze sztucznej sieci neuronowej: wejściowej, jednej ukrytej zbudowanej z 2N + 1 neuronów, gdzie N oznacza rozmiar wektora wejściowego, oraz warstwy wyjściowej. Teoria ta mówi również o tym, że w przypadku funkcji nieciągłych niezbędne jest dodanie drugiej warstwy ukrytej w strukturze sieci. W niniejszej pracy jako wstęp do dalszych zastosowań przedstawiona została aproksymacja funkcji prostokątnej za pomocą pojedynczej komórki nerwowej według stochastycznego modelu kinetycznego z gradientowym procesem uczenia. Dla przypomnienia główne równanie tego modelu, opisujące potencjał na błonie 20
4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS komórkowej przyjmuje następującą postać: dv = I g N a (V VN a ) g K (V VK ) gl (V VL ) (4.1) dt Prąd I w tym równaniu jest rozumiany tutaj jako źródło zewnętrzne, traktowany jest on jako wejście do komórki nerwowej. Przebieg uczenia wygląda analogicznie jak w konwencjonalnych sztucznych sieciach neuronowych, to znaczy jako wejście do komórki podawane są wartości osi odciętej, podczas gdy jako wzór (potencjał wzorcowy - cel nauki) brane są odpowiednie wartości funkcji prostokątnej. Symulacje przeprowadzone zostały dla 450 próbek. Czas nauki wyniósł 5.27 sekundy, natomiast błąd policzony jako wartość bezwzględna różnicy między wartościami zadanymi a otrzymanymi w wyniku symulacji, wyniósł 6.1455 10 5. C 4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS AHRS (ang. Attitude and Heading Reference System) jest to system sensorów, zapewniający odczyt trzech stopni swobody związanych z ruchem obrotowym wokół osi x, y i z. System ten pozwala na obliczenie położenia obiektu w przestrzeni i składa się z czujników MEMS (ang. Micro Electro-Mechanical Systems), mianowicie z akcelerometru, żyroskopu i magnetometru [5]. Rys. 4.1: Quadrocopter1 System AHRS umożliwia wyznaczenie orientacji obiektu (np. quadrocoptera - rys. 4.1) w przestrzeni na podstawie przyspieszeń liniowych, kątowych oraz zwrotu i siły pola magnetycznego Ziemi. Algorytm wyznaczania kątów Eulera można zapisać w następujących krokach: 1 Zdjęcie wykonane i udostępnione przez Krzysztofa Kolanowskiego 21
4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS 1. Zgromadzenie danych z czujników (akcelerometr, żyroskop, magnetometr). 2. Normalizacja próbek z czujników inercyjnych i czujnika pola magnetycznego Ziemi. 3. Wyznaczenie wektorów przyspieszenia w zależności od grawitacji i strumienia magnetycznego Ziemi. 4. Ostateczne wyznaczenie kątów Eulera względem trzech osi obrotu x, y i z (ang. Roll, Pitch, Yaw). Pozycja obiektu w danej przestrzeni zdefiniowana jest jako przemieszczenie między dwoma układami współrzędnych. Pierwszym systemem może być Ziemia lub punkt, w którym odbywa się kalibracja sensorów. Drugim układem natomiast, jest obiekt sterowania, jak na przykład quadrocopter (rys. 4.1). Wartości takie jak kierunek, prędkość, przyspieszenie i ruch mogą być łatwo transformowane z jednego układu współrzędnych do drugiego. Współrzędne w docelowym układzie współrzędnych otrzymuje się poprzez wymnożenie wektora reprezentującego położenie w wyjściowym układzie współrzędnych przez macierz rotacji R, o wymiarze 3 3. Taką macierz określa się jako macierz kosinusów kierunkowych (ang. DCM - Direction Cosine Matrices). Konwersja pozycji kątowej między kątami Eulera a reprezentacją DCM dana jest równaniem: x x y = R y (4.2) z z gdzie [31]: cos θ cos ψ sin φ sin θ cos ψ cos φ sin ψ cos φ sin θ cos ψ + sin φ sin ψ R = cos θ sin ψ sin φ sin θ sin ψ + cos φ cos ψ cos φ sin θ sin ψ sin φ cos ψ sin θ sinφ cos θ cos φ cos θ (4.3) zaś kąty φ, θ i ψ odpowiadają kątom Eulera względem trzech osi obrotu (Roll, Pitch, Yaw). Jednym ze sposobów zastąpienia klasycznego algorytmu AHRS jest wykorzystanie kwaternionów. Kwaternion jest to liczba zespolona wyższego rzędu (w tym przypadku rzędu czwartego) i zdefiniowany jest następująco: Można też wprowadzić następujący zapis alternatywny: q = (q 0, q 1, q 2, q 3 ) (4.4) q = q 0 + iq 1 + jq 2 + kq 3 (4.5) gdzie q 0 jest skalarem kwaternionu, natomiast q = iq 1 + jq 2 + kq 3 jest wektorem kwaternionu oraz zachodzi zależność: i 2 = j 2 = k 2 = ijk = 1 (4.6) 22
4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS Kwaterniony można wykorzystać do opisu orientacji obiektu w trójwymiarowej przestrzeni. Kwaternion opisujący położenie w wyjściowym układzie współrzędnych można zdefiniować następująco: ( ) ϑ q 0 = cos 2 ( ) ϑ q 1 = e x sin 2 ( ) (4.7) ϑ q 2 = e y sin 2 ( ) ϑ q 3 = e z sin 2 gdzie e x, e y i e z odpowiadają osiom głównym, natomiast ϑ kątowi głównemu [20, 25]. Przekształcenie kwaternionów do reprezentacji Eulera odbywa się poprzez zastosowanie następujących wzorów: ( 2 φ = tan 1 (q2 q 3 + q 0 q 1 ) q0 2 q3 2 q2 2 + q1 2 θ = sin 1 ( 2 (q 1 q 3 + q 0 q 2 )) ψ = tan 1 ( 2 (q1 q 2 + q 0 q 3 ) q 2 0 q 2 3 q 2 2 + q 2 1 ) ) (4.8) Algorytm wyznaczania kątów Eulera poprzez system AHRS jest kosztowny obliczeniowo, ze względu na dużą liczbę operacji macierzowych. Problem stanowi również konieczność obliczeń w czasie rzeczywistym, spowodowana adaptacyjnym sterowaniem rzeczywistym obiektem. Stąd pomysł na wykorzystanie sztucznych sieci neuronowych w połączeniu z nauczanymi modelami biologicznych komórek nerwowych. Przeprowadzona praca nad sztucznymi sieciami neuronowymi połączonymi z modelami biologicznego neuronu miała charakter symulacyjny i ma posłużyć dalszym badaniom porównawczym różnych sposobów zastąpienia klasycznego algorytmu AHRS wymagającego obliczeń macierzowych postaci 4.2. Wykorzystano tutaj sieć neuronową Elmana w połączeniu z biologicznymi modelami komórki nerwowej o następującej strukturze: - Jako wejście przyjęto dziewięć współczynników odpowiadających odczytom z trzech czujników: akcelerometru, żyroskopu i magnetometru, wszystkie w rozbiciu na trzy osie x, y i z. - W warstwie ukrytej sieci Elmana wykorzystano różną liczbę neuronów (10, 20, 30, 40, 50) oraz liniową funkcję aktywacji, przy czym wybrane wyniki przebiegu symulacji przedstawione zostaną w dalszej części podrozdziału. Z około 2 /3 neuronów w warstwie ukrytej poprowadzone zostało sprzężenie zwrotne do warstwy wejściowej. - Warstwa wyjściowa zbudowana jest z 3 neuronów, odpowiadających trzem kątom Eulera, wokół osi x, y i z. W warstwie tej wykorzystano sigmoidalną funkcję aktywacji. 23
4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS - Próbki otrzymane w wyniku działania algorytmu AHRS zostały wykorzystane do trenowania sztucznej sieci neuronowej. - Trzy wyjścia ze sztucznej sieci neuronowej poprowadzone zostały do trzech biologicznych komórek nerwowych, gdzie z każdym przejściem pomiędzy wyjściami sieci neuronowej Elmana a modelami biologicznej komórki nerwowej powiązane są trzy wagi g Na, g K oraz g L. Przykładowa struktura tak zbudowanej sieci neuronowej pokazana została na rysunku 4.2. Rys. 4.2: Struktura sieci wykorzystanej do obliczania kątów Eulera - sieć jest zbudowana ze sztucznej sieci Elmana oraz trzech komórek nerwowych uczonych według metody gradientu prostego Zadaniem biologicznej komórki nerwowej było wygładzenie wartości otrzymanych w wyniku działania sztucznej sieci neuronowej Elmana. Pokazane w dalszej części podrozdziału błędy pomiędzy wartościami otrzymanymi z algorytmu AHRS a wynikiem działania sieci Elmana nie są wystarczająco satysfakcjonujące. Wyznaczane kąty Eulera muszą być niezwykle precyzyjne ze względu na późniejsze ich wykorzystanie w sterowaniu rzeczywistym obiektem. Stąd pomysł wykorzystania modelu biologicznego neuronu, który dzięki swym właściwościom jest w stanie bardzo precyzyjnie wyznaczyć poszukiwane wartości. Jak już zostało wspomniane, modele biologicznej komórki nerwowej wymagają dużej ilości zasobów, dlatego też pomysł na ich połączenie z konwencjonalnymi sztucznymi sieciami neuronowymi, które przeprowadzają wstępną obróbkę danych. W przypadku uczenia modelu pojedynczej komórki nerwowej przyjęto dwa kryteria, w których zakłada się, że trenowanie ma być przerwane albo po osiągnięciu 1000 iteracji albo po osiągnięciu pewnego progu błędu bezwzględnego pomiędzy zadaną (V ) a szukaną (V ) wartością. Próg ten wynosił 10 4. Nauczanie odbywa się tak jak to zostało przedstawione w rozdziale czwartym, to znaczy 24
4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS model komórki nerwowej ma za zadanie wyznaczyć potencjał według głównego równania stochastycznego modelu kinetycznego: C dv dt = I g Na [m 3 h 0 ] (V V Na ) g K [n 4 ] (V V K ) g L (V V L ) (4.9) który ma minimalizować funkcję błędu podaną wzorem: E = 1 T T 0 1 2 (V (t) V (t)) 2 dt (4.10) Czas trenowania pojedynczej komórki nerwowej wynosił średnio 20 minut (w jednym z konkretnych przypadków - 20 minut i 41 sekund). Czas odtworzenia pojedynczej próbki wynosił natomiast 0.000199 sekundy. Na rysunku 4.3 zestawione zostały odczyty wartości z odpowiednich czujników: akcelerometru, żyroskopu oraz magnetometru. Na kolejnych rysunkach, 4.4, 4.5 i 4.6 pokazane zostały wyniki działania zarówno sieci Elmana jak i biologicznej komórki nerwowej w procesie wyznaczania wartości kątów Eulera. Jak widać na dołączonym wykresie, błąd pomiędzy rzeczywistym kątem Eulera a kątem wyznaczanym przez biologiczną komórkę nerwową przyjmuje wartość rzędu 10 4, co potwierdza zalety wykorzystania tych komórek w procesie wyznaczania tych kątów. 25
4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS Rys. 4.3: Dane odczytane z akcelerometru, żyroskopu i magnetometru 26
4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS Rys. 4.4: Wyniki działania algorytmu AHRS oraz sieci neuronowej, A. Kąt Eulera względem osi x (Roll) wyznaczony za pomocą kwaternionów, B. Wynik działania sztucznej sieci neuronowej Elmana, C. Wynik działania biologicznej komórki nerwowej. D. Błąd pomiędzy spodziewaną wartością kąta a wartością wyznaczoną przez biologiczną komórkę nerwową 27
4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS Rys. 4.5: Wyniki działania algorytmu AHRS oraz sieci neuronowej, A. Kąt Eulera względem osi y (Pitch) wyznaczony na podstawie algorytmu AHRS, B. Wynik działania sztucznej sieci neuronowej Elmana, C. Wynik działania biologicznej komórki nerwowej. D. Błąd pomiędzy spodziewaną wartością kąta a wartością wyznaczoną przez biologiczną komórkę nerwową. 28
4.2 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS Rys. 4.6: Wyniki działania algorytmu AHRS oraz sieci neuronowej, A. Kąt Eulera względem osi z (Yaw) wyznaczony na podstawie algorytmu AHRS, B. Wynik działania sztucznej sieci neuronowej Elmana, C. Wynik działania biologicznej komórki nerwowej. D. Błąd pomiędzy spodziewaną wartością kąta a wartością wyznaczoną przez biologiczną komórkę nerwową 29
Rozdział 5 Podsumowanie Przedmiotem pracy była próba odpowiedzi na pytanie czy stochastyczny model biologicznego modelu komórki nerwowej oparty na kinetycznych schematach Markowa będzie reprezentował w szerszym zakresie własności biologicznej komórki nerwowej i będzie miał własności pozwalające na zastosowanie go w efektywny sposób w układach automatyki i robotyki. W zakres pracy wchodziło więc po pierwsze sformułowanie oraz opis nowych modeli komórki nerwowej i sieci neuronowej. Wśród wyprowadzonych modeli znalazł się poszerzony model kinetyczny komórki nerwowej, uwzględniający rozszerzone schematy kinetyczne Markowa oraz kinetyczny model sieci neuronowej, uwzględniający klasyczne schematy kinetyczne Markowa o ośmiu i pięciu stanach odpowiednio dla kanałów jonowych sodu oraz potasu. Poza opisem nowych modeli komórki i sieci neuronowej, przedmiotem pracy było opracowanie metody gradientowej nauki w zaprezentowanych modelach. Ponadto celem pracy było przedstawienie możliwości wykorzystania modeli w automatyce. Modele te, podobnie jak klasyczne sztuczne sieci neuronowe, przechodząc proces nauki mają rozwiązywać zadania klasyfikacji sterowania (zwłaszcza sterowania adaptacyjnego), aproksymacji, optymalizacji, itp. Wszystkie główne oraz szczegółowe zadania postawione w pracy zostały osiągnięte. Wyprowadzone zostały nowe modele komórki oraz sieci neuronowej, opracowana została metoda nauki tych modeli oraz pokazane zostały możliwości wykorzystania tych nauczonych modeli. W pracy wykorzystane zostały znane metody analizy numerycznej: metody rozwiązywania równań różniczkowych jawna i niejawna metoda Eulera, metody Rungego-Kutty [9, 22], metody numeryczne algebry liniowej metody rozwiązywania układów równań liniowych CGNE (metoda gradientu sprzężonego) [22], metody z zakresu optymalizacji metoda gradientu prostego znajdowania ekstremum lokalnego zadanej funkcji, metoda mnożników Lagrange a znajdowania ekstremum lokalnego funkcji przy zadanych funkcjach ograniczających [2, 3, 8, 27]. Na podstawie przeprowadzonych badań można wyciągnąć następujące wnioski: 30