Budowa i własności sztucznych neuronów i sieci

advertisement
2013-06-12
Uwaga:
Budowa i własności
Slajdy w tej prezentacji są
intensywnie animowane, więc
na statycznych kopiach mogą
być mało czytelne
(elementy pokazywane podczas
animacji sekwencyjnie na
statycznej kopii są nałożone
jedne na drugie!)
sztucznych
neuronów
i sieci
Jak zbudowane są sztuczne
neurony i sieci?
Droga
postępowania
A)
B)
x1
w1
x2
w2
x3
w3
.......
Elementy, z których buduje się
neuronowy model
X1
g(x, w) x
f(x)
y
X2
X3
xn
wn
.......
x
w
Xn
w
w x
wg f
1w
2
3 ( (
n
wx x
w , x)
w
g f
1w
2
( (
3 w
n
w x) x
w
w ,g x)f
1w
2
( (
3 w
n
w x) x
w , x)
w
g f
1w
2
( (
3 w
n
w )x x
w x
w
g
, )f
1w
2
( (
3 w
n
x) x
, )
Y1
w
w x
wg f
1w
2
3 ( (
n
x x Y2
w
w , x)
wg f
1w
2 w
3 ( (
n )
x x
, )
w
)
Budowa wiernego modelu nawet
pojedynczego neuronu (komórki Purkinjego)
jest bardzo kosztowna (de Schutter’05)
Do zbudowania modelu użyto:
•1600 kompartmentów
•8021 modeli kanałów jonowych
•10 typów różnych złożonych opisów
matematycznych kanałów
zależnych od napięcia
•32000 równań różniczkowych!
•19200 parametrów do oszacowania
przy dostrajaniu modelu
•Opisu morfologii zrekonstruowanej
za pomocą mikroskopu
1
2013-06-12
Obrazy wyników
symulacji
komputerowej
modelu komórki
Purkinjego
uzyskane w
badaniach de
Schuttera:
Neuron - podstawowy element sieci
x1
x2
u góry aktywność
elektryczna
symulowanej
komórki,
w1
w2
...
xn
u dołu zjawiska
biochemiczne
(przepływ jonów
wapnia
wn
wi , xzróżnicować
s  Jak
gZadania
i
y  f s 
sygnały
wejściowe?
i  1,, n???
obliczenie wartości
funkcji aktywacji
agregacja danych
wejściowych
Procesy składania sygnałów
w biologicznym neuronie
y
Kwestia wag różnicujących wejścia do neuronu
10
informatyka +
Załóżmy, że oceniany kwiat ma ładny kolor, ale brzydki
zapach.
Przy przeciwnym rozłożeniu wag wynik jest odwrotny
neuron
wyśle na
wyjściu
sygnał, że
kwiat mu
się nie
podoba
neuron
wyśle na
wyjściu
sygnał, że
kwiat mu
się podoba
do sygnału wejściowego
„zapach” przypiszemy małą
wagę
a do sygnału „kolor” wagę dużą
informatyka +
11
informatyka +
12
2
2013-06-12
Wagi mają przemożny wpływ na zachowanie neuronów!
Wniosek:
Przy tym samym
zestawie sygnałów
wejściowych mamy dwie
całkiem różne reakcje
neuronu!
informatyka +
to wagi decydują o zachowaniu
neuronu i całej sieci!
13
Schemat odruchu warunkowego Pawłowa
Przykład sieci mającej budowę
opartą na próbie odwzorowania
rzeczywistego mechanizmu
neurofizjologicznego
Reakcja:
wydzielanie śliny
3
2013-06-12
Własności neuronu determinują: przyjęta
agregacja danych wejściowych oraz
założona funkcja wyjścia
n
Wracamy do modelu neuronu
używanego w praktycznie
stosowanych sieciach
neuronowych
s  wx
Agregacja liniowa
i 1
x1
x2
xn
i
i
Neuron liniowy
w1
s  g wi , xi 
i  1,, n
w2
...
wn
y
y=s
Tożsamościowa funkcja aktywacji
W przypadku neuronu liniowego jego
zachowanie daje się łatwo zinterpretować
Z neuronem liniowym (i z innymi neuronami
budowanymi na jego bazie) związana jest jeszcze
sprawa wyrazu wolnego w formule agregacji
n
Czysta agregacja liniowa:
x0  1
x1
x2
xn
s  wx
i 1
w0
w1
w2
...
wn
i
s  g wi , xi 
i  1,, n
ma wadę, polegającą na tym, że
charakterystyka neuronu musi tu
przechodzić przez początek układu
y
y=s
To nadal jest neuron liniowy!
Żeby zachować liniową postać
wzoru opisującego neuron
dodaje się dodatkowe pseudowejście nazywane BIAS, które
zawsze dostarcza sygnał  1
W strukturze sieci neuronowej czasem
zaznacza się bias jako osobne wejście
i
Bogatsze możliwości daje
agregacja afiniczna
(z wyrazem wolnym w formule):
n
s   wi xi  w0
i 1
n
Wtedy agregacja
nadal liniowa:
jest
s   wi xi
i 0
W przypadku neuronu
nieliniowego nie jest tak łatwo,
ponieważ zagregowany
(w taki lub inny sposób)
sygnał wejściowy może być
przetworzony przy użyciu
funkcji nieliniowej
o teoretycznie dowolnym
kształcie.
4
2013-06-12
Własności neuronu determinują: przyjęta
agregacja danych wejściowych oraz
założona funkcja wyjścia
n
neuron nieliniowy
neuron
neuronradialny
liniowy
--------------
Agregacja liniowa ---------s  wx
---------------i
i 1
x1
x2
xn
Funkcja przejścia wiąże zagregowane wejścia do
neuronu z jego sygnałem wyjściowym
i
w1
w2
...
wn
s  g wi , xi 
i  1,, n
-------y=s
y  f s 
s   w  x 
2
n
i 1
y
i
i
Agregacja radialna
Najstarsze prace dotyczące sieci neuronowych
wykorzystywały jako charakterystykę neuronu
funkcję progową („wszystko albo nic”).
Warto odróżnić dwie nieliniowe charakterystyki neuronu:
unipolarną (po lewej) i bipolarną (po prawej)
Potem wprowadzono obszar monotonicznej
zależności wejścia od wyjścia, wzbogacając
możliwości obliczeniowe sieci.
Różne przykładowe formuły matematyczne,
wykorzystywane jako funkcje przejścia
y
Funkcje aktywacji neuronu może być
dowolna, ale najczęściej stosowane
są niżej podane kształty.
1,5
1
0,5
S
2,9
2,7
2,5
2,3
2,1
1,9
1,7
1,5
1,3
1,1
0,9
0,7
0,5
0,3
0,1
-0,1
-0,3
-0,5
-0,7
-0,9
-1,1
-1,3
-1,5
-1,7
-1,9
-2,1
-2,3
-2,5
x
-2,7
-2,9
0
Liniowa
-0,5
Sigmoidalna
-1
-1,5
Tangensoidalna
Gaussa
5
2013-06-12
W wielowymiarowych przestrzeniach
charakterystyka neuronu ma formę
„urwiska sigmoidalnego”
Wykres sigmoidy w zależności od parametru β
1
y
β=0,5
β=1
β=2
0,8
0,6
0,4
0,2
S
0
-10
-5
0
f ( s) 
5
10
1
1  exp(  s)
jakość działania sieci
Dobór współczynnika β ma
wpływ na jakość działania sieci!
Aproksymacja sigmoidy przy
realizacji sprzętowej
y :=1/(1+exp(-0.5*x))
1.1
0.9
0.7
0.5
0.3
0.1
-0.1
-10
-5
0
5
10
β
Funkcja tangens hiperboliczny ma praktycznie taki sam kształt,
tylko jej wartości zmieniają się od -1 do +1, a nie od 0 do +1
jak w sigmoidzie
Inne przybliżenie sigmoidy funkcjami sklejanymi
+1
-1
f ( s)  tanh(s) 
exp( s)  exp(  s)
exp( s)  exp(  s)
6
2013-06-12
Porównanie:
β=0,5
β=1
β=2
Nieliniowe funkcje aktywacji też bywają
różne inne, niż omówione wyżej:
1
y
0,8
0,6
0,4
0,2
S
0
-10
-5
0
5
10
Sigmoida
Funkcja tangens hiperboliczny
1
f ( s) 
1  exp(  s)
f ( s)  tanh(s) 
exp( s)  exp(  s)
exp( s)  exp(  s)
Dobierając współczynniki wagowe wejść
neuronu można wpływać na kształt jego
nieliniowej charakterystyki!
Podsumowując – do typowego
użytkowania mamy do
dyspozycji głównie trzy typy
neuronów:
Neuron liniowy
x0  1
x1
x2
xn
Najbardziej popularny
neuron nieliniowy sigmoidalny,
nadający się do budowy sieci MLP
w0
w1
y
n
w2
...
wn
s   wi xi
i 0
y=s
x1
x2
xn
w1
w2
...
wn
y :=1/(1+exp(-0.5*x))
1.1
0.9
n
s  wx
i 1
i
y
0.7
0.5
i
0.3
0.1
-0.1
-10
-5
0
5
10
7
2013-06-12
Neuron radialny używany
w sieci RBF i GRNN
x1
x2
xn
Sposób separacji przestrzeni danych przez:
(a) neuron sigmoidalny, (b) neuron radialny
w1
w2
...
wn
s   w  x 
2
n
i 1
i
y
i
Porównanie zasady działania perceptronu wielowarstwowego (MLP)
i sieci radialnej (RBF)
To samo pokazane w inny sposób
Możliwości uzyskiwania różnych kształtów
i rozmiarów obszarów decyzyjnych
przy pomocy neuronów RBF
Neuron radialny używany
w sieci Kohonena
x1
x2
xn
w1
w2
...
wn
s   w  x 
2
n
i 1
i
y
i
8
2013-06-12
Sztuczny neuron jest więc w sumie
dosyć prostą strukturą, dzięki czemu
stosunkowo łatwo jest stworzyć sieć
takich elementów
Sygnały
wejściowe
x1
x2
..
.
xn
w1
w2
wn
Zmienne
"wagi"
Synał wyjściowy
Sygnał
wyjściowy
Jak łączyć neurony, żeby
wyszła dobra sieć?
y
Obserwacja połączeń w małych skrawkach
mózgu pozwala lokalizować połączenia
i ustalać ich liczbę
Jednak z tej wiedzy z reguły się
nie korzysta przy ustalaniu
struktury sztucznych sieci
neuronowych
Niektórzy autorzy silą się na tworzenie sieci
o bardzo oryginalnej architekturze
Bywały próby
budowania
sieci
o architekturze
ściśle
dopasowanej
do natury
rozwiązywaneg
o zadania
(tutaj pokazana
struktura sieci
przeznaczona
była do
rozpoznawania
kodów
pocztowych na
kopertach)
9
2013-06-12
Nie zdało to jednak egzaminu i obecnie przy budowie
sztucznych sieci neuronowych najczęściej przyjmuje się
arbitralnie, że ich budowa jest złożona z warstw, podobnie
jak na przykład struktury neuronowe zlokalizowane
w siatkówce oka
Również w korze mózgowej daje się
zaobserwować warstwowa budowa
Kora wzrokowa
Połączenia do i od poszczególnych warstw w mózgu
Warstwowość kory wzrokowej widać lepiej
przy wyborze małych jej fragmentów
Przykład: schemat kory móżdżku
Trzeba jednak
dodać, że sieci
neuronowe
w mózgu
miewają też
znacznie
bardziej
skomplikowaną
strukturę
Schemat sztucznej sieci
neuronowej (uproszczonej)
Warstwa wejściowa
Warstwa ukryta
(jedna lub dwie)
Warstwa wyjściowa
x1
y
x2
Działanie sieci zależy od:
•przyjętego modelu neuronu,
•topologii (struktury) sieci,
•wartości parametrów neuronu,
ustalanych w wyniku uczenia
10
2013-06-12
Przykłady połączeń międzyneuronowych występujących
w sieciach neuronowych.
Prawdziwe sieci neuronowe mają
zwykle bardzo wiele wejść,
mnóstwo neuronów ukrytych oraz
najczęściej kilka wyjść.
(m) - połączenia międzywarstwowe, (w) - połączenia wewnątrzwarstwowe,
(n) - połączenia nadwarstwowe, (s) – samosprzężenia,
(r) - połączenia rekurencyjne
Tymczasem na prezentowanych tu rysunkach chętnie
stosujemy schemat, w którym mamy zaledwie
dwa wejścia, jedno wyjście oraz niewiele neuronów
ukrytych.
s
x1
m
y
nr
m
Dlaczego?
x2
Bo zbiór sygnałów wejściowych dla sieci
o dwóch wejściach można łatwo pokazać
w postaci punktu na płaszczyźnie,
sygnał na
wejściu
nr 2
n
m
w
m
a wartość sygnału na wyjściu sieci można
sygnalizować na przykład kolorem punktu
min
max
sygnał na wejściu nr 1
W strukturze sieci istotne jest to, że każdy neuron
warstwy wcześniejszej komunikuje się z każdym
neuronem warstwy następnej – natomiast neurony
w warstwach nie komunikują się pomiędzy sobą
n
w
m
m
s
nr
W dużej sieci trudno jest przedstawić
i prześledzić wszystkie połączenia
Warstw ukrytych może być wiele
11
2013-06-12
Skala możliwości sieci zależy od liczby warstw
Struktura
sieci
nieliniowej
Typ obszaru
decyzyjnego
Jednowarstwowa
półprzestrzeń
ograniczona przez
hiperpłaszczyznę
X1
X2
X1
X2
X1
X2
Dwuwarstwowa
Trójwarstwowa
wypukłe oraz
jednospójne
ograniczone
hiperpłaszczyznami simpleksy
dowolny obszar
o złożoności
ograniczonej
wyłącznie liczbą
neuronów
Przykładowy kształt
obszaru na
płaszczyźnie sygnałów
wejściowych
Zdolność do
rozwiązania
zadania
klasyfikacji
X2
X1
X2
X1
X2
X1
Jednak sieci z bardziej licznymi warstwami ukrytymi
nie są szczególnie godne polecenia!
Poglądowe
działanie
sieci neuronowej
Początek działania
sieci neuronowej
wiąże się
z pojawieniem się
na jej wejściach
sygnałów
(czerwone kropki)
niosących nowe
zadanie do
rozwiązania
Sygnały wejściowe
(nie przetworzone
w żaden sposób
w warstwie
wejściowej)
są rozsyłane do
wszystkich
neuronów warstwy
ukrytej
12
2013-06-12
Po przetworzeniu
sygnałów przez
neurony warstwy
ukrytej powstają
sygnały pośrednie,
kierowane do
neuronów warstwy
wyjściowej
Neurony warstwy
wyjściowej
korzystają ze
wstępnie
opracowanej
informacji
pochodzącej
z warstwy ukrytej
i obliczają końcowe
wyniki, będące
rozwiązaniem
postawionego
zadania
Przykładowy rozkład pobudzeń
neuronów w sieci
Problemy rozwiązywalne i nie rozwiązywalne
z pomocą jednowarstwowej sieci neuronowej
„Możliwości intelektualne” sieci z większą lub mniejszą
liczbą warstw ilustruje znany schemat Liebmanna
Rola warstwy ukrytej
przykładowy problem
Typ : MLP 11:11-11-1:1 , Ind. = 913
Jakość ucz. = 0,785276 , Jakość wal. = 0,777778 , Jakość test. = 0,777778
żółty
czarny
Na wejście sieci podawane są współrzędne punktów.
Sieć ma się nauczyć, które punkty są żółte, a które czarne?
13
2013-06-12
Przykładowe rzeczywiste zachowania
sieci jedno-, dwu- oraz trójwarstwowej
Rola warstwy ukrytej
1
6
2
3
2
1
4
4
5
5
6
7
7
8
8
3
Niektóre zadania rozpoznawania
potrafią być naprawdę paskudne!
Najbardziej typowa struktura:
sieć MLP
Przypomnijmy, że obok różnorodności wynikającej
z różnego doboru liczby warstw jest jeszcze
różnorodność wynikająca z faktu istnienia w sieci
neuronów różnych charakterystykach
Często w różnych warstwach sieci neurony
mają różne charakterystyki, zarówno nieliniowe jak i liniowe
Podstawowe właściwości:
• wiele wejść i wiele wyjść
y :=1/(1+exp(-0.5*x))
1.1
0.9
0.7
0.5
0.3
0.1
-0.1
-10
-5
0
5
10
y :=1/(1+exp(-0.5*x))
1.1
0.9
0.7
0.5
0.3
0.1
-0.1
-10
-5
0
5
10
5
10
5
10
• jedna (rzadziej dwie) warstwy
ukryte
y :=1/(1+exp(-0.5*x))
1.1
0.9
0.7
0.5
0.3
0.1
-0.1
-10
-5
0
5
10
y :=1/(1+exp(-0.5*x))
1.1
0.9
0.7
0.5
0.3
0.1
-0.1
-10
-5
0
y :=1/(1+exp(-0.5*x))
1.1
0.9
0.7
0.5
• nieliniowe charakterystyki
neuronów ukrytych
w formie sigmoid
0.3
0.1
-0.1
-10
-5
0
5
10
y :=1/(1+exp(-0.5*x))
1.1
0.9
0.7
0.5
0.3
0.1
-0.1
-10
y :=1/(1+exp(-0.5*x))
1.1
0.9
0.7
0.5
0.3
0.1
-0.1
-10
-5
0
5
10
-5
0
W warstwie wyjściowej neurony
mogą być liniowe lub także mogą
mieć charakterystyki sigmoidalne
Uczenie najczęściej przeprowadzane
metodą wstecznej propagacji błędów
14
2013-06-12
Sieć typu RBF
w zastosowaniu
do klasyfikacji
(wykrywa
i sygnalizuje
skupiska
danych
wejściowych)
Dwie „filozofie” tworzenia sieci
RBF
Elementy zbioru uczącego dzielone są na grupy
elementów podobnych (metodą k-średnich, która
będzie zaraz opisana).
W charakterze wag neuronów radialnych stosowane są
środki ciężkości każdej wyróżnionej grupy.
Jak uczyć taką sieć?
Przestrzeń sygnałów
wejściowych oraz wag
Określenie wag neuronów radialnych
metodą K-średnich
Przedstawimy działanie tego algorytmu
w pięciu krokach
Dla n próbek wejściowych
x0 , x1...xn1
metodę k-means wykorzystuje się do utworzenia k klastrów, przy czym dla
każdego z nich zostanie wyznaczony element modalny, reprezentujący
umowny środek całej grupy w przestrzeni cech.
Metoda k-means działa w sposób iteracyjny.
W celu wyszukania najlepszych lokalizacji dla środkowych punktów
każdego z klastrów na początek przyjmuje się lokalizacji przypadkowe,
a potem się je doskonali, tak, aby optymalnie dopasować każdy wzorzec
do klastra danych wejściowych, którego środek jest najbliżej wzorca.
15
2013-06-12
1) Ustalenie środków poszczególnych klas za pomocą pierwotnych wartości
m0 , m1 ,..., mK 1 . Na początku są to wektory
Krok 1 przypadkowo rozrzucone w przestrzeni
sygnałów wejściowych.
Punktem wyjścia do algorytmu
k średnich jest zbiór danych,
o których sądzimy, że tworzą
k skupisk.
2) Wyznaczenie odległości między wszystkimi próbkami x0 , x1 ,..., xn 1 ciągu, a
wszystkimi środkami klas m0 , m1 ,..., mK 1 ,
Krok 2
1
d ij ( xi , m j ) || xi  m j || ( xi1  m j1 ) 2  ...  ( xip  m jp ) 2 2 , dla i=0,...,n-1 oraz j=0,...,K-1


