Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen...

26
Grundlagen und Aufbau von neuronalen Netzen Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien und Abläufe biologischer neuronaler Netze Jedes KNN besteht aus einer Anzahl künstlicher Neuronen als elementare Informationsverarbeitungseinheit Künstliche Neuronen sind in bestimmter Art und Weise angeordnet und miteinander verbunden (Netzarchitektur) Die Verbindungen dienen zum Austauschen von Nachrichten und sind gewichtet, was die Intensität des Informationsflusses entlang dieser Verbindung zum Ausdruck bringen soll Mit Hilfe von Lernregeln können die Verbindungsgewichte verändert werden Ziel: Netz soll in Trainingsphase anhand von Beispielen und mit Hilfe einer Lernregel, Abbildungen von Eingaben auf erwünschte Ausgaben des Netzes lernen Vorteil von KNN: müssen für Lösung eines Problems nicht explizit programmiert werden

Transcript of Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen...

Page 1: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Grundlagen und Aufbau von neuronalen Netzen

• Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien und Abläufe biologischer neuronaler Netze

• Jedes KNN besteht aus einer Anzahl künstlicher Neuronen als

elementare Informationsverarbeitungseinheit

• Künstliche Neuronen sind in bestimmter Art und Weise angeordnet und miteinander verbunden (Netzarchitektur)

• Die Verbindungen dienen zum Austauschen von Nachrichten

und sind gewichtet, was die Intensität des Informationsflusses entlang dieser Verbindung zum Ausdruck bringen soll

• Mit Hilfe von Lernregeln können die Verbindungsgewichte

verändert werden

• Ziel: Netz soll in Trainingsphase anhand von Beispielen und mit Hilfe einer Lernregel, Abbildungen von Eingaben auf erwünschte Ausgaben des Netzes lernen

• Vorteil von KNN: müssen für Lösung eines Problems nicht

explizit programmiert werden

Page 2: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Schematische Darstellung eines künstlichen Neurons

Eingangssignale xi: Daten können von Umgebung oder Ausgang eines anderen

Neurons stammen Unterschiedliche Netzwerkmodelle erlauben unterschiedliche

Wertebereiche Typische Wertebereiche sind die reellen Zahlen, das Intervall

[0,1] oder die diskreten Werte 0,1. Gewichte wi: Jeder Verbindung in KNN ist häufig eine reelle Zahl als

Gewicht zugeordnet Gewicht beschreibt Stärke der Verbindung

In Verbindungsgewichten ist Wissen des KNN gespeichert

Page 3: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Netto-Input net: Netto-Eingabe entspricht Summe der gewichteten

Eingangssignale

Aktivierungsfunktion f(net): bestimmt, abhängig von Netto-Eingabe net, die Ausgabe

kann das Eingangssignal für anderes Neuron sein oder Ausgangssignal des KNN

Schwellwertfunktion:

Sigmoide Funktion:

Page 4: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Die Netztopologie eines mehrstufigen Netzes

• Mehrstufige (mehrschichtige) Netze sind Netze, bei denen die Ausgabeschicht als Eingabe für eine weitere Neuronenschicht dient

Diese Netztypen können alle möglichen Funktionen darstellen und seit 1985 gibt es einen geeigneten Lernalgorithmus, den Backpropagation-Algorithmus Beispiel: Ein zweistufiges neuronales Netz Die mittlere Neuronenschicht ist Eingabe für die darüberliegende Schicht von Neuronen, die den Output des gesamten Netzes bereitstellt

Die Zwischenneuronen h1 und h2 bezeichnet man als versteckte Neuronen (hidden neurons) und die gesamte mittlere Schicht als versteckte Schicht (hidden layer).

Page 5: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Probleme:

1) Bestimmung der Gewichte

Lange Trainingszeiten mit herkömmlichen Methoden

Initialisierungsabhängig

2) Bestimmung der Topologie

Größe der Eingangs-/Ausgangsschicht steht fest Anzahl der verdeckten Schichten ist variabel

Größe der verdeckten Schichten ist variabel

Entweder strenge Schichtenarchitektur oder beliebige vorwärtsgerichtete Schichtenarchitektur

Page 6: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Optimierung der KNN

Künstliche neuronale Netzen werden mit folgenden Ansätzen optimiert:

1. Ansätze, die versuchen die Topologie eines neuronalen Netzes zu optimieren

2. Ansätze, die die Gewichte eines neuronalen Netzes

optimieren 3. Ansätze, die gleichzeitig eine optimale Netztopologie und

optimale Gewichte des neuronalen Netzes finden wollen

