2009 10 27 Wstęp do SI [w 03 04]

background image

WAI

Wykład 3. Sieci neuronowe. Uczenie

Żurada Jacek, Barski Mariusz , Jędruch Wojciech, Sztuczne

sieci neuronowe Wydawnictwo Naukowe PWN, Warszawa,

1996

.

Literatura:
S. Osowski, Sieci neuronowe w ujęciu algorytmicznym. WNT,
Warszawa 1997.

background image

Perceptron - przypomnienie

.

.

0

1

p

p

w

x

w

y

i

i

w

1

x

1

x

2

x

n

y

w

2

w

n

background image

Przypomnienie.Jak opisać

perceptron?

Co charakteryzuje perceptron?

• Perceptron jest opisywany

jedno-znacznie przez zbiór wag
w

1

,...,w

n

 oraz wartość

progowa  

• Wartości x

1

,...,x

n

 to zmienne

pojawiające się na wejściu do
perceptronu

• Funkcja aktywacji:

otherwise

x

w

y

i

i

0

1

background image

Uczenie perceptronu

Przykład: rozpoznawanie znaków

Siatka 6  6

36 wejść

Wyjście: 1, jeśli na wejściu
pojawia się litera “A”, zaś 0
w p.p.

Zadanie: dobrać wagi wejść i wartość
progową tak, by uzyskać zaplanowany
efekt

Dane treningowe

(znane odpowiedzi)

Dobór wag (uczenie)

Dane testowe

Odpowiedź

background image

Uczenie perceptronu, n=2

Proces uczenia:

– Inicjujemy wagi losowo
– Dla każdego przykładu,

jeśli odpowiedź jest

nieprawidłowa, to

w

1

+ = x

1

w

2

+ = x

2

– =

w

1

(k+1)= w

1

(k) + w

1

+ ,

podobnie dla w

2

,

(k+1)= (k) – – ,
k
-krok iteracji, epoka

Wejście:

– Ciąg przykładów uczących ze znanymi

odpowiedziami

w

1

x

1

+

w

2

x

2

- 

=

0

[w

1

,w

2

]

gdzie  jest równe różnicy odpowiedzi sieci i prawidłowej

odpowiedzi.

background image

Uczenie perceptronu

• Często  mnoży się dodatkowo

przez niewielki współczynnik
uczenia

• Po wyczerpaniu przykładów,

zaczynamy proces uczenia od
początku, dopóki następują
jakiekolwiek zmiany wag połączeń

• Próg  można traktować jako wagę

dodatkowego wejścia o wartości -1:

 = 3

2

-4

x

2

x

1

( = 0)

2

-4

x

2

x

1

(zawsze -1)3

background image

Przykład: Uczenie neuronu

• Zbiór punktów na

wykresie jest liniowo

separowalne.

otherwise

x

w

y

i

i

1

1

Funkcja
aktywacji:

background image

• Otrzymamy

w

1

= - 18.8

w

2

= - 12.2

= 3

• Niech

w

1

=1, w

2

=1, = 1, wsp.

uczenia =1

•Pierwszy przykład jest

dobrze, ale drugi nie,

modyfikujemy zatem

wagi:

w

1

+ = (-1 - 1) 9.4

w

2

+ = (-1 - 1) 6.4

– = (-1 - 1)

•Drugi przykład jest

dobry, ale trzeci

nie…

background image

Uczenie perceptronu

• Opisany schemat jest w miarę

przejrzysty tylko dla
pojedynczych perceptronów,
lub niewielkich sieci

• Ciężko jest stosować reguły

tego typu dla
skomplikowanych modeli

– Tymczasem np. do

rozpoznawania wszystkich liter
potrzeba by sieci złożonej z 26
takich perceptronów

background image

Sieci perceptronów

Ograniczenia pojedynczych perceptronów
spowodowały w latach 80-tych wzrost
zainteresowania sieciami wielowarstwowymi i
opracowanie algorytmu ich uczenia (propagacja
wsteczna)

Synapses

Axon

Dendrites

Synapses

+

+

+

-

-

(weights)

Nodes

background image

SIECI PERCEPTRONÓW

Potrafią reprezentować dowolną funkcję

boolowską (opartą na rachunku zdań)

 = 2

1

1

q

p

 = 1

-2

p XOR q

1

1

background image

SIECI WIELOWARSTWOWE

• Wyjścia neuronów

należących do
warstwy niższej
połączone są z
wejściami
neuronów
należących do
warstwy wyższej

