PDF version
Transkrypt
PDF version
ELEKTRYKA Zeszyt 1 (225) 2013 Rok LIX Marta KOLASA, Rafał DŁUGOSZ Uniwersytet Technologiczno-Przyrodniczy w Bydgoszczy Aleksandra FIGAS Politechnika Poznańska WPŁYW FUNKCJI SĄSIEDZTWA NA EFEKTYWNOŚĆ UCZENIA SIECI NEURONOWYCH KOHONENA IMPLEMENTOWANYCH SPRZĘTOWO Streszczenie. W pracy przedstawiono wyniki badań prezentujące wpływ wyboru funkcji sąsiedztwa (neighborhood function - NF) w sieciach Kohonena na jakość procesu uczenia się tych sieci. Celem badań jest określenie, która NF może być najefektywniej zrealizowana sprzętowo, a jednocześnie nie pogarsza jakości procesu uczenia się samoorganizujących się sieci neuronowych. Zbadano efektywność uczenia sieci Kohonena, korzystając z miary błędu kwantyzacji oraz błędu topograficznego. Dokonano porównania uzyskanych wyników dla czterech typów funkcji sąsiedztwa oraz trzech topologii warstwy wyjściowej sieci. Słowa kluczowe: sieci neuronowe Kohonena, funkcja sąsiedztwa, implementacje CMOS, niski pobór mocy AN INFLUENCE OF THE NEIGHBORHOOD FUNCTION ON THE LEARNING PROCESS OF THE HARDWARE IMPLEMENTED KOHONEN NEURAL NETWORKS Summary. The paper presents an influence of the type of the neighborhood function (NF) on the learning process of the Kohonen neural networks. Four different NF and three topology have been compared. The objective was to determine which NF is the most efficient looking both from the transistor level implementation and the learning quality points of view. The effectiveness of the learning process of SOMs was assessed using two criteria: the quantization error and the topographic error. Keywords: Kohonen neural networks, neighborhood function, CMOS implementation, low energy consumption 104 M. Kolasa, R. Długosz, A. Figas 1. WPROWADZENIE Sztuczna sieć neuronowa realizowana sprzętowo jest uniwersalnym narzędziem umożliwiającym równoległe przetwarzanie informacji. Spotkać można różne implementacje takich sieci, najczęściej jednak stosowane są programowe realizacje z wykorzystaniem komputera. Wynika to w dużej mierze z łatwości oraz szybkości implementacji. Rozwiązania tego typu mają jednak swoje ograniczenia, zwłaszcza w przypadku, gdy celem jest ich implementacja w aparaturze, wymagającej dużej miniaturyzacji, niskiego poboru mocy oraz niskiego kosztu wykonania, przy jednoczesnej wymaganej dużej mocy obliczeniowej. Problem ten może zostać rozwiązany poprzez implementacje takich sieci jako układów ASIC (ang. Application Specific Integrated Circuit), które w porównaniu z ich implementacjami programowymi pozwalają na zmniejszenie poboru energii oraz prowadzą do wzrostu szybkości przetwarzania danych nawet o kilka rzędów wielkości [4, 5]. Polepszenie parametrów uzyskuje się głównie dzięki możliwości równoległej pracy wszystkich neuronów w sieciach tego typu. Natomiast złożony proces projektowania powoduje, że sprzętowe implementacje są ciągle rzadkością w porównaniu z ich implementacjami programowymi. Przykładem sieci, które w stosunkowo prosty sposób mogą być implementowane sprzętowo, są sieci Kohonena. Sieci te realizują odwzorowanie pomiędzy przestrzenią wejściową oraz wyjściową, w wyniku czego powstaje mapa zachowująca najbardziej znaczące topologiczne zależności pomiędzy elementami przestrzeni wejściowej [6]. Prace badawcze nad sprzętowymi implementacjami takich sieci prowadzono już wiele lat temu [12]. Brak jest jednak efektywnych realizacji sprzętowych takich sieci, co stało się motywacją badań prowadzonych przez autorów tego artykułu. W ostatnich latach obserwujemy bardzo szybki rozwój urządzeń przenośnych w takich dziedzinach zastosowań, w których pobór mocy stał się jednym z najbardziej istotnych parametrów. Spowodowało to konieczność optymalizacji algorytmów obliczeniowych pod kątem pobieranej mocy. Przykładem takich zastosowań są bezprzewodowe sieci sensoryczne (ang. WSN - Wireless Sensor Networks) bądź WBSN (ang. Wireless Body Sensor Networks). Obecnie coraz większą popularność zyskują systemy diagnostyczne oparte na sieciach WBSN. W sieciach tego typu nacisk kładziony jest na rozwiązania sprzętowe, które są samowystarczalne pod względem zasilania w energię. W tej klasie układów sprzętowe realizacje sztucznych sieci neuronowych z uwagi na znacznie niższy pobór energii w stosunku do ich programowych odpowiedników, mogą znaleźć szeroki zakres zastosowań. Z tego względu rozwój sztucznych sieci neuronowych w tym kierunku zyskał ostatnio na znaczeniu. Nad sieciami tego typu autorzy artykułu pracują od kilku lat. W tym czasie wykonali prototypowy układ ASIC, w którym zaimplementowali w pełni analogową sieć WTA (ang. Winner Takes All), którą przedstawili w pracy [5]. Ostatnie prace autorów skupiają się na Wpływ funkcji sąsiedztwa… 105 opracowaniu koncepcji elastycznego oraz w pełni programowalnego mechanizmu sąsiedztwa, który może być wykorzystany w analogowej sieci opisanej w [5], zwiększając znacząco jej funkcjonalność, oraz na opracowaniu w pełni cyfrowej sieci WTM (ang. Winner Takes Most). Zaproponowany mechanizm jest bardzo szybkim równoległym, asynchronicznym rozwiązaniem, które cechuje bardzo prosta struktura, gdyż nie wymaga on zastosowania sterującego systemu zegarowego. 2. SAMOORGANIZUJĄCA SIĘ SIEĆ KOHONENA Sieci Kohonena, nazywane samoorganizującymi się mapami (ang. SOM - SelfOrganized Maps), składają się z jednej warstwy neuronów, które tworzą mapę z liczbą wyjść równą liczbie neuronów. Konkurencyjne uczenie w sieciach tego typu polega na prezentowaniu sieci wzorców uczących X. Wagi poszczególnych neuronów adaptują się w taki sposób, że neurony te stają się reprezentantami poszczególnych klas sygnałów wejściowych [6]. Można wyróżnić dwa podstawowe typy sieci Kohonena: WTA oraz WTM. W obu przypadkach dla każdego wektora wejściowego X najpierw określana jest odległość pomiędzy wektorem wejściowym X oraz wektorem wag W w poszczególnych neuronach [6]. Konkurencję wygrywa ten neuron, którego wektor wag W jest najbardziej podobny do wzorca uczącego X. Metoda WTA jest podstawową metodą uczenia konkurencyjnego, gdzie adaptacji podlega jedynie zwycięski neuron. W wyniku adaptacji przybliża się on do prezentowanego wzorca wejściowego X. Metoda WTA jest algorytmem słabo zbieżnym, szczególnie w sytuacji, gdy sieć zawiera dużą liczbę neuronów. Metoda WTM jest bardziej złożona obliczeniowo, ale charakteryzuje się większą zbieżnością. W praktyce większe znaczenie ma algorytm WTM, gdzie wokół neuronu zwycięzcy definiuje się jego topologiczne sąsiedztwo o określonym promieniu R, typowo malejącym w trakcie procesu uczenia. W metodzie WTM adaptacji podlegają wagi neuronu zwycięzcy oraz dodatkowo tych neuronów, które należą do jego sąsiedztwa. Adaptacja odbywa się zgodnie z poniższą zależnością: (1) gdzie η(k) jest współczynnikiem uczenia w k-tej epoce uczącej, Wj jest wektorem wag danego j-tego neuronu, X jest wzorcem uczącym w l-tej prezentacji, natomiast G() jest zadaną funkcją sąsiedztwa. W metodzie WTM można rozróżnić takie pojęcia, jak: topologia sieci, funkcja sąsiedztwa oraz jego zasięg. Zasięg sąsiedztwa, R jest parametrem, który ma wpływ na liczbę neuronów, które są zaliczane do sąsiedztwa zwycięskiego neuronu, czyli podlegają uczeniu w danym cyklu. Neurony w mapie najczęściej połączone są w sztywną siatkę, w której dla zadanej wartości promienia R każdy neuron ma określoną listę sąsiadów [2, 3]. Najczęściej M. Kolasa, R. Długosz, A. Figas 106 występującą topologią sieci jest dwuwymiarowa mapa, w której neurony rozmieszczone są jak w węzłach regularnej siatki złożonej z wierszy i kolumn. W takiej siatce każdy neuron ma przynajmniej czterech sąsiadów. Zazwyczaj rozróżnia się topologie, w których każdy neuron ma 4, 8 lub 6 sąsiadów [6]. W pracy topologie te będą oznaczane odpowiednio jako Rect4, Rect8 oraz Hex. Poszczególne neurony, które należą do sąsiedztwa neuronu zwycięskiego w danej konkurencji, zmieniają swoje wagi z różną intensywnością, która zależy m.in. od zastosowanej funkcji sąsiedztwa (NF) G(). W klasycznym podejściu stosowana jest prostokątna funkcja sąsiedztwa (ang. RNF – rectangular neighborhood function), która zdefiniowana jest następująco: 1 G ( R, d (i, j )) 0 dla d (i, j ) R dla d (i, j ) R (2) gdzie d(i, j) jest odległością pomiędzy zwycięskim i-tym neuronem oraz każdym dowolnym j-tym neuronem mapy, natomiast R jest promieniem sąsiedztwa. Znacznie lepsze rezultaty osiągane są przy użyciu funkcji Gaussa (ang. GNF - Gaussian neighborhood function), którą definiuje się następująco [6, 10, 11]: d 2 (i, j ) G ( R, d (i, j )) exp 2 2 R (3) W literaturze zaproponowano wiele implementacji funkcji Gaussa w postaci układów elektronicznych, głównie analogowych [1, 8, 9]. GNF z powodu swojej złożoności nie może być w prosty sposób zrealizowana w dużych (w sensie liczby neuronów), zajmujących niewielką powierzchnię, energooszczędnych sieciach SOM. Dlatego w pracy zweryfikowano, czy trójkątna funkcja sąsiedztwa (ang. TNF – triangular neighborhood function) może zostać użyta jako zamiennik GNF, nie pogarszając jakości procesu uczenia sieci. Funkcja ta może być znacznie prościej zrealizowana sprzętowo. Zdefiniowana jest następująco: a ( ) ( R d (i, j )) c dla d (i, j ) R G ( R, d (i, j )) 0 dla d (i, j ) R (4) gdzie a jest nachyleniem funkcji trójkątnej, natomiast η jest wartością współczynnika uczenia zwycięskiego neuronu. Implementacja sprzętowa funkcji trójkątnej zaproponowana została przez autorów w pracy [7]. Rozpatrując sprzętowe implementacje NF w pracy [13], zaproponowano inne rozwiązanie oparte na wykładniczej funkcji sąsiedztwa (WNF). Polega ono na tym, że bity w sygnale reprezentującym człon η(k)G() w (1) są na kolejnych pierścieniach neuronów otaczających neuron zwycięski przesuwane w prawo. W rezultacie wartość zależności η(k)G() na danym pierścieniu jest jej połową wartości z poprzedniego pierścienia: 1 d(i, j) G ( R, d (i, j )) 2 1 dla d (i, j ) R dla j i (5) Wpływ funkcji sąsiedztwa… 107 Koncepcja ta jest bardzo atrakcyjna z punktu widzenia realizacji sprzętowej, ponieważ nie zawiera operacji mnożenia oraz dzielenia, przez co jest bardzo szybka. Natomiast zmniejsza ona liczbę wartości, które może osiągnąć NF. W pracy tej zweryfikowano tę koncepcję za pomocą modelu programowego sieci SOM. Efektywność procesu uczenia samoorganizującej się sieci neuronowej oceniono za pomocą dwóch typowo wykorzystywanych kryteriów: błędu kwantyzacji oraz błędu topograficznego [14, 15]. Błąd kwantyzacji definiowany jest następująco: m Qerr n (x j 1 l 1 jl wil )2 (6) m gdzie m jest parametrem określającym liczbę wzorców uczących w wejściowym zbiorze danych, natomiast n określa liczbę wejść sieci. Błąd kwantyzacji jest to błąd popełniany przez sieć podczas aproksymacji wektora wejściowego wektorem wag neuronu zwycięskiego. Błąd ten pozwala na ocenę dopasowania mapy neuronów do danych wejściowych, jednak nie może być zastosowany do oceny topograficznego uporządkowania mapy. Jakość odwzorowania topograficznego oceniana jest z wykorzystaniem błędu topograficznego ET1, który definiowany jest w sposób następujący: ET 1 1 1 m l ( xi ) m i 1 (7) Wartość l(xi) jest równa 1 w przypadku, kiedy dwa najbliższe wektorowi wejściowemu neurony są ze sobą połączone, tj. są najbliższymi sąsiadami w przestrzeni mapy. W przeciwnym przypadku wartość l(xi) jest równa 0. Pożądana wartość błędu topograficznego ET1 wynosi 0, co oznacza, że dla każdego wektora uczącego dwa neurony, których wektor wag jest najbardziej zbliżony do wektora wejściowego są również najbliższymi sąsiadami w mapie. Błąd topograficzny jest ważną miarą, która daje możliwość oceny zorganizowania sieci, wskazując na pojawiające się splątania na mapie, które powodują obniżenie jakości wyników prezentowanych przez mapę. 3. PORÓWNANIE WPŁYWU TYPU FUNKCJI UCZENIA SIECI SĄSIEDZTWA NA PROCES W rozdziale tym przedstawiono wpływ rodzaju funkcji sąsiedztwa na jakość procesu uczenia. Badania przeprowadzono dla dwunastu przypadków. Zbadano trzy topologie sieci opisane wcześniej, czyli Rect4, Rect8 oraz Hex, oraz cztery funkcje sąsiedztwa: prostokątną (RNF), trójkątną (TNF), wykładniczą (WNF) oraz Gaussa (GNF). Badano mapy o rozmiarze od 4x4 do 40x40 neuronów. Do badań wykorzystano dane wejściowe dwuwymiarowe tworzące równomiernie rozmieszczone centra, których liczba była równa liczbie neuronów M. Kolasa, R. Długosz, A. Figas 108 9 9 RNF 8 TNF 7 GNF 6 WNF Liczba optymalnych przypadków Liczba optymalnych przypadków tworzących mapę. Każde centrum reprezentowane jest przez równą liczbę wzorców uczących X(l). 5 4 3 2 1 0 4x4 8x8 TNF 7 GNF 6 WNF 5 4 3 2 1 0 4x4 10x10 16x16 20x20 26x26 32x32 36x36 38x38 39x39 Rozmiar mapy (a) RNF 8 8x8 10x10 26x26 32x32 (b) 7 Liczba optymalnych przypadków 16x16 20x20 Rozmiar mapy RNF TNF 6 GNF 5 WNF 4 3 2 1 0 4x4 8x8 10x10 16x16 20x20 26x26 Rozmiar mapy 32x32 36x36 38x38 (c) Rys. 1. Liczba przypadków, dla których mapa została prawidłowo zorganizowana w zależności od zastosowanej funkcji sąsiedztwa, w funkcji liczby neuronów, dla topologii: (a) Rect4, (b) Rect8, (c) Hex Fig. 1. The number of cases for which the map has been properly organized depending upon the function of the neighborhood, as a function of the number of neurons, the topology: (a) Rect4, (b) Rect8, (c) Hex Równomiernie rozmieszczone dwuwymiarowe dane uczące wybrano ze względu na możliwość obiektywnego porównania uzyskanych wyników dla różnych przypadków opisanych powyżej. W takim przypadku łatwo jest ocenić stopień organizacji sieci po równomierności rozkładu neuronów na płaszczyźnie oraz regularności węzłów siatki [11]. Równomierne rozmieszczenie wektorów wejściowych pozwala na idealne dopasowanie się mapy do danych wejściowych [8]. Aby uzyskać porównywalne wyniki, wejściowa przestrzeń danych dopasowana była do rozmiaru mapy. W związku z tym bez względu na rozmiar mapy optymalna wartość błędu kwantyzacji Qerr równała się w tym przypadku zawsze 16.2e-3. Badania przeprowadzono w funkcji wartości początkowej promienia sąsiedztwa, oznaczanego jako Rmax. Wpływ funkcji sąsiedztwa… 109 40 funkcja prostokątna 40 funkcja prostokątna funkcja trójkątna 35 funkcja wykładnicza Qerr[10E-3] Qerr[10E-3] funkcja Gaussa funkcja wykładnicza 30 funkcja trójkątna 35 funkcja Gaussa 30 25 25 20 20 15 15 0 2 6 Rmax 4 8 10 12 14 0 5 (a) 20 25 30 (b) 45 40 funkcja prostokątna funkcja prostokątna funkcja trójkątna 40 35 funkcja trójkątna 35 funkcja Gaussa funkcja Gaussa funkcja wykładnicza funkcja wykładnicza Qerr[10E-3] Qerr[10E-3] Rmax 15 10 30 30 25 25 20 20 15 15 0 10 30 Rmax 20 40 50 60 0 1 2 Rmax 4 3 (c) 5 6 7 (d) 45 40 funkcja prostokątna funkcja prostokątna funkcja trójkątna 35 funkcja trójkątna 40 funkcja Gaussa funkcja Gaussa 35 funkcja wykładnicza Qerr[10E-3] Qerr[10E-3] funkcja wykładnicza 30 30 v 25 v 25 20 20 15 15 0 2 4 6 Rmax 8 10 12 14 0 5 10 (e) 15 Rmax 20 25 30 35 (f) 40 40 funkcja prostokątna funkcja trójkątna 35 funkcja trójkątna funkcja Gaussa funkcja wykładnicza Qerr[10E-3] Qerr[10E-3] funkcja wykładnicza 30 funkcja prostokątna 35 funkcja Gaussa 30 25 25 20 20 15 15 0 1 2 3 Rmax 4 5 6 7 0 2 (g) 4 6 Rmax 8 10 12 14 (h) 45 funkcja prostokątna funkcja trójkątna 40 Qerr[10E-3] funkcja Gaussa 35 funkcja wykładnicza 30 25 20 15 0 5 10 15 Rmax 20 25 30 35 (i) Rys. 2. Błąd kwantyzacji po zakończeniu procesu uczenia sieci w funkcji maksymalnej wartości promienia sąsiedztwa, Rmax, dla różnych funkcji sąsiedztwa, różnych topologii sieci oraz różnej liczby neuronów tworzących mapę, dla topologii: (a)-(c) Rect4, (d)-(f) Rect8, (g)-(i) Hex Fig. 2. The quantization error of the learning process after completion of the network as a function of the maximum value of the radius of the neighborhood, Rmax, the neighborhood for different functions, different network topologies and different numbers of neurons in the map for the topology: (a)-(c) Rect4, (d)-(f) Rect8, (g)-(i) Hex 110 M. Kolasa, R. Długosz, A. Figas Rysunek 1 ilustruje liczbę takich przypadków (różnych wartości Rmax), dla których mapa została prawidłowo ułożona dla poszczególnych funkcji sąsiedztwa oraz dla poszczególnych topologii mapy. Dla optymalnej wartości błędu kwantyzacji Qerr wartość błędu topograficznego ET1 wyniosła 0. Na rysunku 2 przedstawiono wartości błędu kwantyzacji Qerr po zakończonym procesie uczenia SOM, w zależności od zastosowanej funkcji sąsiedztwa oraz topologii warstwy wyjściowej sieci. Wyniki przedstawiono w funkcji wartości początkowej promienia Rmax. Prostokątna funkcja sąsiedztwa jest funkcją najprostszą do implementacji sprzętowej, jednak w szerokim zakresie parametrów uczących daje ona znacznie gorsze wyniki niż funkcja trójkątna czy też Gaussa. Zastosowanie wykładniczej funkcji sąsiedztwa, która jest prostsza do zaimplementowania niż funkcja trójkątna oraz Gaussa, nie daje również zadowalających wyników. Oznacza to, że dla sieci o rozmiarze większym niż 10x10 neuronów nie udaje się uzyskać optymalnego ułożenia mapy. Wyniki przedstawione na rysunkach 1 oraz 2 pokazują, że funkcja trójkątna pozwala na uzyskanie równie dobrych bądź nawet lepszych wyników niż te, które uzyskane zostały przy wykorzystaniu funkcji Gaussa, która jest powszechnie uznawana za najlepszą. Wybór funkcji trójkątnej wpływa na zmniejszenie liczby elementów w zaimplementowanej sprzętowo sieci neuronowej. W konsekwencji prowadzi to do zmniejszenia obszaru zajmowanego w układzie scalonym oraz do zmniejszenia poboru mocy. Sieć w tym przypadku daje równie dobre wyniki jak te, które uzyskiwane są przy wykorzystaniu funkcji Gaussa. Na wykresie przedstawiającym liczbę optymalnych Rmax, pozwalających na prawidłowe rozmieszczenie neuronów w zależności od zastosowanej funkcji sąsiedztwa, dla poszczególnych topologii sieci oraz różnych rozmiarów map widoczne jest, że trójkątna funkcja sąsiedztwa prowadzi do właściwego rozmieszczenia neuronów w największym zakresie Rmax, zwłaszcza dla większych rozmiarów map. W przypadku dużych map widoczna jest decydująca przewaga funkcji sąsiedztwa innych niż prostokątna oraz wykładnicza. Dla większych rozmiarów map optymalne rozmieszczenie mapy uzyskuje się jedynie przy odpowiednim doborze badanych parametrów sieci. Wyniki zaprezentowane na rysunkach 1 oraz 2 (c), (i) pokazują, że prawidłowe rozmieszczenie neuronów dla trzech badanych topologii sieci uzyskano tylko dla trójkątnej funkcji sąsiedztwa. Uzasadnia to celowość użycia funkcji sąsiedztwa innych niż prostokątna, jednakże nie we wszystkich przypadkach. Wykresy z rysunku 2 (a), (d) i (g) pokazują, że dla mniejszych map z 4x4 i 8x8 neuronami, wybór topologii sieci, zasięgu oraz funkcji sąsiedztwa nie wpływa znacząco na wynik procesu uczenia sieci neuronowej. W tych przypadkach funkcja prostokątna powinna być wykorzystana ze względu na znaczące oszczędności pobieranej energii oraz większą szybkość działania. Zaimplementowany przez autorów na poziomie tranzystora mechanizm sąsiedztwa z prostokątną funkcją sąsiedztwa zużywa jedynie 20% energii, w porównaniu z przypadkiem gdy zastosowano trójkątną Wpływ funkcji sąsiedztwa… 111 funkcję sąsiedztwa. Warto jednak podkreślić, że energia zużywana w przypadku funkcji trójkątnej stanowi jedynie 10% energii zużywanej, gdy stosowana jest funkcja Gaussa. Powyższe rozważania wskazują, iż w sprzętowej implementacji sieci SOM najbardziej optymalne jest zastosowanie trójkątnej funkcji sąsiedztwa, która oferuje stosunkowo niską złożoność sprzętową, jednocześnie oferując dużą efektywność oraz elastyczność. 4. PODSUMOWANIE W sprzętowej implementacji sieci SOM istotny jest odpowiedni dobór jej parametrów, takich jak np. funkcja sąsiedztwa. Zastosowanie zbyt prostej funkcji sąsiedztwa wpływa na pogorszenie jakości procesu uczenia takiej sieci. Jednak zbyt złożona funkcja sąsiedztwa znacząco zwiększa złożoność całego układu scalonego. W pracy pokazano, że trójkątna funkcja sąsiedztwa jest rozwiązaniem najbardziej optymalnym z punktu widzenia efektywności procesu uczenia sieci Kohonena zarówno pod względem poboru mocy, jak i obszaru zajmowanego w układzie scalonym. Zastosowanie tej funkcji pozwala na znaczące uproszczenie całej struktury zaimplementowanej sprzętowo sieci SOM, nie wpływając na pogorszenie jakości procesu uczenia. BIBLIOGRAFIA 1. 2. 3. 4. 5. 6. Abuelma`ati M. T., Shwehneh A.: A reconfigurable Gaussian/Triangular Basis Function Computation Circuit. „IEEE International Conference on Computer Systems and Applications” 2006, p. 232-239. Boniecki P.: The Kohonen neural network in classification problems solving in agricultural engineering. „Journal of Research and Applications in Agricultural Engineering” 2005, Vol. 50, p. 37-40. Brocki Ł.: Kohonen self-organizing map for the traveling salesperson problem. Recent Advances in Mechatronics, Springer 2007. Długosz R., Kolasa M.: CMOS, programmable, asynchronous neighborhood mechanism for WTM Kohonen neural network. Proc. International Conference Mixed Design of Integrated Circuits and Systems, Poznań 2008, p. 197-201. Długosz R., Talaśka T., Pedrycz W., Wojtyna R.: Realization of the conscience mechanism in cmos implementation of winner-takes-all self-organizing neural networks. „IEEE Transactions on Neural Networks” 2010, Vol. 21 (6), p. 961-971. Kohonen T.: Self-Organizing Maps, third ed. Springer. Berlin 2001. M. Kolasa, R. Długosz, A. Figas 112 Kolasa M., Długosz R., Bieliński K.: White Electronics, Programmable, Asynchronous, Triangular Neighborhood Function for Self-Organizing Maps Realized on Transistor Level. INTL „Journal of Electronics and Telecommunications” 2010, Vol. 56, No. 4, p. 367-373. 8. Li F., Chang C. H., Siek L.: A compact current mode neuron circuit with Gaussian taper learning capability. IEEE International Symposium on Circuits and Systems. 2009, p. 21292132. 9. Masmoudi D. S.: Dieng A. T., Masmoudi M.: A subtreshold Mode Programmable Implementation of the Gaussian Function for RBF Neural Networks Applications. „IEEE International Symposium on Intelligent Control” 2002, p. 454-459. 10. Mokris I., Forgac R.: Decreasing the Feature Space Dimension by Kohonen Self7. 11. 12. 13. 14. 15. Organizing Maps, 2nd Slovakian – Hungarian Joint Symposium on Applied Machine Intelligence, Słowacja 2004. Osowski S.: Sieci neuronowe w ujęciu algorytmicznym. WNT, Warszawa 1996. Peiris V., Hochet B., Abdo S., Declercq M.: Implementation of a Kohonen map with learning capabilities. Proc. IEEE International Symposium on Circuit and Systems, Singapur 1991, p. 1501-1504. Pena J., Vanegas M., Valencia A.: Digital hardware architectures of Kohonen’s self organizing feature maps with exponential neighboring function. Proc. of IEEE International Conference on Reconfigurable Computing and FPGA’s. Meksyk 2006, p. 1-8. Su M-C., Chang H-T., Chou C-H.: A Novel Measure for Quantifying the Topology Preservation of Self-Organizing Feature Maps. „Neural Processing Letters” 2002, Vol. 15, p. 137-145. Uriarte E.A., Martin F.D., Topology Preservation in SOM. „International Journal of Applied Mathematics and Computer Sciences” 2005, Vol. 1, p. 19-22. Dr inż. Marta KOLASA, dr inż. Rafał DŁUGOSZ Uniwersytet Technologiczno-Przyrodniczy w Bydgoszczy Wydział Telekomunikacji i Elektrotechniki ul. Kaliskiego 7 85-796 Bydgoszcz e-mail: [email protected] [email protected] Dr inż. Aleksandra FIGAS Politechnika Poznańska Katedra Inżynierii Komputerowej ul. Piotrowo 3A 60-695 Poznań e-mail: [email protected]