Poprawa procesu uczenia się sztucznej sieci neuronowej typu Neural Gas w kontekście realizacji sprzętowej 2

Podobne dokumenty
Lekcja 5: Sieć Kohonena i sieć ART

S O M SELF-ORGANIZING MAPS. Przemysław Szczepańczyk Łukasz Myszor

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Obliczenia inteligentne Zadanie 4

Monitorowanie i Diagnostyka w Systemach Sterowania

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Co to jest grupowanie

WPŁYW FUNKCJI SĄSIEDZTWA NA EFEKTYWNOŚĆ UCZENIA SIECI NEURONOWYCH KOHONENA IMPLEMENTOWANYCH SPRZĘTOWO

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Zastosowanie sieci neuronowych w problemie klasyfikacji wielokategorialnej. Adam Żychowski

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner

SIECI KOHONENA UCZENIE BEZ NAUCZYCIELA JOANNA GRABSKA-CHRZĄSTOWSKA

POZNAN UNIVE RSITY OF TE CHNOLOGY ACADE MIC JOURNALS No 79 Electrical Engineering 2014

Algorytmy sztucznej inteligencji

8. Neuron z ciągłą funkcją aktywacji.

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

LEMRG algorytm generowania pokoleń reguł decyzji dla baz danych z dużą liczbą atrybutów

Wprowadzenie. SOM jest skrótem od Self Organizing Maps, czyli Samoorganizujące się mapy.

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Optymalizacja optymalizacji

MATLAB Neural Network Toolbox przegląd

Metody sztucznej inteligencji Zadanie 3: (1) klasteryzacja samoorganizująca się mapa Kohonena, (2) aproksymacja sieć RBF.

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

Sztuczna inteligencja

Deep Learning na przykładzie Deep Belief Networks

Metody Sztucznej Inteligencji II

Szybkie prototypowanie w projektowaniu mechatronicznym

SIEĆ GRNN W KOMPRESJI OBRAZÓW RADAROWYCH

Sztuczne sieci neuronowe i sztuczna immunologia jako klasyfikatory danych. Dariusz Badura Letnia Szkoła Instytutu Matematyki 2010

Elementy inteligencji obliczeniowej

Sieci neuronowe do przetwarzania informacji / Stanisław Osowski. wyd. 3. Warszawa, Spis treści

Sieci neuronowe i ich ciekawe zastosowania. Autor: Wojciech Jamrozy III rok SMP / Informatyka

Wstęp do sieci neuronowych, wykład 8 Uczenie nienadzorowane.

Systemy uczące się Lab 4

Najprostsze modele sieci z rekurencją. sieci Hopfielda; sieci uczone regułą Hebba; sieć Hamminga;

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Zastosowanie sztucznych sieci neuronowych w prognozowaniu szeregów czasowych (prezentacja 2)

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

DEKOMPOZYCJA HIERARCHICZNEJ STRUKTURY SZTUCZNEJ SIECI NEURONOWEJ I ALGORYTM KOORDYNACJI

1. Historia 2. Podstawy neurobiologii 3. Definicje i inne kłamstwa 4. Sztuczny neuron i zasady działania SSN. Agenda

Zastosowania sieci neuronowych

Inteligentne systemy informacyjne

METODY INŻYNIERII WIEDZY

10. Redukcja wymiaru - metoda PCA

Elementy Sztucznej Inteligencji. Sztuczne sieci neuronowe cz. 2

Adrian Horzyk

Adrian Horzyk

IMPLEMENTATION OF THE SPECTRUM ANALYZER ON MICROCONTROLLER WITH ARM7 CORE IMPLEMENTACJA ANALIZATORA WIDMA NA MIKROKONTROLERZE Z RDZENIEM ARM7

Pattern Classification

Literatura. Sztuczne sieci neuronowe. Przepływ informacji w systemie nerwowym. Budowa i działanie mózgu

Współczesna problematyka klasyfikacji Informatyki

Metody tworzenia efektywnych komitetów klasyfikatorów jednoklasowych Bartosz Krawczyk Katedra Systemów i Sieci Komputerowych Politechnika Wrocławska

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

PRZEWODNIK PO PRZEDMIOCIE

METODY INTELIGENCJI OBLICZENIOWEJ wykład 5