– np. metodą „każdy z

każdym”

• Działanie sieci polega na liczeniu odpowiedzi

neuronów w kolejnych warstwach

• Nie jest znana ogólna metoda projektowania

optymalnej architektury sieci neuronowej

background image

Funkcje aktywacji

• Progowe

• Sigmoidaln

e

 

0

0

0

1

s

s

s

f

 

s

e

s

f

1

1

0

0,2

0,4

0,6

0,8

1

1,2

-15

-10

-5

0

5

10

15

-0,2

0

0,2

0,4

0,6

0,8

1

1,2

-15

-10

-5

0

5

10

15

background image

FUNKCJE AKTYWACJI (2)

• Unipolarne

• Bipolarne

0

0,2

0,4

0,6

0,8

1

1,2

-15

-10

-5

0

5

10

15

 

s

e

s

f

1

1

-1,5

-1

-0,5

0

0,5

1

1,5

-15

-10

-5

0

5

10

15

 

1

1

2

s

e

s

f

background image

FUNKCJE AKTYWACJI (3)

0

0,2

0,4

0,6

0,8

1

1,2

-15

-10

-5

0

5

10

15

 

s

e

s

f

1

1

 =
2.0
 =
1.0
 =
0.5

 

 



0

0

0

5

.

0

0

1

lim

5

.

0

lim

0

s

s

s

s

f

s

f

background image

FUNKCJE AKTYWACJI (4)

 

s

e

s

f

1

1

,

0

0,2

0,4

0,6

0,8

1

1,2

-10

-5

0

5

10

15

5

.

1

2

background image

FUNKCJE AKTYWACJI (5)

• Zasady ogólne:

– Ciągłość (zachowanie stabilności

sieci jako modelu rzeczywistego)

– Różniczkowalność (zastosowanie

propagacji wstecznej błędu)

– Monotoniczność (intuicje związane

z aktywacją komórek neuronowych)

– Nieliniowość (możliwości ekspresji)

background image

SIECI NEURONOWE

Potrafią modelować (dowolnie dokładnie

przybliżać) funkcje rzeczywiste

(z tw. Kołmogorowa)

y f w

wx

i i

i

n



0

1

 

s

e

s

f

1

1

funkcja aktywacji

background image

0.3

1.1

1

-2

0

-0.2

-0.2

0.4

0.4

SIECI NEURONOWE

background image

0.9

-0.5

1.2

0.3

0.9

1.2

-0.4

-0.4

1

-0.4

-0.8

-2

1.2

1

-0.5

-0.1

-0.4

-0.8

-0.7

SIECI NEURONOWE

background image

SIECI JAKO FUNKCJE ZŁOŻONE (1)

g

f2

f1

x
1

x
2

w
1

w
2

v1
1

v2
2

v1
2

v2
1

y

2

22

1

12

2

2

2

21

1

11

1

1

x

v

x

v

f

w

x

v

x

v

f

w

g

y

2

1

,x

x

Network

y

background image

SIECI JAKO FUNKCJE ZŁOŻONE (2)




8

1

1

2

3

1

4

0

8

1

1

2

3

1

4

1

2

1

2

1

2

1

2

1

3

2

7

5

3

3

2

7

5

3

x

x

x

x

x

x

x

x

e

e

e

e

y

g

f2

f1

x
1

x
2

4

-3

5

1

3
-7

y

background image

SIECI JAKO FUNKCJE ZŁOŻONE (3)

• Jeśli wszystkie poszczególne funkcje

aktywacji są liniowe, to funkcja

Network jest również liniowa

• Architektura wielowarstwowa daje

zatem nowe możliwości tylko w

przypadku stosowania funkcji

nieliniowych

g

f2

f1

x
1

x
2

w
1

w
2

v1
1

v2
2

v1
2

v2
1

y =

=Network(x1
,x2)

background image

SIECI JAKO FUNKCJE ZŁOŻONE – przypadek

liniowy

• Niech

f

i

(x1,x2) = a

i

*(x1*v

i

1 + x2*v

i

2) + b

i

g(z1,z2) = a*(z1*w1 + z2*w2) + b

• Wtedy

Network(x1,x2) = A1*x1 + A2*x2 + B

• Np.:

A1 = a*(a1*v1*w1 + a2*v2*w2)

g

f2

f1

x
1

x
2

w
1

w
2

v1
1

v2
2

v1
2

v2
1

y

background image

PROPAGACJA WSTECZNA BŁĘDU (1)

