• Nie Znaleziono Wyników

Wykorzystanie komórek nerwowych w algorytmie wyznaczania

w algorytmie wyznaczania kątów Eulera poprzez system AHRS

AHRS (ang. Attitude and Heading Reference System) jest to system sen-sorów, zapewniający odczyt trzech stopni swobody związanych z ruchem obro-towym 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 [8].

System AHRS umożliwia wyznaczenie orientacji obiektu (np. quadrocoptera - rys. 7.3) 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. 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 strumie-nia magnetycznego Ziemi.

4. Ostateczne wyznaczenie kątów Eulera względem trzech osi obrotu x, y i z (ang. Roll, Pitch, Yaw ).

W celu zebrania danych z trzech czujników (akcelerometru, żyroskopu i ma-gnetometru) zostało zbudowane urządzenie rejestrujące pokazane na rysunku 7.4.

W urządzeniu wykorzystano moduł IMU (ang. Inertial Measurement Unit - in-ercyjny zespół pomiarowy) firmy ATMEL ATAVRSBIN1, który wyposażony jest w trójosiowy akcelerometr, trójosiowy żyroskop i trójosiowy magnetometr. Do odczytu danych wykorzystany został STM32F4-Discovery [40].

Połączenia między komponentami zostały zaimplementowane z wykorzysta-niem obwodu drukowanego (ang. PCB - Printed Circuit Board ), który posiada dodatkowo wbudowany blok zasilający, blok komunikacyjny Bluetooth oraz złącze

7.3 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS

Rys. 7.2: Aproksymacja funkcji prostokątnej przy pomocy pojedynczej biologicznej komórki nerwowej

Rys. 7.3: Quadrocopter1

karty SD. Próbki z akcelerometru i żyroskopu zapisywane były przy częstotliwości 50 [Hz] , podczas gdy z magnetometru przy częstotliwości 10 [Hz] [40].

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 nato-miast, jest obiekt sterowania, jak na przykład quadrocopter (rys. 7.3). Wartości takie jak kierunek, prędkość, przyspieszenie i ruch mogą być łatwo transformo-wane 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 reprezentu-ją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:

 x0 y0 z0

= R

 x y z

 (7.2)

1Zdjęcie wykonane i udostępnione przez Krzysztofa Kolanowskiego

7.3 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS

Rys. 7.4: Urządzenie rejestrujące dane odczytane z akcelerometru, żyroskopu i magnetometru2

gdzie [52]:

R =

cos θ cos ψ sin φ sin θ cos ψ − cos φ sin ψ cos φ sin θ cos ψ + sin φ sin ψ cos θ sin ψ sin φ sin θ sin ψ + cos φ cos ψ cos φ sin θ sin ψ − sin φ cos ψ

