wstep do sieci neuronowych, wyk ad 01 neuron biologiczny ...rudy/wsn/wyk/wsn-wyklad-01-perc.pdf ·...
TRANSCRIPT
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Wstęp do sieci neuronowych, wykład 01Neuron biologiczny. Model perceptronu prostego.
M. Czoków, J. Piersa, A. Rutkowski
Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika
2018-10-08
Projekt pn. „Wzmocnienie potencjału dydaktycznego UMK w Toruniu w dziedzinach matematyczno-przyrodniczych”realizowany w ramach Poddziałania 4.1.1 Programu Operacyjnego Kapitał Ludzki
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
In memoriam
prof. dr hab. Tomasz Schreiber (1975-2010)
Wikipedia: Tomasz Schreiber
Wspomnienie o Tomku Schreiberze
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Podziękowania
Podziękowania dla Jarosława Piersy i Mai Czoków, którzy sąautorami większości materiałów do poniższego wykładu.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Organizacja przedmiotu
1 Organizacja przedmiotuOrganizacja przedmiotu
2 Podwaliny sieci neuronowychNeuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
3 Zagadnienia klasyfikacyjne: perceptron prostyModel perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
4 Uczenie perceptronuZagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Organizacja przedmiotu
Zaliczenie
Zaliczenie wykładu:
egzamin pisemny
wymagane jest zaliczenie laboratoriów przed podejściem doegzaminu
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Organizacja przedmiotu
Zaliczenie
Zaliczenie laboratoriów:
implementacja programów (3 – 6 programów)
ocena BDB+ z laboratorium zwalnia z egzaminu
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Organizacja przedmiotu
Program przedmiotu
1 Biologiczny model neuronu2 Model perceptronu prostego3 Inne modele pojedynczego neuronu: maszyna liniowa, Adaline4 Sieci skierowane, algorytm wstecznej propagacji błędu (BEP)5 Uczenie bez nauczyciela, samoorganizacja topologiczna6 Analiza składowych głównych (PCA)7 Sieci rekurencyjne, Sieć Hopfielda, Maszyny Boltzmanna i
symulowane wyżarzanie8 Splotowe sieci neuronowe (CNN)9 Przegląd oprogramowania
10 Maszyny Wektorów Nośnych (SVM — Support VektorMachines)
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Organizacja przedmiotu
Literatura
R. Rojas Neural Networks, A Systematic Introduction, Springer1996,
P. Peretto, Introduction to Modeling Neural Networks,Cambridge University Press 1994,
S. I. Gallant Neural Network Learning and Expert Systems, TheMIT Press, 1993,
L. Rutkowski, Metody i techniki sztucznej inteligencji,Wydawnictwo Naukowe PWN 2005,
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Organizacja przedmiotu
Literatura
T. Schreiber, Notatki do wykładu WSN,
Ian Goodfellow, Yoshua Bengio, Aaron Courville, Deep Learning(on-line),
J. Żurada, M. Barski, W. Jędruch, Sztuczne sieci neuronowe,Wydawnictwo Naukowe PWN 1996,
E. Izhikevich, Dynamical Systems in Neuroscience, MIT 2007,
C. Bishop, Neural Networks for Pattern Recognition, OxfordUniversity Press 1995.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Organizacja przedmiotu
Literatura
Słowa kluczowe: Artificial Nneural Network (ANN), MachineLearning (ML)
https://www.reddit.com/r/MachineLearning/
Scholarpedia: Computational Neuroscience
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Neuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
1 Organizacja przedmiotuOrganizacja przedmiotu
2 Podwaliny sieci neuronowychNeuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
3 Zagadnienia klasyfikacyjne: perceptron prostyModel perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
4 Uczenie perceptronuZagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Neuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
Mózg
Płat czołowy(Frontal lobe)
Płat ciemieniowy(Parietal lobe)
Płat skroniowy(Temporal lobe)
Płat potyliczny(Occipal lobe)
Móżdżek(Cerebellum)
Rdzeń kręgowy(Spinal cord)
Rysunek za http://en.wikipedia.org/wiki/Cerebral_cortex, autor Henry Gray, public domain.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Neuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
Mózg
Płat czołowy(Frontal lobe)
Płat ciemieniowy(Parietal lobe)
Płat skroniowy(Temporal lobe)
Płat potyliczny(Occipal lobe)
Móżdżek(Cerebellum)
Rdzeń kręgowy(Spinal cord)
Rysunek za http://en.wikipedia.org/wiki/Cerebral_cortex, autor Henry Gray, public domain.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Neuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
Komórka neuronowa
Komórka Schwanna
Przewężenie Ranviera
Akson
Dendryty
Zakończenia aksonów
Jądro neuronu
Ciało komórki
Otoczka mielinowa
Rysunek za http://pl.wikipedia.org/w/index.php?title=Plik:Neuron-figure_PL.svg, Nicolas Rougier, 2007.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Neuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
Możliwości obliczeniowe
komputer grid1 mózg człowieka
CPU 1—64 CPU 107 1011 neuronówPojemność 1010B RAM, 1.3 · 1015B RAM 1011 neuronów
1013B HDD 1015B ?? 1014 synapsCzas 1 cyklu 10−9s 10−9s 10−3sFLOPS 1012(13) 9.3 · 1016 ∼ 1018 ??moc 1kW 15371kW < 0.1kW
1http://www.top500.org/, 2017-06M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Neuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
Notatka historyczna
1949, D. Hebb, postulat Hebba,
1958, F. Rosenblatt, model perceptronu,
1969, M. Minksky i S. Papert, sformułowanie ograniczeńperceptronuzob.: AI winter (wikipedia),
1974, P. Werbos et al., algorytm propagacji wstecznej,
1980, K. Fukushima, neocognitron - inspiracja dla splotowychsieci neuronowych
1982, J. Hopfield, sieci asocjacyjne,
1986, D. Rumelhart et al., zastosowanie BEP (ang. back errorpropagation) do uczenia sieci warstwowych,
1983-1987, G. Hinton, T. Sejnowski, maszyny Boltzmanna,
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Neuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
2016
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Neuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
AI i CI
Zob.: http://www.is.umk.pl/~duch/Wyklady/AI/AI01.pptM. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
1 Organizacja przedmiotuOrganizacja przedmiotu
2 Podwaliny sieci neuronowychNeuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
3 Zagadnienia klasyfikacyjne: perceptron prostyModel perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
4 Uczenie perceptronuZagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Model perceptronu
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Model perceptronu
out
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Model perceptronu
Perceptron research 1950-60.mp4 (YouTube)
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Model perceptronu
Perceptron — układ składający się z
n wejść x1, ..., xn (argumenty do funkcji)
n wag stowarzyszonych z wejściami w1, ...,wn ∈ Rfunkcji aktywacji f : R→ R.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Dynamika perceptronu
Na wejściu x = (x1, ..., xn) perceptron zwróci wartość:
O(x1, ..., xn) = f (n∑
i=1
wixi ) = f (w t · x)
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Postacie funkcji aktywującej
Funkcja progowa
f (x) =
{−1 x < θ+1 x ≥ θ
-1.5
-1
-0.5
0
0.5
1
1.5
-3 -2 -1 0 1 2 3
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Dynamika perceptronu progowego
Na wejściu x = (x1, .., xn) perceptron progowy zwróci wartość:
O(x1, ..., xn) =
{−1
∑ni=1 wixi < θ
+1∑n
i=1 wixi ≥ θ
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Postacie funkcji aktywującej
Funkcja znakowa
f (x) =
{−1 x < 0+1 x ≥ 0
-1.5
-1
-0.5
0
0.5
1
1.5
-3 -2 -1 0 1 2 3
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Postacie funkcji aktywującej
Funkcja bipolarna (binarna)
f (x) =
{0 x < 0+1 x ≥ 0
-1.5
-1
-0.5
0
0.5
1
1.5
-3 -2 -1 0 1 2 3
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Postacie funkcji aktywującej
Sigmoida
f (x) = σ(x) =1
1 + exp(−βx)
-0.5
0
0.5
1
1.5
-3 -2 -1 0 1 2 3
=1=2=5
=10
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Postacie funkcji aktywującej
tangens hiperboliczny (symetryczna sigmoida)
f (x) = tanh(12βx) =
1− exp(−βx)1 + exp(−βx)
-1.5
-1
-0.5
0
0.5
1
1.5
-4 -2 0 2 4
y
x
beta = 1beta = 3
beta = 10
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Postacie funkcji aktywującej
Funkcja identycznościowaf (x) = x
-3
-2
-1
0
1
2
3
-3 -2 -1 0 1 2 3
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Postacie funkcji aktywującej
Funkcja afinicznaf (x) = ax + b
-3
-2
-1
0
1
2
3
-3 -2 -1 0 1 2 3
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Perceptron z biasem (obciążeniem)
n wejść x1, ..., xn,
n + 1 wag w0,w1, ..., xn,
przyjmuje się dodatkowe, zawsze włączone wejście x0 = +1
zwracana wartość
O(x1, ..., xn) =
{−1;
∑ni=0 wixi < 0
+1;∑n
i=0 wixi ≥ 0,
perceptron z biasem jest równoważny jednostce z progowąfunkcją aktywującą
demo: Blender
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Perceptron z biasem (obciążeniem)
out
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Dynamika perceptronu
plik YouTube
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Przykład
Rozpoznawanie znaku:
Każdy piksel jest jednym wejściem,
Perceptron rozpoznaje czy piksele układają się w symbol.
click
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Interpretacja geometryczna
Rozważamy jednostkę z funkcją progową tj.
O(x1, ..., xn) =
{−1
∑ni=1 wixi < θ
+1∑n
i=1 wixi ≥ θ
Jak wygląda brzeg rozdzielający obszary o różnych aktywacjach?
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Interpretacja geometryczna
Prosty przypadek 1d — jedno wejście x1, jedna waga w1 i próg θ
O(x1) =
{−1 w1x1 < θ ⇐⇒ x1 < θ/w1+1 w1x1 ≥ θ ⇐⇒ x1 ≥ θ/w1
„Brzeg rozdzielający” jest punktem, który dzieli prostą rzeczywistą nadwie półproste.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Interpretacja geometryczna
W przypadku 1d brzeg rozdzielający jest punktem dzielącym prostą.
-3
-2
-1
0
1
2
3
-3 -2 -1 0 1 2 3
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Interpretacja geometryczna
Prosty przypadek 2d — dwa wejścia x1, x2, dwie wagi w1,w2 i próg θ
O(x1) =
−1 w1x1 + w2x2 < θ ⇐⇒ x2 <
−w1w2
x1 +θw2
+1 w1x1 + w2x2 ≥ θ ⇐⇒ x2 ≥ −w1w2x1 +
θw2
Wygląda znajomo?
ax + by = c ⇐⇒ y = −a
bx +
c
b
A teraz?
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Interpretacja geometryczna
Prosty przypadek 2d — dwa wejścia x1, x2, dwie wagi w1,w2 i próg θ
O(x1) =
−1 w1x1 + w2x2 < θ ⇐⇒ x2 <
−w1w2
x1 +θw2
+1 w1x1 + w2x2 ≥ θ ⇐⇒ x2 ≥ −w1w2x1 +
θw2
Wygląda znajomo?
ax + by = c ⇐⇒ y = −a
bx +
c
b
A teraz?
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Interpretacja geometryczna
W przypadku 2d brzeg rozdzielający jest prostą dzielącą płaszczyznę.
-6
-4
-2
0
2
4
6
-6 -4 -2 0 2 4 6
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Interpretacja geometryczna
W przypadku 3d — trzy wejścia x1, x2, x3, trzy wagi w1,w2,w3 i prógθ
O(x1) =
{−1 w1x1 + w2x2 + w3x3 < θ+1 w1x1 + w2x2 + w3x3 ≥ θ
Równanie ogólne płaszczyzny
ax + by + cz + d = 0
Równanie kierunkowe
z =−ac
x − b
cy − d
c
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Interpretacja geometryczna
W przypadku 3d jest to płaszczyzna rozdzielająca przestrzeń.
-10
-5
0
5
10
-6
-4
-2
0
2
4
6
-10
-5
0
5
10
15
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Model perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
Problem XOR
Prosty przykład dla którego pojedynczy perceptron nie będzie wstaniezwrócić stuprocentowej klasyfikacji
-1.5
-1
-0.5
0
0.5
1
1.5
-1.5 -1 -0.5 0 0.5 1 1.5
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
1 Organizacja przedmiotuOrganizacja przedmiotu
2 Podwaliny sieci neuronowychNeuron biologicznySztuczne sieci neuronoweSztuczna inteligencja
3 Zagadnienia klasyfikacyjne: perceptron prostyModel perceptronu prostegoPostacie funkcji aktywującejInterpretacja geometrycznaPrzykłady
4 Uczenie perceptronuZagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Problem uczenia perceptronu
Daną mamy reprezentatywną próbkę danych z odpowiadającymiim klasami (binarnymi: tak lub nie)
Chcemy znaleźć nieskomplikowaną regułę klasyfikacyjną, wedługktórej dane zostały poprzydzielane do klas
Dodatkowo chcemy aby reguła „sensownie” działała na danychpodobnych do próbki uczącej, ale których w trakcie uczenia niewidziała
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Problem uczenia perceptronu
Bardziej formalnie:Dane:
perceptron progowy o n wejściach, n nieznanych wagachw1, ..,wn i progu θ,
zbiór k przykładów uczących E i = (E(i)1 , ..., .E
(i)N ), i = 1..k ,
poprawne odpowiedzi (+1,−1) odpowiadające przykładomuczącym T (1), ...,T (k),
Cel:
znaleźć zestaw wag w1, ..,wn i próg θ takie aby perceptronklasyfikował poprawnie wszystkie przykłady uczące (możliwienajwięcej)
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Simple Perceptron Learning Algorithm (SPLA)
Podstawowy algorytm uczenia:1 Losujemy wagi wi małe, blisko 0.2 Wybieramy kolejny (lub losowy — zalecane) przykład E j
i odpowiadającą mu poprawną odpowiedź T j ,3 Obliczamy O — wynik działania sieci na E j
4 Obliczamy ERR = T j − O5 Jeżeli ERR = 0 (klasyfikacja jest poprawna), to wróć do 2,6 W przeciwnym wypadku uaktualniamy wszystkie wagi zgodnie
ze wzoremwi = wi + η · ERR · E j
i
θ = θ − η · ERRη > 0 jest stałą uczenia.
7 Jeżeli sieć klasyfikuje poprawnie wszystkie przykłady,to kończymy, wpw wracamy do 2.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Simple Perceptron Learning Algorithm (SPLA)
Uwagi do algorytmu:
dla nieseparowalnych danych zapętla się,
wymuszenie zakończenia nie daje żadnej gwarancji jakościzwracanych wag.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Pocket Learning Algorithm (PLA)
Algorytm uczenia z kieszonkąIdea:
Z każdym poprawnie klasyfikowanym przykładem zwiększamywagom czas życia,
Najlepszy (tj. najbardziej żywotny) zestaw wag przechowywanyjest w kieszonce, aby nie został nadpisany przez przypadkowezmiany,
Po zakończeniu algorytmu zwracany jest rekordowy zestaw,
Przy odpowiednio długim działaniu prawdopodobieństwo, żenieoptymalny zestaw przeżyje najdłużej zanika do zera.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Pocket Learning Algorithm (PLA)
1 Losujemy wagi i próg wokół 0, przypisujemy układowi wagzerowy czas życia i zapisujemy go w kieszonce jako rekordzistę,
2 Przebiegamy przykłady losując z listy,3 Dla wybranego przykładu E j sprawdzamy, czy E j jest dobrze
klasyfikowany (ERR = T j − O = 0),Jeśli tak, zwiększamy mu czas życia o jeden. Jeżeli jest to wyniklepszy niż u rekordzisty, zapominamy starego rekordzistę izapisujemy w kieszonce nowy układ wag. Wracamy do 2.Jeśli nie, to korygujemy wagi i próg:
wi = wi + η · ERR · E ji
θ = θ − η · ERRNowemu układowi wag przypisujemy zerowy czas życia. Wracamydo 2.
4 Algorytm kończymy po przebiegnięciu odpowiedniej liczbyiteracji. Zwracamy najbardziej żywotny zestaw wag.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Pocket Learning Algorithm with Ratchet
Algorytm uczenia z zapadkąIdea:
Podobnie jak w algorytmie kieszonkowym zapamiętujemyrekordowe wagi,
Przed zapomnieniem poprzedniego zestawu wag upewniamy się,czy nowy zestaw klasyfikuje poprawnie więcej przykładów
Po zakończeniu algorytmu zwracany jest rekordowy zestaw,
Każdorazowe sprawdzanie wymaga więcej obliczeń, ale zmniejszaprawdopodobieństwo zwrócenia nieoptymalnego wyniku,
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Pocket Learning Algorithm with Ratchet
1 Losujemy wagi i próg wokół 0, przypisujemy układowi wagzerowy czas życia i zapisujemy go jako rekordzistę,
2 Przebiegamy przykłady losując z listy, oznaczmy go E j ,3 Sprawdzamy czy E j jest dobrze klasyfikowany (ERR = T j −O),
Jeśli tak, zwiększamy mu czas życia o jeden. Jeżeli jest to wyniklepszy niż u rekordzisty i klasyfikuje on więcej przykładów niżrekordzista, to zapominamy starego rekordzistę i zapisujemynowy układ wag. Wracamy do 2.Jeśli nie, to korygujemy wagi i próg:
wi := wi + η · ERR · E ji
θ := θ − η · ERRNowemu układowi wag przypisujemy zerowy czas życia. Wracamydo 2.
4 Algorytm kończymy po przebiegnięciu odpowiedniej liczbyiteracji. Zwracamy najbardziej żywotny zestaw wag.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Wstęp do twierdzenia
Rozważamy separowalny zbiór (E i ,T i ),
Zamiast progu θ, użyjemy równoważny perceptron z biasem. Dlakażdego k przyjmujemy E k
0 = 1, wówczas perceptron zwraca:
O(E k) =
{−1;
∑ni=0 wiE
ki = w · E k < 0
+1;∑n
i=0 wiEki = w · E k ≥ 0,
Wektor wag w = [w0,w1, . . . ,wn], opisuje stan perceptronu
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Podstawowy algorytm uczenia perceptronów
1 Ustawiamy w := [0, . . . , 0],2 Wybieramy kolejny przykład uczący (E k ,T k)
3 Obliczamy O(E k) = sgn(w · E k). Jeżeli otrzymana liczba jestróżna od T k to:
Uaktualniamy wagi: w := w + T kE k ,
4 Jeżeli perceptron nie klasyfikuje dobrze wszystkich przykładów,to wracamy do punktu 2.
Algorytm jest analogiczny do SPLA, ale nie ma losowości; stałauczenia ustawiona na η = 0.5.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Wstęp do twierdzenia - przygotowanie przykładów
W każdym kroku algorytmu sprwadzamy, czyT k == sgn(w · E k),
Zauważmy, że jest to równoważne sprawdzeniu:−T k == sgn(w · (−E k)),
Dlatego można podmienić (E i ,T i ) przykładem (−E i ,−T i ) wzbiorze uczącym, bez wpływu na przebieg algorytmu (znajdziemytaki sam perceptron),
Możemy zatem przygotować zbiór uczący w ten sposób, żepodmienimy wszystkie (E i ,T i ), dla których T i == −1,przykładami (−E i , 1)
Dzięki temu krok uaktualnienia wag w := w + T kE k upraszczasię do: w := w + E k
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Wstęp do twierdzenia - przygotowanie przykładów
W każdym kroku algorytmu sprwadzamy, czyT k == sgn(w · E k),
Zauważmy, że jest to równoważne sprawdzeniu:−T k == sgn(w · (−E k)),
Dlatego można podmienić (E i ,T i ) przykładem (−E i ,−T i ) wzbiorze uczącym, bez wpływu na przebieg algorytmu (znajdziemytaki sam perceptron),
Możemy zatem przygotować zbiór uczący w ten sposób, żepodmienimy wszystkie (E i ,T i ), dla których T i == −1,przykładami (−E i , 1)
Dzięki temu krok uaktualnienia wag w := w + T kE k upraszczasię do: w := w + E k
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Wstęp do twierdzenia - przygotowanie przykładów
W każdym kroku algorytmu sprwadzamy, czyT k == sgn(w · E k),
Zauważmy, że jest to równoważne sprawdzeniu:−T k == sgn(w · (−E k)),
Dlatego można podmienić (E i ,T i ) przykładem (−E i ,−T i ) wzbiorze uczącym, bez wpływu na przebieg algorytmu (znajdziemytaki sam perceptron),
Możemy zatem przygotować zbiór uczący w ten sposób, żepodmienimy wszystkie (E i ,T i ), dla których T i == −1,przykładami (−E i , 1)
Dzięki temu krok uaktualnienia wag w := w + T kE k upraszczasię do: w := w + E k
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Twierdzenie
Rozważmy separowalny zbiór przykładów uczących E = (E i ,T i )(przygotowany jak wyżej).
Wybieramy K takie, że wszystkie |E i | ≤ K ,
Bierzemy wektor wag w∗ i liczbę δ > 0 takie, że w∗ · E i > δ, dlakażdego E i ze zbioru E (bo jest separowalny),
Wówczas podstawowy algorytm uczenia perceptronów zakończysię po mniej niż K 2(|w∗|2)/δ2 krokach.
Wniosek: Algorytm zatrzyma się po skończonej liczbie kroków idostaniemy perceptron w separujący zbiór E .
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Dowód
Przez w t oznaczamy stan wektora wag w po kroku t, t = 0, 1, . . . .Przyjmujemy w0 = [0, . . . , 0]T . Porównajmy w t+1 z wektorem w∗.
Sytuacja: w kroku t + 1 perceptron w t źle separuje pewienprzykład E k .
w∗ · w t+1 = w∗ · (w t + E k) = w∗ · w t + w∗ · E k ≥ w∗ · w t + δ,
w∗ · w0 = 0,
w∗ · w1 ≥ w∗ · w0 + δ, ...
Przez indukcję dostajemy: w∗ · w t ≥ tδ. (*)
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Dowód
Przez w t oznaczamy stan wektora wag w po kroku t, t = 0, 1, . . . .Przyjmujemy w0 = [0, . . . , 0]T . Porównajmy w t+1 z wektorem w∗.
Sytuacja: w kroku t + 1 perceptron w t źle separuje pewienprzykład E k .
w∗ · w t+1 = w∗ · (w t + E k) = w∗ · w t + w∗ · E k ≥ w∗ · w t + δ,
w∗ · w0 = 0,
w∗ · w1 ≥ w∗ · w0 + δ, ...
Przez indukcję dostajemy: w∗ · w t ≥ tδ. (*)
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Dowód
Przez w t oznaczamy stan wektora wag w po kroku t, t = 0, 1, . . . .Przyjmujemy w0 = [0, . . . , 0]T . Porównajmy w t+1 z wektorem w∗.
Sytuacja: w kroku t + 1 perceptron w t źle separuje pewienprzykład E k .
w∗ · w t+1 = w∗ · (w t + E k) = w∗ · w t + w∗ · E k ≥ w∗ · w t + δ,
w∗ · w0 = 0,
w∗ · w1 ≥ w∗ · w0 + δ, ...
Przez indukcję dostajemy: w∗ · w t ≥ tδ. (*)
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Dowód
Zbadajmy teraz jak w kolejnych krokach zmienia się długośćwektora w t :
|w t+1|2 = w t+1 · w t+1 = (w t + E k) · (w t + E k)
= w t · w t + 2w t · E k + E k · E k ≤ |w t |2 + K 2
(2w t · E k ≤ 0, bo przykład E k jest źle klasyfikowany)
|w0|2 = 0
Stąd, przez indukcję dostajemy: |w t |2 ≤ tK 2. (**)
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Dowód
Zbadajmy teraz jak w kolejnych krokach zmienia się długośćwektora w t :
|w t+1|2 = w t+1 · w t+1 = (w t + E k) · (w t + E k)
= w t · w t + 2w t · E k + E k · E k ≤ |w t |2 + K 2
(2w t · E k ≤ 0, bo przykład E k jest źle klasyfikowany)
|w0|2 = 0
Stąd, przez indukcję dostajemy: |w t |2 ≤ tK 2. (**)
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Dowód
Zbadajmy teraz jak w kolejnych krokach zmienia się długośćwektora w t :
|w t+1|2 = w t+1 · w t+1 = (w t + E k) · (w t + E k)
= w t · w t + 2w t · E k + E k · E k ≤ |w t |2 + K 2
(2w t · E k ≤ 0, bo przykład E k jest źle klasyfikowany)
|w0|2 = 0
Stąd, przez indukcję dostajemy: |w t |2 ≤ tK 2. (**)
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Dowód
Przywołujemy (*) i (**)
(*): w∗ · w t ≥ tδ,
(**): |w t |2 ≤ tK 2,
stąd: tδ ≤ w∗ · w t = |w∗||w t |cos(α), gdzie α to kąt między w∗
i w t ,
ale cos(α) ≤ 1, więc tδ ≤ |w∗||w t | ≤ |w∗|K√(t), dzięki (**),
po elementarnych przekształceniach dostajemy:t ≤ K 2(|w∗|2)/δ2,co kończy uzasadnienie.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Dowód
Przywołujemy (*) i (**)
(*): w∗ · w t ≥ tδ,
(**): |w t |2 ≤ tK 2,
stąd: tδ ≤ w∗ · w t = |w∗||w t |cos(α), gdzie α to kąt między w∗
i w t ,
ale cos(α) ≤ 1, więc tδ ≤ |w∗||w t | ≤ |w∗|K√(t), dzięki (**),
po elementarnych przekształceniach dostajemy:t ≤ K 2(|w∗|2)/δ2,co kończy uzasadnienie.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Dowód
Przywołujemy (*) i (**)
(*): w∗ · w t ≥ tδ,
(**): |w t |2 ≤ tK 2,
stąd: tδ ≤ w∗ · w t = |w∗||w t |cos(α), gdzie α to kąt między w∗
i w t ,
ale cos(α) ≤ 1, więc tδ ≤ |w∗||w t | ≤ |w∗|K√
(t), dzięki (**),
po elementarnych przekształceniach dostajemy:t ≤ K 2(|w∗|2)/δ2,co kończy uzasadnienie.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Dowód
Przywołujemy (*) i (**)
(*): w∗ · w t ≥ tδ,
(**): |w t |2 ≤ tK 2,
stąd: tδ ≤ w∗ · w t = |w∗||w t |cos(α), gdzie α to kąt między w∗
i w t ,
ale cos(α) ≤ 1, więc tδ ≤ |w∗||w t | ≤ |w∗|K√
(t), dzięki (**),
po elementarnych przekształceniach dostajemy:t ≤ K 2(|w∗|2)/δ2,co kończy uzasadnienie.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Zbiory nieseparowalne
Okazuje się, że dla dowolnego (skończonego) E istnieje M takie,że |w t | ≤ |w0|+M. (dowód długi)
Wniosek: jeżeli współrzędne wszystkich E k są całkowite, tozbiór wartości przyjmowanych przez w t w przebiegu algorytmuuczącego jest skończony (nawet jeżeli algorytm się zapętli)
Obserwując powtarzanie się w t dałoby się wykryćnieseparowalność w skończonym czasie.
Nie jest to praktyczne; “skończony czas” niewiele nam mówi.
Jeżeli dane są nieseparowalne, to wynik jest bezużyteczny
Algorytm kieszonkowy ma lepsze gwarancje i szybciej zbiega dooptymalnego rozwiązania.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Zbiory nieseparowalne
Okazuje się, że dla dowolnego (skończonego) E istnieje M takie,że |w t | ≤ |w0|+M. (dowód długi)
Wniosek: jeżeli współrzędne wszystkich E k są całkowite, tozbiór wartości przyjmowanych przez w t w przebiegu algorytmuuczącego jest skończony (nawet jeżeli algorytm się zapętli)
Obserwując powtarzanie się w t dałoby się wykryćnieseparowalność w skończonym czasie.
Nie jest to praktyczne; “skończony czas” niewiele nam mówi.
Jeżeli dane są nieseparowalne, to wynik jest bezużyteczny
Algorytm kieszonkowy ma lepsze gwarancje i szybciej zbiega dooptymalnego rozwiązania.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Zbiory nieseparowalne
Okazuje się, że dla dowolnego (skończonego) E istnieje M takie,że |w t | ≤ |w0|+M. (dowód długi)
Wniosek: jeżeli współrzędne wszystkich E k są całkowite, tozbiór wartości przyjmowanych przez w t w przebiegu algorytmuuczącego jest skończony (nawet jeżeli algorytm się zapętli)
Obserwując powtarzanie się w t dałoby się wykryćnieseparowalność w skończonym czasie.
Nie jest to praktyczne; “skończony czas” niewiele nam mówi.
Jeżeli dane są nieseparowalne, to wynik jest bezużyteczny
Algorytm kieszonkowy ma lepsze gwarancje i szybciej zbiega dooptymalnego rozwiązania.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Zbiory nieseparowalne
Okazuje się, że dla dowolnego (skończonego) E istnieje M takie,że |w t | ≤ |w0|+M. (dowód długi)
Wniosek: jeżeli współrzędne wszystkich E k są całkowite, tozbiór wartości przyjmowanych przez w t w przebiegu algorytmuuczącego jest skończony (nawet jeżeli algorytm się zapętli)
Obserwując powtarzanie się w t dałoby się wykryćnieseparowalność w skończonym czasie.
Nie jest to praktyczne; “skończony czas” niewiele nam mówi.
Jeżeli dane są nieseparowalne, to wynik jest bezużyteczny
Algorytm kieszonkowy ma lepsze gwarancje i szybciej zbiega dooptymalnego rozwiązania.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Interpretacja wektora wag
Prosta oddzielająca jest prostopadła do wektora wag i przesuniętao θ|w |
-6
-4
-2
0
2
4
6
-6 -4 -2 0 2 4 6
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Interpretacja
Zdefiniujmy funkcję błędu:
ERR(w , θ) := |{E j : Ow ,θ(Ej) 6= T j}|
= liczba błędnie sklasyfikowanych przykładów
W tej sytuacji uczenie jest zagadnieniem minimalizacji błędu naprzestrzeni wag i progu
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Interpretacja
Problem OR:
-1.5
-1
-0.5
0
0.5
1
1.5
-1.5 -1 -0.5 0 0.5 1 1.5
-4-2024
w1
-4
-2
0
2
4
w2
0
0.5
1
1.5
2
2.5
3
3.5
4
ERR
theta = -0.78
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Interpretacja
Problem OR:
click
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Interpretacja
Problem AND:
-1.5
-1
-0.5
0
0.5
1
1.5
-1.5 -1 -0.5 0 0.5 1 1.5
-4
-2
0
2
4w1
-4
-2
0
2
4
w2
0
0.5
1
1.5
2
2.5
3
3.5
4
ERR
theta = 3.62
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Interpretacja
Problem AND:
click
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Interpretacja
Problem XOR:
-1.5
-1
-0.5
0
0.5
1
1.5
-1.5 -1 -0.5 0 0.5 1 1.5
-4
-2
0
2
4w1
-4
-2
0
2
4
w2
0
0.5
1
1.5
2
2.5
3
3.5
4
ERR
theta = 3.62
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Interpretacja
Problem XOR:
click
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Po zajęciach powinienem umieć / wiedzieć:
podać definicję oraz dynamikę perceptronu
zaimplementować perceptron, dla mniejszych danych równieżprzeprowadzić obliczenia na kartce
sformułować problem uczenia perceptronu, zaimplementowaćalgorytmy PLA lub RLA
zastosować perceptron w praktycznych problemachobliczeniowych
znać ograniczenia perceptronu, sformułować przykładowyproblem przekraczający jego możliwości
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01
Organizacja przedmiotuPodwaliny sieci neuronowych
Zagadnienia klasyfikacyjne: perceptron prostyUczenie perceptronu
Zagadnienie uczeniaAlgorytmy uczeniaDowód algorytmuInterpretacja
Pytania kontrolne
Co to jest perceptron, jakie są jego wewnętrzne i zewnętrzneparametry?
Jaką odpowiedź da perceptron znakowy o wagach(w0 = −1.5,w1 = +1,w2 = −1) na wejściu(x1 = −1, x2 = +1)?
Dane są dwa przykłady uczące(−1,−1)→ −1, (+1,+1)→ +1. Startowe wagi perceptronuwynoszą (w0 = −θ = +4,w1 = −3,w2 = −1). Przeprowadźkilka kroków algorytmu uczącego (może być SPLA).
Podaj zestaw trzech danych na R2, który nie jest liniowoseparowalny.
M. Czoków, J. Piersa, A. Rutkowski WSN 2018/2019 Wykład 01