Wstęp do sieci neuronowych laboratorium 01 Organizacja zajęć. Perceptron prosty

Sieci neuronowe i algorytmy uczenia Czyli co i jak andrzej.rusiecki.staff.iiar.pwr.wroc.pl s.

METODY ZINTEGROWANEGO PROJEKTOWANIA SPRZĘTU I OPROGRAMOWANIA Z WYKORZYSTANIEM NOWOCZESNYCH UKŁADÓW PROGRAMOWALNYCH

Uczenie sieci neuronowych i bayesowskich

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Badacze zbudowali wiele systemów technicznych, naśladujących w komputerze ludzki mózg. Najbardziej pożyteczne okazały się sieci neuronowe.

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

PROJEKTOWANIE UKŁADÓW MIKROPROGRAMOWANYCH Z WYKORZYSTANIEM WBUDOWANYCH BLOKÓW PAMIĘCI W MATRYCACH PROGRAMOWALNYCH

Algorytmy i struktury danych

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Sztuczne Sieci Neuronowe. Wiktor Tracz Katedra Urządzania Lasu, Geomatyki i Ekonomiki Leśnictwa, Wydział Leśny SGGW

Uczenie sieci typu MLP

Sieć Hopfielda. Sieci rekurencyjne. Ewa Adamus. ZUT Wydział Informatyki Instytut Sztucznej Inteligencji i Metod Matematycznych.

Metody systemowe i decyzyjne w informatyce

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

WYKORZYSTANIE SIECI NEURONOWYCH DO ODWZOROWANIA DEFORMACJI POWIERZCHNI NA TERENACH GÓRNICZYCH

Testowanie modeli predykcyjnych

Testowanie systemów wbudowanych i krytycznych dla bezpieczeństwa Bogdan Bereza Wersja (33)

Asocjacyjna reprezentacja danych i wnioskowanie

Zastosowania sieci neuronowych

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Instrukcja realizacji ćwiczenia

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

WYKORZYSTANIE SZTUCZNYCH SIECI NEURONOWYCH W PROGNOZOWANIU

7. Maszyny wektorów podpierajacych SVMs

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

KLASYFIKACJA. Słownik języka polskiego

Autoreferat Rozprawy Doktorskiej

Temat: Sieci neuronowe oraz technologia CUDA

AUTO-STROJENIE REGULATORA TYPU PID Z WYKORZYSTANIEM LOGIKI ROZMYTEJ

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

Scenariusz lekcji. podać przykłady zalet użycia takiej instrukcji; opisać algorytm obliczania średniej n liczb;

Programowanie i techniki algorytmiczne

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Optymalizacja systemów

Semestr 1 suma pkt ECTS dla wszystkich kursów w semestrze: 30

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

