(künstliche) Neuronale Netze. (c) Till Hänisch 2003, BA Heidenheim

Ähnliche Dokumente
(künstliche) Neuronale Netze. (c) Till Hänisch 2003,2015, DHBW Heidenheim

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Jan Parthey, Christin Seifert. 22. Mai 2003

Simulation LIF5000. Abbildung 1

Grundlagen der Theoretischen Informatik, SoSe 2008

Einführung in. Logische Schaltungen

Professionelle Seminare im Bereich MS-Office

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

Neuronale Netze (I) Biologisches Neuronales Netz

ecaros2 - Accountmanager

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Was meinen die Leute eigentlich mit: Grexit?

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Gliederung. Biologische Motivation Künstliche neuronale Netzwerke. Anwendungsbeispiele Zusammenfassung. Das Perzeptron

Beispiel(unten ist der Spielfeldrand):

Lineare Gleichungssysteme

EINFACHES HAUSHALT- KASSABUCH

Was bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und

ONLINE-AKADEMIE. "Diplomierter NLP Anwender für Schule und Unterricht" Ziele

sondern alle Werte gleich behandelt. Wir dürfen aber nicht vergessen, dass Ergebnisse, je länger sie in der Vergangenheit

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Wir machen neue Politik für Baden-Württemberg

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Info-Veranstaltung zur Erstellung von Zertifikaten

Programmierkurs Java

