Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe:...

62

Transcript of Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe:...

Page 1: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Sztu zna Inteligen ja i Systemy Dorad ze

Sie i neuronowe

Sie i neuronowe 1

Page 2: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Sieci neuronowe: pomyslNa±ladowanie mózgu dziaªaj¡ ego jako sie¢ komórek neuronowy h

Axon

Cell body or Soma

Nucleus

Dendrite

Synapses

Axonal arborization

Axon from another cell

Synapse

Sygnaªy to zaszumione �bod¹ e trenuj¡ e� poziom poten jaªu elektry znegokomórek Sie i neuronowe 2

Page 3: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Sieci neuronowe: sztuczne i naturalneKomputer MózgJednostki obli zeniowe 1 CPU 1011 neuronów

108 bramek logi zny h > 20 typówJednostki pami� iowe 1010 bitów RAM 1011 neuronów

1011 bitów dysku 1014 synapsCzas yklu 1 ns (10−9 sek.) 1�10 ms (10−3 sek.)Szeroko±¢ pasma 1010 bitów/sek 1014 bitów/sekZmiany stanów/sek 109 1014

Równolegªo±¢ daje w i¡» umysªowi ludzkiemu ogromn¡ przewag� nad kompu-terem pomimo du»o wolniejszego zasu przetwarzania informa jiSie i neuronowe 3

Page 4: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Perceptron

~x = (x1, x2, . . . , xn) � wektor wej± iowy (obiekt dany h)

w1

w2

wn

w0

x1

x2

xn

x0=1

.

.

AAAAAAAAA

Σ wi xi

n

i=0 1 if > 0

-1 otherwise{o =Σ wi xi

n

i=0

~w = (w0, w1, . . . , wn) � wektor wag per eptronuw0 � waga przesuni� ia (�przesuwa� próg funk ji aktywa ji)

σ � progowa (skokowa) funk ja aktywa ji per eptronuo(~x) � warto±¢ wyj± ia per eptronu dla wektora ~x

o(~x) = σ(~w · ~x) =

1 if w0 + w1x1 + · · · + wnxn > 0−1 otherwise.

Sie i neuronowe 4

Page 5: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Perceptron: wyrazalnoscPer eptron reprezentuje liniowe i� ie w przestrzeni wej±¢

X

X

1

2

Sie i neuronowe 5

Page 6: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Perceptron: wyrazalnoscMo»na wyrazi¢ funk je logi zne AND, OR, NOT

W = -1.5

W = 1

W = 1

AND

W = -0.5

W = 1

W = 1

OR

W = 0.5

W = -1

NOT

0

1

2

00

1

1

2

Sie i neuronowe 6

Page 7: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Perceptron: wyrazalnoscMo»na wyrazi¢ funk je logi zne AND, OR, NOT

W = -1.5

W = 1

W = 1

AND

W = -0.5

W = 1

W = 1

OR

W = 0.5

W = -1

NOT

0

1

2

00

1

1

2

ale nie da si� dobra¢ wag do funk ji XORI 1

I 2

I 1

I 2

I 1

I 2

?

(a) (b) (c)

0 1

0

1

0

1 1

0

0 1 0 1

xor I 2I 1orI 1 I 2and I 1 I 2 Sie i neuronowe 7

Page 8: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Uczenie perceptronu: algorytmfun tion Per eptron-Learn(per eptron, examples,α) returns a per eptroninputs: examples, a set of examples, ea h with input ~x and output y(~x)per eptron, a per eptron with weights ~w = (w0, . . . , wn)

α, the learning raterepeatfor ea h ~x = (x1, . . . , xn) in examples do

∆ ~w←α (y(~x) − ~w · ~x )~x

~w← ~w + ∆ ~wenduntil some stopping riterion is satis�edreturn per eptron

Sie i neuronowe 8

Page 9: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Uczenie perceptronu: wlasnosciTwierdzenie 1Je±li zbiór dany h jest liniowo separowalnya wspóª zynnik szybko± i u zenia α wystar zaj¡ o maªy

⇒ algorytm u zenia per eptronu jest zbie»ny

Sie i neuronowe 9

Page 10: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Uczenie perceptronu: wlasnosciTwierdzenie 1Je±li zbiór dany h jest liniowo separowalnya wspóª zynnik szybko± i u zenia α wystar zaj¡ o maªy

⇒ algorytm u zenia per eptronu jest zbie»nyTwierdzenie 2Je±li zbiór dany h nie jest liniowo separowalny⇒ algorytm zbiega lokalnie do minimalnego bª�du ±redniokwadratowego

Sie i neuronowe 10

Page 11: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuBª¡d ±redniokwadratowy dla zbioru treningowego U

E[~w] =1

2Σ~x∈U(y(~x)− ~w · ~x)2

Sie i neuronowe 11

Page 12: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuBª¡d ±redniokwadratowy dla zbioru treningowego U

E[~w] =1

2Σ~x∈U(y(~x)− ~w · ~x)2

-1

0

1

2

-2-1

01

23

0

5

10

15

20

25

w0 w1

E[w

]

Gradient bª�du ±redniokwadratowego∇E[~w] =

∂E

∂w0

,∂E

∂w1

, · · ·∂E

∂wn

⇒ wskazuje kierunek, w którym bª¡d E[~w] ro±nie Sie i neuronowe 12

Page 13: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuBª¡d ±redniokwadratowy E[~w] = 1

2Σ~x∈U(y(~x)− ~w · ~x)2

∂E

∂wi

=

Sie i neuronowe 13

Page 14: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuBª¡d ±redniokwadratowy E[~w] = 1

2Σ~x∈U(y(~x)− ~w · ~x)2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− ~w · ~x)2

