Einfaches Perzeptrn Delta-Regel Vrlesung Künstliche Intelligenz Wintersemester 2006/07 Teil III: Wissensrepräsentatin und Inferenz Nachtrag zu Kap.5: Neurnale Netze Beim Training werden die Beispiele dem Netz als präsentiert. Output ist für die Beispiele bekannt --> überwachte Lernaufgabe (supervised) (hier: liegt Beispiel in X der Y?) Sll und Ist-Output werden verglichen. Bei Diskrepanz werden Schwellenwert und Gewichte nach flgender Delta-Regel angepasst: w i, = w i, + x i * (Output sll - Output ist ) (mit w 0 = -s, x 0 = 1) Lernrate 3 Einfaches Perzeptrn Perzeptrn Einfaches Perzeptrn Delta-Regel Annahme hier: - Algrithmus mit Lernrate = 1 - als Output nur 0 und 1 möglich (d.h. Trennung vn zwei Klassen wird gelernt) x = (x 1,...,x n ) Gewichte w = (,..., ) Output () Start: Testen: Der Gewichtsvektr w 0 wird zufällig generiert. Setze t:=0. Ein Punkt x in X Y wird zufällig gewählt Falls x X und w t x > 0 gehe zu Testen Falls x X und w t x 0 gehe zu Addieren Falls x Y und w t x < 0 gehe zu Testen Falls x Y und w t x 0 gehe zu Subtrahieren Setze t := t + 1. Gehe zu Testen Subtrahieren: Setze w t+1 = w t - x. Setze t := t + 1. Gehe zu Testen 2 4
Einfaches Perzeptrn Einfaches Perzeptrn Wir wllen das lgische Und lernen. Start: Der Gewichtsvektr w 0 wird zufällig generiert: :=0, :=0, Schwellwert = := 0 0 0 0 Zeit x 1 x 2 t Errr zu_addieren/subtr. e_gewichte Zeit x 1 x 2 t Errr zu_addieren/subtr. e_gewichte In unserer Ntatin: w 0 :=0+1 :=0+1 := 0-1 5 7 Einfaches Perzeptrn Einfaches Perzeptrn Wir wllen das lgische Und lernen. Subtrahieren: Setze w t+1 = w t - x. Falls x X und w t x 0 gehe zu Addieren Zeit x 1 x 2 t Errr zu_addieren/subtr. e_gewichte Zeit x 1 x 2 t Errr zu_addieren/subtr. e_gewichte :=1+0 :=1+0 := -1+1 1x0 + 1x0-1 cnst x 0 = 0 6 8
Einfaches Perzeptrn Delta-Regel - Beispiel Zeit x 1 x 2 t Errr zu_addieren/subtr. e_gewichte entnmmen Nauk, Kruse, S. 50 Agenda 1. Einführung 2. Einfaches Perzeptrn 3. - Vektrschreibweise der Deltaregel - Schichten des MLP - Backprpagatin - Prbleme der Backprpagatin - Varianten der Backprpagatin Epche hne Veränderung Ende 9 11 Backprpagatin-Algrithmus Delta-Regel als Ableitungsregel für Perzeptrn Die Gewichtsänderungen können auf zwei Arten erflgen: x 1 x 2 x 3... x n Fehlergradient: F = ( - t) 2 = ( x w) - t) 2 Online Training:jedes Gewicht wird sfrt angepasst (flgt nur im Mittel dem Gradienten) Batch-Verfahren: es werden alle Datensätze präsentiert, die Gewichtsänderung des Gewichtes berechnet, summiert und dann erst angepasst (entspricht dem Gradienten über dem Datensatz) wurde hier angewandt = x w) F/ w i = ( - t)/ w i = ( x w) - t) 2 / w i = 2 x w) (-t) x i Die Delta-Regel kann als Gradientenabstieg mit (variablem) Lernfaktr interpretiert werden: w i = (-t) x i mit = 2 x w) (unter derannahme: ist diff.-bar) 10 12
2--Perzeptrn -Vektr x Gewichtsmatrix v Aktivitätsvektr y Gewichtsvektr w Output w w 3 1 Fehlerfunktin F (mittlerer quadratischer Fehler) für das Lernen: F D = 1 t d d 2 wbei gilt: d D 2 D Menge der Trainingsbeispiele t d krrekter Output für d D d berechneter Output für d D y = (v. x) = (w. y) 13 Die Gewichte müssen s angepasst werden, daß der Fehler minimiert wird. Dazu bietet sich das Gradientenabstiegsverfahren an. (D.h.: Bergsteigerverfahren mit Vektrraum der Gewichtsvektren als Suchraum!) 15 Backprpagatin Daten Datenstrm (Prpagatin) hidden hidden Output Sei nun ein d D gegeben. Anders geschrieben ist F d = ( - t) 2 =( (w. y) - t) 2 Der Fehlergradient für w i lautet für dieses d: Fehler Berechnung F/ w i = (-t) 2 / w i =... = 2. (-t). '(w. y)y i Fehlerstrm (Backprpagatin) Wir setzen als wie bei der Delta-Regel: w i = (-t) y i mit = 2 y w) und weiter w i := w i - w i 14 16
Fehlergradient für v ij lautet: F/ v ij = F/ y i. y i / v ij... = 2. (-t). '(w. y). w i. x). x j Fehler bei der Ausgabe Gewicht Inf vn Zwischenschicht Wir setzen als wie bei der Delta-Regel: v ij = (-t) x j mit = 2 '(w. y). w i. x) und weiter v ij := v ij - v ij Inf vn schic Beispiel analg zur Übung Angenmmen, die Gewichte seien mmentan =0.5, =0.75, v 21 =0.5, v 22 =0.5, =0.5, =0.5. Wir berechnen einmal Prpagatin+Backprpagatin für x 1 =1, x 2 =1. Prpagatin: y 1 := (0.5 1 + 0.75 1) = (1.25) = 0.78 y 2 := (0.5 1 + 0.5 1) = (1.0) = 0.73 := ( y 1 + y 2 ) = (0.5 0.78 + 0.5 0.73) = (0.755) = 0.68 Backprpagatin Teil 1: w i = (-t) y i mit = 2 y w) ergibt w i = 2 y w) (-t) y i = 2 0,755) (0.68-0) y i = 2 0,755)(1-0,755))0.68 y i = 2 0.68(1-0.68)0.68 y i = 0.30 y i = 0.3 y 1 = 0.23, als := - := 0.5 0.23 = 0.27 = 0.3 y 2 = 0.22, als := - := 0.5 0.22 = 0.28 17 19 Beispiel analg zur Übung (aber mit anderen Gewichten) Wir wllen XOR lernen. Als Schwellwertfunktin verwenden wir die Sigmid- Funktin mit Steigung 1: (x):=1/(1+e -x ) Ihre Ableitung lautet (x) = e -x /(1 + e -x ) 2 Angenmmen, die Gewichte seien mmentan =0.5, =0.75, v 21 =0.5, v 22 =0.5, =0.5, =0.5. = (x)(1- (x)) Wir berechnen einmal Prpagatin+Backprpagatin für x 1 =1, x 2 =1. Beispiel analg zur Übung Backprpagatin Teil 2: v ij = (-t) x j mit = 2 '(w. y). w i. x) ergibt v ij = 2 '(w. y). w i. x)(-t) x j = 2 '(0.755). w i. x)0.68 x j = 2 0,755)(1-0,755)) w i. = 2 0.68(1-0.68)w i. = 0.30 w i. = 0.3 0.5 (0.5 1+0.75 1) 0.68 1= 0.3 0.5 0.78(1-0.78) 0.68 1= 0.017 = 0.3 0.5 (0.5 1+0.75 1) 0.68 1 = 0.017 v 21 = 0.3 0.5 (0.5 1+0.5 1) 0.68 1= 0.3 0.5 0.73(1-0.73) 0.68 1 = 0.02 v 22 = 0.3 0.5 (0.5 1+0.5 1) 0.68 1 = 0.02 Als := - := 0.5-0.017 = 0.483 := - := 0.75-0.017 = 0.733 v 21 := v 21 - v 21 := 0.5-0.02 = 0.48 v 22 := v 22 - v 22 := 0.5-0.02 = 0.48 Eine erte Prpagatin würde nun ergeben: y 1 := (0.483 1 + 0.733 1) = (1.216) = 0.77 y 2 := (0.48 1 + 0.48 1) = (0.96) = 0.72 := ( y 1 + y 2 ) = (0.27 0.77 + 0.28 0.72) = (0.41) = 0.60 statt vrher 0.68 18 20