• Chcemy “wytrenować” wagi połączeń

między kolejnymi warstwami neuronów

• Inicjujemy wagi losowo (na małe wartości)
• Dla danego wektora uczącego obliczamy

odpowiedź sieci (warstwa po warstwie)

• Każdy neuron wyjściowy oblicza swój

błąd, odnoszący się do różnicy pomiędzy

obliczoną odpowiedzią y oraz poprawną

odpowiedzią t

background image

PROPAGACJA WSTECZNA BŁĘDU (2)

dane uczące

odpowiedź

sieci y

właściwa

odpowiedź t

błąd d

2

2

1

t

y

d

Błąd sieci definiowany jest zazwyczaj
jako

background image

PROPAGACJA WSTECZNA BŁĘDU (3)

• Oznaczmy przez:

f: R

R – funkcję aktywacji w neuronie

w

1

,..., w

K

– wagi połączeń wchodzących

z

1

,..., z

K

– sygnały napływające do

neuronu z poprzedniej warstwy

• Błąd neuronu traktujemy jako funkcję

wag połączeń do niego prowadzących:

2

1

1

1

...

2

1

,...,

t

z

w

z

w

f

w

w

d

K

K

K

background image

PRZYKŁAD (1)

• Rozpatrzmy model, w którym:

– Funkcja aktywacji przyjmuje postać

– Wektor wag połączeń = [1;-3;2]

• Załóżmy, że dla danego przykładu:

– Odpowiedź powinna wynosić t = 0.5
– Z poprzedniej warstwy dochodzą sygnały

[0;1;0.3]

2

3

1

1

)

(

s

e

s

f

background image

Zadania sprawdzające:

1. Co charakteryzuje prosty perceptron?
2. Podać inną funkcję logiczną niż XOR,

której nie potrafi obliczyć sieć neuronowa.

3. Jaką własność posiada każda funkcja

aktywacji?

4. Co to jest równanie perceptronowe? Jakie

jest jego znaczenie?

5. Co potrafi zrobić pojedyńczy neuron?

background image

Zadania sprawdzające:

1. Co charakteryzuje prosty perceptron?
2. Podać inną funkcję logiczną niż XOR,

której nie potrafi obliczyć sieć neuronowa.

3. Jaką własność posiada każda funkcja

aktywacji?

4. Co to jest równanie perceptronowe? Jakie

jest jego znaczenie?

5. Co potrafi zrobić pojedyńczy neuron?

background image

PRZYKŁAD (2)

• Liczymy wejściową sumę ważoną:

• Liczymy odpowiedź neuronu:

• Błąd wynosi:

23

.

0

1

1

1

1

)

(

2

.

1

2

4

.

2

3

e

e

s

f

y

4

.

2

3

.

0

2

1

)

3

