6. Übung „Künstliche Intelligenz“ Wintersemester 2006/2007 · PDF...

6

Click here to load reader

Transcript of 6. Übung „Künstliche Intelligenz“ Wintersemester 2006/2007 · PDF...

Page 1: 6. Übung „Künstliche Intelligenz“ Wintersemester 2006/2007 · PDF fileapsen, durch das Netz propagiert. Hierbei erfolgt bei künstlich Neuronalen Netzen (kNN) die Aktivierung

6. Übung „Künstliche Intelligenz“ Wintersemester 2006/2007

Prof. Dr. Gerd Stumme, Miranda GrahlFachgebiet Wissensverarbeitung6.12.2006, [email protected]

1. Was sind Neuronale Netze?

a) Wie funktionieren Neuronale Netze? Erläutere das Prinzip!

b) Zeichne ein Perzeptron und beschrifte dieses, welches folgenden Input−→x = (−1, 1,−1, 1,−1, 1,−1) und die Gewichtung −→w = (−1, 1,−1,−1, 1, 1,−1) be-sitzt. Berechne die Aktivität a!

c) Wieso hat die Berechnung der Aktivität a (aus Aufgabe 1b) die Eigenschaft einerlinearen Filteroperation ?

a) Ein neuronales Netz ist dadurch gekennzeichnet, dass Information massiv parallelverarbeitet wird, d.h. ein Neuron spielt hierbei eine vernachlässigte Rolle im Ge-samtgeschehen. Die Information wird über Verbindungsstellen, den sogenannten Syn-apsen, durch das Netz propagiert. Hierbei erfolgt bei künstlich Neuronalen Netzen(kNN) die Aktivierung über die Multiplikation des Inputs mit der Gewichtung. DieInformationen sind hierbei auf viele Neuronen verteilt. Die Aktivierung wird einerAktivierungsfunktion übergeben. Diese Funktion kann sigmoid oder auch binär sein.

b) und c) Eine lineare Filteroperation sei gegeben durch die lineare Verknüpfung vonPixeln. Die Verknüpfung erfolgt durch eine gewichtete Summation. Die Bildung dergewichteten Summe ist bei neuronalen Netzen wiederzufinden, da zur Berechnungder Aktivität der Input mit der Gewichtung multipliziert und aufsummiert wird. Sei-en −→x ,−→w ∈ R mit d = 7. Für die Aktivität α gilt:

∑di xi ∗ wi = d − 2*Anzahl der

Unterschiede zwischen x und w) = 3.

2. Gegeben sei folgende logische Funktion:

a) Lerne die obige Funktion mit einem einfachen Perzeptron. Verwende dabei die Stu-fenfunktion o (siehe Folie 13).

1

Page 2: 6. Übung „Künstliche Intelligenz“ Wintersemester 2006/2007 · PDF fileapsen, durch das Netz propagiert. Hierbei erfolgt bei künstlich Neuronalen Netzen (kNN) die Aktivierung

Wählt man beispielsweise für die Gewichte w1 = 0.5 und w2 = 0.5. Der Schwellen-wert sei s = 0.5 Die obige Funktion ist durch die alleinige Bildung des Skalarpro-dukts nicht lösbar (bei der aktuellen Einstellung der Parameter), da beispielsweiseder Input(1,1) die Aktivität α = 1 liefert(1 ∗ 0.5 + 1 ∗ 0.5 = 1). Nach Anwendungder Stufenfunktion o würde das Perzeptron den Output o = 1 liefern und nicht 0(daα > s)(siehe Folie 20).

b) Trainiere das Perzeptron, indem du nacheinander die Zeilen der obigen Tabelle an-legst und die Gewichte gemäß der Delta-Regel anpasst. Die Anfangswerte seien:x0 = 1, w0 = −s, s = 0.5, w0 = 0.5, w1 = 0.5, w2 = 0.5, η = 0.5Anlegen von (0,0): 0.5 ∗ 0 + 0.5 ∗ 0 − 0.5 ∗ 1 = −0.5 < 0.5 => o(0, 0) = 0 entsprichtnicht 1, also wird die Delta-Regel wirksam.w0,neu = −0.5 + 0.5 ∗ 1 ∗ (1 − 0) = 0w1,neu = 0.5 + 0.5 ∗ 0 ∗ (1 − 0) = 0.5w2,neu = 0.5 + 0.5 ∗ 0 ∗ (1 − 0) = 0.5Anlegen von (0,1):0.5 ∗ 0 + 0.5 ∗ 1 + 0 ∗ 1 = 0.5 => o(0, 1) = 1 richtig, die Gewichte werden nichtangepasst.Anlegen von (1,0):0.5 ∗ 1 + 0.5 ∗ 0 + 0 ∗ 1 = 0.5 => o(1, 0) = 1 richtig, die Gewichte werden nichtangepasst.Anlegen von (1,1):0.5∗1+0.5∗1+0∗1 = 1 => o(1, 1) = 1 entspricht nicht 0, also wird die Delta-Regelwirksam.w0,neu = 0 + 0.5 ∗ 1 ∗ (0 − 1) = −0.5w1,neu = 0.5 + 0.5 ∗ 1 ∗ (0 − 1) = 0w2,neu = 0.5 + 0.5 ∗ 1 ∗ (0 − 1) = 0