Sie i neuronowe 14

Page 15: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuBª¡d ±redniokwadratowy E[~w] = 1

2Σ~x∈U(y(~x)− ~w · ~x)2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− ~w · ~x)2

=1

2Σ~x∈U

∂wi

(y(~x)− ~w · ~x)2

Sie i neuronowe 15

Page 16: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuBª¡d ±redniokwadratowy E[~w] = 1

2Σ~x∈U(y(~x)− ~w · ~x)2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− ~w · ~x)2

=1

2Σ~x∈U

∂wi

(y(~x)− ~w · ~x)2

=1

2Σ~x∈U2(y(~x)− ~w · ~x)

∂wi

(y(~x)− ~w · ~x)

Sie i neuronowe 16

Page 17: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuBª¡d ±redniokwadratowy E[~w] = 1

2Σ~x∈U(y(~x)− ~w · ~x)2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− ~w · ~x)2

=1

2Σ~x∈U

∂wi

(y(~x)− ~w · ~x)2

=1

2Σ~x∈U2(y(~x)− ~w · ~x)

∂wi

(y(~x)− ~w · ~x)

= Σ~x∈U(y(~x)− ~w · ~x)∂

∂wi

(y(~x)− ~w · ~x)

Sie i neuronowe 17

Page 18: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuBª¡d ±redniokwadratowy E[~w] = 1

2Σ~x∈U(y(~x)− ~w · ~x)2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− ~w · ~x)2

=1

2Σ~x∈U

∂wi

(y(~x)− ~w · ~x)2

=1

2Σ~x∈U2(y(~x)− ~w · ~x)

∂wi

(y(~x)− ~w · ~x)

= Σ~x∈U(y(~x)− ~w · ~x)∂

∂wi

(y(~x)− ~w · ~x)

= Σ~x∈U(y(~x)− ~w · ~x)(−xi)

Sie i neuronowe 18

Page 19: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuBª¡d ±redniokwadratowy E[~w] = 1

2Σ~x∈U(y(~x)− ~w · ~x)2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− ~w · ~x)2

=1

2Σ~x∈U

∂wi

(y(~x)− ~w · ~x)2

=1

2Σ~x∈U2(y(~x)− ~w · ~x)

∂wi

(y(~x)− ~w · ~x)

= Σ~x∈U(y(~x)− ~w · ~x)∂

∂wi

(y(~x)− ~w · ~x)

= Σ~x∈U(y(~x)− ~w · ~x)(−xi)

= Σ~x∈U − (y(~x)− ~w · ~x)xi

Sie i neuronowe 19

