Sztuczne sieci neuronowe Sztuczne sieci neuronowe
model konekcjonistyczny model konekcjonistyczny
2
Plan wykładu Plan wykładu
•• Geneza modelu konekcjonistycznegoGeneza modelu konekcjonistycznego
•• Główne cechyGłówne cechy
•
• Model sztucznego neuronuModel sztucznego neuronu
•• Architektury sieci neuronowychArchitektury sieci neuronowych
•• Proces uczenia się sieciProces uczenia się sieci
•• Uczenie pojedynczego neuronuUczenie pojedynczego neuronu
•• Właściwości pojedynczego neuronuWłaściwości pojedynczego neuronu
Ludzki mózg Ludzki mózg
•• 100 000 000 000 100 000 000 000 komórek
komórek
•• 3 200 000 km 3 200 000 km połączeń połączeń
•• 100 000 000 000 100 000 000 000 000 (10
000 (101414) połączeń ) połączeń
•• ~1,5 kg wagi~1,5 kg wagi
•
• ~1,5 l objętości~1,5 l objętości
•
• ~20 W poboru ~20 W poboru energii
energii
4
Ludzki mózg a komputer Ludzki mózg a komputer
10 101414 10
1055 Liczba
Liczba aktywacji/s aktywacji/s
10
101414bit/sbit/s 10
1099bit/sbit/s Czas transmisji
Czas transmisji
10 10--33 ss 10
10--88ss Czas
Czas operacji operacji
10101414połączeńpołączeń 10101212bitów dyskbitów dysk
10101111neuronówneuronów 101099bitów RAMbitów RAM
Pamięć Pamięć
10
1055-10-101111neuronówneuronów 1
1 --4 CPU4 CPU Jednostki
Jednostki obliczeniowe obliczeniowe
MózgMózg Komputer
Komputer
Główne cechy modeli Główne cechy modeli
konekcjonistycznych konekcjonistycznych
•• DuŜa liczba prostych jednostek DuŜa liczba prostych jednostek przetwarzania (neuronów)
przetwarzania (neuronów)
•• SubsymbolicznaSubsymbolicznareprezentacja wiedzy -reprezentacja wiedzy -
„kodowanie” wiedzy za pomocą wag na
„kodowanie” wiedzy za pomocą wag na połączeniach
połączeniach
•• Przetwarzanie równoległe i rozproszonePrzetwarzanie równoległe i rozproszone
•• Kluczowe znaczenie ma sieć połączeń, jej Kluczowe znaczenie ma sieć połączeń, jej gęstość i stopień komplikacji a nie budowa gęstość i stopień komplikacji a nie budowa neuronu
neuronu
•
• Najistotniejszy problem to automatyzacja Najistotniejszy problem to automatyzacja procesu uczenia się sieci
procesu uczenia się sieci
6
Budowa neuronu Budowa neuronu
•• ZłoŜone działanie błony ZłoŜone działanie błony komórki nerwowej
komórki nerwowej -- model model błony synaptycznej
błony synaptycznej (
(HodgkinHodgkin--HuxleyHuxley, Nagroda , Nagroda Nobla 1963)
Nobla 1963)
•• Jądro -Jądro - centrum centrum
obliczeniowe neuronu, obliczeniowe neuronu, gdzie zachodzą procesy gdzie zachodzą procesy kluczowe dla jego kluczowe dla jego funkcjonowania funkcjonowania
wejście
wyjście
Sztuczny neuron Sztuczny neuron
e w1
w2 w3 . . . wk x1
x2 x3 . . . xk
f() y
wejścia wagi pobudzenie f. aktywacji wyjście
8
Sztuczny neuron
Sztuczny neuron - - budowa budowa
•• wejściawejścia--reprezentują sygnały zewnętrzne, które reprezentują sygnały zewnętrzne, które wpływają do neuronu (wymuszenia)
wpływają do neuronu (wymuszenia) xxii
•• wagiwagiwwii--determinują względną waŜność determinują względną waŜność poszczególnych wejść
poszczególnych wejść
•
• pobudzeniepobudzenie(łączne) e(łączne) e--wypadkowa wartość skalarna wypadkowa wartość skalarna odzwierciedlająca aktywność neuronu; zaleŜne od odzwierciedlająca aktywność neuronu; zaleŜne od funkcji
funkcji actact()(), która określa sposób obliczania , która określa sposób obliczania pobudzenia na podstawie wejść oraz wag pobudzenia na podstawie wejść oraz wag
•• wyjściewyjścieyy--wartość sygnału wyjściowego neuronuwartość sygnału wyjściowego neuronu
•• funkcja aktywacjifunkcja aktywacjiff--determinuje stan wyjścia na determinuje stan wyjścia na podstawie pobudzenia; określa charakterystykę podstawie pobudzenia; określa charakterystykę neuronu
neuronu
Sztuczny neuron Sztuczny neuron
Podstawowe zaleŜności opisujące sztuczny neuron:
Podstawowe zaleŜności opisujące sztuczny neuron:
e = e = act(xact(x11,...,,...,xxkk,w,w11,...,,...,wwkk) ) y = f(e)
y = f(e) e w1
w2 w3 . . . wk x1
x2 x3 . . . xk
f() y
10
Prosty perceptron Prosty perceptron
ZaleŜności dla prostego perceptronu:
ZaleŜności dla prostego perceptronu:
e w1
w2 w3 . . . wk x1
x2 x3 . . . xk
f() y
∑
==
= k
i i ix w act
e
1
) , ( wx
<
= ≥
= θ
θ e gdy
e e gdy
f
y 0
) 1 ( ) , ( wx
Prosty perceptron:
Prosty perceptron:
próg aktywacji
próg aktywacji θ θ jako waga jako waga
ZaleŜności dla prostego perceptronu:
ZaleŜności dla prostego perceptronu:
e w0=θ
w1 w2 w3 . . . wk x0≡-1
x1 x2 x3 . . . xk`
f() y
∑
==
= k
i i ix w act
e
0
) , ( wx
<
= ≥
0 0
0 ) 1
,
( gdy e
e y x w gdy
13
Funkcje aktywacji neuronu Funkcje aktywacji neuronu
) exp(
1 ) 1
(e e
f = + −
β
Sigmoidalna Sigmoidalna
Tangens hiperboliczny Tangens hiperboliczny
) tanh(
)
(e e
f =
β
Progowa (skokowa
Progowa (skokowa Heaviside’aHeaviside’a))
<
= ≥
0 0
0 ) 1
( gdy e
e e gdy
f
Wpływ parametru Wpływ parametru β β
Funkcja sigmoidalna
0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
-10 -8 -6 -4 -2 0 2 4 6 8 10
0,5 1,0 2,0
•• Im większa wartość Im większa wartość ββ, , tym większa stromość tym większa stromość funkcji aktywacji funkcji aktywacji
•
• W granicy W granicy ββ→→∞∞ funkcja zbliŜa się do funkcja zbliŜa się do skoku jednostkowego skoku jednostkowego
•
• Przeciwdziedzina Przeciwdziedzina mieści się w mieści się w przedziale [0; 1]
przedziale [0; 1]
-
-funkcja jest funkcja jest jednobiegunowa jednobiegunowa (unipolarna) (unipolarna)
) exp(
1 ) 1
(e e
f = + −β
15
Wpływ parametru Wpływ parametru β β
Tangens hiperboliczny
-1 -0,8 -0,6 -0,4 -0,2 0 0,2 0,4 0,6 0,8 1
-10 -8 -6 -4 -2 0 2 4 6 8 10
0,5 1,0 2,0
•
• Im większa wartość Im większa wartość ββ, , tym większa stromość tym większa stromość funkcji aktywacji funkcji aktywacji
•
• W granicy W granicy ββ→→∞∞ funkcja zbliŜa się do funkcja zbliŜa się do skoku jednostkowego skoku jednostkowego
•• Przeciwdziedzina Przeciwdziedzina mieści się w mieści się w przedziale [ przedziale [--1; 1]1; 1]
-
-funkcja jest funkcja jest dwubiegunowa dwubiegunowa (bipolarna) (bipolarna)
) tanh(
)
(e e
f = β
Architektura sztucznych Architektura sztucznych
sieci neuronowych sieci neuronowych
Sztuczną sieć neuronową uzyskujemy łącząc ze sobą Sztuczną sieć neuronową uzyskujemy łącząc ze sobą w warstwy wiele neuronów
w warstwy wiele neuronów
e
x1 x2 x3 . . . xk
f()
e f()
e f()
e f() y1
e f() y2
Sieć bez sprzęŜeń Sieć bez sprzęŜeń (ang.
(ang. feedforwarded)feedforwarded)
Sieć ze sprzęŜeniami Sieć ze sprzęŜeniami zwrotnymi (ang.
zwrotnymi (ang. feedbackfeedback))
e
x1
f()
e f()
e f()
x2
x3
17
Sieci bez sprzęŜeń Sieci bez sprzęŜeń
•• Połączenia miedzy neuronami nie mogą tworzyć cykliPołączenia miedzy neuronami nie mogą tworzyć cykli
•• Sygnał podany na wejście propaguje się przez sieć w Sygnał podany na wejście propaguje się przez sieć w skończonym czasie
skończonym czasie
•• Kolejność kroków ustalających wartość pobudzenia Kolejność kroków ustalających wartość pobudzenia oraz stany wyjść neuronów zaleŜy od
oraz stany wyjść neuronów zaleŜy od topologii siecitopologii sieci
•• MoŜna uznać je za układy pozbawione pamięciMoŜna uznać je za układy pozbawione pamięci
•• Sygnał propagowany jest w jednym kierunkuSygnał propagowany jest w jednym kierunku i stąd ich i stąd ich druga nazwa
druga nazwa --jednokierunkowejednokierunkowe
•• Mogę być ułoŜone w jedną lub więcej warstwMogę być ułoŜone w jedną lub więcej warstw
Sieci ze sprzęŜeniami Sieci ze sprzęŜeniami
•• Pomiędzy neuronami musi pojawić się co najmniej Pomiędzy neuronami musi pojawić się co najmniej jedno
jedno sprzęŜenie zwrotnesprzęŜenie zwrotne(sygnał z wyjścia powraca (sygnał z wyjścia powraca na wejście)
na wejście)
•• W skrajnym przypadku sygnał podany na wejście W skrajnym przypadku sygnał podany na wejście moŜe propagować się przez sieć w
moŜe propagować się przez sieć w nieskończonym nieskończonym czasie
czasiei nigdy nie osiągnąć stanu stabilnegoi nigdy nie osiągnąć stanu stabilnego
•• Charakteryzuje je skomplikowana dynamika, Charakteryzuje je skomplikowana dynamika, wymagająca złoŜonej aparatury pojęciowej (teoria wymagająca złoŜonej aparatury pojęciowej (teoria chaosu, teoria złoŜoności)
chaosu, teoria złoŜoności)
•• Zachowują się jak układy z pamięciąZachowują się jak układy z pamięcią
Sieć jednowarstwowa z
20Sieć jednowarstwowa z wieloma wyjściami
wieloma wyjściami
Sztuczną sieć neuronową jest implementacją
Sztuczną sieć neuronową jest implementacją złoŜonej złoŜonej funkcji wielu zmiennych
funkcji wielu zmiennych. Najczęściej jest to . Najczęściej jest to
równoczesna realizacja tylu funkcji ile wyjść posiada równoczesna realizacja tylu funkcji ile wyjść posiada cała sieć.
cała sieć.
e
x1 x2 x3 . . .
xk
f()
e f()
e f()
wij
y1
y2
y3
macierz wag
Uczenie sieci Uczenie sieci neuronowych neuronowych
•• Proces uczenia polega na modyfikowaniu wagProces uczenia polega na modyfikowaniu wagsiecisieci
•• Najczęściej realizowane jest uczenie się z przykładówNajczęściej realizowane jest uczenie się z przykładów
•• Uczenie nadzorowaneUczenie nadzorowane--przykłady opisane są przykłady opisane są zarówno atrybutami warunkowymi, jak i decyzyjnymi zarówno atrybutami warunkowymi, jak i decyzyjnymi
•• Uczenie nienadzorowaneUczenie nienadzorowane--dane opisane są tylko dane opisane są tylko atrybutami warunkowymi
atrybutami warunkowymi
•• Cel uczenia -Cel uczenia -rozwiązanie pewnego problemu rozwiązanie pewnego problemu klasyfikacji (decyzje nominalne), problemu regresji klasyfikacji (decyzje nominalne), problemu regresji (decyzje numeryczne) lub problemu grupowania (decyzje numeryczne) lub problemu grupowania
Uczenie sieci
22Uczenie sieci neuronowych neuronowych
) , ( min
arg E D
opt W
W
W
=
Algorytmy uczenia sieci modyfikują wagi neuronów bez Algorytmy uczenia sieci modyfikują wagi neuronów bez zmiany architektury sieci, która musi być zaprojektowana zmiany architektury sieci, która musi być zaprojektowana wcześniej. Proces uczenia na zbiorze przykładów
wcześniej. Proces uczenia na zbiorze przykładów DD moŜna sprowadzić do problemu
moŜna sprowadzić do problemu optymalizacji optymalizacji (minimalizacji)
(minimalizacji)w ciągłej przestrzeni wag pewnej funkcji w ciągłej przestrzeni wag pewnej funkcji błędu
błęduE:E:
gdzie:
gdzie:WW--macierz wag siecimacierz wag sieci
WWoptopt--macierz optymalnych wartości wag sieci,macierz optymalnych wartości wag sieci, odpowiadająca sieci o najmniejszym moŜliwym odpowiadająca sieci o najmniejszym moŜliwym błędzie jaki moŜna osiągnąć dla zbioru danych błędzie jaki moŜna osiągnąć dla zbioru danych DD
Uczenie nadzorowane sieci Uczenie nadzorowane sieci
neuronowych neuronowych
( ) ( )
[ ]
∑ ∑
∈ =
−
=
D x
k
i
i i
MSE y z
k E D
1
1 2
1 x x
W uczeniu nadzorowanym funkcja błędu
W uczeniu nadzorowanym funkcja błędu EE jest pewną jest pewną miarą rozbieŜności między rzeczywistymi stanami wyjść miarą rozbieŜności między rzeczywistymi stanami wyjść sieci a wartościami podanymi jako decyzje w zbiorze sieci a wartościami podanymi jako decyzje w zbiorze danych
danych DD. Najczęściej stosowaną miarą jest . Najczęściej stosowaną miarą jest błąd błąd średniokwadratowy
średniokwadratowy::
gdzie:
gdzie:kk--liczba wyjść sieci, x liczba wyjść sieci, x -- przykład ze zbioru D przykład ze zbioru D (wektor atrybutów warunkowych),
(wektor atrybutów warunkowych), yyii(x(x))--wartość wartość ii--tego tego wyjścia sieci dla przykładu
wyjścia sieci dla przykładu xx, , zzii(x(x))--wartość „poŜądana” wartość „poŜądana”
dla przykładu
dla przykładu xxna wyjściu ina wyjściu i(atrybut decyzyjny).(atrybut decyzyjny).
Uczenie pojedynczego
24Uczenie pojedynczego prostego perceptronu prostego perceptronu
n j
F
zj j
j, = (x ) , =1K
x
Celem uczenia nadzorowanego jest realizacja pewnego Celem uczenia nadzorowanego jest realizacja pewnego odwzorowania:
odwzorowania:
z = F(x) gdzie:
gdzie: xxjest wektorem atrybutów (zmiennych) jest wektorem atrybutów (zmiennych) niezaleŜnych,
niezaleŜnych, zzjest poŜądanym wyjściem neuronu, a jest poŜądanym wyjściem neuronu, a odwzorowanie
odwzorowanie FFjest nieznane i zadane jedynie w jest nieznane i zadane jedynie w postaci zbioru
postaci zbioru nnprzykładów (zbiór Dprzykładów (zbiór D) postaci:) postaci:
Uczenie pojedynczego Uczenie pojedynczego
prostego perceptronu prostego perceptronu
2
1 1
2 ( )
2 , 1
) 2 (
1 n j j
j j n
j
j
j y E E
z
E=
∑
− =∑
= δ=
=
Agregacja wszystkich błędów popełnionych przez neuron Agregacja wszystkich błędów popełnionych przez neuron dla poszczególnych przykładów do błędu
dla poszczególnych przykładów do błędu
średniokwadratowego neuronu przebiega następująco:
średniokwadratowego neuronu przebiega następująco:
Błąd generowany przez neuron po podaniu
Błąd generowany przez neuron po podaniu jj--tego tego przykładu na wejścia jest wyraŜany róŜnicą:
przykładu na wejścia jest wyraŜany róŜnicą:
δj= zj- yj
Minimalizacja tego błędu następuje najczęściej z Minimalizacja tego błędu następuje najczęściej z zastosowaniem heurystycznego
zastosowaniem heurystycznego algorytmu algorytmu największego spadku gradientu
największego spadku gradientu..
Uczenie pojedynczego
26Uczenie pojedynczego prostego perceptronu prostego perceptronu
i j j
i w
w E
∂
− ∂
=
∆ η
W pojedynczym kroku uczenia wyznaczana jest wartość W pojedynczym kroku uczenia wyznaczana jest wartość o jaką zmieniona ma zostać określona waga sieci zwana o jaką zmieniona ma zostać określona waga sieci zwana poprawką wagi
poprawką wagi. Modyfikacja . Modyfikacja ii--tej wagi na podstawie tej wagi na podstawie błędu
błędu EEjjpopełnianego przezeń podczas propagacji popełnianego przezeń podczas propagacji sygnału dla
sygnału dla jj--tego przykładu odbywa się wg zaleŜności:tego przykładu odbywa się wg zaleŜności:
gdzie:
gdzie:ηηjest wielkością, która kontroluje wpływ gradientu jest wielkością, która kontroluje wpływ gradientu na stosowaną poprawkę i określana jest mianem
na stosowaną poprawkę i określana jest mianem współczynnika prędkości uczenia
współczynnika prędkości uczenia
Algorytm największego Algorytm największego
spadku gradientu spadku gradientu
Interpretacja graficzna na płaszczyźnie heurystyki Interpretacja graficzna na płaszczyźnie heurystyki największego spadku gradientu:
największego spadku gradientu:
EE
wwii
∆wi
j
wi w'ij
Uczenie pojedynczego
28Uczenie pojedynczego prostego perceptronu prostego perceptronu
i j j j
i j
w y y E w E
∂
∂
∂
=∂
∂
∂
Funkcja błędu jako funkcja złoŜona wymaga dalszych Funkcja błędu jako funkcja złoŜona wymaga dalszych zabiegów:
zabiegów:
Z definicji pojedynczego błędu
Z definicji pojedynczego błędu E joraz oraz δj= zj- yj mamy:mamy:
j j j j j
y y z
E =− − =−δ
∂
∂ ( )
A liniowy charakter funkcji
A liniowy charakter funkcji yj dla perceptronu prowadzi dla perceptronu prowadzi do:do:
j i i j
w x
∂y =
∂
Reguła delta Reguła delta
j i j j
i x
w =ηδ
∆
Ostatecznie heurystyka spadku gradientu nakazuje Ostatecznie heurystyka spadku gradientu nakazuje minimalizację błędu zgodnie z formułą:
minimalizację błędu zgodnie z formułą:
PowyŜsza formuła określana jest mianem
PowyŜsza formuła określana jest mianem reguły deltareguły delta albo regułą ADELINE
albo regułą ADELINE --poprawka ipoprawka i--tej wagi jest wprost tej wagi jest wprost proporcjonalna do błędu popełnionego przez neuron oraz proporcjonalna do błędu popełnionego przez neuron oraz do wielkości sygnału wpływającego
do wielkości sygnału wpływającego ii--tym wejściem do tym wejściem do neuronu.
neuronu.
Pełny krok uczenia wymaga wyznaczenia i zastosowania Pełny krok uczenia wymaga wyznaczenia i zastosowania poprawki na wszystkich wagach danego neuronu
poprawki na wszystkich wagach danego neuronu (równieŜ
(równieŜ ww00))
Algorytm uczenia
30Algorytm uczenia perceptronu
perceptronu
1.1. Ustawiamy wartość współ. prędkości uczenia Ustawiamy wartość współ. prędkości uczenia ηη 2.2. Wybieramy losowo wagi początkowe perceptronuWybieramy losowo wagi początkowe perceptronu 3.3. Na wejścia podajemy wektor uczący Na wejścia podajemy wektor uczący xxjj
4.
4. Obliczamy wartość wyjściową perceptronu zgodnie Obliczamy wartość wyjściową perceptronu zgodnie ze wzorem:
ze wzorem:
5.5. Porównujemy wartość wyjściową z poŜądaną zPorównujemy wartość wyjściową z poŜądaną zjj 6.6. Modyfikujemy wagi zgodnie z zaleŜnością:Modyfikujemy wagi zgodnie z zaleŜnością:
7.7. Jeśli nie koniec epoki uczenia, wracamy do kroku 3Jeśli nie koniec epoki uczenia, wracamy do kroku 3 8.8. Jeśli błąd całej epoki jest większy od załoŜonego, Jeśli błąd całej epoki jest większy od załoŜonego,
wracamy do kroku 3 wracamy do kroku 3
∑
== k
i
j i j i
j w x
y
0
j j j j
i j j i j
i w x z y
w′ = +ηδ gdzie δ = −
Reguła delta Reguła delta - -
podsumowanie podsumowanie
Cechy algorytmu uczenia opartego na regule delta:
Cechy algorytmu uczenia opartego na regule delta:
•• Stosowana metoda spadku gradientu jest heurystykąStosowana metoda spadku gradientu jest heurystyką i nie gwarantuje znalezienia optymalnej konfiguracji wag i nie gwarantuje znalezienia optymalnej konfiguracji wag sieci (lokalne minima!)
sieci (lokalne minima!)
•• Współczynnik prędkości uczenia Współczynnik prędkości uczenia ηηma ma znaczący wpływ znaczący wpływ na przebieg procesu uczenia
na przebieg procesu uczenia
•
• Losowe wartości początkoweLosowe wartości początkowewag równieŜ wpływają na wag równieŜ wpływają na przebieg procesu uczenia
przebieg procesu uczenia
•• Poprawki ∆Poprawki ∆wwiiobliczane są dla kaŜdej wagi obliczane są dla kaŜdej wagi niezaleŜnieniezaleŜnie
•
• Uczenie się przebiega w wielu krokach i wymaga Uczenie się przebiega w wielu krokach i wymaga wielokrotnego propagowania
wielokrotnego propagowaniaprzez sieć danych z przez sieć danych z poszczególnych przykładów
poszczególnych przykładów
32
Własności prostego Własności prostego
perceptronu
perceptronu - - klasyfikacja klasyfikacja
Interpretacja graficzna prostego perceptronu o dwóch Interpretacja graficzna prostego perceptronu o dwóch wejściach:
wejściach:
xx11 xx22
y>0 y>0
y<0 y<0
2 0
w
−w
1 0
w
−w
y = w0+ w1x1 + w2x2= 0
0
W problemie binarnej klasyfikacji pojedynczy neuron W problemie binarnej klasyfikacji pojedynczy neuron implementuje
implementuje granicę między klasami decyzyjnymigranicę między klasami decyzyjnymiw w postaci (
postaci (hiperhiper)płaszczyzny opisanej równaniem:)płaszczyzny opisanej równaniem:
0
0
∑
== n
i i ix w
Proces uczenia się Proces uczenia się
klasyfikacji klasyfikacji
W trakcie uczenia się prosty perceptron „manewruje”
W trakcie uczenia się prosty perceptron „manewruje”
płaszczyzną w celu oddzielenia od siebie przykładów z płaszczyzną w celu oddzielenia od siebie przykładów z róŜnych klas
róŜnych klas
xx11 xx22
0
j=
j=1010 j=
j=100100 j=
j=300300 j=
j=647647
Podstawy teoretyczne
34Podstawy teoretyczne sieci neuronowych
sieci neuronowych
Twierdzenie
Twierdzenie RosenblattaRosenblatta::
Proces uczenia perceptronu jest zbieŜny.
Proces uczenia perceptronu jest zbieŜny.
Perceptron moŜe nauczyć się dowolnego Perceptron moŜe nauczyć się dowolnego liniowo separowalnego problemu klasyfikacji liniowo separowalnego problemu klasyfikacji
Problemy klasyfikacji Problemy klasyfikacji
Praktyczne problemy uczenia mogą mieć róŜną Praktyczne problemy uczenia mogą mieć róŜną charakterystykę:
charakterystykę:
xx11 xx22
0
Problem liniowo
Problem liniowo separowalnyseparowalny
xx11 xx22
0
Problem liniowo
Problem liniowo nieseparowalnynieseparowalny
Pojedynczy neuron moŜe oddzielić od siebie tylko takie Pojedynczy neuron moŜe oddzielić od siebie tylko takie klasy decyzyjne, między którymi moŜliwe jest
klasy decyzyjne, między którymi moŜliwe jest poprowadzenie granicy w postaci (
poprowadzenie granicy w postaci (hiperhiper)płaszczyzny)płaszczyzny
36
Znaczenie
Znaczenie biasu biasu
BiasBias--waga wwaga w00przypisana progowi aktywacji przypisana progowi aktywacji θθ
xx11
xx22 y = w0+ w1x1 + w2x2= 0 x2= -(w1/w2)x1- (w0/w2)
y = a*x +b
a = -(w1 /w2) b=-(w0 /w2)
2 0
w b=−w
2 1
w tgα=−w
α α
Istnienie
Istnienie biasubiasujest konieczne, jeśli moŜliwy ma być podział jest konieczne, jeśli moŜliwy ma być podział dwóch całkowicie dowolnych klas liniowo separowalnych dwóch całkowicie dowolnych klas liniowo separowalnych
dla w0=0 zawsze b=0
Uczenie pojedynczego Uczenie pojedynczego
neuronu nieliniowego neuronu nieliniowego
i j j
j
i j
i j j
i w
y y E w E w
w E
∂
∂
∂
=∂
∂
∂
∂
− ∂
= ,
∆ η
Proces uczenia neuronu nieliniowego równieŜ opiera się Proces uczenia neuronu nieliniowego równieŜ opiera się na
na regule spadku gradienturegule spadku gradientu::
ale pochodna wyjścia po wadze zmienia swą postać z ale pochodna wyjścia po wadze zmienia swą postać z powodu
powodu nieliniowegonieliniowegocharakteru funkcji aktywacji:charakteru funkcji aktywacji:
i j
i j
w e e y w y
∂
∂
∂
=∂
∂
∂
Wiemy, Ŝe z definicji błędu
Wiemy, Ŝe z definicji błędu EEoraz pobudzenia eoraz pobudzenia emamy:mamy:
j i i
we =x
∂
∂
Reszta zaleŜy od wybranej funkcji aktywacji Reszta zaleŜy od wybranej funkcji aktywacji y=f (e)
j j j
y E =−δ
∂
∂
Uczenie pojedynczego
38Uczenie pojedynczego neuronu nieliniowego neuronu nieliniowego
) 1 (
)) exp(
1 (
1 ))
exp(
1 (
) exp(
* 1 )) exp(
1 (
1
)) exp(
1 (
)
* exp(
)) exp(
1 (
1 ))
exp(
1 (
) exp(
) 1 (
* ) exp(
* )) exp(
1 )(
1 (
)) exp(
1 ) ( exp(
1 ) 1 (
2 2
1
j j j j
y e y
y
e e
e e
e e e
e e
e e e
y
e e e
f y
−
∂ =
∂
−
− +
− +
− +
−
= +
− +
−
−
= +
− +
= −
−
−
− +
−
∂ =
∂
− +
− =
= +
=
−
−
Pochodna funkcji
Pochodna funkcjisigmoidalnejsigmoidalnejwzględem pobudzenia:względem pobudzenia:
Uczenie pojedynczego Uczenie pojedynczego
neuronu nieliniowego neuronu nieliniowego
) 1 (
∆ j ij j j
j j i j j
i x y y
e x y
w = −
∂
=ηδ ∂ ηδ
Ostatecznie reguła spadku gradientu nakazuje poprawkę Ostatecznie reguła spadku gradientu nakazuje poprawkę wagi neuronu nieliniowego (
wagi neuronu nieliniowego (sigmoidalnegosigmoidalnego) zgodnie z ) zgodnie z formułą:
formułą:
Reguła delta neuronu nieliniowego
Reguła delta neuronu nieliniowegoróŜni się członemróŜni się członem y
y(1(1--yy)), wynikającym z wprowadzonej nieliniowości, który , wynikającym z wprowadzonej nieliniowości, który zwiększa poprawki tym mocniej im bliŜej przykład
zwiększa poprawki tym mocniej im bliŜej przykład znajduje się płaszczyzny decyzyjnej realizowanej przez znajduje się płaszczyzny decyzyjnej realizowanej przez neuron
neuron
40
Problem XOR Problem XOR
Funkcji XOR nie moŜe zostać odwzorowana za pomocą Funkcji XOR nie moŜe zostać odwzorowana za pomocą pojedynczego liniowego neuronu, gdyŜ potrzebna jest pojedynczego liniowego neuronu, gdyŜ potrzebna jest więcej niŜ jedna płaszczyzna decyzyjna by oddzielić od więcej niŜ jedna płaszczyzna decyzyjna by oddzielić od siebie dwie klasy wynikowe
siebie dwie klasy wynikowe
xx11 xx22
0,0
x
x11 xx22 XOR(XOR(xx11,x,x22)) 0
0 00 00 00 11 11 1
1 00 11 11 11 00
1,1
Układy logiczne a sieci Układy logiczne a sieci
neuronowe neuronowe
Implementacja podstawowych funkcji logicznych za Implementacja podstawowych funkcji logicznych za pomocą neuronów prostych z funkcją skokową aktywacji:
pomocą neuronów prostych z funkcją skokową aktywacji:
x
x11 xx22 ANDAND OROR xx11 NOTNOT 0
0 00 00 00 00 11 0
0 11 00 11 11 00 11 00 00 11
1
1 11 11 11
„AND” _
-1 x1 x2
w1=1 w2=1
w0=1.5
y
-1 x1 x2
w1=1 w2=1
w0=0.5
y -1
x1w1=-1 w0=-0.49
y
y = x
y = x1 1 + x+ x2 2 --1.51.5
y = x
y = x1 1 + x+ x2 2 --0.50.5
y = y = --xx1 1 + 0.5+ 0.5
„OR” _
„NOT” _
Sieć wielowarstwowa dla
42Sieć wielowarstwowa dla funkcji XOR
funkcji XOR
Problem odwzorowania funkcji XOR moŜna rozwiązać Problem odwzorowania funkcji XOR moŜna rozwiązać jedynie stosując więcej niŜ jedną warstwę sieci:
jedynie stosując więcej niŜ jedną warstwę sieci:
x
x11 xx22 yy11 yy22 XORXOR 0
0 00 00 00 00 00 11 00 11 11 1
1 00 11 00 11 11 11 00 00 00
„AND NOT”
-1 x1
x2 w1=1 w2=-1
w0=0.5
y1
„OR”
-1
w5=1 w6=1
w0=0.5
y
y
y22= -= -xx1 1 + + xx2 2 --0.50.5 y
y11= x= x1 1 --xx2 2 --0.50.5
„AND NOT”
-1 w3=-1
w4=1 w0=0.5
y2
y = x1XOR x2= ((x1AND NOT x2) OR (x2AND NOT x1))
y = y
y = y1 1 + + yy2 2 --0.50.5
Problem XOR:
Problem XOR:
rozwiązanie rozwiązanie
Odwzorowanie funkcji XOR jest połączeniem prostych Odwzorowanie funkcji XOR jest połączeniem prostych odwzorowań z warstwy pierwszej w bardziej złoŜone odwzorowań z warstwy pierwszej w bardziej złoŜone odwzorowanie zrealizowane dzięki warstwie drugiej odwzorowanie zrealizowane dzięki warstwie drugiej
0,0
1,1 0,1
1,0
x2AND NOT x1
x1AND NOT x2
y1= x1 - x2 - 0.5 y2= -x1 + x2 - 0.5
xx22
xx11
44
Sieć wielowarstwowa Sieć wielowarstwowa
x1 x2 x3 . . . xk
warstwa wejściowa
warstwy ukryte
warstwa wyjściowa
W ramach jednej warstwy neurony nie komunikują się W ramach jednej warstwy neurony nie komunikują się ze sobą. Pomiędzy warstwami obowiązuje zasada ze sobą. Pomiędzy warstwami obowiązuje zasada
„kaŜdy z kaŜdym”.
„kaŜdy z kaŜdym”.
Uczenie sieci Uczenie sieci
wielowarstwowej wielowarstwowej
j j j j
j i j j
i z y
e x y
w = −
∂
=ηδ ∂ δ
∆
Zastosowanie reguły delta:
Zastosowanie reguły delta:
wobec neuronów warstwy, która nie jest wyjściowa wobec neuronów warstwy, która nie jest wyjściowa (ukrytej) wymaga następującej zmiany sposobu (ukrytej) wymaga następującej zmiany sposobu obliczania błędu przy prezentacji
obliczania błędu przy prezentacji jj--tego przykładu:tego przykładu:
∑
+=
+
= 1 + 1
) 1 , ( ) 1 , ( )
, (
Nl
p
j l p j
l p k j
l
k w δ
δ gdzie indeksy
gdzie indeksy ((kk,,ll))dotyczą kdotyczą k--tego neuronu w warstwietego neuronu w warstwie l-l-tej, zaśtej, zaśNNll+1+1to liczba neuronów w l+to liczba neuronów w l+11--tej warstwie siecitej warstwie sieci
Uczenie sieci
46Uczenie sieci
wielowarstwowej wielowarstwowej
Reguła wyznaczania błędu neuronu w sieci Reguła wyznaczania błędu neuronu w sieci wielowarstwowej:
wielowarstwowej:
∑
+=
+
= 1 + 1
) 1 , ( ) 1 , ( )
, (
Nl
p
j l p j
l p k j
l
k w δ
δ Interpretacja:
Interpretacja:
Błąd neuronu w warstwie
Błąd neuronu w warstwie ll-tej jest równy sumie błędów -tej jest równy sumie błędów popełnionych przez neurony z warstwy
popełnionych przez neurony z warstwy l+
l+11--tej, waŜonych wagami jakie łączą dany neuron z tej, waŜonych wagami jakie łączą dany neuron z neuronami warstwy
neuronami warstwy l+l+11--tej.tej.
Uczenie sieci Uczenie sieci
wielowarstwowej wielowarstwowej
Ilustracja graficzna reguły wyznaczania błędu : Ilustracja graficzna reguły wyznaczania błędu :
∑
+=
+
= 1 + 1
) 1 , ( ) 1 , ( )
, (
Nl
p
j l p j
l p k j
l
k w δ
δ
warstwa l
j l 1) , 1
( +
j δ w1(1,l+1)
j l 1) , 2
( +
δ
j l 1) , 3
( +
δ
j l ) , 1
δ( j
l ) , 2
δ( j
l ) , 3
δ(
warstwa l+1
j
w1(2,l+1)
Algorytm wstecznej
48Algorytm wstecznej propagacji błędu
propagacji błędu
procedure
procedurebackpropagationbackpropagation(zbiór przykładów (zbiór przykładów DD)) begin
begin
inicjalizacja wag sieci małymi wartościami losowymi;
inicjalizacja wag sieci małymi wartościami losowymi;
repeat repeat
for for eacheachxx∈∈DD propagacja
propagacja xxprzez sieć aŜ do wyjścia;przez sieć aŜ do wyjścia;
porównanie wektora wyjść
porównanie wektora wyjść yyz poŜądanym wynikiem z poŜądanym wynikiem zz oraz wyznaczenie błędów
oraz wyznaczenie błędów δδ;;
wsteczna propagacja błędu przez warstwy ukryte wsteczna propagacja błędu przez warstwy ukryte tj. do warstwy ostatniej, przedostatniej itd.;
tj. do warstwy ostatniej, przedostatniej itd.;
modyfikacja wag kaŜdego neuronu sieci stosowanie do modyfikacja wag kaŜdego neuronu sieci stosowanie do
popełnionego błędu;
popełnionego błędu;
endfor endfor
Wyznaczenie błędu średniokwadratowego
Wyznaczenie błędu średniokwadratowego EEpo wszystkich po wszystkich przykładach
przykładach until
untilEE< < EEstopstopororinny_war_stopuinny_war_stopu
Uczenie sieci Uczenie sieci
wielowarstwowej wielowarstwowej
j p
wi( ,2)
hN2 h2
h1
yN3 y2
y1
x1 x2 xk
...
...
warstwa wejściowa
warstwa ukryta
warstwa wyjściowa -1
-1
j p
wi( ,3)
z1 z2 zN3
Uczenie sieci
50Uczenie sieci
wielowarstwowej wielowarstwowej
j p
wi( ,2)
hN2 h2
h1
yN3 y2
y1
x1 x2 xk
...
...
-1
-1
j p
wi( ,3)
Dany jest zbiór
Dany jest zbiór D D przykładów: przykładów: 〈〈xxjj,,zzjj〉〉 Losujemy wagi (ma
Losujemy wagi (małłe wartoe wartośści)ci) Wybieramy kolejn
Wybieramy kolejnąąparparęęjjze zbioru Dze zbioru D Obliczamy warto
Obliczamy wartośści w warstwie ci w warstwie ukrytej:
ukrytej:
2
0 ) 2 , (
1 , exp
1
1 p N
x w
h k
i
j i j
p i j
p = K
− +
=
∑
=z1 z2 zN3
Uczenie sieci Uczenie sieci
wielowarstwowej wielowarstwowej
j p
wi( ,2)
hN2 h2
h1
yN3 y2
y1
x1 x2 xk
...
...
-1
-1
j p
wi( ,3)
Dany jest zbiór
Dany jest zbiór D D przykładów: przykładów: 〈〈xxjj,,zzjj〉〉 Losujemy wagi (ma
Losujemy wagi (małłe wartoe wartośści)ci) Wybieramy kolejn
Wybieramy kolejnąąparparęęjjze zbioru Dze zbioru D Obliczamy warto
Obliczamy wartośści w warstwie ci w warstwie ukrytej:
ukrytej:
2
0 ) 2 , (
1 , exp
1
1 p N
x w
h k
i
j i j
p i j
p = K
− +
=
∑
=Obliczamy warto
Obliczamy wartośści w warstwie ci w warstwie wyj
wyjśściowej:ciowej:
3
0 ) 3 , (
1 , exp
1
1
2
N p
h w
y N
i
j i j
p i j
p = K
− +
=
∑
=z1 z2 zN3
Uczenie sieci
52Uczenie sieci
wielowarstwowej wielowarstwowej
j p
wi( ,2)
hN2 h2
h1
yN3 y2
y1
x1 x2 xk
...
...
-1
-1
j p
wi( ,3)
Dany jest zbiór
Dany jest zbiór D D przykładów: przykładów: 〈〈xxjj,,zzjj〉〉 Losujemy wagi (ma
Losujemy wagi (małłe wartoe wartośści)ci) Wybieramy kolejn
Wybieramy kolejnąąparparęęjjze zbioru Dze zbioru D Obliczamy warto
Obliczamy wartośści w warstwie ci w warstwie ukrytej:
ukrytej:hpj Obliczamy warto
Obliczamy wartośści w warstwie ci w warstwie wyj
wyjśściowej:ciowej: ypj Obliczamy b
Obliczamy błąłąd w warstwie d w warstwie wyj
wyjśściowej:ciowej:
3 )
3 ,
(jp =zpj−ypj, p=1KN δ
z1 z2 zN3