c) Um welchen logischen Operator handelt es sich bei der obigen Funktion? Wähle dieGewichte für das obige Perzeptron derart, dass es tatsächlich die gewünschte Funkti-on berechnet.Es handelt sich um den NAND-Operator. Folgende Parameter sind möglich, denNAND Operator durch das Perzepton richtig zu berechnen:w1 = −0.5, w2 = −0.5 mit s = −0.8

3. Lernen der Gewichte mit der Delta Regel

a) Erkläre das Prinzip der Delta-Regel!

2

Page 3: 6. Übung „Künstliche Intelligenz“ Wintersemester 2006/2007 · PDF fileapsen, durch das Netz propagiert. Hierbei erfolgt bei künstlich Neuronalen Netzen (kNN) die Aktivierung

Die Gewichte des Neuronalen Netzes werden so adaptiert, dass bei mehrmaliger Ite-ration der Delta-Regel die richtige Antwort gegeben wird (Antwort sei z.B. die Ver-knüpfung von Binärwerten durch einen NAND Operator). Dieses funktioniert so: Eswird der Output desjenigen Neurons verstärkt, welches die richtige Antwort gegebenhat. Der Output derjenigen Neuronen, welche den falschen Wert liefert (falscher Ist-Wert) wird geschwächt. Die Schwächung bzw. die Stärkung des Outputs erfolgt durchdie Adaption der dazugehörigen Gewichte.

b) Wie wirkt sich die Veränderung der Lernrate auf die Adaptivität der Gewichte aus?Allgemein gilt: Die Wahl einer kleinen Lernrate läßt das Neuronale Netz ’langsamlernen’, d.h. die Gewichte w werden in kleinen Schritten adaptiert. Analog gilt diesfür die Wahl einer großen Lernrate.

c) Wieso ist ein nichtlinearer Zusammenhang zwischen der Eingabe und der Ausgabemit einem einstufigen Perzeptron nicht erlernbar?siehe hierzu Folie 30

d) Diskutiere den Begriff der Hyperebene im Zusammenhang mit dem Begriff des Ge-wichtsvektors (veranschauliche die beiden Begriffe graphisch)!Der Gewichtsvektor steht senkrecht zur Entscheidungsebene, wo-bei die Hyperebene als Neuronenaktivität aufgefasst werden kann.

4. Das Multi-Lagen-Perzeptron

a) Erläutere das Multi-Lagen-Perzeptron (MLP) und das Prinzip des Backpropagation-Algorithmus!

3

Page 4: 6. Übung „Künstliche Intelligenz“ Wintersemester 2006/2007 · PDF fileapsen, durch das Netz propagiert. Hierbei erfolgt bei künstlich Neuronalen Netzen (kNN) die Aktivierung

Ein MLP ist ein mehrlagiges Feed-Forward-Netz, d.h. es gibt keine Schleifen. Hierbeibesitzt das Neuronale Netz sogenannte Hidden-Layers, eine Eingabeschicht und eineAusgabeschicht.Das Prinzip des Backpropagation-Algorithmus besteht darin, den aktuellen Fehler(gewollter Output Minus tatsächlicher Output) vom Output bis zum Input über jedesGewicht zurückzuverfolgen. Für jedes Gewicht wird sein Anteil zum Fehler berechnetund danach mit der Gradientenmethode das Gewicht vergrößert oder verkleinert.

b) Gegeben sei folgendes Neuronales Netz (siehe Abb.1) mit einer sigmoiden Output-funktion(mit Steigung=1). Die Ableitung der Outputfunktion ist θ′ (x) = θ (x) (1 − θ (x)).Der Gebrauch einer sigmoide Aktivierungsfunktion ist notwendig, da diese differen-zierbar ist.