(

0

1

3

3

2

2

1

1

x

w

x

w

x

w

s

036

.

0

5

.

0

23

.

0

2

1

2

d

background image

IDEA ROZKŁADU BŁĘDU

• Musimy „rozłożyć” otrzymany błąd

na połączenia wprowadzające
sygnały do danego neuronu

• Składową błędu dla każdego j-tego

połączenia określamy jako
pochodną cząstkową błędu
względem j-tej wagi

• Składowych tych będziemy mogli

użyć do zmodyfikowania ustawień
poszczególnych wag połączeń

background image

IDEA ROZKŁADU BŁĘDU (2)

Załóżmy, że mamy neuron z wagami w

0

=0, w

1

=2,

w

2

=3. Mamy dane wektor wejściowy: [0.3 , 0.7],

przy czym oczekiwana odpowiedź to t=1. Jak
należy zmienić wagi, aby błąd był jak najmniejszy?

y f w

wx

i i

i

n



0

1

 

s

e

s

f

1

1

w

1

w

2

x

1

x

2

y

Wagi powinniśmy
zmienić w kierunku
spadku wartości błędu.

-4

-2

0

2

4

-4

-2

0

2

4

0

0.2

0.4

-4

-2

0

2

4

Możemy błąd przedstawić jako
funkcję w

1

, w

2

:

błąd

wartość błędu
dla wag [2, 3]

w

ag

i

background image

KIERUNEK ZMIANY WAG

Jeśli rozważymy większą liczbę przykładów, funkcja

średniego błędu będzie miała bardziej skomplikowany
kształt.

[0.3, 0.7], t=1
[0.2, 0.9], t=0.1
[-0.6, 1], t=0
[0, -0.8], t=0.5
[0.6, 1], t=0.3

-10

-8

-6

-4

-2

0

2

4

-10

-5

0

5

10

Nachylenie wykresu w danym punkcie
(odpowiadającym aktualnym wartościom
wag) dane jest przez gradient, czyli wektor
pochodnych cząstkowych.

Zmiana wag powinna nastąpić w kierunku przeciwnym.

-10

-5

0

5

-10

-5

0

5

10

0.25

0.5

0.75

1

1.25

-10

-5

0

5

background image

  

j

z

s

f

t

y

'

OBLICZANIE POCHODNEJ

j

K

w

w

w

d

,...,

1

  

j

K

K

w

z

w

z

w

s

s

f

y

t

y

...

2

1

1

1

2

j

K

K

w

t

z

w

z

w

f

2

1

1

...

2

1

background image

PROPAGACJA WSTECZNA BŁĘDU

• Idea:

– Wektor wag połączeń powinniśmy przesunąć w kierunku

przeciwnym do wektora gradientu błędu (z pewnym
współczynnikiem uczenia

)

– Możemy to zrobić po każdym przykładzie uczącym, albo

sumując zmiany po kilku przykładach.

• Realizacja:

  

j

j

z

s

f

y

t

w

'

Prosty przykład: wagi w

1

=1, w

2

=1, dane wejściowe: [0.5, 0.5], t = 1.

Funkcja sigmoidalna:

więc:

Stąd: s = 0.5 + 0.5 = 1, y = 0.731, zmiana w= (1- 0.731) * 0.19 * 0.5 = 0.026.
A więc nowe wagi to 1.026. Ten sam przykład da tym razem odpowiedź y=0.736.

 

s

e

s

f

1

1

 

2

1

s

s

e

e

s

f

background image

PROPAGACJA WSTECZNA BŁĘDU (2)

błąd

1

błąd

w

1

w

2

Błędy są następnie propagowane w kierunku
poprzednich warstw.
Wprowadźmy pomocniczo współczynnik błędu

zdefiniowany dla ostatniej warstwy jako:

n

i

i

i

w

s

f

1

)

(

czyli neuron w warstwie ukrytej
“zbiera” błąd z neuronów, z którymi
jest połączony.

błąd

2

y

t

s

f

)

(

a dla pozostałych warstw:

Zmiana wag połączeń następuje po fazie propagacji
błędu i odbywa się według wzoru:

z

w

Oznaczenia: w - waga wejścia neuronu, z - sygnał wchodzący do
neuronu danym wejściem,

- współczynnik błędu obliczony dla danego

neuronu, s - wartość wzbudzenia (suma wartości wejściowych
pomnożonych przez wagi) dla danego neuronu.

background image

Zadania sprawdzające:

1. Co charakteryzuje prosty perceptron?
2. Podać inną funkcję logiczną niż XOR,

której nie potrafi obliczyć sieć neuronowa.

3. Jaką własność posiada każda funkcja

aktywacji?

4. Co to jest równanie perceptronowe? Jakie

jest jego znaczenie?

5. Co potrafi zrobić pojedyńczy neuron?


Document Outline


Wyszukiwarka

Podobne podstrony:
2009 10 27 Wstep do SI [w 03 04 Nieznany
2009 10 13 Wstep do SI [w 01]id Nieznany
2009-10-13 Wstęp do SI [w 01], Sztuczna inteligencja
2009-10-13 Wstęp do SI [w 02], Sztuczna inteligencja
2009 10 13 Wstęp do SI [w 01]id 26833 ppt
2009 12 01 Wstep do SI [w 09 10 Nieznany (2)
2009 12 15 Wstęp do SI [w 11 12]id 26842 ppt
2009 10 27
2009 10 27 19 40 Puszcze i bory z legenda 2xA4
Wstęp do pedagogiki, WSTĘP DO PEDAGOGIKI 15.10.2011, WSTĘP DO PEDAGOGIKI
28.10.11, Wstęp do teorii komunikacji
28.10.11, Wstęp do teorii komunikacji
hoff - 30.10 ćw, wstep do religioznawstwa
2009 10 27 Podróż służbowa funkcjonariusza SG ost[1]-1, 2009, rozporzadzenia SG
WstĂŞp do Filozofii wykÂł.III - 20.10.2010, Wstęp do filozofii
WstĂŞp do Filozofii. wykÂł I.6.10.2010, Wstęp do filozofii

więcej podobnych podstron