• Nie Znaleziono Wyników

Sztuczne sieci neuronowe Sztuczne sieci neuronowe

N/A
N/A
Protected

Academic year: 2021

Share "Sztuczne sieci neuronowe Sztuczne sieci neuronowe"

Copied!
48
0
0

Pełen tekst

(1)

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

(2)

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

(3)

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

(4)

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

(5)

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

(6)

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

(7)

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 = β

(8)

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

(9)

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

20

Sieć 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

(10)

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

22

Uczenie 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

(11)

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

24

Uczenie 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:

(12)

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

26

Uczenie 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

(13)

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

28

Uczenie 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 =

(14)

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

30

Algorytm 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 δ = −

(15)

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

(16)

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

34

Podstawy 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

(17)

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

(18)

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

38

Uczenie 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:

(19)

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

(20)

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

42

Sieć 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

(21)

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”.

(22)

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

46

Uczenie 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.

(23)

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

48

Algorytm 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

(24)

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

50

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

+

=

=

z1 z2 zN3

(25)

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

52

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: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 =zpjypj, p=1KN δ

z1 z2 zN3

Cytaty

Powiązane dokumenty

W wyniku tak radykalnej procedury adaptacji wag, możliwe jest dopasowywanie sieci do wielu wzorców różniących się od siebie, a ponadto sieć wykazuje pewną (ograniczoną)

Podstawową cechą sieci neuronowej jest jej zdolność do uogólniania, a więc generowania właściwego rozwiązania dla danych, które nie pojawiły się w zestawie danych

Przy starcie uczenia z wartości losowych prawdopodobieństwo utknięcia procesu w minimum lokalnym jest większe niż w przypadku sieci. sigmoidalnych, ze względu na silną

Modele koneksjonistyczne: sieci i rozproszone przetwarzanie równoległe, ale węzły nie działają jak neurony – sieci Bayesowskie, modele graficzne, uczenie się przez

Systemy uczące się (machine learning, ML) oraz sztuczne sieci neuronowe (artificial neural networks, ANN) są ważnymi elementami CI.... Problemy

• diagnostyka medyczna. Zastosowanie sztucznych sieci neuronowych dobrze wkomponowuje się w badania zależności i procesów zachodzących na rynkach finansowych. Wyni- ka to

• dla wygenerowanych danych dwuwymiarowych dwóch klas z rozkładów normal- nych zaznacz na wykresie dane treningowe, klasyfikator sieciami neuronowymi, dla różnej liczby neuronów

Robert Sulej Sztuczne sieci neuronowe – aplikacje w analizie danych eksperymentalnych 11/05/2009.