Inteligentne Systemy Autonomiczne Wstęp do Sieci Neuronowych W oparciu o wykłady Prof. Geoffrey Hintona University of Toronto i Dr Kazimierza Duzinkiewicza, Politechnika Gdanska Janusz A. Starzyk Wyzsza Szkola Informatyki i Zarzadzania w Rzeszowie Czym są Sieci Neuronowe? • Trudno jest napisać program który mógłby rozpoznawać twarze. – Nie wiemy jaki program napisać bo nie wiemy jak to się robi. – Nawet jak mamy pomyśl na taki program to program ten może być okropnie skomplikowany. • Zamiast pisać taki program zbieramy dużo próbek które reprezentują poprawny wynik dla danego sygnału wejściowego • Sieć neuronowa przetworzy te próbki i otrzyma funkcje przekształcające obraz wejściowy na pożądany sygnał wyjściowy. – Jeśli zrobimy to poprawnie to sieć neuronowa nie tylko pokaże poprawny wynik dla próbek użytych do jej wytrenowania ale także dla nowych próbek. Trudno jest opisać jak wyróżnić cyfrę 2 Przykłady zastosowań sieci neuronowych • Rozpoznawanie kształtów: – Rozpoznawanie twarzy albo wyrazu twarzy – Rozpoznawanie pisma ręcznego albo mowy • Rozpoznawanie nieprawidłowości: – Niezwykle operacje na kontach kart kredytowych – Nienormalne odczyty mierników w elektrowni atomowej • Przewidywanie: – Przyszłe ceny akcji giełdowych – Przyszłe ceny na rynkach walutowych Cele rozwoju sieci neuronowych • Zrozumienie jak działa mozg – Mózg jest dużym skomplikowanym systemem neuronów i umiera jak się go narusza • Zrozumienie nowego stylu obliczeń – Zainspirowanego przez neurony i ich adaptacyjne połączenia – Bardzo różniącego się od obliczeń sekwencyjnych • Sprawny w problemach które mozg rozwiązuje sprawnie (e.g. widzenie) • Niesprawny w problemach trudnych dla mózgu (e.g. 23 x 71) • Zastosowania praktyczne przy użyciu nowych algorytmów – Algorytmy uczące się mogą być przydatne nawet jak nie mają nic wspólnego z zasadami pracy mózgu Typowy neuron kory mózgowej • Struktura z grubsza: – Neuron ma jeden akson z rozgałęzieniami – Ma też drzewko dendrytów które otrzymują sygnały wejścia od innych neuronów – Neuron ma zwykle 103 – 104 dendrytów • Axon typowo łączy się z dendrytami innych neuronów poprzez synapsy – Ciąg impulsów wytworzony przez neuron jest propagowany bez osłabiania wzdłuż drzewka aksonu • Generowanie impulsów: – Wzgórek aksonowy wytwarza impulsy wyjściowe gdy neuron otrzymał dostateczny ładunek żeby zdepolaryzować błonę komórki axon body dendritic tree Typowy neuron kory mózgowej Na końcach rozgałęzień aksonu znajdują się synapsy. Synapsy łączą aksony neuronów z wypustkami wejściowymi dendrytów. Akson typowego neuronu może mieć kilka tysięcy synaps. Synapsy mogą zwiększać lub zmniejszać potencjał dendrytu– mieć naturę pobudzającą lub tłumiącą Drzewko wyjściowe neuronu Gromadzenie informacji w neuronie zależy od jego połączeń synaptycznych – od ich układu i sił Synapsy • Gdy impuls nerwowy dotrze do zakończenia aksonu powoduje migrację pęcherzyków presynaptycznych uwalniających mediatory – Przykłady mediatorów: adrenalina, noradrenalina, acetylocholina • Mediator wypełnia szczelinę synaptyczną i łączy się z receptorami na błonie postsynaptycznej. – Otwiera to kanały dla jonów sodu i depolaryzację błony postsynaptycznej. • Sprawność synaps może się zmienić – zmieniając ilość pęcherzyków presynaptycznych – zmieniając ilość cząsteczek mediatorów. • Synapsy sa powolne ale mają przewagę nad RAM – Są bardzo małe – Adaptują sie przez lokalne oddziaływania (ale jak?) Synapsy • Połączenie synaptyczne: • 1-mitochondrium • 2-pęcherzyki presynaptyczne z neurotransmiterem • 3-kanał wapniowy, • 4-szczelina synaptyczna • 5-neuroreceptor • 8- receptor zwrotnego wychwytu mediatora Sieci neuronów • Rozbieżność – Pojedynczy neuron pobudza kilka neuronów wyjścia • Przykład: sygnały sensoryczne zbiegające się w rożnych rejonach mózgu • Zbieżność – Kilka neuronów pobudza pojedynczy neuron • Przykład: pojedynczy neuron ruchu połączony z włóknem tkanki mięśniowej otrzymuje pobudzenie z rożnych ścieżek wychodzących z rożnych rejonów mózgu. Sieci neuronów • Obwody powtarzające – Pobudzenie komórki przed synapsowej wzbudza obwód neuronów wysyłający serie impulsów • Przykład: skoordynowana aktywność mięsni • Obwody równoległe – Pojedynczy neuron pobudza wiele neuronów o zbieżnym wyjściu • W wyniku neuron postsynaptyczny otrzymuje wiele pobudzeń Jak działa mózg? • Każdy neuron otrzymuje sygnały od innych neuronów - Neurony porozumiewają się poprzez impulsy - Ważna jest synchronizacja impulsów • Wpływ każdego sygnału wejściowego neuronu jest kontrolowany przez wagi synaptyczne – Wagi mogą być dodatnie lub ujemne • Wagi synaptyczne adaptują się i cała sieć uczy się użytecznego działania – Rozpoznawania obrazów, rozumienia języka, planowania, kontroli ciała • Mozg ma około 1010-1011 neuronów z 103-104 wag wejścia każdy – Olbrzymia ilość wag może szybko wpłynąć na wynik obliczeń. Znacznie wyższa ilość obliczeń niż w Pentium. Modułowość i mózg • Rożne neurony kory mózgowej określają rożne rzeczy. – Lokalne uszkodzenia mózgu mają specyficzne efekty – Specyficzne zadania zwiększają dopływ krwi do specyficznych części mózgu. • Jednak kora mózgowa wygląda wszędzie tak samo. – Wczesne uszkodzenia mózgu powodują przemieszczenie funkcji w inne rejony • Kora mózgowa ma struktury ogólnego przeznaczenia które specjalizują się w odpowiedzi na doświadczenia. – Daje to szybkie równolegle przetwarzanie i plastyczność – Konwencjonalne komputery sa plastyczne przez software ale wymaga to bardzo szybkiego centralnego procesora do wykonania dużej ilości obliczeń. Uproszczony model neuronu Do neuronu dociera pewna liczba sygnałów wejściowych. • Każdy sygnał jest wprowadzany do neuronu przez połączenie o pewnej wadze • wagi odpowiadają efektywności synapsy w neuronie biologicznym. Każdy neuron posiada wartość progową, określającą jak silne musi być pobudzenie, aby doszło do wzbudzenia. • W neuronie obliczana jest ważona suma wartości sygnałów wejściowych przemnażanych przez odpowiednie współczynniki wagowe, a następnie odejmowana jest od niej wartość progowa. Sygnał reprezentujący łączne pobudzenie neuronu przekształcany jest przez ustaloną funkcję aktywacji. • Wartość obliczona przez funkcję aktywacji jest sygnałem wyjściowym neuronu. x1 x2 w1 w2 wn xn Próg e y Co to są sieci neuronowe? Definicja w oparciu o [Cichocki A. & Umbehauen R. Neural Networks for Optimization and Signal Processing, 1994] i [Tadeusiewicz R. Sieci neuronowe, 1993] Sztuczna sieć neuronowa jest układem przetwarzania sygnałów złożonym z dużej liczby działających równolegle elementów przetwarzających, nazywanych sztucznymi neuronami. Neurony dysponują lokalną pamięcią o małej pojemności. Topologia połączeń oraz ich wagi są modyfikowane w trakcie procesu uczenia. Funkcja sieci neuronowej jest zdeterminowana przez jej strukturę, siłę powiązań i rodzaj przetwarzania realizowanego w neuronach. Cechy charakteryzujące sieć neuronową Sieć neuronowa jest charakteryzowana przez: 1. funkcje według których neuron reaguje na docierające do niego pobudzenia, nazywane funkcjami pobudzania (propagacji) i funkcjami aktywacji; 2. strukturę połączeń pomiędzy neuronami, nazywaną architekturą sieci; 3. metodę określania wag tych połączeń, nazywaną algorytmem uczenia. Aktualne kierunki badań i zastosowań sieci neuronowych diagnostyka układów elektronicznych, optymalizacja utylizacji odpadów, badania psychiatryczne, dobór surowców, prognozy giełdowe, selekcja celów śledztwa w kryminalistyce, prognozowanie sprzedaży, poszukiwania ropy naftowej, interpretacja badań biologicznych, prognozy cen, analiza badań medycznych, planowanie remontów maszyn, prognozowanie postępów w nauce, dobór pracowników, sterowanie procesów przemysłowych, typowania na wyścigach konnych, analiza problemów produkcyjnych, optymalizacja działalności handlowej, analiza spektralna, Krótki przegląd zastosowań technicznych zagadnienia rozpoznawania, a zwłaszcza rozpoznawania kontekstowego i inwariantnego (w sensie niezależności od typowych transformacji), zadania klasyfikacji oraz analizy obrazów i ich przetwarzania, Około 70% prac dotyczących sieci neuronowych odwołuje się bezpośrednio lub pośrednio do zagadnień rozpoznawania obrazów "klasyczne" zadania przetwarzania sygnałów, takie jak konwersje, filtracje i aproksymacje funkcji oraz inne odwzorowania i transformacje (zwłaszcza transformacja Fouriera), Krótki przegląd zastosowań technicznych zadania z zakresu robotyki, automatyki oraz teorii sterowania (zwłaszcza sterowania adaptacyjnego w układach samouczących się), w tym węższe problemy jak: identyfikacja systemów dynamicznych, sterowanie ruchem pojedynczego obiektu (najczęściej robota) lub ruchem zbiorowości pojazdów, percepcja ruchu i jego planowanie, koordynacja sensomotoryczna, Zastosowanie sieci neuronowych jako elementów sterujących wypada często zdecydowanie korzystniej niż stosowanie tradycyjnych urządzeń sterujących budowa pamięci asocjacyjnych, rozproszonych, sekwencyjnych i samoorganizujących się algorytmy automatycznego uczenia się maszyn oraz uogólniania nabywanych doświadczeń Wybrane zastosowania nietechniczne predykcja; np. ocena zdolności kredytowej przedsiębiorstwa, prognozy rozwoju przedsiębiorstwa prognozy zmian rynku i inwestycji giełdowych sterowanie obiektów ekonomicznych na podstawie przewidywania (predykcji) ich zachowań w odpowiedzi na określone sterowania, klasyfikacja i rozpoznawanie podmiotów gospodarczych, analiza i kojarzenie danych, Prosty sposób rozpoznawania pisma ręcznego • Rozpatrzmy dwuwarstwowa siec neuronowa. – Neurony w górnej warstwie reprezentują znane kształty. – Neurony w dolnej warstwie reprezentują intensywność pikseli. • Piksel glosuje tylko wtedy gdy ma na sobie tusz. – Każdy zatuszowany piksel może głosować na kilka rożnych kształtów. • Kształt który uzyska najwięcej głosów wygrywa. 0 1 2 3 4 5 6 7 8 9 Jak nauczyć się wag połączeń? 1 2 3 4 5 6 7 8 9 Obraz wejściowy Wprowadź do sieci obraz wejściowy i powiększ wagi od aktywnych pikseli do wyjścia odpowiedniej klasy. Potem zmniejsz wagi od aktywnych pikseli do wyjść reprezentujących inne klasy. 0 1 2 3 4 5 6 7 8 9 Obraz wejsciowy Wprowadź do sieci obraz wejściowy i powiększ wagi od aktywnych pikseli do wyjścia odpowiedniej klasy. Potem zmniejsz wagi od aktywnych pikseli do wyjść reprezentujących inne klasy. 0 1 2 3 4 5 6 7 8 9 Obraz wejściowy Wprowadź do sieci obraz wejściowy i powiększ wagi od aktywnych pikseli do wyjścia odpowiedniej klasy. Potem zmniejsz wagi od aktywnych pikseli do wyjść reprezentujących inne klasy. 0 1 2 3 4 5 6 7 8 9 Obraz wejściowy Wprowadź do sieci obraz wejściowy i powiększ wagi od aktywnych pikseli do wyjścia odpowiedniej klasy. Potem zmniejsz wagi od aktywnych pikseli do wyjść reprezentujących inne klasy. 0 1 2 3 4 5 6 7 8 9 Obraz wejściowy Wprowadź do sieci obraz wejściowy i powiększ wagi od aktywnych pikseli do wyjścia odpowiedniej klasy. Potem zmniejsz wagi od aktywnych pikseli do wyjść reprezentujących inne klasy. 0 1 2 3 4 5 6 7 8 9 Obraz wejściowy Wprowadź do sieci obraz wejściowy i powiększ wagi od aktywnych pikseli do wyjścia odpowiedniej klasy. Potem zmniejsz wagi od aktywnych pikseli do wyjść reprezentujących inne klasy. 0 Wyuczone wagi połączeń 1 2 3 4 5 6 7 8 9 Obraz wejściowy Szczegóły algorytmu będą podane później 0 Dlaczego prosty system nie działa • Dwu warstwowa sieć z jednym zwycięskim neuronem w górnej warstwie jest równoważna sztywnej formie dla każdego kształtu. – Zwycięża forma która ma największa część wspólną z sygnałem wejścia. • Zmiany kształtu są zbyt skomplikowane by je opisać poprzez proste porównanie całego kształtu z formą. – Żeby wychwycić wszystkie dopuszczalne zmiany kształtu musimy nauczyć się charakterystycznych cech które go opisują. Przykłady ręcznie napisanych cyfr które muszą być rozpoznane przy ich pierwszej prezentacji Model pojedynczego neuronu Rozróżnimy dwa rodzaje neuronów: neurony statyczne, neurony dynamiczne, Model neuronu statycznego x = +1 Stałe 0 wejście x1 wk0 x2 . . Sygnały . wejściowe xj . . . xm wk2 . . . wkj . . . wkm wk0 = bk Próg Funkcja aktywacji wk1 m Wagi (z włączeniem progu) g() nk Funkcja pobudzania (propagacji) () Sygnał pobudzenia Sygnał odpowiedzi yk Wyjście Dynamiczny Model Hodgkin-Huxley Model jest nazywany neuronem pulsującym (spiking neuron) wewnątrz komórki Różnica w gęstości jonów wytwarza różnicę u potencjału elektrycznego nazywanego potencjałem Nernsta u= ln Ka Kanały jonowe Koncentracja jonów potasu jest wyższa wewnątrz komórki (400 mM/l) niż w płynie międzykomórkowym (20 mM/l). Równanie Nernsta ze stała Boltzmanna k = 1.4×10-23 J/K daje EK - 77mV w temperaturze pokojowej. Dlatego potencjał odwrócenia jonów K+ jest ujemny. Na na zewnątrz Pompa jonowa Dynamiczny Model Hodgkin-Huxley wewnątrz komórki 100 I Ka mV C gK gNa gl 0 Kanały jonowe sod I Na potas IK Na na zewnątrz Pompa jonowa przeciek I leak pobudzenie wejscia du C g Na m3h(u E Na ) g K n 4 (u EK ) g l (u El ) g (t ) dt dn n n0 (u ) dh h h0 (u ) dt n (u ) dt h (u ) Prawdopodobieństwo otwarcia kanału opisane dm m m0 (u ) jest zmiennymi m, n, i h. dt m (u ) Dynamiczny Model Hodgkin-Huxley Jeśli wartość pobudzenia neuronu jest większa niż próg 6 uA/cm2, obserwujemy regularne impulsy. Częstość impulsów jest funkcja mocy sygnału wejściowego I0 Opis matematyczny neuronu o numerze k: Pobudzenie neuronu o numerze k: nk g x , wk Odpowiedź neuronu o numerze k: yk nk g x , wk Na przykład: m m j 0 j 1 nk wkj x j wkj x j bk m m yk nk wkj x j wkj x j bk j 0 j 1 Uproszczony model neuronu statycznego lub wk0 1 x1 wk1 x2 . . . xj . . . xm +1 wk2 wkj wkm x1 bk wk1 g yk x2 . . . xj . . . xm wk2 wkj wkm g yk Neurony liniowe • Te sa proste ale maja ograniczenia obliczeniowe – Jak zrozumiemy uczenie tych neuronów to być może zrozumiemy bardziej złożone neurony wartość progowa (bias) wejście y b xi wi wyjście i indeks wejścia y 0 waga wejściowa 0 b xi wi i Neurony z unipolarna funkcja progowa (Binary threshold neurons) • McCulloch-Pitts (1943): – Oblicz ważoną sumę sygnałów wejścia – Jeśli ta suma przekracza wartość progową to wyślij sygnał wyjściowy o stałej wartości. z xi wi i y 1 jeśli 1 z 0 poza tym y 0 próg (threshold) z Neurony liniowe z progiem (Linear threshold neurons) Obliczają liniową ważoną sumę wejść Wyjście jest nieliniową funkcją wejść z j b j xi wij i z j jesli z j 0 yj 0 poza tym y 0 próg z Neurony sigmoidalne z b xi wi • Mają wyjście o wartości rzeczywistej które jest gładką i ograniczoną funkcją wejść i y • Pochodne tej funkcji są łatwo liczone co sprzyja uczeniu • Jeśli potraktujemy y jako prawdopodobieństwo wytworzenia impulsu, to otrzymamy stochastyczne neurony binarne 1 1 e z 1 y 0.5 0 0 z Funkcje pobudzania (wejścia) (k - numer neuronu, j - numer wejścia neuronu) 1. Funkcja sumy m nk wk j x j b k j 1 2. Funkcja iloczynu m lub nk = wkj x j j 0 m nk wk j x j j 1 3. Funkcja maksimum nk max wk j x j j 4. Funkcja minimum nk min wkj x j j 5. Funkcja majoryzacji 6. Funkcja sumy kumulowanej m nk j j 1 gdzie: m 1 j 0 n( i 1 ) n( i ) wk( i, j) x(j i ) j 1 gdy wi, j 0 gdy wi, j 0 Funkcje aktywizacji (wyjścia) 1. Funkcja przekaźnikowa 0 gdy n 0 y 1 gdy n 0 a) unipolarna (niesymetryczna) 2. Funkcja liniowa yn 1 gdy y 1 gdy n0 n0 b) bipolarna (symetryczna) 3. Funkcja liniowa dodatnia 0 y n gdy n0 gdy n0 4 a). Funkcja liniowa z nasyceniem niesymetryczna 0 gdy n 0 y n gdy 0 n 1 gdy n 5 a). Funkcja sigmoidalna logarytmiczna unipolarna (niesymetryczna) y 1 ; 0 1 exp( n ) 4 b). Funkcja liniowa z nasyceniem symetryczna 1 gdy n y n gdy n 1 gdy n 8. Funkcja sigmoidalna logarytmiczna bipolarna (symetryczna) y 2 1; 0 1 exp( n ) 10. Funkcja sigmoidalna tangensa hiperbolicznego bipolarna (symetryczna) y tanh( n ) exp( n ) exp( n ) ; 0 exp( n ) exp( n ) 11. Funkcje radialne (Radial Basis) Przykłady: funkcje Gaussa n2 y exp 2 splin cienkiej płytki (thin plate spline) y n 2 log( n) Warstwa Neuronów Układ neuronów nie powiązanych ze sobą (wyjścia neuronów nie są połączone z wejściami innych neuronów warstwy) do których docierają sygnały z tych samych źródeł (neurony pracują równolegle) (l -1) y 1 1 (l) w k1 y(l -1)2 (l) k2 w (l) k b g (l) w kj g y(l -1)j (l) km w (l-1) m y g k- ty neuron sieci y(l)k Rodzaje połączeń – sieci bez sprzężenia zwrotnego (feedforward) • sygnały na wejściu są niezależne od sygnałów na wyjściu jednostki wyjściowe jednostki ukryte jednostki wejściowe – sieci ze sprzężeniem zwrotnym (feedback) • sygnały wyjściowe są pośrednio lub bezpośrednio podawane na wejście. • są to dynamiczne sieci autoasocjacyjne • graf sieci ma cykle skierowane Pytania? Kto rozwijał sztuczne sieci neuronowe ważniejsze fakty Lata 40 XX wieku: Początek sieci neuronowych Sztuczne sieci neuronowe swój początek wywodzą z badań nad modelami matematycznymi działania biologicznej komórki nerwowej Neurony McCulloch’a-Pitts’a W roku 1943 Warren McCulloch i Walter Pitts zaproponowali pierwszy prosty model matematyczny neuronu w postaci dwuwartościowego elementu progowego. w i1 w i2 w .. . ij Schemat modelu neuronu McCullocha i Pittsa n i Funkcja aktywacji McCullocha i Pittsa i 1 dla x 0 x 0 dla x 0 Model działania neuronu McCullocha i Pittsa ni t 1 wij n j t i j Reguła Hebba W roku 1949 Donald Hebb, sformułował regułę uczenia sztucznych sieci neuronowych. Reguła ta mówi że, jeżeli dwa neurony były aktywne jednocześnie to siła połączenia pomiędzy nimi powinna wzrosnąć. Stanowi ona podstawę wielu używanych obecnie reguł uczenia sieci neuronowych Lata 50. i 60.: Złoty wiek sieci neuronowych Dzisiaj sieci neuronowe zwykło się postrzegać jako alternatywę klasycznego przetwarzania opartego na zasadach sformułowanych przez John’a von Neumann’a. W latach 50. von Neumann był żywo zainteresowany problemami modelowania mózgu W latach 1957 i 1958 Frank Rosenblatt i Charles Wightman wykonali w Cornell Aeronautical Laboratory, przez pierwszy neurokomputer - Mark I Perceptron. Wykorzystali oni model McCulloch’a-Pitts’a i zaproponowali metodę uczenia sieci złożonej z neuronów o progowych funkcjach aktywacji x0 = 1 x1 x2 ... xn ... Układ wprowadzania obrazu Matryca sensorów obrazu w w w 1 2 w 0 n y „Poprawne” wyjście (dostarczane podczas uczenia) n 1 gdy wi xi 0 i 1 y n 0 gdy wi xi 0 i 1 Szafa modułów par silnik potencjometr Tablica łączeniowa Adaline i Madaline Niewiele później po Mark I Perceptron, powstała ciekawa konstrukcja neurokomputera nazywana Adaline od ADAptive LInear NEuron. Zbudowana została w 1960 roku przez Bernarda Widrowa i jego studenta Marciana (Teda) Hoffa z Uniwersytetu Stanforda. Cała sieć nazywana była od nazwy elementu Madaline (Many Adaline). Widrow i Hoff do uczenia zbudowanej sieci zastosowali nową metodę uczenia nazywaną od ich nazwisk metodą Widrow’a i Hoff’a lub metodą delty lub metodą LMS Marcian Hoff Kilka danych o Madaline 8 komórek nerwowych, 128 połączeń, Bernard Widrow szybkość działania – około 104 przełączeń na sekundę Lata 70.: Lata ciszy o Pomimo sukcesów lat sześćdziesiątych nieznajomość efektywnych metod uczenia sieci o więcej niż jednej warstwie uniemożliwiała ich zastosowanie w bardziej złożonych zadaniach. o W roku 1969 Marvin Minsky i Seymour Pappert - - opublikowali książkę: Minsky M., Papert S., Perceptrons, MIT Press, Cambridge 1969 w której zaatakowali istniejący stan badań nad sieciami neuronowymi, określając go jako bezwartościowy. o Minsky i Papert wykazali, że kilka elementarnych zadań nie można wykonać na jednowarstwowym perceptronie. Jednak wielu naukowców nie zraziło się tą krytyką i dalej prowadziło badania Kohonen We latach siedemdziesiątych Teuvo Kohonen z Helsinki University of Technology opracował sieci neuronowe pamięci asocjacyjnych (skojarzeniowych). Rozwinięte później (lata osiemdziesiąte) w tzw. samo-organizujące się odwzorowania cech, były one wykorzystywane do rozpoznawania mowy, problemu komiwojażera oraz komponowania muzyki Grossberg o Bardzo aktywnym badaczem w tym czasie był Stephen Grossberg; w latach 1967-1988 opublikował on ze swoimi kolegami 146 prac z dziedziny sieci neuronowych. Są to głównie prace o charakterze matematyczno-biologicznym. o Gail Carpenter i Stephen Grossberg rozwinęli na początku lat osiemdziesiątych (1985-1990) teorię samo-organizujących się sieci neuronowych nazywaną teorią rezonansu adaptacyjnego (Adaptive Resonance Theory - ART). o Sieci teorii rezonansu adaptacyjnego dla wejść binarnych (ART1) oraz ciągłych są dziś jednymi z bardziej popularnych sieci Lata 80.: Ponowny entuzjazm i jego źródła Podstawowy powód zaniku szerszego zainteresowania sieciami neuronowymi - brak efektywnej metody uczenia sieci wielowarstwowych - zniknął w połowie lat osiemdziesiątych Propagacja wsteczna Zaproponowana niezależnie przez Davida Parker’a (1985) i LeCun (1986) metoda nazwana została metodą propagacji wstecznej. Później okazało się, że metoda po raz pierwszy została zaproponowana znacznie wcześniej przez Werbos’a (1974, praca doktorska, Harward), ale nie została szerzej rozpowszechniona. Zrobili to w roku 1986 Rumehart i McClelland publikując pracę „Parallel Distributed Processing” Sieci Hopfielda Prace laureata Nagrody Nobla w dziedzinie fizyki John’a Hopfielda z California Institute of Technology proponującego nowe sieci (1982-87) poszerza zainteresowanie sieciami neuronowymi Maszyny Niederministyczne Są to sieci w których wagi połączeń i aktywacje są zmieniane w oparciu o funkcje gęstości prawdopodobieństwa. Sieci te wykorzystują takie idee jak symulowane wyżarzanie (maszyna Boltzmann’a) czy Bayesowską teorię decyzji Implementacje sprzętowe (hardware’owe) Od połowy lat 80. notuje się prawdziwy wyścig, którego uczestnikami są, obok laboratoriów badawczych, także firmy produkujące układy elektroniczne. Osiągnięciami liczącymi się w tym wyścigu są: liczba elementów neuropodobnych umieszczonych w sieci, liczba połączeń, szybkość działania, wyrażana w liczbach przełączeń na sekundę Zestawienie ważniejszych realizacji hardware’owych sieci neuronowych z okresu pierwszej połowy lat 80 Nazwa neurokomputera Rok Liczba elementów Liczba połączeń Szybkość Twórca Mark III 1985 8103 4105 3105 R. Hecht-Nielsen, TRW Neural Emulator Processor 1985 4103 1.6104 4.9105 C. Cruz, IBM Mark IV 1986 2.5105 5106 5106 R. Hecht-Nielsen, TRW Odyssey 1986 8103 2.5105 2106 A. Penz, Tex. Inst. CRL Crossbar Chip 1986 256 6.4104 6109 L. Jackel, AT&T Bell Labs Anza 1987 3104 5105 1.4105 R. Hecht-Nielsen, Neurocomp. Corp. Parallon 1987 9.1104 3105 3104 S. Bogoch, Human Dev. Anza plus 1988 106 1.5106 6106 R. Hecht-Nielsen, Neurocomp. Corp.