!(0) + o 1("). Es ist damit möglich, dass mehrere Familien geschlossener Orbits gleichzeitig abzweigen.

Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider

Erwin Grüner

6.2 Scan-Konvertierung (Scan Conversion)

Was ist das Budget für Arbeit?

Was ist Sozial-Raum-Orientierung?

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Was bedeutet Inklusion für Geschwisterkinder? Ein Meinungsbild. Irene von Drigalski Geschäftsführerin Novartis Stiftung FamilienBande.

AutoCAD Dienstprogramm zur Lizenzübertragung

In konstanten Modellen wird davon ausgegangen, dass die zu prognostizierende Größe sich über die Zeit hinweg nicht verändert.

1 Mathematische Grundlagen

Informationsblatt Induktionsbeweis

Kulturelle Evolution 12

Approximation durch Taylorpolynome

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

L10N-Manager 3. Netzwerktreffen der Hochschulübersetzer/i nnen Mannheim 10. Mai 2016

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Lehrer: Einschreibemethoden

Erfahrungen mit Hartz IV- Empfängern

Manager. von Peter Pfeifer, Waltraud Pfeifer, Burkhard Münchhagen. Spielanleitung

Erstellen von x-y-diagrammen in OpenOffice.calc

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Aktivierung von Makros in den Erfassungshilfen

Einführung in die Programmierung

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

100 Mikrokredite und Abschluss der Pilotphase. Ruedi Winkler, Präsident Verein GO! Ziel selbstständig

Hohe Kontraste zwischen Himmel und Landschaft abmildern

Selbstorganisierende Karten

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

Freischaltung eines neuen VR-NetKeys mit SecureGo

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

WLAN Konfiguration. Michael Bukreus Seite 1

Güte von Tests. die Wahrscheinlichkeit für den Fehler 2. Art bei der Testentscheidung, nämlich. falsch ist. Darauf haben wir bereits im Kapitel über

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Anwendungsbeispiele Buchhaltung

Muskelaufbau mit Kettlebells

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Kommentartext Medien sinnvoll nutzen

Übungsaufgaben Tilgungsrechnung

Musterlösungen zur Linearen Algebra II Blatt 5

Gleichungen Lösen. Ein graphischer Blick auf Gleichungen

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Lösungsmethoden gewöhnlicher Differentialgleichungen (Dgl.)

PHP - Projekt Personalverwaltung. Erstellt von James Schüpbach

Kreativ visualisieren

DAS PARETO PRINZIP DER SCHLÜSSEL ZUM ERFOLG

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Arbeit zur Lebens-Geschichte mit Menschen mit Behinderung Ein Papier des Bundesverbands evangelische Behindertenhilfe e.v.

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

Primzahlen und RSA-Verschlüsselung

ANTWORTEN AUF HÄUFIGE FRAGEN TKB E-BANKING

Grundlagen verteilter Systeme

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen

Festigkeit von FDM-3D-Druckteilen

Matrizennorm. Definition 1. Sei A M r,s (R). Dann heißt A := sup die Matrixnorm. Wir wissen zunächst nicht, ob A eine reelle Zahl ist.

Browsereinstellungen für moneycheck24 in Explorer unter Windows

Senioren ans Netz. schreiben kurze Texte. Lektion 9 in Themen aktuell 2, nach Übung 7

Statuten in leichter Sprache

Mobile Intranet in Unternehmen

Chemie Zusammenfassung KA 2

Dokumentation zum Projekt Multimediale Lehre Fluidmechanik an der Technischen Universität Graz

W-Rechnung und Statistik für Ingenieure Übung 11

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Erfahrungsaustausch und Rückblick Cross Mentoring Dr. Karl Straßer Mag. Kathrin Kühtreiber

LEITFADEN ZUR SCHÄTZUNG DER BEITRAGSNACHWEISE

Wie halte ich Ordnung auf meiner Festplatte?

1. Einführung. 2. Alternativen zu eigenen Auswertungen. 3. Erstellen eigener Tabellen-Auswertungen

Studienplatzbeschaffung

DIE SICHERE ENTSCHEIDUNG!

FH-SY Chapter Version 3 - FH-SY.NET - FAQ -

Transkript:

(künstliche) Neuronale Netze (c) Till Hänisch 2003, BA Heidenheim

Literatur zusätzlich zum Lit. Verz. Michael Negnevitsky, Artificial Intelligence, Addison Wesley 2002

Warum? Manche Probleme (z.b. Klassifikation) durch Programme schwer lösbar Vergabe von Krediten, Mustererkennung, Kaufentscheidung bei Wertpapieren Formulierung expliziter Regeln unsicheres Wissen für Menschen leicht(er) Simulation der Funktionsweise des menschl. Gehirns Wie funktioniert das Gehirn?

Aufbau des Gehirns Säugetiergehirn, Ausschnitt Aus [Cell], S. 1119 Axon Neuron

Neuron Struktur eines Neurons, Die Pfeile geben die Richtung des Signalflusses an. Das Axon ist der Ausgang des Neurons, die Dendriten die Eingänge Aus [Cell], S. 528

Signalübertragung Aktionspotential Wird durch kurzen Impuls ausgelöst, der die Membran kurzzeitig depolarisisiert (grüne Kurve im mittleren Bild). Dadurch werden spannungsgesteuerte Na- Kanäle geöffnet (Na-Ionen strömen durch den geöffneten Kanal aus). Nach Inaktivierung des Kanals geht das Membranpotential langsam wieder auf das Ruhepotential zurück (durch Einstrom von K- Ionen durch Kalium Kanäle) Aus [Cell], S. 529

Lernen Eliminierung von Synapsen Zunächst ist jedes Neuron mit zahlreichen anderen Verbunden. Durch komplexe Vorgänge (konkurrierende Aktivierung von Na-Kanälen) werden Synapsen (=Verbindungen zwischen Axon und Dendriten) eliminiert. Aus [Cell], S. 1128

künstliche Neuronen künstliches neuronales Netzwerk Die genaue Funktion der Neuronen im Gehirn (oder allgemein bei der Signalübertragung zwischen Zellen) ist im Detail nicht geklärt. Künstliche neuronale Netze können als Modell dienen, um die tatsächlichen Vorgänge besser zu verstehen. Die Neuronen werden in Schichten angeordnet (übl. 1-10 innere Layer), jedes Axon ist mit allen Dendriten der nächsten Schicht verbunden. Die Aktivierung eines Neurons hängt von seinen Eingängen ab, die Verbindungen haben eine spezifische Stärke d.h. Gewichtung. Beim Lernen werden die Synapsen nicht tatsächlich eliminiert, sondern die Gewichtungsfaktoren verändert (ggf. auf 0) Aus [Cell], S. 779

Exkurs Intrazelluläre Prozesse können ebenfalls durch neuronale Netze dargestellt werden: Spezifische Rezeptoren aktivieren Kinasen. Die Abbildung zeigt ein (stark vereinfachtes) Modell einer zellulären Kommunikationskette, das Prinzip ist jedoch das tatsächlich vorhandene. Aus [Cell], S. 781

künstliches Neuron Künstliches Neuron. Die Eingänge xi werden mit den Gewichten wi multipliziert. Die Aktivierung erfolgt durch eine Schwellwertfunktion f. Die Werte sind kontinuierlich (Unterschied zum tatsächlichen Neuron, hier wird die Intensität der Stimulierung durch die Zahl der aktivierten Neuronen und die Frequenz der Aktivierungen bestimmt) Aus [Luger], S. 462

Schwellwertfunktion Verschiedene Schwellwertfunktionen Durch diese Funktion wird das Aktivierungsverhalten festgelegt. Bei geringer Erregung soll keine Aktivierung stattfinden, ab einer bestimmten Schwelle soll das Neuron aktiviert werden. Die Θ- Funktion hat den (später entscheidenden) Nachteil, nicht differenzierbar zu sein. Wir verwenden zunächst die Θ Funktion (a), später eine logistische Funktion (c): f(x)=1/(1+exp(-λx)) Aus [Luger], S. 470

Perceptron Ein einfaches Perceptron (Rosenblatt 1958) Zwei Eingänge, Ergebnis ist t < t public double calc(double x1, double x2) { double sum = x1*w1 + x2*w2 + Bias*w3; double my_result; if (sum >= t) my_result = 1; else my_result = -1; return my_result; Der dritte (verborgene) Eingang wird als Kalibrierung oder Bias bezeichnet und hat einen festen Wert (hier 1) Beispiel: Berechnung der logischen UND Funktion, w1=w2=1, w3=-2 x y s f(s) 1 1 0 1 1 0-1 -1 0 1-1 -1 0 0-2 -1 } Aber: Woher kommen die Gewichte?

lernen Überwachtes Lernen: Das Neuron erhält (beliebige) Eingabewerte xi, der Ausgabewert f wird berechnet und mit dem (vom Trainer) vorgegebenen Ergebnis d verglichen. Die Gewichte wi werden so angepasst, dass das gewünschte Ergebnis erzielt wird: wi=c(d-f)xi 0.75 0.5-0.6 0.75 0.5-0.6 System.out.println(w1 + " " + w2 + " " + w3); double myresult = calc(x1,x2); w1=w1+c*(result-myresult)*x1; w2=w2+c*(result-myresult)*x2; w3=w3+c*(result-myresult)*bias; System.out.println(w1 + " " + w2 + " " + w3); System.out.println(""); Beispiel: c=0.2, w1=0.75, w2=0.5, w3=-0.6 nach 10 Trainingsrunden hat das Neuron die Funktion gelernt, Ausgabe: 0.0 AND 0.0 = -1.0 1.0 AND 1.0 = 1.0 0.0 AND 1.0 = -1.0 1.0 AND 0.0 = -1.0 0.75 0.5-0.6 0.75 0.5-0.6 0.75 0.5-0.6 0.75 0.5-0.6 0.75 0.5-0.6 0.75 0.5-0.6 0.75 0.5-0.6 0.35 0.5-1.0 0.35 0.5-1.0 0.75 0.9-0.6 0.75 0.9-0.6 0.75 0.9-0.6 0.75 0.9-0.6 0.75 0.9-0.6 0.75 0.9-0.6 0.75 0.5-1.0 0.75 0.5-1.0 0.75 0.5-1.0 so bleibt s dann

anderes Beispiel: logische XOR-Funktion, Ergebnis nach 200 Trainigsrunden: 1.0 XOR 1.0 = -1.0 0.0 XOR 1.0 = -1.0 1.0 XOR 0.0 = -1.0 0.0 XOR 0.0 = -1.0 Haeh? Funktioniert nicht! Warum nicht? Was kann ein einzelnes Neuron? Eingabewerte klassifizieren, Grenze ist lineare Funktion (Gerade) Wie sieht s bei der XOR-Funktion aus? Komplexe Klassifikation

XOR-Problem eine mögliche Lösung Wie trainiert man ein solches Netz? Unser Verfahren (Perceptron-Lernverfahren) funktioniert nur bei einem einzelnen Neuron, Problem hier (mehrere Schichten): Wie müsste das Ergebnis eines der mittleren Neuronen sein? Nur so ist ein Vergleich möglich! nach [Luger], S. 479

Backpropagation Backpropagation Algorithmus aus [Luger], S. 473 Wie funktioniert s? W=cδi(j)X δ(k)=(d-f)f(1-f) : letzte Schicht δi(j)=fi(j)(1-fi(j)) δl(j+1)wil(j+1) : innere Schichten Rekursion beginnend bei letzter Schicht

Architektur Klassifikationssystem Ein neuronales Netz muss die zu untersuchenden Merkmale als Eingabe an den Neuronen der ersten Schicht erhalten. Diese müssen aus den Rohdaten extrahiert werden, z.b. Spracherkennung beim Autotelefon: Die Phoneme werden aus dem Audio-Datenstrom extrahiert aus [Luger], S. 467

NETtalk NETtalk Architektur Sejnowski, Rosenberg, 1987 Aussprache von englischem Text regelbasierte Programme lösen diese Aufgabe nicht zufriedenstellend Als Eingabe werden Textstücke von je 7 Buchstaben verwendet, der mittlere Bichstabe soll ausgesprochen werden (Aussprache hängt vom Kontext ab, 29 Eingabeeinheiten für die Buchstaben + Satzzeichen)). Die Ausgabeeinheiten entsprechen 21 Phonemen sowie Silbengrenzen, Betonung. Training mit Backpropagation. Ergebnisse: Lernfortschritte sind zunächst gross, werden dann kleiner. Werden bei einem trainierten Netz einzelne Gewichte (zufällig) geändert, wird die Aussprache insgesamt etwas schlechter --> Fehlertoleranz aus [Luger], S. 478

