Sztuczne sieci neuronowe wprowadzenie

advertisement
Sztuczne Sieci Neuronowe (SSN)
Artificial Neural Networks (ANN)
Sztuczne sieci neuronowe
wprowadzenie
Inspiracja: architektura i zasada działania systemów nerwowych
Cezary Bolek
organizmów żywych.
[email protected]
Katedra Informatyki
Wydział Zarzadzania
˛
Element procesorowy:
neuron
Architektura systemu:
równoległa
Tworzenie bazy wiedzy i bazy reguł:
uczenie
Sztuczne sieci neuronowe - wprowadzenie
Inspiracje biologiczne
1938
1943
• Układy biologiczne sa˛ zbyt skomplikowane by modelować szczegóły ich
działania.
1949
1958
• Neurony: bardzo skomplikowana, chociaż istnieje dobra teoria pozwalajaca
˛
na bardzo szczegółowe symulacje własności pojedynczych neuronów.
1960
1961
• Jedynie ogólne zasady organizacji i sposobu funkcjonowania układów
biologicznych neuronów moga˛ służyć za inspiracje.
˛
1967
1969
1973
• Sztuczne sieci neuronowe — nie przypominaja˛ zbytnio biologicznych.
Inspiracja: zbadać możliwości obliczania za pomoca˛ sieci prostych,
oddziaływujacych
˛
ze soba˛ (w nieliniowy sposób) elementów.
Cezary Bolek <[email protected]>
⊙
⊳1⊲
Rys historyczny (1)
• Organizmy, mózgi, układy biologiczne — potrafia˛ rozwiazywać
˛
interesujace,
˛
efektywnie niealgorytmizowalne problemy.
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
1976
⊳2⊲
N. Rashevsky, neurodynamika
W. McCulloch & W. Pitts, sieci neuronowe jako układy logiczne
(progowe)
D. Hebb, uczenie sie˛ na poziomie synaptycznym
F. Rosenblatt, Perceptron, J. von Neuman, The computer and
the brain
B. Widrow, M. Hoff, Adaline
E. Caianiello, teoria procesów myślowych, równanie mnemoniczne (szkoły Caianiello)
K. Steinbuch, E. Schmitt, Macierze uczace
˛ sie˛
M. Minsky, S. Papert, ksiażka
˛
„Perceptrony”
Chr. von der Malsburg, samoorganizacja w układzie nerwowym
S. Grossberg, modele rozwoju postrzegania przez mózg
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳3⊲
Rys historyczny (2)
1977
1981
1982
1983
1984
1985
1986
1987
1988
1990
Zastosowania sieci neuronowych
S-I. Amari, neuronowa teoria tworzenia sie˛ koncepcji
J. McClelland, D. Rumelhart, model interakcyjnej aktywacji
J. Hopfield, model Hopfielda; T. Kohonen, samoorganizacja
map topograficznych mózgu
K. Fukushima, S. Miyake, T. Ito, neokognitron
F. Crick, sieci i neuronalne podstawy świadomości
D. Ackley, G. Hinton, T. Sejnowski, maszyny Boltzmana
D. Rumelhart, G. Hinton, R. Williams, wsteczna propagacja
G. Carpenter, S. Grossberg, model ART2; C. Skarda, W. Freeman, Chaos w mózgu C. Bachmann, L. Cooper, A. Dembo,
O. Zeitouni, model relaksacyjny pamieci
˛ skojarzeniowej
B. Kosko, prosty model BAM, N. Qian, T. Sejnowski, białka i
Nettalk
T. Poggio, F. Girosi, sieci RBF, teoria regularyzacji.
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
• Filtracja adaptacyjna, DSP
• Prognozowanie, predykcja
• Klasyfikacja i rozpoznawanie (mowa, pismo)
• Biometria
• Wojskowość: rozpoznawanie, identyfikacja celu
• Sterowanie, robotyka, systemy decyzyjne
• Ekonomia, zarzadzanie
˛
• Fizyka, astronomia
• Biologia (modelowanie DNA)
• Telekomunikacja
⊳4⊲
Sieci neuronowe a komputery (1)
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳5⊲
Sieci neuronowe a komputery (2)
Architektura komputera
Mechanizm przetwarzania danych w komputerze
Przetwarzanie danych przy użyciu komputera:
?
Dane
P OBIERZ INSTRUKCJ E˛
Pamiêæ danych
(informacje)
Procesor
(wnioskowanie)
Regu³y
?
P OBIERZ ARGUMENTY
Pamiêæ programu
(regu³y)
?
W YKONAJ OPERACJE
Rozwi¹zanie
?
Podstawowa cecha architektury komputerów — centralna jednostka obliczeniowa.
Podstawowa cecha trybu pracy komputerów — sekwencyjne przetwarzanie danych.
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳6⊲
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳7⊲
Przetwarzanie oparte na wielu elementach procesorowych
Sieci neuronowe — zgrubna charakterystyka
• Modularność
MEM
PROC
UNIT
• Równoległość
• Nieliniowość
CTRL UNIT
X
Switch
• Własności aproksymacyjne
Y
Z
• Adaptacja do zmian środowiska
Cray T3E
• Tolerancja na uszkodzenia (stopniowa utrata jakości)
• Nadmiar parametrów
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳8⊲
Biologiczne odniesienie ANN
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳9⊲
Mechanizm przekazywania sygnałów neuronowych
Potencjał spoczynkowy neuronu równy jest −70mV
Przewê¿enie Ranviera
Neurony przekazuja˛ informacje za pomoca˛
impulsów elektrycznych:
potencjały czynnościowe.
Otoczka mielinowa
Akson
Dendryty kolejnych neuronów połaczone
˛
sa˛ z
aksonem za pomoca˛ synaps.
Wzrost potencjału na końcach aksonu powoduje
wydzielanie neuromediatora do szczeliny
synaptycznej. Czasteczki
˛
neuroprzekaźnika
przyczepiaja˛ sie˛ do receptorów błony komórkowej
drugiego neuronu i otwieraja˛ położone w błonie
kanały, przez które do wnetrza
˛
kolejnej komórki
przedostaja˛ sie˛ do dodatnio naładowane jony.
Powoduje to depolaryzacje˛ komórki (wzrost
potencjału).
Wzgórek aksonu
Cia³o komórki
Synapsa
Synapsa
J¹dro
Dendryt
Gdy potencjał komórki (systematycznie pobudzanej)
osiagnie
˛
określona˛ wartość generowany jest
potencjał czynnościowy.
Budowa neuronu
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 10 ⊲
Sztuczne sieci neuronowe - wprowadzenie
V
0V
t
70mV
Cezary Bolek <[email protected]>
pobudzenie
refrakcja
⊙
⊳ 11 ⊲
Biologiczne odniesienie ANN
Sygna³
presynaptyczny
Sygna³
presynaptyczny
Potencja³
komórkowy
Liczba neuronów w mózgu człowieka — około 1011 .
Cały układ nerwowy człowieka składa sie˛ ze znacznie wiekszej
˛
liczby komórek nerwowych.
Potencja³
czynnoœciowy
Liczba połacze
˛ ń synaptycznych — około 1015
Pompa sodowo-potasowa daży
˛ do utrzymania stałej różnicy potencjałów miedzy
˛
ciałem
komórki i otoczeniem. Aby mógł zostać wygenerowany impuls czynnościowy, impulsy
synaptyczne musza˛ wystepować
˛
dostatecznie cz˛esto aby pompa sodowo–potasowa nie
zdażyła
˛
przywrócić potencjału spoczynkowego.
Czas trwania impulsu nerwowego — około 1. . . 2 ms
Działanie neuroprzekaźników może być regulowane przez modulatory synaptyczne. W
pobliżu szczeliny synaptycznej może istnieć zakończenie trzeciego neuronu, który wydziela
neuromodulator. Impuls elektryczny pobudza ten trzeci neuron do uwalniania
neuromodulatora. Czasteczki
˛
neuromodulatora synaptycznego przedostaja˛ sie˛ do szczeliny
synaptycznej i wiaż
˛ a˛ sie˛ z błona˛ plazmatyczna˛ pierwszej komórki nerwowej, stymulujac
˛ albo
hamujac
˛ wydzielanie neuroprzekaźnika.
Szybkość przewodzenia impulsów nerwowych w aksonach bez osłonki mielinowej 0,5. . . 2m/s,
z osłonka˛ mielinowa:
˛ 70. . . 120m/s (mielinizacja u człowieka kończy sie˛ ok. 2 roku życia)
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 12 ⊲
Cz˛estość generowanych impulsów: 1. . . 100 Hz (1 kHz)
Amplituda impulsów: około 100mV
Przecietna
˛
długość połacze
˛ ń miedzy
˛
komórkami nerwowymi: 0,01mm. . . 1m
Na tej podstawie można oszacować szybkość pracy mózgu na 1018 operacji/s
(najszybsze komputery ok. 1012 operacji/s).
Sztuczne sieci neuronowe - wprowadzenie
Model neuronu Hodgkin’a-Huxley’a
RT
zF
ln
Cyout
Cyin ,
funkcja
aktywacji
n
X
y=f
S
y ∈ {K, N a} — równanie Nersta
y=f
• Kanały modelowane przez czastki
˛
bramkujace
˛ bm, bn (aktywacja) i bh (inaktywacja)
gN a = b3m(t)bh(t)g N a,
⊙
⊳ 13 ⊲
Model neuronu neuronu McCulloch’a–Pitts’a (1946)
• Cm du(t)
dt = iK + iN a + i0
• [iy = (Uy − u(t)) gy , y ∈ {K, N a, 0}
• Potencjały równowagi UN a i UK
Uy =
Cezary Bolek <[email protected]>
!
wk xk − T
k=1
T
w x−T
gK = b4n(t)g K
• Czastki
˛
bramkujace:
˛
model Markowa ze stanami „otwarte” i „zamkniete”
˛
o
intensywnościach αx, βx
dbx (t)
1
αx +βx dt
=
αx
αx +βx
-1
− bx(t),
• Stany ustalone i stałe czasowe zależa˛ od napiecia
˛
poprzez αx(u) i βx (u). Dla czastek
˛
aktywujacych
˛
αx =
−Lx
−1−exp(−Lx ) ,
S
βx = cx exp(−Mx)
Cezary Bolek <[email protected]>
⊙
⊳ 14 ⊲
n
X
y=f
y=f
gdzie Lx , Mx sa˛ liniowymi funkcjami u o dodatnich współczynnikach, cx > 0. Dla czastek
˛
inaktywujacych
˛
role˛ α i = beta sa˛ zamienione.
Sztuczne sieci neuronowe - wprowadzenie
funkcja
aktywacji
x ∈ {m, n, h}
!
wk xk
k=0
T ′
w x
Funkcja aktywacji f — skok jednostkowy
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 15 ⊲
Stosowane funkcje aktywacji (1)
Stosowane funkcje aktywacji (2)
(nieliniowe, nieróżniczkowalne)
(różniczkowalne)
f(s)
f(s)
Skok jednostkowy
f (s) = 1(s)
f (s) ∈ {0, 1}
1
Signum
f (s) = sgn(s)
f (s) ∈ {−1, 1}
1
s
0
Odcinkowo liniowa
8
<
f (s) =
:
s
f(s)
C
0
s
C
,
,
,
s<0
0<s<C
s>C
1
Tangens hiperboliczny
1
s
0
f(s)
−s
Cezary Bolek <[email protected]>
⊙
⊳ 16 ⊲
Interpretacja geometryczna funkcji neuronu
y = f w T x′ =
Sigmoidalna
f (s) = 1+e1 −s
f (s) ∈ (0 . . . 1)
f (s) = 1−e
1+e−s
f (s) ∈ (−1 . . . 1)
s
0
f (s) ∈ (0, C)
Sztuczne sieci neuronowe - wprowadzenie
s
0
f(s)
f(s)
0
C
Liniowa
f (s) = Cs
f (s) ∈ (−∞ . . . ∞)
Sztuczne sieci neuronowe - wprowadzenie
0
Cezary Bolek <[email protected]>
s
⊙
⊳ 17 ⊲
Przykładowe struktury sztucznych sieci neuronowych
„stan wysoki”
„stan niski”
Przepływ informacji
f
X1
f
T
wTx>0
w
x=
0
f
f
f
f
f
f
f
f
X2
f
f
wTx<0
Sieć jednokierunkowa
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 18 ⊲
Sztuczne sieci neuronowe - wprowadzenie
Sieć rekurencyjna
Cezary Bolek <[email protected]>
⊙
⊳ 19 ⊲
Metody uczenia
Dobór współczynników wagowych
Podstawowy problem teorii sztucznych sieci neuronowych !
• Uczenie „nadzorowane” (supervised ) — z nauczycielem. Głównym celem
jest dokonanie asocjacji (hetero i auto), czyli skojarzenia par struktur
wejściowych i wyjściowych. Zdolności uogólniania.
Metody okreœlania wag
Heurystyczne
• Uczenie sie˛ „bez nadzoru” (unsupervised learning) — bez nauczyciela.
Wykrywania regularności, tj. reakcji na „interesujace”
˛
sygnały, uczenie
indukcyjne — uogólnianie przykładów.
Inne
Algorytmy uczenia
Uczenie
nadzorowane
Sztuczne sieci neuronowe - wprowadzenie
Uczenie
nienadzorowane
• Uczenie z krytykiem lub wzmocnieniem (reinforcement learning). Uczenie
strategii postepowania
˛
na podstawie krytyki po dłuższym okresie czasu,
uczenie sie˛ celowego zachowania na podstawie interakcji ze środowiskiem.
Uczenie ze
wzmocnieniem
Cezary Bolek <[email protected]>
⊙
⊳ 20 ⊲
Przetwarzanie informacji w sztucznych sieciach
neuronowych
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 21 ⊲
⊙
⊳ 23 ⊲
Algorytmy uczenia neuronowych
sieci jednokierunkowych
f
Faza uczenia
(okreœlenie wartoœci
wspó³czynników wagowych)
f
f
f
f
f
f
f
f
f
Faza przetwarzania
sygna³ów wprowadzonych
na wejœcie sieci
f
f
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 22 ⊲
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
Schemat działania sieci opartych na
metodzie uczenia nadzorowanego
Algorytm uczenia nadzorowanego
Idea algorytmu: Dobór wag w sposób minimalizujacy
˛ funkcje˛ błedu
˛
Dane:
xi :
Faza uczenia
Sztuczne sieci neuronowe - wprowadzenie
⊙
⊳ 24 ⊲
Uczenia nadzorowane
di
Oczekiwana odpowiedź
dla i-tego wektora
treningowego
x0i=1
w0
i
w1
xni
wn
x1
S
y i = d i : UCZ
f
y i = d i : STOP
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 25 ⊲
⊙
⊳ 27 ⊲
Uczenia nadzorowane
Idea metod uczenia nadzorowanego:
yi
Rzeczywista odpowiedź
neuronu
korekta wag majaca
˛ na celu minimalizacje˛ funkcje˛ błedu
˛
Gradientowe metody korekcji wag
∆wk = −
zakładana różniczkowalność funkcji błedu
˛
Miara błedu
˛
dla „i”-tego wektora wejściowego:
∂ei
∂wk
i 2
i
ei = c(d − y )
y=f
0
1
n
X
xk wk A
k=0
ei = c di − f
{xi}
{di}
{y i }
Określ wagi realizujace
˛ zadana˛ funkcje˛ sieci
Faza wykonania
Cezary Bolek <[email protected]>
Zbiór wektorów treningowych dane wejściowe
Zbiór wartości pożadanych
˛
Zbiór wartości uzyskanych
n
X
k=0
Sztuczne sieci neuronowe - wprowadzenie
xk wk
!!
Cezary Bolek <[email protected]>
Globalna miara błedu
˛
E(w) =
1
N
N
X
ei
Globalne
Lokalne
(np. LMS)
(np. Reguła Delta)
i=1
⊙
⊳ 26 ⊲
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
Reguła Delta
Reguła Delta
Liniowa funkcja aktywacji
xi :
x0i=1
w0
x1i
w1
xni
2
ei = c (di − yi) ,
S
f(s)
yi
f
d
C
f
i
wn
yi = f (si) = f wTx
⇒
∆wk
ei = g(w)
= −η
∂ei
(di − y i)2
= −η
=
∂wk
∂wk
∂ei ∂y i ∂si
=
∂y i ∂si ∂wk
Pn
∂ l=1 wl xl
= η(di − y i ) · 1 ·
∂wk
∂ei
∂ei ∂y i ∂si
∆wk = −α
= −α i i
∂wk
∂y ∂s ∂wk
= −η
∆wk = η di − y i f ′(si)xik
Sztuczne sieci neuronowe - wprowadzenie
s
0
∆wk = η di − y i xik
Cezary Bolek <[email protected]>
⊙
⊳ 28 ⊲
Sztuczne sieci neuronowe - wprowadzenie
Interpretacja graficzna procesu uczenia
Cezary Bolek <[email protected]>
⊙
⊳ 29 ⊲
Uczenie nadzorowane
Nieliniowe funkcji aktywacji (1)
x1
∆wk = −η
T
Dw
[i ]
∂(di − y i )
∂ei
= −η
= ...
∂wk
∂wk
i
i
, y = f (s )
i
x
wT[i]
∆wk = η di − y i f ′(si)xik
wT[i+1]
x0
Funkcja Sigmoidalna
f (s) =
1
1+e−2βs
f ′(s) = 2βf (s) (1 − f (s))
f(s)
1
0
∆wk = η di − y i xik
Sztuczne sieci neuronowe - wprowadzenie
s
Kierunek zmiany: jak wektor xi
Zwrot: przeciwny do xi ([di − y i ] — ujemne)
Cezary Bolek <[email protected]>
⊙
⊳ 30 ⊲
Sztuczne sieci neuronowe - wprowadzenie
∆wk = 2βη di − y i f (s)(1 − f (s))xik
Cezary Bolek <[email protected]>
⊙
⊳ 31 ⊲
Uczenie nadzorowane
Uczenie nadzorowane — przykład
Nieliniowe funkcji aktywacji (2)
Zadanie: Zaprojektować układ wykrywania smoków
Tangens hiperboliczny
f (s) = tanh(s) =
1−e−s
1+e−s
Dziedzina: wektory 2-D { x1 – masa, x2 – liczba nóg }
f ′(s) = β(1 − f (s)2)
f(s)
1
s
0
4
3
Skok jednostkowy i sgn
f (s) = 1(s)
1
s
s
0
Sztuczne sieci neuronowe - wprowadzenie
1
∆wk = η di − y i xik
f(s)
f(s)
0
2
f (s) = sgn(s)
1
Liczba nóg
5
∆wk = 2βη di − y i (1 − f 2(s))xik
Cezary Bolek <[email protected]>
⊙
Masa [tony]
1,0
⊳ 32 ⊲
2,0
Sztuczne sieci neuronowe - wprowadzenie
Uczenie nadzorowane — przykład (2)
3,0
4,0
5,0
6,0
7,0
8,0
Cezary Bolek <[email protected]>
⊙
⊳ 33 ⊲
Uczenie nadzorowane — przykład (3)
Budowa neuronu
1
w0
x1i
w1
i
2
w2
x
Normalizacja danych
2 3
0
0
w = 405
S
L
2
0
nr→
1
(-3,1)
Zbiór treningowy
5
-3
-2
x→
213
1
415
223
1
445
233
1
445
243
1
465
d→
4
⇓
0
2
⇓
0
4
⇓
1
4
⇓
1
nr→
(1,4)
(4,4)
(6,4)
3
2
(4,2)
1
2,0
3,0
4,0
5,0
6,0
Sztuczne sieci neuronowe - wprowadzenie
7,0
(2,1)
1
(0,-1)
2
M
x→
1
−3
1
⇓
0
3
d→
2
0
−1
⇓
0
3
4
0
1
⇓
1
2
1
⇓
1
-2
x1i
i
2
x
Masa [tony]
1,0
-1
-1
Liczba nóg
4
(0,1)
w1
w2
S
w0 =
0
0
8,0
Cezary Bolek <[email protected]>
⊙
⊳ 34 ⊲
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 35 ⊲
Uczenie nadzorowane — przykład (4)
nr→
∆wk = η di − y i xik
w(0) =
x(1) =
0
0
−3
1
w(1) =
x(2) =
L
0
0
0
−1
w(2) =
x(3) =
L
-2
2
3
0
−1
⇓
0
2
1
⇓
1
0
0
w(3) =
0
1
x(4) =
nr→
4
0
1
⇓
1
L
∆wk = η di − y i xik
0
1
w(4) =
2
1
x(1) =
L
0
1
−3
1
w(5) =
x(2) =
L
3
0
0
−1
w(6) =
2
x(3) =
3
0
−1
⇓
0
−3
1
⇓
0
d→
1
x→
4
0
1
⇓
1
2
1
⇓
1
3
0
w(7) =
0
1
x(4) =
L
L
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
-1
1
2
3
M
-3
-2
-1
1
2
3
M
-3
-2
-1
-1
d(1) = 0
e(0) = 0
∆w(0) =
0
0
d(2) = 0
e(1) = 0
∆w(1) =
Sztuczne sieci neuronowe - wprowadzenie
2
-3
-2
-1
0
0
1
2
3
∆w(2) =
y (3) = 1
d(4) = 1
e(3) = 0
0
1
-2
-1
1
2
3
M
-3
-2
-1
∆w(3) =
Cezary Bolek <[email protected]>
⊙
0
0
⊳ 36 ⊲
1
2
-3
-2
-1
1
2
d(1) = 0
e(4) = −1
3
∆w(4) =
−1
d(2) = 0
e(5) = 0
∆w(5) =
-2
-1
2
3
-2
d(3) = 1
e(6) = 1
1
-1
y (7) = 1
y (6) = 0
0
0
2
1
M
-3
3
-2
y (5) = 0
Sztuczne sieci neuronowe - wprowadzenie
-2
-1
y (4) = 1
3
1
M
3
-1
-2
-2
d(3) = 1
e(2) = 1
-3
-1
-1
y (2) = 0
M
M
3
-2
y (1) = 0
1
-1
-2
-2
y (0) = 0
-1
L
2
M
-3
−3
1
⇓
0
d→
1
x→
Uczenie nadzorowane — przykład (5)
∆w(6) =
d(4) = 1
e(7) = 0
0
1
∆w(7) =
Cezary Bolek <[email protected]>
0
0
⊙
⊳ 37 ⊲
⊙
⊳ 39 ⊲
Pełny model neuronu
Uczenie nadzorowane — przykład (6)
L
2
f(x)
1
M
-3
-2
-1
1
2
3
5
-1
-2
Liczba nóg
f(x)
x
L
2
1
1
w0
x1
x2
w1
x3
w3
xn
wn
x f(x)
x
M
-3
-2
-1
1
2
3
4
-1
-2
(1,4)
L
2
(4,4)
(6,4)
1
w2
M
-3
-2
-1
1
2
3
1
2
3
3
-1
-2
S
y
f
L
2
1
M
-3
-2
-1
-1
2
(4,2)
-2
L
2
1
M
-3
-2
-1
1
2
3
1
Algorytm
uczenia
-1
Masa [tony]
-2
L
2
e
-
++
d
1
M
-3
-2
-1
1
2
3
-1
1,0
2,0
3,0
4,0
5,0
6,0
7,0
8,0
-2
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 38 ⊲
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
Algorytm LMS (liniowa funkcja aktywacji)
Pojedynczy neuron — Adaline
(Widrow, Hoff)
Klasy rozwiazywanych
˛
problemów
X
E(w) =
[(d − y)2] =
X
X
Adaline (ang. Adaptive Linear Element lub Adaptive
Linear Neuron) —
Pn
neuron z liniowa˛ funkcja˛ pubudzenia s = i=0 wTx
[(d − wTx)2]
[d2 − 2dwTx + wTxxTw]
X
X
X
=
[d2] − 2wT [dx] + wT [xxT]w
| {z }
| {z }
=
P
Jeśli xi∈(1...n) = ±1, to liczba możliwych n-el. wektorów wejściowych: K = 2n .
Liczba możliwych odwzorowań: 2k .
R
= q − 2wTP + wTRw
Dla n = 2:
K=4
2K = 16
?
∇ E(w) = 0
w
∇ E(w) = ∇(q − 2wTP + wTRw) = −2P + 2Rw = 0
w
Nie
wszystkie
kombinacje moga˛ być rozwiazane
˛
za pomoca˛ pojedynczego
neuronu
?
w
w = R−1P
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 40 ⊲
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 41 ⊲
Pojedynczy neuron
Warstwa neuronów — Madaline
Klasy rozwiazywanych
˛
problemów
y1
x1
y = f (Wx)
y2
x2
Każdy z neuronów rozwiazuje
˛
problem separacji
liniowej.
y3
x3
X1
X1
?
y4
X2
X2
Liniowa funkcja aktywacji, kilka warstw:
yh = W1x,
y = W2yh
⇒
yh = W2W1x
y = Wx
Zakres zastosowań:
Czyli wielowarstwowa sieć liniowa redukuje sie˛ do sieci jednowarstowej.
Problemy liniowo separowalne
Dla nieliniowych modeli nie ma możliwości określić błedów
˛
w warstwach ukrytych (za pomoca˛
poznanych metod).
Regres badań nad sztucznymi sieciami neuronowymi: Minsky, Pappert (1969)
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 42 ⊲
Sztuczne sieci neuronowe - wprowadzenie
Cezary Bolek <[email protected]>
⊙
⊳ 43 ⊲
Koniec
— Skład FoilTEX, P4 (PPower4) —
⊙
Download