Page 20: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuBª¡d ±redniokwadratowy E[~w] = 1

2Σ~x∈U(y(~x)− ~w · ~x)2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− ~w · ~x)2

=1

2Σ~x∈U

∂wi

(y(~x)− ~w · ~x)2

=1

2Σ~x∈U2(y(~x)− ~w · ~x)

∂wi

(y(~x)− ~w · ~x)

= Σ~x∈U(y(~x)− ~w · ~x)∂

∂wi

(y(~x)− ~w · ~x)

= Σ~x∈U(y(~x)− ~w · ~x)(−xi)

= Σ~x∈U − (y(~x)− ~w · ~x)xiSt¡d ∇E[~w] = Σ~x∈U − (y(~x)− ~w · ~x)~x

Sie i neuronowe 20

Page 21: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuGradient ∇E[~w] = Σ~x∈U − (y(~x)− ~w · ~x)~x wskazuje kierunek,w którym bª¡d ±redniokwadratowy E[~w] ro±nie

Sie i neuronowe 21

Page 22: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuGradient ∇E[~w] = Σ~x∈U − (y(~x)− ~w · ~x)~x wskazuje kierunek,w którym bª¡d ±redniokwadratowy E[~w] ro±nie

⇒ wagi per eptronu s¡ poprawiane w kierunkudokªadnie prze iwnym do gradientu −∇E[~w]

Sie i neuronowe 22

Page 23: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Zbieznosc uczenia perceptronuGradient ∇E[~w] = Σ~x∈U − (y(~x)− ~w · ~x)~x wskazuje kierunek,w którym bª¡d ±redniokwadratowy E[~w] ro±nie

⇒ wagi per eptronu s¡ poprawiane w kierunkudokªadnie prze iwnym do gradientu −∇E[~w]St¡d w algorytmie u zenia per eptronu:∆~w ← α(y(~x)− ~w · ~x)~x

~w ← ~w + ∆~w

Sie i neuronowe 23

Page 24: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Porownanie perceptronu i drzewa decyzyjnegoFunk ji wi�kszo± i (> poªowa bitów = 1) De yzja o wst¡pieniu do restaura jilepiej wyu zalna przez per eptron lepiej wyu zalna przez drzewo de yzyjne

0.4

0.5

0.6

0.7

0.8

0.9

1

0 10 20 30 40 50 60 70 80 90 100

Prop

ortio

n co

rrec

t on

test

set

Training set size

PerceptronDecision tree

0.4

0.5

0.6

0.7

0.8

0.9

1

0 10 20 30 40 50 60 70 80 90 100

Prop

ortio

n co

rrec

t on

test

set

Training set size

Decision treePerceptron

Sie i neuronowe 24

Page 25: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Plaska siec perceptronowReprezentuje funk j� wektorow¡Posz zególne per eptrony s¡ niezale»ne

⇒ trzeba trenowa¢ ka»dy per eptron oddzielnieInputUnits Units

OutputWj,i

Sie i neuronowe 25

Page 26: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Wielowarstwowa siec neuronowaJednostki:Jednostki podzielone s¡ na warstwy, ka»da jednostkaprzyporz¡dkowana jest do dokªadnie jednej warstwyWej± ia:Wej± ia podª¡ zone s¡ wyª¡ znie do jednostekznajduj¡ y h si� w najni»szej warstwiePoª¡ zenia:Poª¡ zenia wyst�puj¡ wyª¡ znie pomi�dzy jednostkamiz s¡siedni h warstw, ª¡ z¡ zawsze wyj± ia jednostekz warstwy ni»szej z wej± ami do jednostek w warstwie wy»szejWyj± ie:Typowa sie¢ z jedn¡ warto± i¡ funk ji ma tylko jedn¡ jednostk�w najwy»szej warstwie, wyj± ie z tej jednostki jest wyj± iem aªej sie iSie i neuronowe 26

Page 27: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Wielowarstwowa siec neuronowa: przyklad2 warstwy, 10 wej±¢, 4 neurony ukryte (w warstie wewn�trznej)

Input units

Hidden units

Output units ai

Wj,i

aj

Wk,j

ak

Sie i neuronowe 27

