Sieci neuronowe: pomysl
Na±lad owanie 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
Sieci neuronowe: sztuczne i naturalne
Komputer Mózg
Jednostki obli zeni owe 1 CPU
10
11
neuronów
10
8
bramek logi zny h > 20 typów
Jednostki pami iowe
10
10
bitów RAM10
11
neuronów10
11
bitów dysku10
14
synaps Czas yklu 1 ns (10
−9
sek.) 110 ms (10
−3
sek.) Szeroko±¢ pasma10
10
bitów/sek10
14
bitów/sek Zmiany stanów/sek10
9
10
14
Równolegªo±¢ daje w i¡» umysªowi ludzkiemu ogromn¡ przewag nad
Perceptron
~
x
= (x
1
, x
2
, . . . , x
n
)
wektor wej± iowy (obiekt dany h)w
1
w
2
w
n
w
0
x
1
x
2
x
n
x
0
=1
.
.
.
Σ
AAA
AAA
AAA
Σ
n
wi xi
i=0
1 if > 0
-1 otherwise
{
o =
Σ
wi xi
n
i=0
~
w
= (w
0
, w
1
, . . . , w
n
)
wektor wag per eptronuw
0
waga przesuni i a (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
ifw
0
+ w
1
x
1
+ · · · + w
n
x
n
>
0
−
1
Perceptron: wyrazalnosc
Per eptron reprezentuje liniowe i ie w przestrzeni wej±¢
X
X
1
2
Perceptron: wyrazalnosc
Mo»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
0
0
1
1
2
Perceptron: wyrazalnosc
Mo»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
0
0
1
1
2
ale nie da si dobra¢ wag do funk ji XOR
I
1
I
1
I
1
?
Uczenie perceptronu: algorytm
fun tion Per eptron-Learn(per eptron,examples ,
α
) returns a per eptron inputs : examples , a set of examples, ea h with input~
x
and outputy(~x)
per eptron, a per eptron with weights
w
~
= (w
0
, . . . , w
n
)
α
, the learning rate repeatfor ea h
~
x
= (x
1
, . . . , x
n
)
in examples do∆ ~
w ← α
(y(~x) − ~
w · ~
x
)~x
~
w ← ~
w
+ ∆ ~
w
end
until some stopping riterion is satised
Uczenie perceptronu: wlasnosci
Twierdzenie 1
Je±li zbiór dany h jest liniowo separowalny
a wspóª zynnik szybko± i u zenia
α
wystar zaj¡ o maªyUczenie perceptronu: wlasnosci
Twierdzenie 1
Je±li zbiór dany h jest liniowo separowalny
a wspóª zynnik szybko± i u zenia
α
wystar zaj¡ o maªy⇒
algorytm u zenia per eptronu jest zbie»nyTwierdzenie 2
Je±li zbiór dany h nie jest liniowo separowalny
Zbieznosc uczenia perceptronu
Bª¡d ±redniokwadratowy dla zbioru treningowego
U
E
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
Zbieznosc uczenia perceptronu
Bª¡d ±redniokwadratowy dla zbioru treningowego
U
E
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
-1
0
1
2
-2
-1
0
1
2
3
0
5
10
15
20
25
w0
w1
E[w]
Gradient bªdu ±redniokwadratowego
∇E
[ ~
w
] =
∂E
∂w
0
,
∂E
∂w
1
, · · ·
∂E
∂w
n
Zbieznosc uczenia perceptronu
Bª¡d ±redniokwadratowyE
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
∂E
∂w
i
=
Zbieznosc uczenia perceptronu
Bª¡d ±redniokwadratowyE
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
∂E
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
Zbieznosc uczenia perceptronu
Bª¡d ±redniokwadratowyE
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
∂E
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − ~
w · ~
x
)
2
Zbieznosc uczenia perceptronu
Bª¡d ±redniokwadratowyE
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
∂E
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
2(y(~x) − ~
w · ~
x
)
∂
∂w
i
(y(~x) − ~
w · ~
x
)
Zbieznosc uczenia perceptronu
Bª¡d ±redniokwadratowyE
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
∂E
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
2(y(~x) − ~
w · ~
x
)
∂
∂w
i
(y(~x) − ~
w · ~
x
)
=
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
∂
∂w
i
(y(~x) − ~
w · ~
x
)
Zbieznosc uczenia perceptronu
Bª¡d ±redniokwadratowyE
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
∂E
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
2(y(~x) − ~
w · ~
x
)
∂
∂w
i
(y(~x) − ~
w · ~
x
)
=
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
∂
∂w
i
(y(~x) − ~
w · ~
x
)
=
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)(−x
i
)
Zbieznosc uczenia perceptronu
Bª¡d ±redniokwadratowyE
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
∂E
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
2(y(~x) − ~
w · ~
x
)
∂
∂w
i
(y(~x) − ~
w · ~
x
)
=
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
∂
∂w
i
(y(~x) − ~
w · ~
x
)
=
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)(−x
i
)
=
Σ
~
x∈U
−
(y(~x) − ~
w · ~
x
)x
i
Zbieznosc uczenia perceptronu
Bª¡d ±redniokwadratowyE
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
∂E
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − ~
w · ~
x
)
2
=
1
2
Σ
~
x∈U
2(y(~x) − ~
w · ~
x
)
∂
∂w
i
(y(~x) − ~
w · ~
x
)
=
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)
∂
∂w
i
(y(~x) − ~
w · ~
x
)
=
Σ
~
x∈U
(y(~x) − ~
w · ~
x
)(−x
i
)
=
Σ
~
x∈U
−
(y(~x) − ~
w · ~
x
)x
i
Zbieznosc uczenia perceptronu
Gradient
∇E
[ ~
w
] =
Σ
~
x∈U
−
(y(~x) − ~
w · ~
x
)~x
wskazuje kierunek, w którym bª¡d ±redniokwadratowyE
[ ~
w]
ro±nieZbieznosc uczenia perceptronu
Gradient
∇E
[ ~
w
] =
Σ
~
x∈U
−
(y(~x) − ~
w · ~
x
)~x
wskazuje kierunek, w którym bª¡d ±redniokwadratowyE
[ ~
w]
ro±nie⇒
wagi per eptronu s¡ poprawiane w kierunkuZbieznosc uczenia perceptronu
Gradient
∇E
[ ~
w
] =
Σ
~
x∈U
−
(y(~x) − ~
w · ~
x
)~x
wskazuje kierunek, w którym bª¡d ±redniokwadratowyE
[ ~
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
~
Porownanie perceptronu i drzewa decyzyjnego
Funk ji wikszo± i (> poªowa bitów = 1) De yzja o wst¡pieniu do restaura ji
lepiej 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
Proportion correct on test set
Training set size
Perceptron
Decision 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
Proportion correct on test set
Training set size
Decision tree
Plaska siec perceptronow
Reprezentuje funk j wektorow¡
Posz zególne per eptrony s¡ niezale» n e
⇒
trzeba trenowa¢ ka»dy per eptron oddzielnieInput
Output
W
j,i
Wielowarstwowa siec neuronowa
Jednostki:
Jednostki podzielone s¡ na warstwy, ka»da jednostka
przyporz¡dkowana jest do dokªadnie jednej warstwy
Wej± ia:
Wej± ia podª¡ zone s¡ wyª¡ znie do jednostek
znajduj¡ y h si w najni»szej warstwie
Poª¡ zenia:
Poª¡ zenia wystpuj¡ wyª¡ znie pomidzy jednostkami
z s¡siedni h warstw, ª¡ z¡ zawsze wyj± ia jednostek
z warstwy ni»szej z wej± ami do jednostek w warstwie wy»szej
Wyj± ie:
Typowa sie¢ z jedn¡ warto± i¡ funk ji ma tylko jedn¡ jednostk
Wielowarstwowa siec neuronowa: przyklad
2 warstwy, 10 wej±¢, 4 neurony ukryte (w warstie wewntrznej)
Input units
Hidden units
Output units
a
i
W
j,i
a
j
W
k,j
a
k
Wielowarstwowa siec neuronowa: ewaluacja
W
1,3
1,4
W
2,3
W
2,4
W
W
3,5
4,5
W
1
2
3
4
5
Wielowarstwowa siec neuronowa: ewaluacja
W
1,3
1,4
W
2,3
W
2,4
W
W
3,5
4,5
W
1
2
3
4
5
x
5
= σ(w
3
,5
· x
3
+ w
4
,5
· x
4
)
Wielowarstwowa siec neuronowa: uczenie
Problem
Progowa funk ja aktywa ji jest nie i¡gªa i nieró»ni zkowal n a
⇒
dla jednostek wewntrzny h nie mo»na wyprowadzi¢Wielowarstwowa siec neuronowa: uczenie
Problem
Progowa funk ja aktywa ji jest nie i¡gªa i nieró»ni zkowal n a
⇒
dla jednostek wewntrzny h nie mo»na wyprowadzi¢gradientowej reguªy poprawiania wag gwarantuj¡ ej zbie»no±¢ u zenia
Rozwi¡zanie
Perceptron z sigmoidalna funkcja aktywacji
w1
w2
wn
w0
x1
x2
xn
x0 = 1
A
A
A
.
.
.
Σ
net =
Σ
wi xi
i=0
n
1
1 + e
-net
o =
σ
(net) =
Sigmoidalna funk ja aktywa ji per eptronu
σ
(z) =
1
1+
e
−z
o
(~x) = σ( ~
w · ~
x
) =
1
1 + e
− ~
w·~
x
Perceptron z sigmoidalna funkcja aktywacji
Funk ja wyj± ia dla pojedy znego per eptronu z sigmoidaln¡ funk j¡ aktywa ji
i 2 wej± iami:
-4
0
2
4
x
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Perceptron output
Wielowarstwowa siec neuronowa: przyklad
Li zba wej±¢: 2, li zba warstw: 2
Warstwa ukryta: 2 per eptrony skierowane prze iwnie do siebie
⇒
deniuje krawd¹+
+
+/−
+/−
X
1
X 2
-4
-2
0
2
4
x
1
-4
-2
0
2
4
x
2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
h
W
(x
1
, x
2
)
Wielowarstwowa siec neuronowa: przyklad
Li zba wej±¢: 2, li zba warstw: 3
Warstwa ukryta: 2 sie i tworz¡ e krawdzie ustawione prostopadle do siebie
⇒
deniuje ograni zone wzniesienie-4
0
2
4
x
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
h
W
(x
1
, x
2
)
Wielowarstwowa siec neuronowa: przyklad
Rozpoznawanie sªów: 2 warstwy, 2 wej± ia, wiele wyj±¢
F1
F2
head
hid
who’d
hood
Wielowarstwowa siec neuronowa: wlasnosci
Funk 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 h
Funk je i¡gªe:
Ka»da ograni zona funk ja i¡gªa mo»e by¢ aproksymowana z dowolnie maªym
bª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¢
Propagacja wsteczna: algorytm
fun tion Ba k-Prop-Update(examples,layers,
α
) returns a network inputs : examples , a set of examples, ea h with input~
x
and output~
y(~x)
layer
0
,layer1
,. . .
,layern
, neuron layers sorted from the bottom to the topα
, the learning rate repeatfor ea h
~
x
= (x
1
, . . . , x
n
)
in examples do for ea h unitj ∈
layer0
doo
j
← x
j
for ea h unit
j ∈
layerp
in order from layer1
up to layern
doz
j
←
Σ
i∈ layer
p−1
w
i,j
o
i
o
j
← σ
(z
j
)
for ea h unit
j ∈
layern
doδ
j
← σ
′
(z
j
)(y
j
(~x) − o
j
)
for ea h unit
j ∈
layerp
in order from layern−1
down to layer0
doδ
j
← σ
′
(z
j
)
Σ
k∈ layer
p+1
w
j,k
δ
k
∆ w
j,k
← αδ
k
o
j
w
j,k
← w
j,k
+ ∆ w
j,k
Propagacja wsteczna: wlasnosci
Fakt
Algorytm propaga ji wste znej dziaªa dla dowolnego grafu skierowanego bez
Propagacja wsteczna: wlasnosci
Fakt
Algorytm propaga ji wste znej dziaªa dla dowolnego grafu skierowanego bez
ykli
Twierdzenie
Algorytm propaga ji wste znej zbiega lokalnie do minimalnego bªdu
Propagacja wsteczna: zbieznosc uczenia
E
[ ~
w
] =
1
2
Σ
~
x∈U
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
(y(~x) − σ( ~
w · ~
x
))
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
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − o(~x))
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
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − o(~x))
2
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
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
2(y(~x) − o(~x))
∂
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
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
2(y(~x) − o(~x))
∂
∂w
i
(y(~x) − o(~x))
= −
Σ
~
x∈U
(y(~x) − o(~x))
∂
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
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
2(y(~x) − o(~x))
∂
∂w
i
(y(~x) − o(~x))
= −
Σ
~
x∈U
(y(~x) − o(~x))
∂
∂w
i
o
(~x)
= −
Σ
~
x∈U
(y(~x) − o(~x))
∂σ
∂z
[z = ~
w · ~
x
]
∂
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
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
2(y(~x) − o(~x))
∂
∂w
i
(y(~x) − o(~x))
= −
Σ
~
x∈U
(y(~x) − o(~x))
∂
∂w
i
o
(~x)
= −
Σ
~
x∈U
(y(~x) − o(~x))
∂σ
∂z
[z = ~
w · ~
x
]
∂
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
∂w
i
=
∂
∂w
i
1
2
Σ
~
x∈U
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
∂
∂w
i
(y(~x) − o(~x))
2
=
1
2
Σ
~
x∈U
2(y(~x) − o(~x))
∂
∂w
i
(y(~x) − o(~x))
= −
Σ
~
x∈U
(y(~x) − o(~x))
∂
∂w
i
o
(~x)
= −
Σ
~
x∈U
(y(~x) − o(~x))
∂σ
∂z
[z = ~
w · ~
x
]
∂
∂w
i
( ~
w · ~
x
)
= −
Σ
~
x∈U
(y(~x) − o(~x))
∂σ
Propagacja wsteczna: zbieznosc uczenia
Propagacja wsteczna: zbieznosc uczenia
∇E
[ ~
w
] = −
Σ
~
x∈U
∂σ
∂z
[z = ~
w · ~
x
](y(~x) − o(~x))~x
St¡d dla neuronów
j
z najwy»szej warstwy stosujemy zmiany wag:δ
j
←
∂σ
∂z
[z = ~
w · ~
x](y
j
(~x) − o
j
(~x))
Propagacja wsteczna: zbieznosc uczenia
∇E
[ ~
w
] = −
Σ
~
x∈U
∂σ
∂z
[z = ~
w · ~
x
](y(~x) − o(~x))~x
St¡d dla neuronów
j
z najwy»szej warstwy stosujemy zmiany wag:δ
j
←
∂σ
∂z
[z = ~
w · ~
x](y
j
(~x) − o
j
(~x))
∆w
i,j
← αδ
j
x
i,j
Propagacja wsteczna: zbieznosc uczenia
∇E
[ ~
w
] = −
Σ
~
x∈U
∂σ
∂z
[z = ~
w · ~
x
](y(~x) − o(~x))~x
St¡d dla neuronów
j
z najwy»szej warstwy stosujemy zmiany wag:δ
j
←
∂σ
∂z
[z = ~
w · ~
x](y
j
(~x) − o
j
(~x))
∆w
i,j
← αδ
j
x
i,j
Neurony z ni»szy h warstw musz¡ mie¢ odpowiednik bªdu
y
j
(~x) − o
j
(~x)
⇒
dla ka»dego neuronuj ∈ layer
p
li zona jest wa»ona suma bªdów na wyj± ia h tego neuronuΣ
k∈layer
Propagacja wsteczna: zbieznosc uczenia
∇E
[ ~
w
] = −
Σ
~
x∈U
∂σ
∂z
[z = ~
w · ~
x
](y(~x) − o(~x))~x
St¡d dla neuronów
j
z najwy»szej warstwy stosujemy zmiany wag:δ
j
←
∂σ
∂z
[z = ~
w · ~
x](y
j
(~x) − o
j
(~x))
∆w
i,j
← αδ
j
x
i,j
Neurony z ni»szy h warstw musz¡ mie¢ odpowiednik bªdu
y
j
(~x) − o
j
(~x)
⇒
dla ka»dego neuronuj ∈ layer
p
li zona jest wa»ona suma bªdów na wyj± ia h tego neuronuΣ
k∈layer
p+1
w
j,k
δ
k
Zmiana wag deniowana jest wtedy jako:
Prop. wsteczna z sigmoidalna funkcja aktywacji
Sigmoidalna funk ja aktywa ji
σ
(z) =
1
1+
e
−z
we wszystki h neurona ho(~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
← o
j
(1 − o
j
)(y
j
(~x) − o
j
)
dla neuronów
j
z ka»dej ni»szej warstwyp
:Propagacja wsteczna: przyklad zbieznosci
Epoka: 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¢2
4
6
8
10
12
14
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
)Uczenie neuronow ukrytych (wewnetrznych)
Inputs
Outputs
Input Output 10000000→
10000000 01000000→
01000000 00100000→
00100000 00010000→
00010000Uczenie neuronow ukrytych (wewnetrznych)
Inputs
Outputs
Input Hidden Output
Values 10000000
→
.89 .04 .08→
10000000 01000000→
.01 .11 .88→
01000000 00100000→
.01 .97 .27→
00100000 00010000→
.99 .97 .71→
00010000 00001000→
.03 .05 .02→
00001000 00000100→
.22 .99 .99→
00000100 00000010→
.80 .01 .98→
00000010→
→
Uczenie neuronow ukrytych (wewnetrznych)
Trenowanie wag dla jednego z neuronów wewntrzny h:
-5
-4
-3
-2
-1
0
1
2
3
4
0
500
1000
1500
2000
2500
Rozpoznawanie cyfr recznie pisanych
3-nn = 2.4% bªdów
Sie¢ 3-warstwowa (40030010) = 1.6% bªdów
Sieci rekurencyjne
Zawiera j¡ 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
y(t + 1)
y(t + 1)
y(t – 1)
x(t – 1)
c(t – 1)
Sieci rekurencyjne
♦
Sie i Hopelda (hologra zne pami i aso ja yjne) symetry zne wagiprogowa funk ja aktywa ji