Home Page Title Page JJ II J I Page1of18 Go Back Full Screen Close Quit
Wykład 11
Sieci wielowarstwowe
Kazimierz Grygiel
Home Page Title Page JJ II J I Page2of18 Go Back Full Screen Close Quit
Home Page Title Page JJ II J I Page3of18 Go Back Full Screen Close Quit
Moc obliczeniowa
• Obliczanie funkcji boolowskich
– dobra wiadomość: jedna warstwa ukryta wystarczy, żeby
ob-liczać dowolną funkcję boolowską!
– zła wiadomość: w ogólnym przypadku liczba jednostek w
warstwie ukrytej zależy wykładniczo od liczby argumentów
funkcji (wejść)
• Aproksymacja funkcji ciągłych: analogicznie
• Aproksymacja dowolnego zadanego zbioru funkcji z zadaną
Home Page Title Page JJ II J I Page4of18 Go Back Full Screen Close Quit
Idea dowodu dla funkcji boolowskiej
F (x
1
, . . . , x
n
)
• Rozważamy dyskretny model bipolarny sieci z n wejściami i pojedynczym
wyjściem (−1, +1) oraz funkcją aktywacji sgn(·)
• Warstwa ukryta składa się z 2n jednostek o numerach j = 0, . . . , 2n − 1
• Każda jednostka ukryta reprezentuje jeden zestaw argumentów (wzorzec
wejściowy)
• Waga wjk połączenia wejścia k z jednostką j warstwy ukrytej jest równa
±1 w zależności od k-tej cyfry rozwinięcia dwójkowego j (+1 dla 1, -1 dla
0)
• Progi jednostek ukrytych są równe n − 1
• Waga w0j połączenia j-tej jednostki ukrytej z jednostką wyjściową jest
równa wartości (±1) funkcji F dla wzorca kodowanego przez j
• Próg jednostki wyjściowej jest równy minus sumie wag połączeń
wchodzą-cych
• Obserwacja: dokładnie jedna jednostka warstwy ukrytej odpala dla
dane-go wzorca wejściowedane-go. Wartość argumentu funkcji aktywacji dla jednostki wyjściowej (H0− θ0) jest równa ±2
Home Page Title Page JJ II J I Page5of18 Go Back Full Screen Close Quit
Objaśnienia
• Niech j - numer jednostki ukrytej odpowiadającej wzorcowi wejściowemu
ξ oraz j0, . . . , jn−1 — przekodowane „bipolarnie” rozwinięcie dwójkowe j.
Wtedy ξk = jk = wjk dla k = 0, . . . , n − 1
• Zatem dla wzorca ξ na wejściu
Hj = n−1 X k=0 wjkξk = n−1 X k=0 1 = n,
a dla dowolnej innej jednostki ukrytej i, i 6= j
Hi =
n−1
X
k=0
wikξk ¬ (n − 1) + (−1) = n − 2
• Niech θ0 = −PxF (x) = −(d − u) = u − d, gdzie d – liczba wartości
dodatnich, a u – liczba wartości ujemnych przyjmowanych przez F (i odp. dodatnich i ujemnych wag w0i). Wówczas dla wzorca ξ jednostka wyjściowa
dostaje sygnał
(a) H0 = +1 + (−1)((d − 1) − u) = +2 + (u − d), jeśli F (ξ) = +1
Home Page Title Page JJ II J I Page6of18 Go Back Full Screen Close Quit
Home Page Title Page JJ II J I Page7of18 Go Back Full Screen Close Quit
Uogólnienie - przypadek ciągły
• Funkcja aktywacji dla jednostek ukrytych: g(u) = tgh(u)
• Funkcja aktywacji dla jednostki wyjściowej: g(u) = sgn(u)
• Wagi połączeń warstwy wejściowej z warstwą ukrytą: w
jk= ±q,
gdzie q jest dostatecznie dużą liczbą rzeczywistą
• Progi jednostek ukrytych: (n − 1)q
• Wagi połączeń warstwy ukrytej z jednostką wyjściową: ±c
• Wartość argumentu funkcji aktywacji dla jednostki wyjściowej
Home Page Title Page JJ II J I Page8of18 Go Back Full Screen Close Quit
Funkcje NERF
• Jakie funkcje boolowskie można obliczać przy użyciu sieci, w
których liczba jednostek zależy wielomianowo od liczby wejść?
• Taką klasę funkcji nazwano Network Efficiently Representable
Functions (NERF)
Home Page Title Page JJ II J I Page9of18 Go Back Full Screen Close Quit
DODATEK:
Algorytm
wstecznej propagacji
Home Page Title Page JJ II J I Page10of18 Go Back Full Screen Close Quit
Oznaczenia i definicje
Numeracja warstw: m = 0, 1, . . . M(0: warstwa wejściowa, M : warstwa wyjściowa) Numeracja wzorców: µ = 1, . . . p
Wzorce wejściowe: ξµ Wzorce wynikowe: ηµ
wijm: wagi na połączeniach warstw m − 1 i m (m = 1, . . . M )
hm,µi = X
j
wijmVjm−1,µ: sygnały pobudzenia dla jednostek w warstwie m
g: funkcja aktywacji — w zależności od modelu:
g(h) = σβ(h) = 1 1 + e−2βh g(h) = tgh βh = e βh− e−βh eβh+ e−βh
Vim,µ = g(hm,µi ): stany jednostek w warstwie m (m = 1, . . . M )
Vi0,µ = ξiµ: sygnały wejściowe (= stany jednostek wejściowych)
Home Page Title Page JJ II J I Page11of18 Go Back Full Screen Close Quit
Minimalizacja błędu
• Funkcja błędu sieci dla zadanego zestawu wzorców treningowych:
E(w) = X µ Eµ(w) gdzie Eµ(w) = 1 2 X a (ηaµ− Oaµ(w))2
(sygnały wyjściowe Oaµ traktujemy tu jako funkcje wektora wag w)
• Metoda antygradientu: iteracyjne poprawianie wag wg wzoru
w := w − γ∂E
∂w
gdzie γ – stała dodatnia (rzędu 1)
• Rozpisując to na współrzędne mamy (m = 1, . . . M ) wmij := wmij +X µ ∆µwijm gdzie ∆µwmij = −γ∂E µ ∂wm ij
Home Page Title Page JJ II J I Page12of18 Go Back Full Screen Close Quit
Co to jest gradient?
• Gradient – w analizie matematycznej operator różniczkowy,
któ-ry polu skalarnemu (np. temperatura w pokoju)
przyporządko-wuje pole wektorowe (które wskazuje kierunek wektorów
naj-większego wzrostu funkcji, a których długość jest
proporcjonal-na do szybkości wzrostu)
Home Page Title Page JJ II J I Page13of18 Go Back Full Screen Close Quit
Poprawki i odchylenia
• Obliczenia poprawek dla ustalonego wzorca µ będziemy przeprowadzać
„war-stwami”, od najwyższej do najniższej, zaniedbując (uwaga!) indeks µ we wszystkich wyrazach • Lemat (i) ∂E ∂wm ij = −δimVjm−1 (ii) ∂E ∂Vm−1 a = −X b δbmwbam gdzie δbM = g0(hMb )(ηb− Ob) oraz δbm = g0(hmb )X c δcm+1wcbm+1 dla m = M −1, . . . , 1 Wielkości δim będziemy nazywać odchyleniami dla warstwy m
• Wniosek
Dla ustalonego wzorca µ
Home Page Title Page JJ II J I Page14of18 Go Back Full Screen Close Quit
Dowód lematu (1)
• Dowód przeprowadzimy za pomocą indukcji „w dół” wględem m • Dla warstwy wyjściowej (m = M ) mamy:
E = 1 2 X a (ηa− g(hMa )) 2 = 1 2 X a (ηa− g( X b wabMVbM −1))2
• W tej sumie tylko składnik (ηi− g(hMi ))2 zależy od zmiennej wijM. Zatem
∂E ∂wijM = 1 2· 2 · (ηi− g(h M i ))(−g0(h M i )) ∂hMi ∂wMij = −(ηi− Oi)g 0(hM i ) ∂hMi ∂wijM
• Ponieważ funkcje VbM −1 nie zależą od zmiennych wMij , więc
∂hMi ∂wMij = ∂ ∂wMij X b wibMVbM −1 = VjM −1 • Ostatecznie ∂E ∂wMij = −(ηi− Oi)g 0(hM i )V M −1 j = −δ M i V M −1 j
Home Page Title Page JJ II J I Page15of18 Go Back Full Screen Close Quit
Dowód lematu (2)
• Podobnie, zapisując E = 1 2 X b (ηb− g(hMb ))2, otrzymamy ∂E ∂VM −1 a = −X b (ηb− Ob)g0(hMb ) ∂hMb ∂VM −1 a ∂hMb ∂VM −1 a = ∂ ∂VM −1 a X c wbcMVcM −1 = wbaM • Ostatecznie ∂E ∂VM −1 a = −X b g0(hMb )(ηb− Ob)wbaM = − X b δbMwMbaco kończy dowód dla podstawy indukcji
• W kroku indukcyjnym wykorzystamy następujący wzór na różniczkowanie
cząstkowe superpozycji funkcji:
∂φ ∂xi = k X j=1 ∂φ ∂yj · ∂yj ∂xi gdzie φ(x) = φ(y1(x), . . . , yk(x))
Home Page Title Page JJ II J I Page16of18 Go Back Full Screen Close Quit
Dowód lematu (3)
• Załóżmy, że lemat jest prawdziwy dla pewnego m ¬ M . Korzystając ze
wzoru na różniczkowanie mamy:
∂E ∂wm−1ij = X b ∂E ∂Vbm−1 · ∂Vbm−1 ∂wijm−1 • Następnie ∂Vbm−1 ∂wijm−1 = ∂ ∂wm−1ij g(h m−1 b ) = g 0(hm−1 b ) ∂ ∂wm−1ij X c wm−1bc Vcm−2
• Widzimy, że lewa strona jest różna od zera tylko dla b = i i wtedy pochodna
sumy po prawej stronie redukuje się do Vjm−2. Stąd
∂E ∂wm−1ij = ∂E ∂Vim−1 · g 0(hm−1 i )V m−2 j
• Korzystając z założenia indukcyjnego otrzymujemy ostatecznie ∂E
∂wijm−1 = (−
X
a
Home Page Title Page JJ II J I Page17of18 Go Back Full Screen Close Quit
Dowód lematu (4)
• Podobnie ∂E ∂Vm−2 a =X b ∂E ∂Vbm−1 · ∂Vbm−1 ∂Vm−2 a • Mamy Vbm−1 = g(hm−1b ) = g(X c wbcm−1Vcm−2) skąd ∂Vbm−1 ∂Vm−2 a = g0(hm−1b )wm−1ba • Z założenia indukcyjnego ∂E ∂Vbm−1 = − X c δmc wcbm zatem ∂E ∂Vm−2 a =X b (−X c δcmwmcb)g0(hm−1b )wbam−1 = −X b δbm−1wbam−1Home Page Title Page JJ II J I Page18of18 Go Back Full Screen Close Quit