Page 28: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Wielowarstwowa siec neuronowa: ewaluacja

W1,3

1,4W

2,3W

2,4W

W3,5

4,5W

1

2

3

4

5

Sie i neuronowe 28

Page 29: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Wielowarstwowa siec neuronowa: ewaluacja

W1,3

1,4W

2,3W

2,4W

W3,5

4,5W

1

2

3

4

5

x5 = σ(w3,5 · x3 + w4,5 · x4)

= σ(w3,5 · σ(w1,3 · x1 + w2,3 · x2) + w4,5 · σ(w1,4 · x1 + w2,4 · x2))

Sie i neuronowe 29

Page 30: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Wielowarstwowa siec neuronowa: uczenieProblemProgowa funk ja aktywa ji jest nie i¡gªa i nieró»ni zkowalna

⇒ dla jednostek wewn�trzny h nie mo»na wyprowadzi¢gradientowej reguªy poprawiania wag gwarantuj¡ ej zbie»no±¢ u zeniaSie i neuronowe 30

Page 31: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Wielowarstwowa siec neuronowa: uczenieProblemProgowa funk ja aktywa ji jest nie i¡gªa i nieró»ni zkowalna

⇒ dla jednostek wewn�trzny h nie mo»na wyprowadzi¢gradientowej reguªy poprawiania wag gwarantuj¡ ej zbie»no±¢ u zeniaRozwi¡zanieZastosowanie ró»ni zkowalnej funk ji aktywa ji

Sie i neuronowe 31

Page 32: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Perceptron z sigmoidalna funkcja aktywacji

w1

w2

wn

w0

x1

x2

xn

x0 = 1

AAA...

Σnet = Σ wi xii=0

n1

1 + e-neto = σ(net) =

Sigmoidalna funk ja aktywa ji per eptronu σ(z) = 1

1+e−z

o(~x) = σ(~w · ~x) =1

1 + e−~w·~x

Sie i neuronowe 32

Page 33: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Perceptron z sigmoidalna funkcja aktywacjiFunk ja wyj± ia dla pojedy znego per eptronu z sigmoidaln¡ funk j¡ aktywa jii 2 wej± iami:

-4 -2 0 2 4x1-4

-20

24

x2

00.10.20.30.40.50.60.70.80.9

1Perceptron output

Sie i neuronowe 33

Page 34: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Wielowarstwowa siec neuronowa: przykladLi zba wej±¢: 2, li zba warstw: 2Warstwa ukryta: 2 per eptrony skierowane prze iwnie do siebie

⇒ de�niuje kraw�d¹++

+/−+/−

X X 21

-4 -2 0 2 4x1-4

-20

24

x2

00.10.20.30.40.50.60.70.80.9

hW(x1, x2)

Sie i neuronowe 34

Page 35: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Wielowarstwowa siec neuronowa: przykladLi zba wej±¢: 2, li zba warstw: 3Warstwa ukryta: 2 sie i tworz¡ e kraw�dzie ustawione prostopadle do siebie

⇒ de�niuje ograni zone wzniesienie-4 -2 0 2 4x1

-4-2

02

4

x2

00.10.20.30.40.50.60.70.80.9

1

hW(x1, x2)

Sie i neuronowe 35

Page 36: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Wielowarstwowa siec neuronowa: przykladRozpoznawanie sªów: 2 warstwy, 2 wej± ia, wiele wyj±¢

F1 F2

head hid who’d hood... ...

Sie i neuronowe 36