− sin θ sinφ cos θ cos φ cos θ

 (7.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 wykorzy-stanie kwaternionów. Kwaternion jest to liczba zespolona wyższego rzędu (w tym przypadku rzędu czwartego) i zdefiniowany jest następująco:

q = (q0, q1, q2, q3) (7.4) Można też wprowadzić następujący zapis alternatywny:

q = q0+ iq1+ jq2+ kq3 (7.5)

2Zdjęcie wykonane i udostępnione przez Krzysztofa Kolanowskiego

gdzie q0 jest skalarem kwaternionu, natomiast q = iq1 + jq2 + kq3 jest wektorem kwaternionu oraz zachodzi zależność:

i2 = j2 = k2 = ijk = −1 (7.6) Kwaterniony można wykorzystać do opisu orientacji obiektu w trójwymiaro-wej przestrzeni. Kwaternion opisujący położenie w wyjściowym układzie współ-rzędnych można zdefiniować następująco:

q0 = cos ϑ

gdzie ex, ey i ez odpowiadają osiom głównym, natomiast ϑ kątowi głównemu [34, 41]. Przekształcenie kwaternionów do reprezentacji Eulera odbywa się poprzez zastosowanie następujących wzorów:

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 al-gorytmu AHRS wymagającego obliczeń macierzowych postaci (7.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.

7.3 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS

- 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.

- Próbki otrzymane w wyniku działania algorytmu AHRS zostały wykorzy-stane 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 ner-wowej powiązane są trzy wagi gN a, gK oraz gL.

Przykładowa struktura tak zbudowanej sieci neuronowej pokazana została na rysunku 7.5.

Przeprowadzono szereg symulacji zarówno różnych struktur sieci Elmana [40]

jak i modelu biologicznej komórki nerwowej [57]. Przedstawione zostaną tylko wybrane wyniki, które pokazują jak na przykład wzrost liczby neuronów w war-stwie ukrytej sieci Elmana wpływa na poprawę jakości odtwarzania wzorca. Jako próbki uczące w sieci Elmana wykorzystano wartości kątów Eulera wyznaczone za pomocą algorytmu AHRS [40].

W symulacji sieci Elmana przyjęto 1000 iteracji (jednak w żadnej z przeprowa-dzonych symulacji nie była potrzebna nawet połowa tej wartości) oraz algorytm trenowania Levenberga-Marquardta z założeniem minimalnej wartości gradientu równej 10−5. W wyniku symulacji różnej liczby neuronów w warstwie ukrytej otrzymano następujące wyniki:

• 10 neuronów w warstwie ukrytej, z 8 poprowadzone sprzężenie do warstwy wejściowej

- minimalna wartość gradientu osiągnięta po 348 iteracjach, - czas trenowania: 19 minut i 57 sekund,

- czas odtwarzania pojedynczej próbki: 0.03 sekundy;

• 20 neuronów w warstwie ukrytej, z 15 poprowadzone sprzężenie do warstwy wejściowej

- minimalna wartość gradientu osiągnięta po 213 iteracjach, - czas trenowania: 6 godzin, 14 minut i 42 sekundy,

- czas odtwarzania pojedynczej próbki: 0.03 sekundy;

• 50 neuronów w warstwie ukrytej, z 30 poprowadzone sprzężenie do warstwy wejściowej

- minimalna wartość gradientu osiągnięta po 136 iteracjach, - czas trenowania: 4 dni, 14 godzin, 27 minut i 51 sekund, - czas odtwarzania pojedynczej próbki: 0.03 sekundy.

Rys.7.5:StrukturasieciwykorzystanejdoobliczaniakątówEulera-siećjestzbudowanazesztucznejsieciElmanaoraztrzech komóreknerwowychuczonychwedługmetodygradientuprostego

7.3 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS

Zadaniem biologicznej komórki nerwowej było „wygładzenie” wartości otrzy-manych w wyniku działania sztucznej sieci neuronowej Elmana. Pokazane w dal-szej części podrozdziału błędy pomiędzy wartościami otrzymanymi z algorytmu AHRS a wynikiem działania sieci Elmana nie są wystarczająco satysfakcjonu-ją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ż zo-stał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ąosią-gnięciu pewnego progu błędu bezwzględnego pomiędzy zadaną (V) a szukaną (V ) wartością. Próg ten wynosił 10−4. Naucza-nie odbywa się tak jak to zostało przedstawione w rozdziale czwartym, to znaczy model komórki nerwowej ma za zadanie wyznaczyć potencjał według głównego równania stochastycznego modelu kinetycznego:

CdV

dt = I − gN a[m3h0] (V − VN a) − gK[n4] (V − VK) − gL(V − VL) (7.9) który ma minimalizować funkcję błędu podaną wzorem:

E = 1 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.

W tabeli 7.1 zestawione zostały błędy bezwzględne pomiędzy kątami wy-znaczonymi według algorytmu AHRS oraz w wyniku działania sztucznej sieci neuronowej i biologicznej komórki nerwowej. Pokazano błędy wyznaczone jako suma różnic bezwzględnych pomiędzy kątami wyznaczonymi za pomocą kwater-nionów a siecią Elmana (suma) i modelem neuronu oraz minimalna wartość róż-nicy bezwzględnej wyznaczona pomiędzy pojedynczymi próbkami (min). Błędy wyznaczone zostały dla trzech opisanych powyżej rozmiarów warstwy ukrytej sieci Elmana oraz dla modelu biologicznej komórki nerwowej względem trzech kątów Eulera φ (Roll ), θ (Pitch) i ψ (Yaw ).

W przypadku sieci Elmana należy zauważyć, że błąd znacznie zmniejsza się wraz ze zwiększeniem liczby neuronów w warstwie ukrytej z 10 na 20. Zwiększenie tej liczby neuronów do 50 nie powoduje już tak znaczącej poprawy, a jak pokazano trenowanie sieci neuronowej z tak dużą liczbą neuronów wymaga bardzo dużych nakładów czasowych. Prowadzi to do stwierdzenia, że struktura o 20 neuronach w warstwie ukrytej w zupełności wystarcza do osiągnięcia wyników w pewnym stopniu satysfakcjonujących.

Błędy pomiędzy kątami Eulera wyznaczonymi za pomocą kwaternionów i za pomocą modelu neuronu pokazują przewagę tych modeli nad sztuczną siecią neu-ronową Elmana. Minimalny błąd (jako moduł z różnicy między pojedynczymi

próbkami) jest o rząd lub nawet o dwa rzędy wielkości mniejszy niż w przypadku sieci Elmana, podczas gdy sumaryczny błąd o trzy rzędy wielkości. To pokazuje ogromną zaletę modelu komórki nerwowej.

Na rysunku 7.6 zestawione zostały odczyty wartości z odpowiednich czuj-ników: akcelerometru, żyroskopu oraz magnetometru. Na kolejnych rysunkach, 7.7, 7.8 i 7.9 pokazane zostały wyniki działania zarówno sieci Elmana jak i bio-logicznej 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.

Model

Sieć Elmana biologicznego

neuronu

liczba neuronów min suma min suma

10 4.2868·10−4 154.2524

φ (Roll ) 20 9.2772·10−4 27.5106 2.7978·10−6 0.0160 50 2.1803·10−5 16.3164

10 2.1771·10−4 88.8125

θ (Pitch) 20 1.4924·10−5 10.8771 4.1705·10−6 0.0086 50 8.3707·10−5 13.9269

10 6.4894·10−4 163.4886

ψ (Yaw ) 20 2.4198·10−5 27.1868 2.8865·10−6 0.0165 50 3.0735·10−5 11.8108

Tab. 7.1: Wartości błędów pomiędzy kątami Eulera wyznaczonymi za pomocą kwaternionów i za pomocą sztucznej sieci neuronowej Elmana oraz pomiędzy

kątami Eulera wyznaczony za pomocą kwaternionów i za pomocą modelu neuronu

7.3 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS

Rys. 7.6: Dane odczytane z akcelerometru, żyroskopu i magnetometru

Rys. 7.7: 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ą

7.3 Wykorzystanie komórek nerwowych w algorytmie wyznaczania kątów Eulera poprzez system AHRS

Rys. 7.8: 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ą.

Rys. 7.9: 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ą

Rozdział 8

Podsumowanie

Przedmiotem pracy była próba odpowiedzi na pytanie czy stochastyczny mo-del biologicznego momo-delu komórki nerwowej oparty na kinetycznych schematach Markowa będzie reprezentował w szerszym zakresie własności biologicznej ko-mórki nerwowej i będzie miał własności pozwalające na zastosowanie go w efek-tywny 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 kine-tyczny komórki nerwowej, uwzględniający rozszerzone schematy kinetyczne Mar-kowa 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. Po-nadto celem pracy było przedstawienie możliwości wykorzystania modeli w au-tomatyce. Modele te, podobnie jak klasyczne sztuczne sieci neuronowe, przecho-dzą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, opra-cowana została metoda nauki tych modeli oraz pokazane zostały możliwości wy-korzystania 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 [16, 38],

• metody numeryczne algebry liniowej – metody rozwiązywania układów rów-nań liniowych CGNE (metoda gradientu sprzężonego) [38],

• metody z zakresu optymalizacji – metoda gradientu prostego znajdowa-nia ekstremum lokalnego zadanej funkcji, metoda mnożników Lagrange’a znajdowania ekstremum lokalnego funkcji przy zadanych funkcjach ograni-czających [2, 3, 13, 44].

Na podstawie przeprowadzonych badań można wyciągnąć następujące wnio-ski:

• Implementacja oraz symulacje modeli pojedynczej biologicznej komórki ner-wowej przebiegły pomyślnie. Prezentowany w pracy model (model o rozsze-rzonych schematach kinetycznych) przyjmuje założenie o zwiększonej licz-bie stanów schematów kinetycznych, co znacznie zwiększa możliwości tych modeli. Modele te, dzięki takim założeniom, faktycznie w miarę możli-wości obliczeniowych rzetelnie odwzorowują procesy zachodzące na błonie komórkowej.

• Realizacja (implementacja oraz symulacja) modelu kinetycznego sieci neu-ronowej w dwóch wersjach, deterministycznej i stochastycznej, przebie-gła pomyślnie. Zastosowanie schematów kinetycznych w modelu struktury drzewiastej Hodgkina-Huxleya pozwoliło na dokładniejszy opis sieci neuro-nowej.

• W pracy pokazane zostało również, że istnieje możliwość przeprowadzenia procesu nauki metodą gradientową, zarówno pojedynczej komórki nerwowej jak i całej sieci. Nauczona komórka nerwowa jest zdolna do rozwiązywa-nia zagadnień m.in. automatyki i robotyki, do których wykorzystywane są konwencjonalne sztuczne sieci neuronowe.

• Pojedyncza komórka nerwowa wykorzystana została w na pozór trywial-nym zagadnieniu jakim jest aproksymacja funkcji nieliniowej. Podkreśla się tutaj przewagę modelu biologicznego neuronu nad sztucznymi sieciami neuronowymi z uwagi na strukturę sieci wymaganą w przypadku konwen-cjonalnych sztucznych sieci neuronowych. Podczas gdy w prezentowanym rozwiązaniu wystarcza pojedynczy neuron, aby z powodzeniem przeprowa-dzić aproksymację, w przypadku sztucznej sieci neuronowej niezbędne są dwie warstwy ukryte neuronów.

• Dodatkowo pokazane zostało zastosowanie nauczonej pojedynczej komórki nerwowej w połączeniu z rekurencyjną siecią Elmana do wyznaczania ką-tów Eulera w systemie AHRS. To zastosowanie pokazuje jak ważne mogą się okazać biologiczne sieci neuronowe w porównaniu z klasycznymi sztucznymi sieciami neuronowymi. Potrafią one, przy niewielkim rozmiarze struktury układu (pojedyncze neurony) radzić sobie z problemami, którym wyspecja-lizowane sztuczne sieci neuronowe nie były w stanie podołać.

Przedstawiona praca stanowiła niejednokrotnie bazę dla implementacji sprzęto-wych, jak na przykład wyniki zaprezentowane w artykule [22], pokazującym moż-liwość równoległej implementacji modelu kinetycznego z wykorzystaniem matryc FPGA oraz generatorem liczb pseudolosowych opartym na strukturze zbudowa-nej z pętli inwerterów [56, 59]. Innym przykładem implementacji tego samego modelu jest również równoległa implementacja z wykorzystaniem kart graficz-nych [28]. Dodatkowo opracowywanie przedstawiograficz-nych w pracy modeli okazało się motywacją do zaproponowania własnego generatora liczb losowych, przedsta-wionego w [27].

W rozprawie pokazano, że nawet pojedyncza komórka neuronowa dysponuje olbrzymimi możliwościami aproksymacji funkcji, sterowania, itd. Także w lite-raturze można znaleźć przykłady na powyższą tezę, jak np. wykorzystanie ży-wego neuronu szczura do sterowania manipulatorem lub ramieniem robota [12].

Podsumowanie

Można się spodziewać, że dalsze prace polegające na możliwie wiernym modelo-waniu neuronów biologicznych (przy jednoczesnym opracomodelo-waniu takiego modelu, który umożliwi wykonywanie obliczeń w czasie rzeczywistym dla całej sieci takich neuronów), rozwiąże wiele problemów związanych ze sterowaniem, zwłaszcza ro-botami humanoidalnymi. Przedstawione przykłady są nader skromne, co wynika z aktualnych możliwości obliczeniowych i nakładu pracy na wykonanie symulacji porównawczych. Wskazują one jednak, że kierunek poszukiwań i sposobu mode-lowania neuronów biologicznych jest obiecujący, co było głównym celem niniejszej rozprawy.

[1] Abbott L. F., Lapicques Introduction of the Integrate-and-Fire Model Neuron (1907), Brain Research Bulletin, tom 50, nr 5-6, s. 303-304, r. 1999.

[2] Avriel M., Nonlinear Programming: Analisys and Methods, DOVER PUBN INC, wydanie drugie, r. 2003.

[3] Bazaraa M. S., Sherali H. D. i Shetty C. M., Nonlinear Programming. Theory and Algorithms, John Wiley & Sons, r. 2006.

[4] Bhuiyan M.A., Pallipuram V.K. i Smith M.C., Acceleration of Spiking Neural Networks in Emerging Multi-Core and GPU Architectures, 2010 IEEE Inter-national Symposium on Parallel Distributed Processing, Workshops and Phd Forum (IPDPSW), s. 1-8, kwiecień 2010.

[5] Borisyuk R., Chik D., Kazanovich Y. i da Silva Gomes J., Spiking Neural Network Model of Memorizing Sequences with Forward and Backward Recall, Biosystems, tom 112, s. 214-223, r. 2013.

[6] Bouganis A. i Shanahan M., Training a Spiking Neural Network to Control a 4-DoF Robotic Arm Based on Spike Timing-Dependent Plasticity, The 2010 International Joint Conference on Neural Networks (IJCNN), s. 1-8, r.

2010.

[7] Bower J. M. i Beeman D., The Book of GENESIS, Exploring Reali-stic Neural Models with the GEneral NEural SImulation System, Edy-cja Internetowa, http://www.genesis-sim.org/GENESIS/iBoG/iBoGpdf/

index.html, r. 2003.

[8] Cai G., Chen B. M. i Lee T. H., Unmanned Rotocraft Systems, Springer, Advances in Industrial Control, r. 2011.

[9] Carelli P. V., Reyes M. B., Sartorelli J. C. i Pinto R. D., Whole Cell Stocha-stic Model Reproduces the Irregularities Found in the Membrane Potential of Bursting Neurons, Neurophysiology, nr 94, s. 1169-1179, marzec 2005.

[10] Caron L. C., Mailhot F. i Rouat J., FPGA implementation of a Spiking Neural Network for Pattern Matching, IEEE International Symposium on Circuits and Systems (ISCAS), s. 649-652, Rio de Janeiro 2011.

[11] Casado J. M., Synchronization of Two Hodgkin-Huxley Neurons Due to In-ternal Noise, Physics Letters A, tom 310, s. 400-406, r. 2003.

Literatura

[12] Chapin J. K., Moxon K. A., Markowitz R. S. i Nicolelis M. A. L., Real-Time Control of a Robot Arm Using Simultaneously Recorded Neurons in the Motor Cortex, Nature Neuroscience, tom 2, nr 7, s. 664-670, lipiec 1999.

[13] Chong E. K. P., Żak S. H., An Introduction To Optimization, Wiley, wydanie drugie, r. 2001.

[14] Cox S. J. i Griffith B. E., A Fast, Fully Implicit Backward Euler Solver for Dendritic Neurons, Rice University Department of Computational and Applied Mathematics, raport techniczny, r. 2000.

[15] Cyr A. i Boukadoum M., Habituation: a Non-Associative Learning Rule De-sign for Spiking Neurons and an Autonomous Mobile Robots Implementation, Bioinspiration & Biomimetics, tom 8, s. 1-17, styczeń 2013.

[16] Dahlquist G. and Bj¨orck ˚A., Metody numeryczne, Państwowe Wydawnictwo Naukowe, Warszawa, r. 1983.

[17] Destexhe A., Mainen Z. F. i Sejnowski T. J., Synthesis of Models for Excitable Membranes, Synaptic Transmission and Neuromodulation Using a Common Kinetic Formalism, Journal of Computational Neuroscience, nr 1, s. 195-230, r. 1994.

[18] Doi S., Onoda Y. i Kumagai S., Parameter Estimation of Various Hodgkin-Huxley-Type Neuronal Models Using a Gradient-Descent Learning Method, Proceedings of the 41st SICE Annual Conference 2002, tom 3, s. 1685-1688, sierpień 2002.

[19] Doya K., Selverston A.I., A Learning Algorithm for Hodgkin-Huxley Type Neuron Models, Proceedings of 1993 International Joint Conference on Neu-ral Networks, IJCNN ’93-Nagoya, tom 2, s. 1108-1111, paździerik 1993.

[20] Doya K., Selverston A. I. i Rowat P. F., A Hodgkin–Huxley Type Neuron Model That Learns Slow Non-Spike Oscillations, Proceeding of: Advances in Neural Information Processing Systems 6, 7th NIPS Conference, Denver, Colorado, USA, s. 566-573, r. 1993.

[21] Feller W., An Introduction to Probability Theory and Its Applications, John Wiley & Sons, tom 1, rozdział VII, r. 1968.

[22] Figas A., Gugała K., Szulc M., Jurkowlaniec A. i Rybarczyk A., The FPGA-Based CCM Class System Supporting Simulation of Stochastic Biologically Realistic Models of Neural Cells, Advances in Systems Science, Academic Publishing House EXIT, part II, s. 131-137, r. 2010.

[23] Fitzhugh R., A Kinetic Model of the Conductance Changes in Nerve Mem-brane, Journal of Cellular and Comparative Physiology, tom 66, s. 111-117, grudzień 1965.

[24] Fox R. F., Stochastic Versions of the Hodgkin-Huxley Equations, Biophysical Journal, tom 72, numer 5, s. 2068-2074, r. 1997.

[25] Gamez D., Fidjeland A.K. i Lazdins E., iSpike: a Spiking Neural Interface for the iCub Robot, Bioinspiration & Biomimetics, tom 7, nr 2, s. 1-12, maj 2012.

[26] Gerstner W. i Kistler W., Spiking Neuron Models. Single Neurons, Popula-tions, Plasticity, Cambridge, r. 2000.

[27] Gugała K., Świetlicka A., Burdajewicz M. i Rybarczyk A., Random Number Generation System Improving Simulations of Stochastic Models of Neural Cells, Springer, Computing, s. 1-17, r. 2013.

[28] Gugała K., Świetlicka A., Jurkowlaniec A. i Rybarczyk A., Parallel Simula-tion of Stochastic Denritic Neurons using NVidia GPUs with CUDA, Elek-tronika: konstrukcje, technologie, zastosowania, nr 12, s. 59, r. 2011.

[29] G¨unay C., Edgerton J. R. i Jaeger D., Channel Density Distributions Explain Spiking Variability in the Globus Pallidus: A Combined Physiology and Com-puter Simulation Database Approach, The Journal of Neuroscience, tom 28, nr 30, s. 7476-7491, r. 2008.

[30] Haykin S., Systemy telekomunikacyjne, Wydawnictwa Komunikacji i Łącz-ności, Warszawa, r. 2004.

[31] Higham D. J., An Algorithmic Introduction to Numerical Simulation of

[31] Higham D. J., An Algorithmic Introduction to Numerical Simulation of

Powiązane dokumenty