Kreditvergabe Eine Bank will die Entscheidung über die Vergabe von Krediten automatisieren. Dazu werden eine reihe von Merkmalen definiert, anhand derer ein neuronales Netz entscheiden (klassifizieren) soll, ob ein Kredit vergeben, bzw. ob eine persönliche Begegnung nötig ist. Zum Training werden die folgenden Daten verwendet Unternehmen hoher Gewinn solide Rücklagen schlechte EK-Quote rückl. Umsatz Kreditvergabe pers. Empfang Albert GmbH - + - - ja ja Brova Verlag - + - + nein ja Calvin Fein + - - - ja ja Erdol Inc. - - + + nein nein FAG Autoteile + + - - ja nein Dolly Muster KG - - + - nein nein Zwei Neuronen (eins für Kredit, eins für pers. Empfang) mit jeweils 4 Eingängen (eben die Merkmale). Als Wertebereich für die Merkmale wird (-1,1) verwendet. Nach einem Übungsblatt des Lehrstuhls für Wirtschaftsinformatik I (Prof. Heinzl), Universität Mannheim

Kredit pers. Empfang public double calc(double x[]) { double sum = 0; for(int i=0;i<nrofinputs;i++) sum+=x[i]*w[i]; sum += Bias*w[NrOfInputs]; return (sum >= t)? 1 : -1; } public void learn(double x[], double result) { double myresult = calc(x); for(int i=0;i<nrofinputs;i++) w[i] = w[i] + c*(result-myresult)*x[i]; w[nrofinputs] = w[nrofinputs] + c*(result-myresult)*bias; } Unternehmen hoher Gewinn solide Rücklagen schlechte EK-Quote rückl. Umsatz Kreditvergabe pers. Empfang Mama s Grillstube + - + +?????? Kriegt Mama Kredit? [OfficeMac:KI/NN/Kredit] till% java Kredit Kriegt Mama's Grillstube Kredit? nein Darf Mama in die Bank? nein