Tomasz Talaśka 1 Uniwersytet Technologiczno-Przyrodniczy w Bydgoszczy Poprawa procesu uczenia się sztucznej sieci neuronowej typu Neural Gas w kontekście realizacji sprzętowej 2 Wprowadzenie Sztuczne sieci neuronowe (ANN) są uniwersalnym i jednocześnie bardzo zaawansowanym narzędziem do przetwarzania informacji. Wykorzystywane są one w różnych dziedzinach życia, jak np. medycyna, ekonomia, logistyka, informatyka, automatyka, elektronika, telekomunikacja, itp [1,2,3,4,5,6,7]. Ich zalety, na tle klasycznych metod przetwarzania sygnałów, uwidaczniają się tym bardziej im dane, które to sieci neuronowe przetwarzają są bardziej zakłócone i niepełne. Przykładem mogą tu być systemy rozpoznawania (np. obrazów), czy też klasyfikacji danych w systemach logistycznych. Mimo iż sztuczne sieci neuronowe (NN) zainspirowane były sieciami biologicznymi, to ich podobieństwo do takich systemów jest nadal bardzo znikome. Różnice są widoczne zarówno po stronie możliwości obliczeniowych takich sieci (w sieciach biologicznych mamy do czynienia z bardzo dużą liczbą neuronów, przetwarzających informacje w sposób równoległy), a także ich budowy i działania. Sztuczne sieci neuronowe możemy podzielić według różnych kryteriów. Do najbardziej popularnych należy sposób uczenia sieci, gdzie wyróżnić możemy sieci uczone z tzw. nauczycielem i bez nauczyciela. Innym często spotykamy sposobem podziału sieci jest sposób ich implementacji. Wyróżnić możemy tu sieci implementowane na klasycznych komputerach PC (takich sieci jest zdecydowanie najwięcej), a także sieci implementowane w postaci układów elektronicznych. Szczególnie ciekawa jest ten drugi sposób realizacji, bowiem przy odpowiednio dobrze wybranej technice realizacji, jak np. specjalizowane układy scalone ASIC (ang. Application Specific Integrated Circuit) możliwe jest równoległe przetwarzanie danych (które zwyczajowo spotykane jest tylko w biologicznych sieciach neuronowych) z wykorzystaniem znikomo małej energii. Niestety implementacja sieci w postaci układów ASIC jest droga, a sam proces projektowania i testów długi. Inną ciekawą odmianą sprzętowej realizacji sieci neuronowej jest wykorzystanie stosunkowo tanich obecnie na rynku układów FPGA (ang. Field Programmable Gate Array) oraz mikrokontrolerów [8,9,10,11]. Zanim zaimplementujemy sieci neuronową w postaci układów elektronicznych musimy często, dokonać pewnych modyfikacji w samej sieci tak, aby dostosować ją do sposobu działania odpowiedniego, użytego przez nas układu elektronicznego. Istotne jest także, aby ewentualne, wprowadzone modyfikacje nie wpływały negatywnie na proces uczenia, tj. nie zwiększały błędu uczenia, czasu przetwarzania i oczekiwanych wyników. W artykule przedstawiono pewną modyfikację procesu uczenia samoorganizującej się sztucznej sieci neuronowej, typu Neural Gas (NG) [12,13] polegającą na użyciu nowej funkcji sąsiedztwa. Funkcja ta dobrze nadaje się do implementacji w postaci układów programowalnych (np. na mikrokontrolerze lub w postaci układu FPGA). Czas uczenia, zbadany na modelu programowym, jest podobny, jak w przypadku sieci z klasyczną funkcją sąsiedztwa, natomiast wartość błędu uczenia jest mniejsza. W celu weryfikacji poprawności działania sieci z nową funkcją sąsiedztwa opracowano model programowy sieci (ang. software model) w środowisku Java. Model programowy, sieci neuronowych, które będą realizowane w przyszłości w postaci układów elektronicznych, jest bardzo ważny i zarazem niesłychanie pomocny. Pozwala on na przeprowadzenie bardzo szczegółowych i czasochłonnych badań takich sieci, przed ich bezpośrednią realizacją sprzętową. Dodatkowo model taki pozwala w szerszy sposób spojrzeć na możliwości wykorzystania takich sieci w różnych aplikacjach (np. w systemach klasyfikacji i rozpoznawania sygnałów w systemach logistycznych). Artykuł, poza wstępem i podsumowaniem, składa się z dwóch rozdziałów. Pierwszy poświęcony został omówieniu metody uczenia sieci NG. W drugim natomiast zaprezentowana została nowa funkcja sąsiedztwa wraz z odpowiednimi testami sieci. Sztuczne sieci neuronowe uczone metodą Neural Gas Sposób, w jaki nasz umysł przetwarza informacje, może być postrzegany, w pewnym określonym sensie, jako proces samoorganizacji. Zmysły ludzi odwzorowane są w jego korze mózgowej [21]. Wzrok, słuch, węch oraz dotyk łączą się i komunikują z mózgiem człowieka za pomocą różnych map, jak na przykład retinotopowej, czy tonotopowej. Można powiedzieć, że mapy te tworzą pewnego rodzaju odwzorowanie danych, których wcześniej nauczył się nasz umysł. Powstają one w wyniku samouczenia i samoorganizacji naszego mózgu. 1 Uniwersytet Technologiczno-Przyrodniczy w Bydgoszczy, Wydział Telekomunikacji, Informatyki i Elektrotechniki, Instytut Telekomunikacji i Informatyki, 85-796 Bydgoszcz, ul. Kaliskiego 7, tel.: + 48 52 340-81-89, 340-81-14, e-mail: talaska@utp.edu.pl 2 Artykuł recenzowany. Logistyka 1/2016 418