Na rysunku k = 3.
3) Połączenie w jedną grupę wszystkich tych sygnałów wejściowych xi spośród próbek
x0 , x1 ...xn1 , których odległość od środka mj klasy j jest mniejsza od odległości tychże
Krok 3
sygnałów wejściowych xi od środków ml innych klas (l  j) w celu utworzenia klasy j.
Czynność ta wykonywania jest dla wszystkich numerów klas j=0,...,K-1.
W losowy sposób wybieramy
k punktów (rozrzuconych)
i nazywamy te punkty
prowizorycznymi centrami
budowanych skupisk.
4) Znalezienie nowych środków klas, poprzez wyszukanie wśród sygnałów xi tej próbki,
której współrzędne są najbliższe wartościom średnim współrzędnych wyznaczonym
dla wszystkich sygnałów wejściowych, które zostały ulokowane w klasie j. (W
wariancie metody pozwalającym naKrok
to, żeby
wzorzec klasy mógł być obiektem
4
abstrakcyjnym, nie należącym do zbioru próbek x0 , x1 ,..., xn 1 środkiem klasy j staje
się po prostu punkt, którego współrzędne są wartościami średnimi współrzędnych
elementów xi przypisanych do tej klasy.)
Na rysunku punkty wybrane
jako centra są oznaczone
znakiem X, a skupiska
5) Jeśli w ciągu ostatniej iteracji żaden z elementów xi nie zmienił swojej klasy należy
Krok 5 przypadku trzeba wrócić do punktu 3.
zakończyć proces klasteringu, w przeciwnym
są nazwane red, green oraz blue
Teraz dla każdej z klas wyznacza się
nowe centrum na podstawie średniej
współrzędnych wszystkich punktów
przypisanych do danej klasy
Na podstawie odległości od wybranych
centrów skupisk z przypisanymi im
nazwami klas zalicza się wszystkie
punkty do odpowiednich klas.
Każdy punkt wejściowy
jest zaliczony do tej klasy
której centrum znajduje się
najbliżej ze wszystkich
centrów.
Dokonuje się ponownego
przypisania punktów do
poszczególnych klas
i ponownie wyznacza się
w poszczególnych klasach
średnie.
Czynności powyższe
powtarza się tak długo, jak
długo chociaż jeden punkt
zmieni swoją przynależność
do klasy.
Po przerwaniu algorytmu
ostatnio użyte średnie
wskazują centra klas.
Odmiennie działającym elementem używanym w
niektórych typach jest tzw. neuron radialny
(wykorzystywany w sieciach RBF)
1
t 1
x1
r1
f
...
xn
t n
f
y
x-t
r n
Agregacja sygnałów wejściowych
w tym typie neuronu polega na
obliczaniu odległości pomiędzy
obecnym wektorem wejściowym X
a ustalonym podczas uczenia
centroidem pewnego podzbioru T
Również nieliniowa funkcja
przejścia w tych neuronach ma
odmienną formę - „dzwonu”
gaussoidy - czyli jest funkcją
niemonotoniczną.
16
Download