lernen revisited Bisher: Beaufsichtigtes Lernen. Was ist, wenn kein Trainer da ist? Wie lernen Menschen? (etwa sehen)? Also: Unbeaufsichtigtes Lernen Hebb sches Lernen (Donald Hebb, 1949) Wenn ein Neuron i nahe genug an Neuron j ist, und wiederholt an dessen Aktivierung beteiligt ist, sollte die Synapse zwichen beiden verstärkt werden aus [Negnevitsky], S. 199 Anders: (Stent, 1973) Wenn zwei miteinander verbundene Neuronen gemeinsam aktiviert werden, wird das Gewicht der Verbindung verstärkt Wenn zwei miteinander verbundene Neuronen getrennt aktiviert werden, wird das Gewicht der Verbindung erniedrigt Problem: Die Gewichte werden (nach Hebb) während des Trainings immer weiter erhöht. Lösung: Die Gewichte werden durch einen forgetting factor in jedem Lernschritt reduziert: wij(p)=αyi(p)xi(p)-φyj(p)wij(p), α: Lernrate, Φ Vergesslichkeitsfaktor

Beispiel: Ein Netz mit 5 Neuronen. Zunächst wird eine Einheitsmatrix als Gewicht verwendet, die Schwelle der Sigma- Funktion wird mit zufälligen Werten aus (0,1) initialisiert. Nach Training mit den angegebenen Vektoren ergibt sich die Gewichtsmatrix der rechten Spalte. Ergebnis: Als Ausgabe auf den Vektor (1,0,0,0,1) erhält man (0,1,0,0,1). Die Eingabekomponente x5 ergibt ein Ergebnis bei den Neuronen 2 und 5. Die Komponente x1 taucht im Ergebnis nicht auf (was nicht weiter verwunderlich ist, da diese bei den Trainingsdaten nie vorkam). aus [Negnevitsky], S. 201