Abbildung 1: Ein Multi-Lagen-Perzeptron

Nehme nun die XOR-Funktion aus Abbildung 2 her und berechne durch Backpro-pagation die Gewichtsänderungen, in dem du die letzte Zeile als Input an das Netzanlegst. Die Gewichte seien zufällig wie folgt initialisiert worden:v11 = 0, 5, v12 = 0, 75, v21 = 0, 25, v22 = 0, 25, w1 = 0, 5, w2 = 0, 5

4

Page 5: 6. Übung „Künstliche Intelligenz“ Wintersemester 2006/2007 · PDF fileapsen, durch das Netz propagiert. Hierbei erfolgt bei künstlich Neuronalen Netzen (kNN) die Aktivierung

Für den Gradientenabstieg wird eine Aktivierungsfunktion benötigt, welche differen-zierebar ist. Dieses kann z.B. eine sigmoide Aktivierungsfunktion sein.

Für die Berechnung des Fehlergradienten δwi (siehe Folie 39), muss vorerst Y =(y1

y2

)sowie der Output σ berechnet werden:

Y = θ(v ∗ x) = θ(

0.5 0.750.25 0.25

)∗

(11

)= θ

(1.250.5

)=

(0.780.62

)σ = θ(w ∗ y) = θ

(0.50.5

)∗

(0.780.62

)= θ

(0.7

)= 0.67

Weiter berechnen wir:

2∗(t−σ)∗θ′(w∗y) = 2∗(t−σ)∗θ(w∗y)∗(1−θ(w∗y)) = 2∗(0−0.67)∗0.67∗(1−0.67) =−0, 3

Es ergeben sich für die FehlergradientenδFδwi

:

∆w1 = −0.3 ∗ 0.78 = −0.23∆w2 = −0.3 ∗ 0.62 = −0.19w1 = 0.73 und w2 = 0.69

Nun wird der GradientδFδvi j

berechnet.

Wir erhaltenδFδvi j= −0.3 ∗ wi ∗ θ

′(vi ∗ x) ∗ x j (siehe Folie 40)

Nun werden die Skalarprodukte für vi und x berechnet:

w1 ∗ x =(

0.50.75

)∗

(11

)= 1.25 w2 ∗ x

(0.250.25

)∗

(11

)= 0.5

Damit ergibt sich fürδFδvi, j

:

∆v1,1 = −0.3 ∗w1 ∗ θ(1.25) ∗ (1− θ(1.25)) ∗ x1 = −0.3 ∗ 0.5 ∗ 0.78 ∗ 0.22 ∗ 1 = −0.025∆v1,2 = −0.3 ∗w1 ∗ θ(1.25) ∗ (1− θ(1.25)) ∗ x2 = −0.3 ∗ 0.5 ∗ 0.78 ∗ 0.22 ∗ 1 = −0.025∆v2,1 = −0.3 ∗ w2 ∗ θ(0.5) ∗ (1 − θ(1.25)) ∗ x1 = −0.3 ∗ 0.5 ∗ 0.62 ∗ 0.38 ∗ 1 = −0.035∆v2,2 = −0.3 ∗ w2 ∗ θ(0.5) ∗ (1 − θ(1.25)) ∗ x2 = −0.3 ∗ 0.5 ∗ 0.62 ∗ 0.38 ∗ 1 = −0.035undv1,1 = v1,1 + ∆v1,1 = 0.475v1,2 = v1,2 + ∆v1,2 = 0.725v2,1 = v2,1 + ∆v2,1 = 0.215v2,2 = v2,2 + ∆v2,2 = 0.215

Y = θ(v ∗ x) = θ(0.475 0.7250.215 0.215

)∗

(11

)= θ

(1.2

0.43

)=

(0.760.60

)σ = θ(w ∗ y) = θ

(0.730.69

)∗

(0.760.60

)= θ

(0.74

)= 0.68

Neuer Output bei (1,1) ist 0.68 und nicht mehr 0.67 durch die Anpassung derGewichte.

5

Page 6: 6. Übung „Künstliche Intelligenz“ Wintersemester 2006/2007 · PDF fileapsen, durch das Netz propagiert. Hierbei erfolgt bei künstlich Neuronalen Netzen (kNN) die Aktivierung

Abbildung 2: XOR-Verschaltung

6