Elementy inteligencji obliczeniowej Paweł Liskowski Institute of Computing Science, Poznań University of Technology 9 October 2018 1 / 19
Perceptron Perceptron (Rosenblatt, 1957) to najprostsza forma sztucznego neuronu. { 1 if w0 + w 1 x 1 + w 2 x 2 +... w n x n > 0 o(x 1,..., x n ) = 1 otherwise w i to wagi o wartościach rzeczywistych, w 0 próg lub inaczej bias (interpretacja) Przykład modelowania z wykorzystaniem perceptronu [tablica]. Wektorowo: o(x) = sgn(w x) gdzie Przestrzeń hipotez: { 1 if y > 0 sgn(y) = 1 otherwise H = {w w R (n+1) } 2 / 19
Perceptron - ekspersyjność Perceptron reprezentuje hiperpłaszczyznę w n-wymiarowej przestrzeni. jak perceptron dzieli tę przestrzeń? jakie jest równanie tej płaszczyzny? jakie są ograniczenia takiego sformułowania? Liniowo separowalne zbiory przykładów. (przykład) Co jeszcze możemy reprezentować z wykorzystaniem perceptronu? Funkcje boolowskie (jakie?), Funkcje m-of-n, Co z tego wynika? Każda funkcja boolowska może być reprezentowana przez dwuwarstwową sieć złożoną z perceptronów. 3 / 19
Perceptron - algorytm uczący Problem - znajdź wektor wag w, który pozwoli zwrócić poprawną wartość ±1 dla każdego przykładu uczącego. Algorytmy uczące: perceptron rule, delta rule. Idea: Zacznij z losowymi wagami. Iteracyjnie stosuj perceptron do każdego przykładu uczącego, modyfikując wagi w przypadku popełnienia błędu. Powtarzaj powyższe aż wszystkie przykłady będą klasyfikowane poprawnie. Wagi są modyfikowane zgodnie z tzw. perceptron training rule: w i w i + w i gdzie w i = α(t o)x i 4 / 19
Perceptron training rule - przykład Jak zmienią się wagi gdy: t = o t = 1, zaś o = 1 t = 1, zaś o = 1 Czy dostrzegasz ograniczenie tego algorytmu uczącego? Algorytm zbiega w skończonej liczbie kroków tylko jeśli przykłady uczące są liniowo separowalne. 5 / 19
Delta rule Motywacja - liniowo nie separowalne zbiory danych. Idea algorytmu - użyj spadku gradientu aby przeszukać przestrzeń hipotez. Rozważmy liniowy perceptron (bez progowania): o(x) = w x oraz miarę błędu hipotezy w stosunku do zbioru przykładów D: Uwagi: E jest funkcją w E(w) = 1 (t d o d ) 2 2 d D Później podamy Bayesowskie wyjaśnienie postaci E 6 / 19
Spadek gradientu - wizualizacja Jak wygląda przestrzeń rozważanych hipotez (wag w)? Uwagi: Interpretacja? Kształt paraboli zależy od D. Jedno globalne optimum. 7 / 19
Spadek gradientu W jaki sposób wyznaczyć kierunek najszybszego spadku wzdłuż powierzchni indukowanej przez E? E(w) = [ E w 0, E w 1,..., E w n ] E(w) jest wektorem pochodnych cząstkowych E względem elementów w. Interpretacja? A co z E(w) Reguła ucząca dla spadku gradientu to: w w + w gdzie Pytania kontrolne: Jaka jest rola α? Dlaczego przed? w = α E(w) 8 / 19
Spadek gradientu - podsumowanie E(w) = [ E w 0, E w 1,..., E w n ] Reguła ucząca dla spadku gradientu to: gdzie Lub dla każdego parametru: gdzie w w + w w = α E(w) w i w i + w i w i = α E w i Najszybszy wzrost wartości E osiągany przez zmianę w i proporcjonalnie do E w i. 9 / 19
Algorytm uczący - delta rule Kluczowe pytanie: E w i =... [tablica] w i w i + w i w i = α E w i w i = α d D(t d o d )x id 10 / 19
Algorytm uczący - delta rule Dane wejściowe: zbiór uczący D składający się z przykładów (x, t). α prędkość uczenia. Algorytm: Inicjalizuj wagi w i małymi losowymi wartościami. Wykonuj dopóki warunek stopu nie jest spełniony: Inicjalizuj w i zerami. Dla każdego przykładu (x, t) D wykonuj: Wykorzystując x oblicz o Dla każdej wagi w i oblicz: w i w i + α(t o)x i Dla każdej wagi w i oblicz: w i w i + w i 11 / 19
Stochastyczny spadek gradientu Kiedys stosować metodę spadku gradientu (SGD): przestrzeń hipotez jest ciągła, błąd jest różniczkowalny względem parametrów hipotezy. Główne trudności w stosowaniu SGD: powolna zbieżność algorytmu, brak gwarancji znalezienia globalnego optimum. Popularny wariant metody: stochastic gradient descent. Wagi są aktualizowane po każdym przykładzie: w i = α(t d o d )x i Jakie są zalety stosowania E d (w) względem E(w)? 12 / 19
Regresja logistyczna Cel: dla wektora cech x zwróć ŷ = P(y = 1 x). Parametry: x R n, b R. Wyjście modelu: ŷ = σ(w T x + b) σ(z) = 1 1 + exp( z) Co się dzieje gdy z jest duże? A gdy małe? [tablica] 13 / 19
Regresja logistyczna - funkcja straty i kosztu Model: ŷ = σ(w T x + b), σ(z) = Funkcja straty (ang. loss function): 1 1 + exp( z) L(ŷ, y) = y log ŷ (1 y) log (1 ŷ) Rozważmy dwa przypadki gdy y = 1 i y = 0. [tablica] Funkcja kosztu (ang. cost function) J(w, b) = 1 m m L(ŷ i, y i ) i=1 Graf obliczeń [tablica]. 14 / 19
Regresja logistyczna jako jednowarstwowa sieć Algorytm uczący - spadek gradientu: w i w i + w i Propagacja przykładu: Wsteczna propogacja [tablica]: w i = α E w i z = w T x + b ŷ = a = σ(z) L w i = (a y)x i L = (a y) b 15 / 19
Regresja logistyczna - wektoryzacja Dlaczego? [demo] Chcemy pozbyć się dwóch pętli for [jakich?] Dla każdego przykładu uczącego x i obliczamy: Niech: Wtedy oraz: z i = w T x i + b a i = σ(z i ) X = x 1 x 2... x m Z = w T X + b A = σ(z) L w = 1 X(A Y )T m L b = 1 m sum(a Y ) 16 / 19
Sieć neuronowa Dwuwarstwowa sieć z jedną warstwą ukrytą: x 1 a [1] 1 a [1] 2 x 2 a [1] 3 a [2] 1 ŷ x 3 a [1] 4 z [1] 1 = w [1] T [1] 1 x + b 1, a[1] 1 = σ(z [1] 1 ) z [1] 2 = w [1] T [1] 2 x + b 2, a[1] 2 = σ(z [1] 2 ). ŷ = a [2] 1 = σ(w [2] T 1 a [1] + b [2] 1 ) 17 / 19
Sieć neuronowa Propagacja przykładu przez sieć: Dla m przykładów: z [1] = W [1] x + b [1] a [1] = σ(z [1] ) z [2] = W [2] a [1] + b [2] a [2] = σ(z [2] ) (1) Z [1] = W [1] x + b [1] A [1] = σ(z [1] ) Z [2] = W [2] A [1] + b [2] A [2] = σ(z [2] ) X = x 1 x 2... x m A [1] = a [1] 1 a [1] 2... a [1] m (2) 18 / 19
Wsteczna propagacja błędu - backprop h x i w hi a h w kh k a k L(a k,t k ) a h+1 x i+1 k+1 a h+2 x i+2 a k+1 L(a k+1,t k+1) a h+3 Wyprowadzenie algorytmu backprop: [tablica] 19 / 19