Arten der Codierung von KNN:

1) direkte Codierung 2) indirekte Codierung

Page 7: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Beispiel 1: direkte Codierung [Schöneburg]

Idee: Schöneburg stellt einen Algorithmus vor, der nicht nach geeigneten Topologien im Raum der Netzwerktopologien sucht, sondern im Raum formaler Repräsentationen von Netzwerktopologien.

Übersicht des Algorithmus:

• Übersetzung des Neuronalen Netzes in mathematische Formeln

• Festlegung „akzeptabler“ Formeln durch Grammatik

• Codierung der Formeln in ein binäres Format

• Anwendung von GAs auf binär verschlüsselte Formeln, um „gute“ Formeln zu erhalten

• „gute“ Formel haben wichtige Eigenschaften, z.B.: minimale Anzahl von Termen ⇒ minimale Anzahl von Neuronen

Page 8: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Übersetzung eines KNN in eine Formel:

Mit der Sigmoidfunktion TF als Aktivierungsfunktion für alle Neuronen folgt:

))()((),()( 232131532421415421 xwxwTwxwxwTwTxxoxo FFF +++==

Page 9: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Grammatik, die akzeptable Formeln bestimmt:

1. Seien wi Gewichtungsvariable, xj Inputvariable, dann nennt man wi xj + ... + wn xn basic expression

2. Sei Φ ein basic expression, dann heißt fTi(Φ) neuronaler

Term

3. Wenn Φ ein basic expression ist und β1, ... , βn neuronale Terme, dann heißt fTi ( Φ + w1β1 + ... + wn βn ) terminaler Ausdruck

4. Wenn Φ ein basic expression ist, β1, ... , βn neuronale

Terme und Ω1, ... , Ωk terminale Ausdrücke, dann ist fTi

(Φ + w1β1 + ... + wn βn + wj Ωj + ... + αk Ωk ) ebenfalls terminaler Ausdruck.

5. DEFINITION: Eine Folge von Termen < Ω1, ... , Ωk > ist

eine akzeptable Formel, wenn alle Ωi terminale Ausdrücke sind und jedes xj mindestens einmal in einem der Ωi auftritt.

Page 10: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Ableitung einer Netzwerktopologie aus einer Formel

Schritt 1: Man zeichne eine Linie. Auf diese Linie zeichne man für jeden

Term der Formel, der für eine Transferfunktion steht, einen Knoten (Kreis). In jeden Knoten zeichne man das entsprechende Symbol der Transferfunktion (die Reihenfolge des Auftragens der Knoten auf der Linie ist im Prinzip gleichgültig)

Schritt 2: Man zeichne eine zweite Linie von Knoten unterhalb der ersten,

wobei jeder Knoten dieser Linie für ein Eingabe-Symbol (Eingabe Variable) steht (die Reihenfolge ist gleichgültig)

Wiederhole für alle Ω = (Ω)

Schritt 3: analysiere das Argument Ω

Da Ω die Form Ω = Φ α β α β α Ω α Ω

hat, ist jeder Teilausdruck Φ von Ω in dieser Summe nach Definition entweder ein basic expression, ein neuronaler Term oder ein terminaler

Ausdruck. Arbeite nun Ω von links nach rechts ab. Das weitere Vorgehen hängt davon ab, welcher Art der jeweils betrachtete

Teilausdruck von Ω ist.

Page 11: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Schritt 3.1: Angenommen Φ ist ein nicht leerer basic expression. Er hat dann nach Definition die Form: Φ=α *+...+α * . In diesem Fall

zeichnet man für jeden Teilausdruck α * α von Φ eine Verbindung

von dem Knoten der unteren Linie, der die Eingabe-Variable repräsentiert, zu dem Knoten der darüber liegenden Schicht, der die Transferfunktion repräsentiert. Beschrifte diese Verbindung mit αm, da αm die Gewichtung dieser Verbindung darstellt.

Schritt 3.2: Wenn Φ von der Form α * (β ) ist und βn ein basic

expression, so zeichnet man eine Verbindung von dem Knoten, der repräsentiert zum Knoten und beschriftet diese Verbindung mit α . Dann fahre man mit dem Argument β rekursiv wie in 3.1 fort.

Schritt 3.3: Wenn Φ von der Gestalt α * (Ω ) und Ω ein terminaler

Ausdruck ist, zeichnet man eine Verbindung von dem Knoten, der repräsentiert zu dem Knoten, der repräsentiert und beschriftet diese

Verbindung mit dem Gewicht α . Man beginnt den Aufbauprozess

rekursiv mit (Ω ) wie bei Schritt 3, indem durch und Ω durch

Ω ersetzt wird.

Page 12: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Codierung der Formeln • Codierung auf Chromosom mit Alphabet aus 256 Buchstaben • Chromosom ist in Abschnitte aufgeteilt • Anzahl der Abschnitte entsprecht Anzahl der Ausgabe-Neuronen • In Abschnitt ist Graph (Baumstruktur) zu Neuron codiert • Abschnitt enthält Unterabschnitt, der aus 3 Buchstaben besteht • Erster ist Aktivierungsfunktion, Zweiter und Dritter deren Parameter

Page 13: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien
Page 14: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Die Fitness einer Formel

Datensatz s = Menge von Tupeln < , >, wobei die Eingabe

und die jeweils dazu erwartete Ausgabe des Netzes ist.

c sei ein Chromosom, d.h. eine verschlüsselte Formel und

int(c, ) die Interpretation von c für das Argument . Die Tauglichkeit von c, fit(c), wird durch ein Fehlermaß über dem Datensatz s bestimmt. Wenn das Fehlermaß der mittlere quadratische Fehler ist, so wird z.B. fit(c) berechnet, indem die Interpretation von c

hintereinander auf alle als Argumente angewandt wird:

Je kleiner der quadratische Fehler der Interpretation der Formel auf dem Trainingssatz ist, desto größer, ist die Tauglichkeit der Formel

Page 15: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Erweiterung der Fitnessfunktion

• Einfügen von Belohnungs- oder Bestrafungsterm für die Fitnessfunktion um zusätzlich kurze Formeln zu erhalten

• Identitätsfunktion f(x) = x , um die Länge der Formel gleich

mitzuoptimieren

• Wenn die Identitätsfunktion in verschlüsseltem Formelausdruck erscheint, wird sie übersprungen, da sie Wert nicht verändert

• Hinzufügen eines Belohnungsterm zur Fitnessfunktion für das

k-fache Auftreten der Identitätsfunktion

)()))),(int(*/1/(1)(1

2 khyxcncfitn

iii +−= ∑

=

• Die Funktion h kann im Prinzip jede sinnvolle Funktion von k

sein, z.B. eine lineare oder exponentielle Funktion, wie z.B.

h(k) = α*k oder h(k)= k

2

• in der Praxis wird noch eine kleine konstante Zahl β ( 102− oder ähnlich) hinzugefügt, um eine potentielle Division durch 0 zu vermeiden (z.B. wenn Annäherungsfehler 0 ist)

)()))),(int(*/1/(1)(1

2 khyxcncfitn

iii ++−= ∑

Page 16: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Die automatische Erzeugung neuronaler Netzwerke Die automatische Erzeugung Neuronaler Netzwerke läuft nun letztlich wie folgt ab:

1. Erzeuge zufällig die anfängliche Population der Formeln (d.h. einen Satz binär verschlüsselter, akzeptabler Formel)

2. Wiederhole bis die Abbruchbedingung erreicht ist (d.h. bis die Zeit abgelaufen ist oder bis kein weiterer Fortschritt in der Population errecht wurde)

a. interpretiere jedes Chromosom und berechne seine

Tauglichkeit; wenn die Tauglichkeit zufriedenstellend ist, stoppe den Algorithmus und liefere die Formel mit der höchsten Tauglichkeit als Ergebnis zurück

b. ansonsten wähle Formeln durch passendes

„Hochzeitsschema“ und gebe den Formeln eine Möglichkeit im Verhältnis zu ihrer Tauglichkeit Kinder zu erzeugen.

c. rekombiniere die ausgewählten Formeln neu durch

Crossover

d. nehme an den Formeln der neuen Generation entsprechende Mutationen vor

e. gehe zu 2.

Page 17: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Mit dieser Implementierung des Algorithmus wurde das folgende dargestellte Netz erzeugt. Dieses Netz erreicht einen mittleren quadratischen Fehler von 8% und wird durch folgende automatisch generierte Formeln beschrieben:

Page 18: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Nach weiteren 141 Generationen Optimierung erreicht das Netz [Abbildung 2.8] einen mittleren Fehler von nur 0,2%. Die das Netz codierende, automatisch generierte Formel lautete (i[x] steht hier für die Eingabeneuronen, die Transferfunktion ist hier die Sigmoidfunktion f):

Page 19: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Beispiel 2: Indirekte Codierung [Kitano]

• grammatikalische Codierung

• Generierung einer Konnektionsmatrix eines KNN, indem er auf ein vordefiniertes Anfangselement (Axiom) rekursiv die Regeln einer deterministischen, kontextfreien Grammatik anwendet

Page 20: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

• In Konnektionsmatrix sind Verbindungen zwischen Neuronen gespeichert, wobei eine 1 für eine Verbindung und eine 0 für keine Verbindung steht

• Optimierung dieser Regeln mittels GA anstatt direkte

Änderung der Verbindungen

• entstehende KNN sind i.a. regelmäßiger strukturiert und zeigen bessere Generalisierungsfähigkeiten als bei direkter Codierung.

• linke Seite der Regel besteht aus einem Non-Terminal

und ihre rechte Seite aus einer 2x2-Matrix von entweder Terminals oder Non-Terminals

• Terminals sind Endelemente, die Bestehen oder Fehlen einer Neuronenverbindung anzeigen

• Non-terminals werden durch rekursive Anwendung der grammatischen Regeln weiter transformiert

Page 21: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

• Grammatik ist als String variabler Länge repräsentiert, auf dem eine Regelmenge codiert ist

• GA optimiert diese Regeln

• Ziel: Finden guter Netzarchitekturen über die GA-basierte Optimierung der grammatischen Regeln

• Jeder String enthält konstanten sowie einen variablen Teil

• Nur variabler Teil wird durch Crossover und Mutation verändert.

Page 22: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Fitness bei [Kitano]

• Fitnessermittlung durch Transformation des „Grammatikstring“ in KNN

• Verbindungsgewichte und Schwellwerte werden stochastisch initialisiert im Intervall –1,0 bis +1,0 und anschließend mit BP trainiert

• Über Testdaten wird die Summe der quadrierten Fehler E ermittelt

• Fitnessmaß ist 1/E, d.h. höhere Fitness = bessere Netzleistung

Page 23: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Beispiel 3: Direkte Codierung: Optimierung von Netzarchitektur und Parametern [Dasgupta und McGregor]

• Anstatt nur die Topologie zu optimieren und erzeugte KNN mit Lernverfahren, wie BP zu trainieren ( wie bei indirekter Codierung von Kitano), ist es auch möglich simultan die Netzparameter mitzuoptimieren

• Dasgupta und McGregor verwenden eine hierarchische

Lösungsrepräsentation

• Jeder String besteht aus zwei Teilen

• Im ersten Teil (high level) ist die Konnektionsmatrix zeilenweise binär repräsentiert

• Der zweite Teil (low level) codiert, ebenfalls binär,

Verbindungsgewichte und weitere Parameter des KNN

Page 24: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

• Sind Verbindungen zwischen Neuronen deaktiviert (Wert 0 in der Konnektionsmatrix), so bleiben die korrespondierenden Gewichte Bestandteil des Strings und werden im Rahmen des GA weitervererbt

• Diese sind jedoch nicht aktiv und beeinflussen nicht decodierte Netzkonfiguration

• Durch eine Änderung im high level Abschnitt des Strings können sie wieder aktiviert werden

• daher ziehen Änderungen auf der höheren Ebene Konsequenzen auf der niedrigeren Ebene nach sich

Page 25: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Fitness bei [Dasgupta und McGregor]

• Startpopulation ist stochastisch initialisiert.

• Bei der Fitnessbestimmung während GA-Optimierung

muss jedes Individuum anhand beider Stringabschnitte zu einem KNN decodiert werden

• In Fitnessberechnung gehen Gültigkeit und Komplexität der gefundenen Netzarchitektur

• Dasgupta und McGregor verwenden 2-Punkt Crossover, verschiedene Mutationsformen und rangbasierte Selektion

• Ungültige Architekturen werden mit höherer Wahrscheinlichkeit als gültige im high level Bereich mutiert

Page 26: Grundlagen und Aufbau von neuronalen · PDF fileGrundlagen und Aufbau von neuronalen Netzen • Künstliche neuronale Netze (KNN) modellieren auf stark vereinfachte Weise Organisationsprinzipien

Übersicht direkte/indirekte Codierung: Direkte Codierung:

maximale Netzgröße muss vorab definiert werden

beschränkt Suchraum, aber gute Architekturen können unabsichtlich ausgeschlossen werden

daher eignet sich direkte Codierung nur für kleine KNN

Stringlänge wächst mit Netzgröße überproportional

Indirekte Codierung:

Vermeidet Probleme direkter Codierung durch hohen Abstraktionsgrad

Nicht geeignet um Einzelheiten der Netzarchitektur zu optimieren (z.B. Gewichte)