Neurale Netwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005 hc 2 • TLUs, lineaire scheidbaarheid en vectoren • TLUs trainen; de perceptron regel • boek: H3 en H4 2 overzicht • • • • voorbeeld TLU: logical AND operator 3.1 vectoren en lineaire scheidbaarheid 3.2, 3.3 TLU’s trainen 4.1, 4.2, 4.3 uitbreiding 4.4, 4.5, 4.6 3 een TLU met 2 inputs, 1 output x1 w1 y w2 x2 n a wi xi w1 x1 w2 x2 i 1 y = 1 if a >= Θ y = 0 if a < Θ 4 logical AND operator x1 1 y 1 x2 n a wi xi w1 x1 w2 x2 i 1 y = 1 if a >= Θ y = 0 if a < Θ where Θ = 1,5 5 input pattern 1 0 1 0 1 0 n a wi xi 0 *1 0 *1 0 i 1 y = 1 if a >= Θ y = 0 if a < Θ where Θ = 1,5 6 input pattern 2 0 1 0 1 1 n a wi xi 0 *1 1*1 1 i 1 y = 1 if a >= Θ y = 0 if a < Θ where Θ = 1,5 7 input pattern 3 1 1 0 1 0 n a wi xi 1*1 0 *1 1 i 1 y = 1 if a >= Θ y = 0 if a < Θ where Θ = 1,5 8 input pattern 4 1 1 1 1 1 n a wi xi 1*1 1*1 2 i 1 y = 1 if a >= Θ y = 0 if a < Θ where Θ = 1,5 9 van klasse grens naar decision hyperplane w1 x1 w2 x2 w2 x2 w1 x1 w1 x1 x2 w2 w2 x2 ax1 b In het voorbeeld van de logical AND operator wordt dat x2 = -1 * x1 + 1,5 de klasses moeten te scheiden zijn door een rechte lijn (hyperplane), anders kan een TLU het niet oplossen. 10 overzicht • • • • voorbeeld TLU: logical AND operator 3.1 vectoren en lineaire scheidbaarheid 3.2, 3.3 TLU’s trainen 4.1, 4.2, 4.3 uitbreiding 4.4, 4.5, 4.6 11 vectoren 2D input space (bv. AND): x = (x1, x2) nD input space: (bv. 6 * 8 pixels): x = (x1, x2, ..., xn) w = (w1, w2, ..., wn) 12 kv = (kv1, kv2, ..., kvn) w=u+v w = (u1 + v1, u2 + v2, ..., un + vn) w=u-v w = (u1 - v1, u2 - v2, ..., un - vn) w u -v u v w u v w u 13 inproduct v w v w cos v w n v w wi vi i 1 14 lineaire scheidbaarheid 15 overzicht • • • • voorbeeld TLU: logical AND operator 3.1 vectoren en lineaire scheidbaarheid 3.2, 3.3 TLU’s trainen 4.1, 4.2, 4.3 uitbreiding 4.4, 4.5, 4.6 16 1 TLU trainen (2 inputs, 1 output) • • • x2 • “ordening” patterns en opsplitsen in trainingset {p1, ..., pn} en testset {pn + 1, ..., pm} training set van patterns {p1, ..., pn}, pi = (xi1, xi2, ti) voor elk pattern pi gewichten aanpassen x1 w1 dmv. error estimate (ti – yi) w2 yi is de output die de TLU geeft ti is wat de output zou moeten zijn y test set van patterns {pn + 1, ..., pm} error op de test set is de prestatie maat testen na elk yepoch a gebeurt wx = 1 if a >= Θ n i 1 i i y = 0 if a < Θ 17 the augmented weight vector y = 1 if w ∙ x >= Θ y = 0 if w ∙ x < Θ w ∙ x = Θ decision hyperplane Θ kun je zien als extra gewicht met vaste input -1 y = 1 if w ∙ x >= 0 y = 0 if w ∙ x < 0 x1 w ∙ x = 0 decision hyperplane w1 w2 x2 y θ -1 a n w x i 1 i i y = 1 if a >= 0 Θ y = 0 if a < 0 Θ 18 de gewichtsvector aanpassen misclassificatie: 1. t = 1, y = 0 miss inputvector v = (v1, v2, ..., vn) en gewichtsvector w = (w1, w2, ..., wn) wijzen verschillende kanten op terwijl dat niet de bedoeling is inproduct is negatief pas de gewichtsvector aan, zodat het inproduct positief wordt 2. t = 0, y = 1 false alarm inputvector en gewichtsvector wijzen dezelfde kant op terwijl dat niet de bedoeling is het inproduct is positief pas de gewichtsvector aan, zodat het inproduct negatief wordt learning rate α ongeveer 0,2 19 Perceptron Training Rule w’ = w + αv w’ = w – αv t y w’ = w + α(t – y)v 1 1 1 0 0 1 0 0 Δw = α(t – y)v vector components i = 1 t/m (n + 1): w = (w1, w2, ..., wn, θ) v = (v1, v2, ..., vn, -1) Δwi = α(t – y)vi 20 the perceptron training algorithm boek p. 34 repeat for each training vector pair (v, t) update weight vector w end for loop until y = t for all input vectors . 21 the perceptron training algorithm boek p. 34 repeat for each training vector pair (v, t) evaluate the output y when v is input to the TLU if y ≠ t then form new weight vector w’ according to (4.4) else do nothing end if end for loop until y = t for all input vectors (4.4) w’ = w + α(t – y)v Perceptron Convergence Theorem: Als twee klasses lineair scheidbaar zijn zal het toepassen van bovenstaand algoritme leiden tot een decision hyperplane dat de twee 22 klasses van elkaar scheidt. bewezen door Rosenblatt (1962) tabel 4.1 in het boek, logical AND operator w1 w2 θ x1 x2 a y t α(t–y) δw1 δw2 δ θ 0,0 0,4 0,3 0 0 0 0 0 0 0 0 0 0,0 0,4 0,3 0 1 0,4 1 0 -0,25 0 -0,25 0,25 0,0 0,15 0,55 1 0 0 0 0 0 0 0 0 0,0 0,15 0,55 1 1 0,15 0 1 0,25 0,25 0,25 -0,25 0,25 0,4 0,3 δwi = α(t – y)vi where α = 0.25 x1 w1 x2 y w2 -1 θ n a wi xi i 1 y = 1 if a >= 0 y = 0 if a < 0 23 overzicht • • • • voorbeeld TLU: logical AND operator 3.1 vectoren en lineaire scheidbaarheid 3.2, 3.3 TLU’s trainen 4.1, 4.2, 4.3 uitbreiding 4.4, 4.5, 4.6 24 het perceptron 25 26 niet-lineair scheidbare klasses neuron 1 zegt AB, neuron 2 zegt AD: tabel 4.2 kan alleen als de input van klasse A is dit gaat ook op voor klasse B, C en D decoderen: tabel 4.3 27 28 29 neurale netwerken: modellen op een gewone von Neumann computer... black box: 30 overzicht • • • • voorbeeld TLU: logical AND operator 3.1 vectoren en lineaire scheidbaarheid 3.2, 3.3 TLU’s trainen 4.1, 4.2, 4.3 uitbreiding 4.4, 4.5, 4.6 31 volgende college – Herhaling van vandaag • TLUs, lineaire scheidbaarheid en vectoren • TLUs trainen; de perceptron regel – De delta regel • boek: H3, H4 en H5 32