Wettbewerbslernen Beim Hebb schen Lernen sind (evtl.) mehrere Ausgangsneuronen gleichzeitig aktiv. Beim competitive learning wird ein Neuron ausgewählt (winner-takesall Neuron). Self organizing feature maps (Kohonen, 1989) aus [Negnevitsky], S. 203

Realisierung Die Neuronen haben Verbindungen zu allen Eingängen und zusätzlich Verbindungen untereinander, die zur Auswahl des stärksten Neurons dienen. Dabei wird jeweils unter den benachbarten Neuronen das mit der stärksten Aktivierung ausgewählt (Zu Beginn des Trainings aus einer relativ großen Umgebung, später immer kleiner). aus [Negnevitsky], S. 204

aus [Negnevitsky], S. 208 Beispiel Ein Netz aus 100 Neuronen (10x10 Gitter). Jedes Neuron hat zwei Eingänge (Klassifikation zweidimensionaler Vektoren) a) Ausgangskonfiguration, Gewichte zufällig b) Nach 100 Iterationen c) Nach 1000 Iterationen d) Nach 10000 Iterationen Training mit zufälligen Vektoren, Komponenten aus [-1,1]

Ergebnis: Das Netz erhält die Vektoren X1=(0.2,0.9) X2=(0.6,-0.2) X3=(-0.7,-0.8) Dadurch werden die Neuronen 6, 69 bzw. 92 aktiviert Jedes Neuron entspricht also einem Gebiet des Raums der Eingabedaten, also einem best. Muster