Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie
Podstawy uczenia maszynowego
Wykład 12 – Uczenie sieci neuronowychJarosław Miszczak
26/05/2021
1 Uczenie nadzorowane Uczenie perceptronu Wsteczna propagacja 2 Uczenie nienadzorowane Sieci Kohonena 3 Podsumowanie Podsumowanie Materiały dodatkowe
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
3 / 26Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuPerceptron przepuszcza pobudzenie jxj θj przez funkcję Θ
Heaviside’a, gdzie xj(i ) to j -ta składowa przykładu x(i )
Celem jest taki taki dobór θi żeby zminimalizować średni błąd
na danych uczących, 1 m m X i =1 |yi − ˆyi|.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuNaszym wejściem jest zbiór przykładów z etykietami
{(xi, yi) : i = 1, . . . , m}
Perceptron przepuszcza pobudzenie P jx
(i )
j θj przez funkcję Θ
Heaviside’a, gdzie xj(i ) to j -ta składowa przykładu x(i )
Celem jest taki taki dobór θi żeby zminimalizować średni błąd
na danych uczących, 1 m m X i =1 |yi − ˆyi|. 4 / 26
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuNaszym wejściem jest zbiór przykładów z etykietami
{(xi, yi) : i = 1, . . . , m}
Perceptron przepuszcza pobudzenie P jx
(i )
j θj przez funkcję Θ
Heaviside’a, gdzie xj(i ) to j -ta składowa przykładu x(i )
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuNaszym wejściem jest zbiór przykładów z etykietami
{(xi, yi) : i = 1, . . . , m}
Perceptron przepuszcza pobudzenie P jx
(i )
j θj przez funkcję Θ
Heaviside’a, gdzie xj(i ) to j -ta składowa przykładu x(i )
Celem jest taki taki dobór θi żeby zminimalizować średni błąd
na danych uczących, 1 m m X i =1 |yi − ˆyi|. 4 / 26
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuProces uczenia polega na wykonaniu dla każdego przykładu xi, i = 1, 2, . . . , m, następujących kroków:
θj(t + 1) = θj(t) + r (yi− ˆyi)xj(i ).
Czasem błąd perceptronu dla i -tego przykładu oznacza się jako
δi = yi − ˆyi,
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuProces uczenia polega na wykonaniu dla każdego przykładu xi, i = 1, 2, . . . , m, następujących kroków: Wylicz ˆ yi(t) = Θ( X j xj(i )θj).
Ustal nową wagę jako
θj(t + 1) = θj(t) + r (yi− ˆyi)xj(i ).
Czasem błąd perceptronu dla i -tego przykładu oznacza się jako
δi = yi − ˆyi,
i regułę tą nazywa się regułą delta.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuProces uczenia polega na wykonaniu dla każdego przykładu xi, i = 1, 2, . . . , m, następujących kroków: Wylicz ˆ yi(t) = Θ( X j xj(i )θj).
Ustal nową wagę jako
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuProces uczenia polega na wykonaniu dla każdego przykładu xi, i = 1, 2, . . . , m, następujących kroków: Wylicz ˆ yi(t) = Θ( X j xj(i )θj).
Ustal nową wagę jako
θj(t + 1) = θj(t) + r (yi− ˆyi)xj(i ).
Czasem błąd perceptronu dla i -tego przykładu oznacza się jako
δi = yi − ˆyi,
i regułę tą nazywa się regułą delta.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuPrzykład (nie) uczenia się perceptronu
prostą.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuPrzykład (nie) uczenia się perceptronu
XOR czy przykład, że perceptron nie działa.
NAND czyli NOT AND – zbiory separowalne jedną prostą.
Przykład w systemie Mathematica: Perceptron-NAND-XOR.nb
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuPrzykład (nie) uczenia się perceptronu
XOR czy przykład, że perceptron nie działa. NAND czyli NOT AND – zbiory separowalne jedną prostą.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuPrzykład (nie) uczenia się perceptronu
XOR czy przykład, że perceptron nie działa. NAND czyli NOT AND – zbiory separowalne jedną prostą.
Przykład w systemie Mathematica: Perceptron-NAND-XOR.nb
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronu Co z tego wynika?Dlatego zamiast funkcji Heaviside wykorzystuje się jej ciągłe odpowiedniki.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronu Co z tego wynika?Uczenie perceptronu przypomina krok w metodzie zejścia gradientowego.
Ale żeby wyliczać gradient musimy mieć funkcję różniczkowalną.
Dlatego zamiast funkcji Heaviside wykorzystuje się jej ciągłe odpowiedniki.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronu Co z tego wynika?Uczenie perceptronu przypomina krok w metodzie zejścia gradientowego.
Ale żeby wyliczać gradient musimy mieć funkcję różniczkowalną.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronu Co z tego wynika?Uczenie perceptronu przypomina krok w metodzie zejścia gradientowego.
Ale żeby wyliczać gradient musimy mieć funkcję różniczkowalną.
Dlatego zamiast funkcji Heaviside wykorzystuje się jej ciągłe odpowiedniki.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuJako ciągła funkcja aktywacji sprawdzają się
tangens hiperboliczny f (x ) = e
βx− e−βx
eβx+ e−βx
Ich wybór jest częścią modelu neuronu.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuJako ciągła funkcja aktywacji sprawdzają się funkcja logistyczna f (x ) = 1 1 + exp(−βx ) tangens hiperboliczny f (x ) = e βx− e−βx eβx+ e−βx
Ich wybór jest częścią modelu neuronu.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuJako ciągła funkcja aktywacji sprawdzają się
funkcja logistyczna f (x ) = 1
1 + exp(−βx )
Ich wybór jest częścią modelu neuronu. -2 -1 0 1 2 -1.0 -0.5 0.0 0.5 1.0
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuJako ciągła funkcja aktywacji sprawdzają się funkcja logistyczna f (x ) = 1 1 + exp(−βx ) tangens hiperboliczny f (x ) = e βx− e−βx eβx+ e−βx
Ich wybór jest częścią modelu neuronu. -2 -1 0 1 2 -1.0 -0.5 0.0 0.5 1.0 8 / 26
Jako ciągła funkcja aktywacji sprawdzają się funkcja logistyczna f (x ) = 1 1 + exp(−βx ) tangens hiperboliczny f (x ) = e βx− e−βx eβx+ e−βx
Ich wybór jest częścią modelu neuronu. -2 -1 0 1 2 -1.0 -0.5 0.0 0.5 1.0
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=1 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=2
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=3 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=4
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=5 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=6
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=7 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=8
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=9 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=10
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=11 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=12
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=13 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=14
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=15 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=16
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=17 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=18
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=19 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=20
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=21 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=22
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=23 9 / 26
W tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=24
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuW tych funkcjach aktywacji możemy sterować stromością sigmoidy.
Na przykład zmieniając wartość
β dla funkcja logistycznej,
f (x ) = 1 1 + exp(−βx ). -2 -1 0 1 2 0.0 0.2 0.4 0.6 0.8 1.0 β=25 9 / 26
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuZałóżmy teraz, że rozpatrujemy funkcję błędu
J(θ) = m X i =1 J(i )(w ) = 1 2 m X i =1 y(i )− f (X k θkxk(i )) !2 .
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuZałóżmy teraz, że rozpatrujemy funkcję błędu
J(θ) = m X i =1 J(i )(w ) = 1 2 m X i =1 y(i )− f (X k θkxk(i )) !2 .
Jeżeli f jest funkcją różniczkowalną, to możemy określić kierunek zmiany wag w kierunku przeciwnym do kierunku gradientu funkcji kosztu.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuPo przetworzeniu i -tego przykładu wektor wag jest aktualizowany jako
θk(i + 1) = θk(i ) − r ∂J ∂θk
Tutaj, pomijając indeks przykładu dla ˆy ≡ ˆy(i ) (odpowiedź dla i -tego przykładu), oraz e ≡ e(i ), ˆy = f (e) oraz e =P
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuPo przetworzeniu i -tego przykładu wektor wag jest aktualizowany jako θk(i + 1) = θk(i ) − r ∂J ∂θk = θk(i ) − r ∂J ∂ ˆy ∂ ˆy ∂θk = θk(i ) − r ∂J ∂ ˆy ∂ ˆy ∂e ∂e ∂θk
Tutaj, pomijając indeks przykładu dla ˆy ≡ ˆy(i ) (odpowiedź dla i -tego przykładu), oraz e ≡ e(i ), ˆy = f (e) oraz e =P
kθkxk.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuPo przetworzeniu i -tego przykładu wektor wag jest aktualizowany jako θk(i + 1) = θk(i ) − r ∂J ∂θk = θk(i ) − r ∂J ∂ ˆy ∂ ˆy ∂θk = θk(i ) − r ∂J ∂ ˆy ∂ ˆy ∂e ∂e ∂θk
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronuPo przetworzeniu i -tego przykładu wektor wag jest aktualizowany jako θk(i + 1) = θk(i ) − r ∂J ∂θk = θk(i ) − r ∂J ∂ ˆy ∂ ˆy ∂θk = θk(i ) − r ∂J ∂ ˆy ∂ ˆy ∂e ∂e ∂θk
Tutaj, pomijając indeks przykładu dla ˆy ≡ ˆy(i ) (odpowiedź dla i -tego przykładu), oraz e ≡ e(i ), ˆy = f (e) oraz e =P
kθkxk.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronu ∂ ˆy Natomiast wzbudzenie e =P kxkθk, więc ∂e ∂θk = xk θk(i + 1) = θk(i ) − r ∂J ∂ ˆy ∂ ˆy ∂e ∂e ∂θkUczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronu Ponieważ J(ˆy ) = 12(y − ˆy )2 mamy ∂J ∂ ˆy = −(y − ˆy ) Natomiast wzbudzenie e =P kxkθk, więc ∂e ∂θk = xk θk(i + 1) = θk(i ) + r (y − ˆy ) ∂ ˆy ∂e ∂e ∂θk 12 / 26Ponieważ J(ˆy ) = 12(y − ˆy )2 mamy ∂J ∂ ˆy = −(y − ˆy ) Natomiast wzbudzenie e =P kxkθk, więc ∂e ∂θk = xk θk(i + 1) = θk(i ) + r (y − ˆy ) ∂ ˆy ∂exk
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Uczenie perceptronu Ponieważ J(ˆy ) = 12(y − ˆy )2 mamy ∂J ∂ ˆy = −(y − ˆy ) Natomiast wzbudzenie e =P kxkθk, więc ∂e ∂θk = xk θk(i + 1) = θk(i ) + r (y − ˆy ) ∂ ˆy ∂exkUwzględniając, że ∂ ˆ∂ey to pochodna funkcji aktywacji, dostajemy
∆θk = r δxk
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Wsteczna propagacjaAle wiemy już, że sieci jednowarstwowe nie są zbyt potężne. Realnym problemem jest obliczenie wag dla sieci w których mam wiele warstwa neuronów.
W ten sposób działa algorytm wstecznej propagacji błędu.
D.E. Rumelhart, G.E. Hinton, R.J. Williams, Learning representations by back-propagating errors, Nature. 323 (6088): 533-536 (1986).
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Wsteczna propagacjaAle wiemy już, że sieci jednowarstwowe nie są zbyt potężne. Realnym problemem jest obliczenie wag dla sieci w których mam wiele warstwa neuronów.
W tym wypadku błędy popełniane na neuronie w warstwie n.
Neuron warstwy poprzedniej powinien dostać informację o błędzie proporcjonalną do współczynnika z jakim przyczynia się do aktywacji neuronu w warstwie n + 1.
W ten sposób działa algorytm wstecznej propagacji błędu.
D.E. Rumelhart, G.E. Hinton, R.J. Williams, Learning representations by back-propagating errors, Nature. 323 (6088): 533-536 (1986).
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Wsteczna propagacjaAle wiemy już, że sieci jednowarstwowe nie są zbyt potężne. Realnym problemem jest obliczenie wag dla sieci w których mam wiele warstwa neuronów.
W tym wypadku błędy popełniane na neuronie w warstwie n. Neuron warstwy poprzedniej powinien dostać informację o błędzie proporcjonalną do współczynnika z jakim przyczynia się do aktywacji neuronu w warstwie n + 1.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Wsteczna propagacjaAle wiemy już, że sieci jednowarstwowe nie są zbyt potężne. Realnym problemem jest obliczenie wag dla sieci w których mam wiele warstwa neuronów.
W tym wypadku błędy popełniane na neuronie w warstwie n. Neuron warstwy poprzedniej powinien dostać informację o błędzie proporcjonalną do współczynnika z jakim przyczynia się do aktywacji neuronu w warstwie n + 1.
W ten sposób działa algorytm wstecznej propagacji błędu.
D.E. Rumelhart, G.E. Hinton, R.J. Williams, Learning representations by back-propagating errors, Nature. 323 (6088): 533-536 (1986).
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Wsteczna propagacjaAlgorytm wstecznej propagacji błędu pozwala na efektywne uczenie jednokierunkowych sieci neuronowych.
Algorytm wstecznej propagacji błędu jako algorytm spadku gradientowego nie jest odporny na ich występowanie.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Wsteczna propagacjaAlgorytm wstecznej propagacji błędu pozwala na efektywne uczenie jednokierunkowych sieci neuronowych.
Głównym problemem jest postać funkcji kosztu, a właściwie występowanie lokalnych minimów.
W przypadku sieci nieliniowych funkcja kosztu ma zazwyczaj wiele lokalnych minimów.
Algorytm wstecznej propagacji błędu jako algorytm spadku gradientowego nie jest odporny na ich występowanie.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Wsteczna propagacjaAlgorytm wstecznej propagacji błędu pozwala na efektywne uczenie jednokierunkowych sieci neuronowych.
Głównym problemem jest postać funkcji kosztu, a właściwie występowanie lokalnych minimów.
W przypadku sieci nieliniowych funkcja kosztu ma zazwyczaj wiele lokalnych minimów.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Uczenie perceptronu Wsteczna propagacja
Uczenie nadzorowane
Wsteczna propagacjaAlgorytm wstecznej propagacji błędu pozwala na efektywne uczenie jednokierunkowych sieci neuronowych.
Głównym problemem jest postać funkcji kosztu, a właściwie występowanie lokalnych minimów.
W przypadku sieci nieliniowych funkcja kosztu ma zazwyczaj wiele lokalnych minimów.
Algorytm wstecznej propagacji błędu jako algorytm spadku gradientowego nie jest odporny na ich występowanie.
Uczenie nadzorowane
Uczenie nienadzorowane
Podsumowanie
Sieci Kohonena
Uczenie nienadzorowane
Skoro sieci neuronowe mają być sposobem na odtworzenie działania mózgu, to powinny działać tak dobrze jak mózg.
Mózg/neurony biologiczne potrafią sobie radzić z rozpoznawaniem wzoróc bez nadzoru.
Nic dziwnego, że chcielibyśmy uczyć sieci neuronowe sposób nienadzorowany.
Uczenie nadzorowane
Uczenie nienadzorowane
Podsumowanie
Sieci Kohonena
Uczenie nienadzorowane
Skoro sieci neuronowe mają być sposobem na odtworzenie działania mózgu, to powinny działać tak dobrze jak mózg.
Mózg/neurony biologiczne potrafią sobie radzić z rozpoznawaniem wzoróc bez nadzoru.
Uczenie nadzorowane
Uczenie nienadzorowane
Podsumowanie
Sieci Kohonena
Uczenie nienadzorowane
Skoro sieci neuronowe mają być sposobem na odtworzenie działania mózgu, to powinny działać tak dobrze jak mózg.
Mózg/neurony biologiczne potrafią sobie radzić z rozpoznawaniem wzoróc bez nadzoru.
Nic dziwnego, że chcielibyśmy uczyć sieci neuronowe sposób nienadzorowany.
Uczenie nadzorowane
Uczenie nienadzorowane
Podsumowanie
Sieci Kohonena
Uczenie nienadzorowane
Wracamy zatem do świata w którym dane nie są przypisane do klas.
Uczenie nadzorowane
Uczenie nienadzorowane
Podsumowanie
Sieci Kohonena
Uczenie nienadzorowane
Wracamy zatem do świata w którym dane nie są przypisane do klas.
Nasz zbiór uczący jest postaci x1, x2, . . . , xm czyli nie mamy
etykiet.
Sieć może nauczyć się podobieństwa między przykładami. Przykładem takich sieci są sieci Kohonena.
Uczenie nadzorowane
Uczenie nienadzorowane
Podsumowanie
Sieci Kohonena
Uczenie nienadzorowane
Wracamy zatem do świata w którym dane nie są przypisane do klas.
Nasz zbiór uczący jest postaci x1, x2, . . . , xm czyli nie mamy
etykiet.
Uczenie nadzorowane
Uczenie nienadzorowane
Podsumowanie
Sieci Kohonena
Uczenie nienadzorowane
Wracamy zatem do świata w którym dane nie są przypisane do klas.
Nasz zbiór uczący jest postaci x1, x2, . . . , xm czyli nie mamy
etykiet.
Sieć może nauczyć się podobieństwa między przykładami. Przykładem takich sieci są sieci Kohonena.
Sieć Kohonena
Sieć Kohonena lub odwzorowanie Kohonena lub Self-Organizing Map zaproponowano w latach ’80.
The principal discovery is that in a simple network of adaptive
physical elements which receives signals from a primary event
space, the signal representations are automatically mapped onto a set of output responses in such a way that the responses acquire
the same topological order as that of the primary events.
Teuvo Kohonen, Self-organized formation of topologically correct feature maps, Biological Cybernetics volume 43, pages 59-69 (1982)
Uczenie nadzorowane
Uczenie nienadzorowane
Podsumowanie
Sieci Kohonena
Uczenie nienadzorowane
Sieć Kohonena określona jest przez
Graf połączeń między neuronami (najczęściej siatka 2D lub siatka heksagonalna).
Funkcję odległości służącą do określenia podobieństwa między przykładami.
Funkcję sąsiedztwa służącą do określenia wpływu neuronu na najbliższych sąsiadów.
Uczenie nadzorowane
Uczenie nienadzorowane
Podsumowanie
Sieci Kohonena
Uczenie nienadzorowane
Sieć Kohonena określona jest przez
Graf połączeń między neuronami (najczęściej siatka 2D lub siatka heksagonalna).
Uczenie nadzorowane
Uczenie nienadzorowane
Podsumowanie
Sieci Kohonena
Uczenie nienadzorowane
Sieć Kohonena określona jest przez
Graf połączeń między neuronami (najczęściej siatka 2D lub siatka heksagonalna).
Funkcję odległości służącą do określenia podobieństwa między przykładami.
Funkcję sąsiedztwa służącą do określenia wpływu neuronu na najbliższych sąsiadów.
Sieć Kohonena określona jest przez
Graf połączeń między neuronami (najczęściej siatka 2D lub siatka heksagonalna).
Funkcję odległości służącą do określenia podobieństwa między przykładami.
Funkcję sąsiedztwa służącą do określenia wpływu neuronu na najbliższych sąsiadów.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Sieci Kohonena
Uczenie nienadzorowane
Sieci KohonenaAlgorytm uczenia sieci Kohonena
Inicjalizacja wartości wag w nodach. Dla każdego przykład ze zbioru uczącego
Oblicz odległość między przykładem a elementami siec. Wybierz neuron najbliższy do przykładu.
Zaktualizuj wartość neuronu zgodnie ze wzorem wBMU(i + 1) = wBMU(i ) + r (i )d (wBMU(i ), x ).
Warunkiem stopu może być liczba iteracji lub wyzerowanie r (i ).
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Sieci Kohonena
Uczenie nienadzorowane
Sieci KohonenaAlgorytm uczenia sieci Kohonena
Inicjalizacja wartości wag w nodach.
Dla każdego przykład ze zbioru uczącego
Warunkiem stopu może być liczba iteracji lub wyzerowanie r (i ).
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Sieci Kohonena
Uczenie nienadzorowane
Sieci KohonenaAlgorytm uczenia sieci Kohonena
Inicjalizacja wartości wag w nodach. Dla każdego przykład ze zbioru uczącego
Oblicz odległość między przykładem a elementami siec. Wybierz neuron najbliższy do przykładu.
Zaktualizuj wartość neuronu zgodnie ze wzorem wBMU(i + 1) = wBMU(i ) + r (i )d (wBMU(i ), x ).
Warunkiem stopu może być liczba iteracji lub wyzerowanie r (i ).
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Sieci Kohonena
Uczenie nienadzorowane
Sieci KohonenaAlgorytm uczenia sieci Kohonena
Inicjalizacja wartości wag w nodach. Dla każdego przykład ze zbioru uczącego
Oblicz odległość między przykładem a elementami siec.
Warunkiem stopu może być liczba iteracji lub wyzerowanie r (i ).
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Sieci Kohonena
Uczenie nienadzorowane
Sieci KohonenaAlgorytm uczenia sieci Kohonena
Inicjalizacja wartości wag w nodach. Dla każdego przykład ze zbioru uczącego
Oblicz odległość między przykładem a elementami siec. Wybierz neuron najbliższy do przykładu.
Zaktualizuj wartość neuronu zgodnie ze wzorem wBMU(i + 1) = wBMU(i ) + r (i )d (wBMU(i ), x ).
Warunkiem stopu może być liczba iteracji lub wyzerowanie r (i ).
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Sieci Kohonena
Uczenie nienadzorowane
Sieci KohonenaAlgorytm uczenia sieci Kohonena
Inicjalizacja wartości wag w nodach. Dla każdego przykład ze zbioru uczącego
Oblicz odległość między przykładem a elementami siec. Wybierz neuron najbliższy do przykładu.
Zaktualizuj wartość neuronu zgodnie ze wzorem wBMU(i + 1) = wBMU(i ) + r (i )d (wBMU(i ), x ).
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Sieci Kohonena
Uczenie nienadzorowane
Sieci KohonenaAlgorytm uczenia sieci Kohonena
Inicjalizacja wartości wag w nodach. Dla każdego przykład ze zbioru uczącego
Oblicz odległość między przykładem a elementami siec. Wybierz neuron najbliższy do przykładu.
Zaktualizuj wartość neuronu zgodnie ze wzorem wBMU(i + 1) = wBMU(i ) + r (i )d (wBMU(i ), x ).
Warunkiem stopu może być liczba iteracji lub wyzerowanie r (i ).
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Sieci Kohonena
Uczenie nienadzorowane
Sieci KohonenaW sieci Kohonena podobne przykłady powinny aktywizować sąsiednie neurony.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Sieci Kohonena
Uczenie nienadzorowane
Sieci KohonenaW sieci Kohonena podobne przykłady powinny aktywizować sąsiednie neurony.
Dlatego sieci Kohonena zachowują topologię przestrzeni przykładów.
Sieć Kohonena dokonuje mapowania z przestrzeni wielowymiarowej na przestrzeń 2D.
W sieci Kohonena podobne przykłady powinny aktywizować sąsiednie neurony.
Dlatego sieci Kohonena zachowują topologię przestrzeni przykładów.
Sieć Kohonena dokonuje mapowania z przestrzeni wielowymiarowej na przestrzeń 2D.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Sieci Kohonena
Uczenie nienadzorowane
Sieci KohonenaPrzykład sieci Kohonena
Przykład w Orange: orange-painted-som-ex.ows
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Podsumowanie Materiały dodatkowe
Podsumowanie
Do zapamiętania na temat uczenia sieci neuronowych:
Sieci neuronowe mogą być uczone w sposób nadzorowany lub nienadzorowany.
Dla efektywnego uczenia wielowarstwowych sieci jednokierunkowych (np. MLP) kluczowy jest algorytm wstecznej propagacji błędów.
Sieci uczone bez nadzoru są wzorowane na układzie struktur w mózgu.
Przykładem sieci uczonej bez nadzoru są odwzorowania Kohonena.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Podsumowanie Materiały dodatkowe
Podsumowanie
Do zapamiętania na temat uczenia sieci neuronowych:
Sieci neuronowe mogą być uczone w sposób nadzorowany lub nienadzorowany.
w mózgu.
Przykładem sieci uczonej bez nadzoru są odwzorowania Kohonena.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Podsumowanie Materiały dodatkowe
Podsumowanie
Do zapamiętania na temat uczenia sieci neuronowych:
Sieci neuronowe mogą być uczone w sposób nadzorowany lub nienadzorowany.
Dla efektywnego uczenia wielowarstwowych sieci jednokierunkowych (np. MLP) kluczowy jest algorytm wstecznej propagacji błędów.
Sieci uczone bez nadzoru są wzorowane na układzie struktur w mózgu.
Przykładem sieci uczonej bez nadzoru są odwzorowania Kohonena.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Podsumowanie Materiały dodatkowe
Podsumowanie
Do zapamiętania na temat uczenia sieci neuronowych:
Sieci neuronowe mogą być uczone w sposób nadzorowany lub nienadzorowany.
Dla efektywnego uczenia wielowarstwowych sieci jednokierunkowych (np. MLP) kluczowy jest algorytm wstecznej propagacji błędów.
Sieci uczone bez nadzoru są wzorowane na układzie struktur w mózgu.
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Podsumowanie Materiały dodatkowe
Podsumowanie
Do zapamiętania na temat uczenia sieci neuronowych:
Sieci neuronowe mogą być uczone w sposób nadzorowany lub nienadzorowany.
Dla efektywnego uczenia wielowarstwowych sieci jednokierunkowych (np. MLP) kluczowy jest algorytm wstecznej propagacji błędów.
Sieci uczone bez nadzoru są wzorowane na układzie struktur w mózgu.
Przykładem sieci uczonej bez nadzoru są odwzorowania Kohonena.
3Blue1Brown: But what is a neural network?, Chapter 1, Deep learning, https://youtu.be/aircAruvnKk
3Blue1Brown: Backpropagation calculus, Chapter 4, Deep learning, https://youtu.be/tIeHLnjs5U8
StatQuest: Neural Networks Pt. 2: Backpropagation Main Ideas, https://youtu.be/IN2XmBhILt4
D.E. Rumelhart, G.E. Hinton, R.J. Williams, Learning
representations by back-propagating errors, Nature. 323
(6088): 533-536 (1986). Dostępny na stronie G. Hintona. Teuvo Kohonen and Timo Honkela (2007), Kohonen network, Scholarpedia, 2(1):1568.
MiniSOM: minimalistic and NumPy-based implementation of the Self Organizing Map,
Uczenie nadzorowane Uczenie nienadzorowane Podsumowanie Podsumowanie Materiały dodatkowe
Podsumowanie
Następny wykład: kolokwium/test.