Page 37: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Wielowarstwowa siec neuronowa: wlasnosciFunk je boolowskie:Ka»da funk ja boolowska mo»e by¢ reprezentowana przez sie¢ z jedn¡ warstw¡ukryt¡, ale mo»e wymaga¢ wykªadni zej li zby jednostek ukryty hFunk je i¡gªe:Ka»da ograni zona funk ja i¡gªa mo»e by¢ aproksymowana z dowolnie maªymbªedem przez sie¢ z jedn¡ warstw¡ ukryt¡ [Cybenko 1989; Hornik et al. 1989℄Dowolna funk ja mo»e by¢ aproksymowana z dowoln¡ dokªadno± i¡ przez sie¢z dwoma warstwami ukytymi [Cybenko 1988℄

Sie i neuronowe 37

Page 38: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: algorytmfun tion Ba k-Prop-Update(examples, layers,α) returns a networkinputs: examples, a set of examples, ea h with input ~x and output ~y(~x)layer0, layer1, . . ., layern, neuron layers sorted from the bottom to the top

α, the learning raterepeatfor ea h ~x = (x1, . . . , xn) in examples dofor ea h unit j ∈layer0 do oj←xjfor ea h unit j ∈layerp in order from layer1 up to layern do

zj←Σi∈ layerp−1wi,joi

oj←σ(zj)for ea h unit j ∈layern do δj←σ′(zj)(yj(~x) − oj)for ea h unit j ∈layerp in order from layern−1 down to layer0 do

δj←σ′(zj)Σk∈ layerp+1wj,kδk

∆ wj,k←αδk oj

wj,k←wj,k + ∆ wj,kuntil some stopping riterion is satis�edreturn layers with modi�ed weights Sie i neuronowe 38

Page 39: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: wlasnosciFaktAlgorytm propaga ji wste znej dziaªa dla dowolnego grafu skierowanego bez ykli

Sie i neuronowe 39

Page 40: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: wlasnosciFaktAlgorytm propaga ji wste znej dziaªa dla dowolnego grafu skierowanego bez ykliTwierdzenieAlgorytm propaga ji wste znej zbiega lokalnie do minimalnego bª�du ±rednio-kwadratowego

Sie i neuronowe 40

Page 41: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

E[~w] =1

2Σ~x∈U(y(~x)− o(~x))2 =

1

2Σ~x∈U (y(~x)− σ(~w · ~x))2

Sie i neuronowe 41

Page 42: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

E[~w] =1

2Σ~x∈U(y(~x)− o(~x))2 =

1

2Σ~x∈U (y(~x)− σ(~w · ~x))2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− o(~x))2

Sie i neuronowe 42

Page 43: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

E[~w] =1

2Σ~x∈U(y(~x)− o(~x))2 =

1

2Σ~x∈U (y(~x)− σ(~w · ~x))2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− o(~x))2

=1

2Σ~x∈U

∂wi

(y(~x)− o(~x))2

Sie i neuronowe 43

Page 44: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

E[~w] =1

2Σ~x∈U(y(~x)− o(~x))2 =

1

2Σ~x∈U (y(~x)− σ(~w · ~x))2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− o(~x))2

=1

2Σ~x∈U

∂wi

(y(~x)− o(~x))2

=1

2Σ~x∈U2(y(~x)− o(~x))

∂wi

(y(~x)− o(~x))

Sie i neuronowe 44

Page 45: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

E[~w] =1

2Σ~x∈U(y(~x)− o(~x))2 =

1

2Σ~x∈U (y(~x)− σ(~w · ~x))2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− o(~x))2

=1

2Σ~x∈U

∂wi

(y(~x)− o(~x))2

=1

2Σ~x∈U2(y(~x)− o(~x))

∂wi

(y(~x)− o(~x))

= −Σ~x∈U(y(~x)− o(~x))∂

∂wi

o(~x)

Sie i neuronowe 45

Page 46: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

E[~w] =1

2Σ~x∈U(y(~x)− o(~x))2 =

1

2Σ~x∈U (y(~x)− σ(~w · ~x))2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− o(~x))2

=1

2Σ~x∈U

∂wi

(y(~x)− o(~x))2

=1

2Σ~x∈U2(y(~x)− o(~x))

∂wi

(y(~x)− o(~x))

= −Σ~x∈U(y(~x)− o(~x))∂

∂wi

o(~x)

= −Σ~x∈U(y(~x)− o(~x))∂σ

∂z[z = ~w · ~x]

∂wi

(~w · ~x)

Sie i neuronowe 46

Page 47: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

E[~w] =1

2Σ~x∈U(y(~x)− o(~x))2 =

1

2Σ~x∈U (y(~x)− σ(~w · ~x))2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− o(~x))2

=1

2Σ~x∈U

∂wi

(y(~x)− o(~x))2

=1

2Σ~x∈U2(y(~x)− o(~x))

