Learning Energy-Based Models of High

advertisement
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
yn
 1 gdy
y
 1 gdy
n0
n0
b) bipolarna (symetryczna)
3. Funkcja liniowa dodatnia
0
y
n
gdy
n0
gdy
n0
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
8103
4105
3105
R. Hecht-Nielsen, TRW
Neural Emulator
Processor
1985
4103
1.6104
4.9105
C. Cruz, IBM
Mark IV
1986
2.5105
5106
5106
R. Hecht-Nielsen, TRW
Odyssey
1986
8103
2.5105
2106
A. Penz, Tex. Inst. CRL
Crossbar Chip
1986
256
6.4104
6109
L. Jackel, AT&T Bell Labs
Anza
1987
3104
5105
1.4105
R. Hecht-Nielsen,
Neurocomp. Corp.
Parallon
1987
9.1104
3105
3104
S. Bogoch, Human Dev.
Anza plus
1988
106
1.5106
6106
R. Hecht-Nielsen,
Neurocomp. Corp.
Download