Pojęcie samoorganizacji znane jest od dawna, a pierwsze publikacje, w których poruszono ten problem, w odniesieniu do sztucznych sieci neuronowych, wydano w latach siedemdziesiątych ubiegłego stulecia [14,15]. Dopiero kilka lat później Teuvo Kohonen sformalizował i rozwinął znacznie ten termin, wprowadzając dodatkowo pojęcie konkurencji między neuronami [16].Opracowano wówczas takie sieci neuronowe, jak WTA (ang. Winner Takes All) oraz WTM (ang. Winner Takes Most) [17,18].Podczas prac na poprawą procesu uczenia tych sieci, zauważono, że znaczną poprawę procesu samoorganizacji, uzyskać możemy stosując nieco inną technikę uczenia sieci, którą nazwano metodą gazu neuronowego (ang. Neural Gas) (NG). Proces uczenia sieci NG Uczenie sieci NG jest procesem iteracyjnym, w którym poszczególne operacje realizowane są po sobie w ściśle określonej kolejności. Schemat blokowy procesu uczenia sieci NG, o i-wejściach i j-wyjściach (neuronach) przedstawia rysunek 1. Po podaniu na wejście sieci sygnału uczącego X następuje rywalizacja między neuronami. Rywalizacja ma na celu wyłonienie tego lub tych spośród neuronów, dla którego podobieństwo między wektorem uczącym X, a jego wektorem wag W (według aktualnie przyjętej metryki np. Euklidesa) jest największe. Następuje sortowanie wszystkich neuronów, w zależności od ich odległości od wektora uczącego. Polega ono generalnie na tym, że wyliczane są miary podobieństwa miedzy wektorami wag poszczególnych neuronów, a wektorem uczącym. Neurony są ustawiane w kolejności odpowiadającej narastającej odległości, tj: d 0 < d 1 < d 2. < d j, (1) gdzie d reprezentuje miarę podobieństwa danego neuronu wyznaczoną między wektorem jego wag W, a wektorem uczącym X, zgodnie z przyjętą metryką. Pierwszy neuron umownie nazwany zostaje zwycięskim. W odróżnieniu do sieci typu WTA, poza zwycięskim neuronem, prawo adaptacji wag mają także inne neurony, zgodnie z wyrażaniem (2): W ( k + 1) = W ( k) + G( a, λ( k)) ( X ( k) W ( k)), η (2) gdzie η jest współczynnikiem szybkości uczenia (ang. learning rate), którego wartość powinna maleć wraz z prezentacją kolejnych wektorów uczących, przyjmując na wartości zbliżone do zera, k jest krokiem (iteracją) procesu uczenia, a G funkcją sąsiedztwa. Funkcję sąsiedztwa, G, możemy natomiast opisać za pomocą wyrażenia (3): G(a, λ(k)) = exp a, (3) λ(k) gdzie a określa miejsce neuronu uzyskane w wyniku sortowania, a λ jest pewnym parametrem, który możemy traktować podobnie, jak promień sąsiedztwa w sieci neuronowej Kohonena typu WTM (ang. Winner Takes Most). Parametr λ maleje w trakcie procesu uczenia osiągając na końcu wartość 1 (wówczas sieć NG działa tak, jak sieć WTA). Parametr λ wskazuje, ile kolejnych po sobie, wcześniej odpowiednio posortowanych, neuronów powinno mieć zmienione wagi. W przypadku użycia metryki Euklidesa obszary dominacji neuronów przedstawione mogą być za pomocą mozaiki Voronoia. Obszar Voronoia V może być postrzegany, jako pewna część przestrzeni wzorców uczących, reprezentowana przez neurony, których miary odległości spełniają warunek (4): V j { X X W < X W j k} = :, (4) i ji W tym przypadku indeksem j oznaczono tzw. zwycięski neuron, czyli neuron, który jest reprezentantem pewnej klasy przypisanej do odpowiedniej przestrzeni wzorców uczących. Przestrzeń podzielona zostaje na pewne obszary (klastry) dominacji neuronów. Nowe dane na wejściu sieci, które znajdą się wewnątrz pewnego obszaru, są reprezentowane przez dominujący w danym miejscu neuron. Diagram Voronoia jest dobrym wyznacznikiem aktywności i dominacji neuronów i pomaga w ocenie skuteczności działania poszczególnych mechanizmów [20]. Innym sposobem oceny procesu uczenia jest wyznaczenie tzw. błąd kwantyzacji Eq. Błąd ten opisać możemy za pomocą wyrażenia (5): z 2 1 E = X W, q (5) z j k = 1 gdzie z jest liczbą wszystkich wzorców uczących przedstawionych sieci podczas jednej epoki procesu uczenia, j indeksem oznaczającym neuron o wartości miary d 0 (tzw. zwycięski neuron). Poszczególne bloki sieci NG pokazano na rysunku 1. i ki Logistyka 1/2016 419