∂wi

(y(~x)− o(~x))

= −Σ~x∈U(y(~x)− o(~x))∂

∂wi

o(~x)

= −Σ~x∈U(y(~x)− o(~x))∂σ

∂z[z = ~w · ~x]

∂wi

(~w · ~x)

∂wi

(~w · ~x) = xi Sie i neuronowe 47

Page 48: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

E[~w] =1

2Σ~x∈U(y(~x)− o(~x))2 =

1

2Σ~x∈U (y(~x)− σ(~w · ~x))2

∂E

∂wi

=∂

∂wi

1

2Σ~x∈U(y(~x)− o(~x))2

=1

2Σ~x∈U

∂wi

(y(~x)− o(~x))2

=1

2Σ~x∈U2(y(~x)− o(~x))

∂wi

(y(~x)− o(~x))

= −Σ~x∈U(y(~x)− o(~x))∂

∂wi

o(~x)

= −Σ~x∈U(y(~x)− o(~x))∂σ

∂z[z = ~w · ~x]

∂wi

(~w · ~x)

= −Σ~x∈U(y(~x)− o(~x))∂σ

∂z[z = ~w · ~x]xi

Sie i neuronowe 48

Page 49: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

∇E[~w] = −Σ~x∈U∂σ∂z

[z = ~w · ~x](y(~x)− o(~x))~x

Sie i neuronowe 49

Page 50: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

∇E[~w] = −Σ~x∈U∂σ∂z

[z = ~w · ~x](y(~x)− o(~x))~xSt¡d dla neuronów j z najwy»szej warstwy stosujemy zmiany wag:

δj ←∂σ∂z

[z = ~w · ~x](yj(~x)− oj(~x))

∆wi,j ← αδjxi,j

Sie i neuronowe 50

Page 51: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

∇E[~w] = −Σ~x∈U∂σ∂z

[z = ~w · ~x](y(~x)− o(~x))~xSt¡d dla neuronów j z najwy»szej warstwy stosujemy zmiany wag:

δj ←∂σ∂z

[z = ~w · ~x](yj(~x)− oj(~x))

∆wi,j ← αδjxi,jNeurony z ni»szy h warstw musz¡ mie¢ odpowiednik bª�du yj(~x)− oj(~x)

Sie i neuronowe 51

Page 52: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

∇E[~w] = −Σ~x∈U∂σ∂z

[z = ~w · ~x](y(~x)− o(~x))~xSt¡d dla neuronów j z najwy»szej warstwy stosujemy zmiany wag:

δj ←∂σ∂z

[z = ~w · ~x](yj(~x)− oj(~x))

∆wi,j ← αδjxi,jNeurony z ni»szy h warstw musz¡ mie¢ odpowiednik bª�du yj(~x)− oj(~x)⇒ dla ka»dego neuronu j ∈ layerp li zona jest wa»ona �suma bª�dów�na wyj± ia h tego neuronu Σk∈layerp+1

wj,kδk

Sie i neuronowe 52

Page 53: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: zbieznosc uczenia

∇E[~w] = −Σ~x∈U∂σ∂z

[z = ~w · ~x](y(~x)− o(~x))~xSt¡d dla neuronów j z najwy»szej warstwy stosujemy zmiany wag:

δj ←∂σ∂z

[z = ~w · ~x](yj(~x)− oj(~x))

∆wi,j ← αδjxi,jNeurony z ni»szy h warstw musz¡ mie¢ odpowiednik bª�du yj(~x)− oj(~x)⇒ dla ka»dego neuronu j ∈ layerp li zona jest wa»ona �suma bª�dów�na wyj± ia h tego neuronu Σk∈layerp+1

wj,kδkZmiana wag de�niowana jest wtedy jako:δj ←

∂σ∂z

[z = ~w · ~x]Σk∈layerp+1wj,kδk

∆wi,j ← αδjxi,j

Sie i neuronowe 53

Page 54: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Prop. wsteczna z sigmoidalna funkcja aktywacjiSigmoidalna funk ja aktywa ji σ(z) = 1

1+e−z we wszystki h neurona h

o(~x) = σ(~w · ~x) =1

1 + e−~w·~x