Rys. 1. Schemat blokowy sieci NG o i-wejściach i j-wyjściach (j- neuronów) (BOP - blok obliczania podobieństwa, BS - blok sortowania neuronów, BAW - blok adaptacji wag. Bloki te odpowiedzialne są za wykonanie następujących po sobie operacji, tworząc tym samym jeden pełen cykl procesu uczenia. Proces uczenia podzielić możemy na tzw. iteracje i epoki. Podczas jednej iteracji procesu uczenia sieci NG wyróżnić możemy takie operacje jak: Prezentacja nowego wektora uczącego X, obliczenie odległości (miary podobieństwa) między wektorem uczącym X, a wektorami wag W poszczególnych neuronów - blok BOP (Blok Obliczania Podobieństwa), wykrycie, na podstawie miary podobieństwa zwycięskiego neuronu i kolejnych neuronów -- tzw. sortowanie neuronówblok BS (Blok Sortowania), modyfikacja wag neuronów zgodnie z regułą NG (1) - blok BAW (Blok Adaptacji Wag). Po wykonaniu wszystkich tych czynności następuje prezentacja nowego wektora uczącego i proces uczenia zaczyna się niejako od nowa. Liczba iteracji w 1 epoce równa jest liczbie wszystkich wzorców uczących, natomiast liczba epok może być różna, zależnie od wyników procesu uczenia. Poszczególne cykle pracy sieci NG przedstawia rysunek 2. W czasie trwania procesu uczenia (wraz ze zmianą kolejnych iteracji i epok)niektóre parametry procesu uczenia ulegają zmianie, jak np. współczynnik szybkości uczenia, czy wartość promienia sąsiedztwa λ. Rys. 2. Poszczególne fazy pracy sieci NG (faza uczenia i testowania). Logistyka 1/2016 420

Modyfikacja algorytmu uczenia pod kątem realizacji sprzętowej Podczas realizacji sprzętowej różnych algorytmów matematycznych, w tym także implementacji sztucznych sieci neuronowych, musimy zwrócić uwagę na kilka ważnych aspektów związanych z możliwościami pracy (maksymalna szybkość, pobór energii, wielkość pamięci, itp.) wykorzystywanych do tego celu układów elektronicznych. Projektując sieć neuronową ważne jest, aby realizowany algorytm procesu uczenia był stosunkowo łatwy, a tym samym, aby czas potrzebny na jego realizację przez układ elektroniczny (np. mikrokontroler) odpowiednio mały. Dzięki temu możemy zwiększyć liczbę wejść lub wyjść sieci (zachowując stały czas przetwarzania 1 iteracji procesu uczenia), co wpływa na zwiększenie potencjalnych możliwości wykorzystania takich sieci w różnych aplikacjach. W artykule zaproponowano zamianę funkcję sąsiedztwa opisanej wzorem (3) na nową funkcję sąsiedztwa G opisaną za pomocą wyrażenia (6): G(a, λ) = 1 4 22 (λ a), (6) gdzie a określa miejsce neuronu uzyskane w wyniku sortowania, λ jest parametrem, który możemy traktować podobnie, jak promień sąsiedztwa w sieci typu WTM (ang. Winner Takes Most). Należy zwrócić uwagę na to, że w przypadku klasycznej funkcji sąsiedztwa G, opisanej za pomocą wyrażenia (3), parametr λ (określający tzw. promień ) nie powoduje wyłączenia z procesu uczenia tych neuronów, które są poza tą wartością (wartość funkcji G 0). Inne neurony, znajdujące się poza promieniem sąsiedztwa, niestety muszą mieć także zmienione wagi (zgodnie z wyrażeniem (2)).Fakt ten negatywnie wpływa na czas realizacji algorytmu, a w przypadku układu elektronicznego także na pobór moc (więcej elementów bierze za każdym razem udział w procesie uczenia sieci). Przykładowo dla sieci zbudowanej ze 100 neuronów (rys. 3), gdy wartość współczynnika ʎ=30, dla nowej funkcji sąsiedztwa tylko 30 neuronów (pierwszych w wyniku sortowania) zmienia swoje wagi, a 70 pozostałych może być w tym czasie uśpionych (bowiem G=0). W przypadku użycia klasycznej funkcji sąsiedztwa praktycznie wszystkie neurony pracują, bo wartość funkcji G powyżej promienia sąsiedztwa ma pewną wartość różną od zera. Hibernowanie neuronów, lub bardziej precyzyjnie, chwilowe dezaktywowanie ich układów zmiany wag, w przypadku realizacji sprzętowej wpływa na zmniejszenie poboru mocy, a także czas uczenia sieci. Rys. 3. Porównanie funkcji sąsiedztwa G dla różnych wartości parametru λ. Wszystkie testy sieci z nową funkcją sąsiedztwa wykonano na specjalnie do tego celu zaimplementowanym w środowisku Java modelu sieci NG. Wektor uczący składał się z 500 wzorców (dwu i pięciowymiarowych), posegregowanych w 10 grup. Na jedną grupę przypadało 50 wzorców danych (rysunek 4b - niebieskie kulki). Warte podkreślenia jest to, że zaproponowana funkcja sąsiedztwa nie zmienia zasadniczo procesu uczenia sieci NG. Uzyskane wyniki, patrząc z punktu widzenia sieci pracującej, jako klasyfikator danych (diagram Voronoia (rysunek 4), czas pracy sieci (Tabela 1 i Tabela 2) są porównywalne dla dwóch różnych funkcji G, natomiast wartość błędu kwantyzacji dla nowej funkcji jest zawsze mniejsza. Ważne jest także to, że nowa funkcja może być łatwo wykonana w postaci sprzętowej (np. przy użyciu układów programowalnych, a także specjalizowanych układów scalonych). Możemy ją bezpośrednio zaimplementować w sprzęcie (wykorzystując wzór 6), ale także (co jest bardzo ważne), wykonać ją stosując pewne Logistyka 1/2016 421

uproszczenia. Zwróćmy uwagę (rysunek 3), że funkcja G (opisana wyrażeniem 6) ma skokowy i malejący, w czasie procesu uczenia, przebieg (ale tylko w ramach promienia sąsiedztwa, poza nim ma zawsze wartość 0). Implementując ją w sprzęcie wystarczy przyjąć jej maksymalną wartość równą 1 (przypisać tę wartość tzw. zwycięzcy) i dokonywać odpowiedniej dekretacji jej wartości dla pozostałych, posortowanych neuronów. W konsekwencji tak zrealizowana sieć neuronowa, zaimplementowana w postaci układów elektronicznych (np. na uc, FPGA) będzie uczyć się szybciej, a sam proces będzie bardziej energooszczędny (łatwiejszy opis i realizacja funkcji G, w danej iteracji procesu uczenia pracują tylko neurony znajdujące się w ramach promienia, pozostałe są uśpione). Rys. 4. Proces uczenia sieci NG z wykorzystaniem dwóch różnych funkcji sąsiedztwa G (na górze funkcja opisana wyrażeniem (3), na dole funkcja opisana wyrażeniem (6)). Na rysunkach z lewej strony (a) przedstawione są diagramy Voronoia, z prawej strony (b) dane uczące X (500 wzorców uczących) i wartości wag po zakończonym procesie uczenia sieci dla 50 neuronów. Tab. 1.Porównanie parametrów procesu uczenia dla różnych funkcji G dla 2 wymiarowych danych uczących. Liczba neuronów sieci NG funkcja G opisana wyrażeniem (3) sieci NG nowa funkcja G opisana wyrażeniem (6) funkcja G opisana wyrażeniem (3) nowa funkcja G opisana wyrażeniem (6) 1000 0,008 0,006 ok. 630s ok. 630s~ 500 0,009 0,007 ok. 177s ok. 165s~ 100 0,019 0,017 ok. 5.5s ok. 5.5s~ 80 0,027 0,019 ok. 3.6s ok. 3.6s~ 60 0,039 0,029 ok. 2.1s ok. 2.1s~ 40 0,062 0,051 ok. 1.0s ok. 1.0s~ 20 0,133 0,120 ok. 0.3s ok. 0.3s~ 10 0,670 0,480 ok. 0.2s ok. 0.2s~ Logistyka 1/2016 422

Tab. 2. Porównanie parametrów procesu uczenia dla różnych funkcji G dla 5 wymiarowych danych uczących. Liczba neuronów sieci NG funkcja G opisana wyrażeniem (3) sieci NG nowa funkcja G opisana wyrażeniem (6) - funkcja G opisana wyrażeniem (3) nowa funkcja G opisana wyrażeniem (6) 1000 0,12 0,08 ok. 654s ok. 660s~ 500 0,14 0,09 ok. 165s ok. 167s~ 100 0,19 0,16 ok. 8.1s ok. 8.1s~ 80 0,21 0,18 ok. 5.4s ok. 5.4s~ 60 0,24 0,21 ok. 3.4s ok. 3.3s~ 40 0,28 0,26 ok. 1.7s ok. 1.7s~ 20 0,48 0,34 ok. 0.6s ok. 0.6s~ 20 2,50 1,10 ok. 0.3s ok. 0.3s~ W modelu sieci dodatkowo zastosowano skokową zmianę współczynnika uczenia sieci η (ang. learning rate). Skok współczynnika η odbywa się, co epokę k (zgodnie z wyrażeniem 7), osiągając na wartość 0. Na początku, tj. w pierwszej epoce procesu uczenia (k=1) musimy ustawić pewną początkową wartość tego współczynnika. Warte podkreślenie jest to, że podobnie jak w przypadku zaproponowanej funkcji sąsiedztwa, skokowe zmiany współczynnika szybkości uczenia w sprzęcie zrealizować możemy stosunkowo łatwo. η(k) = η (k=1) 1 z, (7) N gdzie N to całkowita liczba epok. Wnioski W artykule przedstawiono pewną modyfikację procesu uczenia sieci Neural Gas. Modyfikacja polega na zmianie funkcji sąsiedztwa, która wykorzystywana jest w procesie uczenia się sieci. Zaproponowana funkcja może być dobrą alternatywą do istniejących i znanych z literatury rozwiązań [12,13]. Zalety jej wykorzystania, będą szczególnie widoczne w przypadku realizacji sieci NG w układach elektronicznych. Łatwość realizacji takiej funkcji (np. przez stosunkową prostą w realizacji dekrementację jej wartości w czasie) w konsekwencji przełoży się na zmniejszenie czasu uczenia sieci i pobieranej przez nią energii. Streszczenie W artykule przedstawiono pewną modyfikację procesu uczenia sieci Neural Gas. Modyfikacja polega na zmianie funkcji sąsiedztwa G, która wykorzystywana jest w procesie uczenia się sieci. Zaproponowana funkcja może być dobrą alternatywą do istniejących i znanych z literatury rozwiązań. Zalety jej wykorzystania, będą szczególnie widoczne w przypadku realizacji sieci NG w układach elektronicznych. Łatwość realizacji takiej funkcji (np. przez dekrementację jej wartości w czasie) w konsekwencji przełoży się na zmniejszenie czasu uczenia sieci i pobieranej przez nią energii. Słowa kluczowe: algorytm gazu neuronowego, funkcja sąsiedztwa, realizacje sprzętowe sieci neuronowych. Improving learning process of the artificial neural network based on neural gas algorithm in the context of the hardware implementation Abstract The paper presents a modification of the learning process of the Artificial Neural Network based on Neural Gas Algotithm. In this network changed the function of the neighbourhood G. The proposed function can be a good alternative to the existing and known from the literature solutions. The advantages of its use, will be particularly evident in the case of NG network implementation in electronic circuits. Keywords: neural gas algorithm, neighbourhood function, hardware implementations of neural networks. Logistyka 1/2016 423

LITERATURA / BIBLIOGRAPHY [1] Singh S., Harini J, Surabhi B., R., A novel neural network based automated system for diagnosis of breast cancer from real time biopsy slides 2014 International Conference on Circuits, Communication, Control and Computing (I4C), India, 2014. [2] Fukuoka Y., Fukuhara M., Ishida A., Stress assessment based on ECG using neural networks, Proceedings of the 18th Annual International Conference of the IEEE Engineering in Medicine and Biology Society, Amsterdam, The Netherlands, Vol. 5, 1996. [3] Li Meng, Exchange rate forecasting based on neural network with revised weight, 2011 2nd International Conference on Artificial Intelligence, Management Science and Electronic Commerce (AIMSEC), Zhengzhou, China, 2011. [4] Dissananayake B.M.M., Hendahewa C.H., Karunananda A.S, Artificial Neural Network approach to credit risk assessment, International Conference on Industrial and Information Systems (ICIIS 2007), Sri Lanka, 2007. [5] Kaijun Xu, Guangming Zhang, Yang Xu, Intelligent landing control system for civil aviation aircraft with dual fuzzy neural network, 2011 eighth International Conference on Fuzzy Systems and Knowledge Discovery (FSKD), Shanghai, China, Vol. 4, 2011. [6] LinChih-Min, Chun-Fei Hsu, Neural-network hybrid control for antilock braking systems, IEEE Transactions on Neural Networks, Vol. 14, No. 2, 2003. [7] Sutton J.C, III., Identification of electronic component faults using neural networks and fuzzy systems, Proceedings of the 1992 International Conference on Industrial Electronics, Control, Instrumentation, and Automation, Power Electronics and Motion Control, USA, 1992. [8] Farooq U., Amar M., ulhaq E., Asad M.U., Atiq H.M., Microcontroller Based Neural Network Controlled Low Cost Autonomous Vehicle, 2010 Second International Conference on Machine Learning and Computing (ICMLC), India, 2010 [9] Garcia-Breijo E., Atkinson J., Garrigues J., Gil L., Ibanez J., Glanc M., Olguin C.,An electronic tongue for monitoring drinking waters using a fuzzy ARTMAP neural network implemented on a microcontroller, 2011 IEEE International Symposium on Industrial Electronics (ISIE), Gdańsk, Poland, 2011. [10] Deotale P.D., Dole L., Design of FPGA based general purpose neural network, 2014 International Conference on Information Communication and Embedded Systems (ICICES), Madras, India, 2014. [11] Orlowska-Kowalska T., Kaminski M., FPGA Implementation of the Multilayer Neural Network for the Speed Estimation of the Two-Mass Drive System, IEEE Transactions on Industrial Informatics, Vol. 7, No. 3, 2011. [12] Martinetz T., Schulten K., A "neural gas" network learns topologies, Artificial Neural Networks, Elsevier, Amsterdam, 1991. [13] Martinetz T., Berkovich S.G., Schulten K., "Neural gas" for vector quantization and its application to time-series prediction, IEEE Transactions on Neural Networks, Vo. 4, No. 4, 1993. [14] Korbicz J., Obuchowicz A., UcińskiD., Sztuczne sieci neuronowe. Podstawy i zastosowania, Akademicka Oficyna Wydawnicza PLJ, Warszawa, 1994. [15] Von der Malsburg C., Self-organisation of orientation sensitive cells in the striate cortex, Kybernetik, Vol. 14, pp: 85-100, 1973. [16] Wilshow D. J., von der Malsburg C.,How patterned neural connections can be set up by self-organization, Proceedings of the Royal Society of London, seria B, Biological Sciences, Vol. 194, No. 1117, pp: 431-445, 1976. [17] Kangas J., Kohonen T., Laaksonen J., Simula O., Venta O. Variants of self-organizing maps, International Joint Conference on Neural Networks (IJCNN), Vol. 2, pp: 517-522, USA, 1989. [18] Kohonen T., The self-organizing map, Proceedings of the IEEE, Vol 78, No. 9, 1990. [19] Kohonen T., Self-organizing maps, 3-ed, Springer Verlag, Berlin, Heidelberg, 2001. [20] Talaśka T., Idźkowski M., Rydlewski A., Miciak. M, Wiatr R., Nowy, efektywny mechanism pobudzania martwych neuronów w sztucznych sieciach neuronowych Kohonena typu WTA, Logistyka, nr 6/2014. Logistyka 1/2016 424