∂σ

∂z=

1

1 + e−z

1−1

1 + e−z

∂σ

∂z[z = ~w · ~x] = o(~x)(1− o(~x))Warto± i wspóª zynników zmiany wag δj� dla neuronów j z warstwy najwy»szej:δj ← oj(1− oj)(yj(~x)− oj)� dla neuronów j z ka»dej ni»szej warstwy p:δj ← oj(1− oj)Σk∈layerp+1

wj,kδk

Sie i neuronowe 54

Page 55: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Propagacja wsteczna: przyklad zbieznosciEpoka: przebiega jednokrotnie wszystkie obiekty treningowe poprawiaj¡ wagi,na konie wyli za bªad sumary zny dla aªego zbioru treningowego

⇒ algorytm u zenia zatrzymuje si�, kiedy bª¡d przestaje male¢

0

2

4

6

8

10

12

14

0 50 100 150 200 250 300 350 400

Tot

al e

rror

on

trai

ning

set

Number of epochs Sie i neuronowe 55

Page 56: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Dobor wspolczynnika szybkosci uczenia αZazwy zaj:α ∈ [0.01; 0.5]Po ka»dej ustalonej li zbie epok mo»na redukowa¢ geometry znie:

α := α · c c ∈ [0.9; 0.99]

⇒ Pozwala na szybk¡ zbie»no±¢ na po z¡tku (np. α ≈ 0.5)i pre yzyjn¡ zbie»no±¢ do lokalnego maksimum w ko« owej fazie (α ≈ 0)Sie i neuronowe 56

Page 57: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Uczenie neuronow ukrytych (wewnetrznych)

Inputs Outputs

Input Output10000000 → 1000000001000000 → 0100000000100000 → 0010000000010000 → 0001000000001000 → 0000100000000100 → 0000010000000010 → 0000001000000001 → 00000001

Sie i neuronowe 57

Page 58: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Uczenie neuronow ukrytych (wewnetrznych)

Inputs Outputs

Input Hidden OutputValues10000000 → .89 .04 .08 → 1000000001000000 → .01 .11 .88 → 0100000000100000 → .01 .97 .27 → 0010000000010000 → .99 .97 .71 → 0001000000001000 → .03 .05 .02 → 0000100000000100 → .22 .99 .99 → 0000010000000010 → .80 .01 .98 → 0000001000000001 → .60 .94 .01 → 00000001 Sie i neuronowe 58

Page 59: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Uczenie neuronow ukrytych (wewnetrznych)Trenowanie wag dla jednego z neuronów wewn�trzny h:-5

-4

-3

-2

-1

0

1

2

3

4

0 500 1000 1500 2000 2500

Weights from inputs to one hidden unit

Sie i neuronowe 59

Page 60: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Rozpoznawanie cyfr recznie pisanych3-nn = 2.4% bª�dówSie¢ 3-warstwowa (400�300�10) = 1.6% bª�dówLeNet (sie¢ 4-warstwowa, 768�192�30�10) = 0.9% bª�dów

Sie i neuronowe 60

Page 61: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Sieci rekurencyjneZawieraj¡ ykle skierowane, zmieniaj¡ wagi w kolejny h takta h zegara

x(t) x(t) c(t)

x(t) c(t)

y(t)

b

y(t + 1)

Feedforward network Recurrent network

Recurrent network unfolded in time

y(t + 1)

y(t + 1)

y(t – 1)

x(t – 1) c(t – 1)

x(t – 2) c(t – 2)

(a) (b)

(c) Sie i neuronowe 61

Page 62: Sieci neuronowe: pomysl - mimuw.edu.plawojna/SID/wyklady/sieci_neuronowe.pdf · Sieci neuronowe: pomysl Na±la d o w ani e mózgu dziaª a j ¡ cego jak o sie¢ k omó rek neurono

Sieci rekurencyjne

♦ Sie i Hop�elda (hologra� zne pami� i aso ja yjne)� symetry zne wagi� progowa funk ja aktywa ji σ(z) = sign(z)

♦ Maszyny Bolztmanna� u»ywaj¡ sto hasty zny h funk ji aktywa jiSie i neuronowe 62