zur Vorlesung Neuronale Netzwerke

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Imperative Programmierung
Perceptrons and the perceptron learning rule
Hochschule Fulda – FB ET Sommersemester 2010
Adaptive Systeme Prof. Rüdiger Brause WS 2011.
4. Konzepte des Konnektionismus – Theorie Künstlich Neuronaler Netze
Konzepte objektorientierter Systeme
Seminar Stochastik im WS 02/03
der Universität Oldenburg
MS Office-Paket: Access
Grundlagen der Geometrie
Neuronale Netze Von Kay-Patrick Wittbold.
Java: Dynamische Datentypen
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg1/7 Datenbanken werden als Anhäufung von Werten eines Wertebereiches aufgefasst und Datenbankabfragen.
Neuronale Netze Inhalt des Vortrags:
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
Anwendungsperspektiven
Uebung 03 Netzdateien.
Biologisches Vorbild Grundlagen
RBF-Netze, Learning Vector Quantisation, Kohonen-Karten
Uebung 02 NN Properties b1b1 b2b2 b3b3 b4b4 b INPUTINPUT OUTPUTOUTPUT w 1o w 2o w 3o w 4o w 11 w 12 w 13 w 14 w 21 w 22 w 23 w 24.
Uebung 01 ANN mit MATLAB.
Uebung 03 Perceptron Training INPUTINPUT b OUTPUTOUTPUT w1w1 w2w2.
Datenstrom (Propagation) Fehlerstrom (Backpropagation)
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Neuronale Netze Romy Kuttner, Franco Haberland.
Wismar Business School
Einführung MySQL mit PHP
Kennlinie Lichtregelung in JavaNNS Version 1.1
Künstlich Neuronale Netze
Neuronale Netzwerke am Beispiel eines MLP
Neuronale Netze (Mitchell Kap. 4)
Neuronale Netze 2 (Mitchell Kap. 4)
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Neuronale Netze Teil II.
DataMining Von Daten zu Informationen und Wissen
Geometrische Netze Erstellung.
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Datenmanipulation Lehrbuch, Kapitel 4.
Erzeugen von Karten, Layern und Legenden
Game Development mit LUA Integration und Kommunikation von LUA mit C++ Referat von Paul van Hemmen Seminar: Reusable Content in 3D und Simulationssystemen.
Adaptive Systeme Prof. Rüdiger Brause WS 2013.
Adaptive Systeme-2 Grundlagen
Neuronale Netze.
Neuronale Netze (1) Isabel Schwende
Parallel Matrix Multiplication
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
OOP-Begriffe Abstraktion Modellieren Klasse Objekt Attribute Methoden
Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm.
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Programmierung 1. Einführung Seite 1
Radiale Basis-funktionen
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
DD, DTD, DFD SWT-Übung WS 10/11. 2 DD, Syntax SWT-Übung , Gregor Buchholz Data Dictionary, Syntax - = (besteht aus) / ist äquivalent.
Übung 2 - MdMT Methoden der Medizintechnik Übung zur Vorlesung Folge 2 – Basics Vom ersten Befehl zum Plot.
1 Tagesüberblick 5 Lösung Hausaufgabe/Fragen Assoziative Felder Funktionen zu Variablenbehandlung.
Diskrete Mathematik I Vorlesung 2 Arrays.
Grundlagen der Geometrie
Customizing Tools: Alarme
Vieren - Programmierung Im Jahre 1981 traten die ersten Viren auf, die noch sehr einfach gestrickt waren, und nicht sehr destruktiv waren. Mittlerweile.
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Organisation Referate Materialien Dritter Termin Workshop 27.Oktober 2010 Projektseminar WS 09/10 Konnektionistische Sprachverarbeitung 1.
PCA Principal Component Analysis. Gliederung PCA – Warum eigentlich? PCA – Was ist zu tun? Was passiert eigentlich? Anwendungen Zusammenfassung.
C++ FÜR cOMPUTERSPIELENTWICKLER
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
File Objekt
 Präsentation transkript:

zur Vorlesung Neuronale Netzwerke Programmierprojekt zur Vorlesung Neuronale Netzwerke

Soft Computing / Programmieren Übungen In den Übungen sollen eigenständige Systeme zur Erstellungs-, Trainings- und Arbeitsphase von neuronalen Netzwerken auf command line erstellt werden Dateiformat für Netze definieren Programm für die Arbeitsphase Programm für die Erstellungsphase mit einer visuellen Darstellungskomponente Programm für die Trainingsphase Visuelle Darstellungen von Datensätzen Fulda 2009 Soft Computing / Programmieren

Implementationsprinzipien Trennung der Aspekte: Datenhaltung numerische Eigenschaften der Objekte Unveränderliche Parameter Sich aktuell ändernde Variablen Funktionalität Methoden der Objekte Globale Methoden Darstellung Dateispeicherung graphische Oberfläche Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Netz-Dateien Es ist eine Entscheidung zu treffen, ob die Verbindungsgewichte als eine große Matrix oder als eine Folge kleinerer Matrizen (für Paare von Schichten oder Gruppen). Bei mehreren Matrizen müssen diese untereinander durch Kommentare getrennt werden, die auch die Information enthalten, zwischen welchen Gruppen bzw. Schichten diese Verbindungen verlaufen. Neuronen- Schichten- oder Gruppenzahl können entweder aus den Matrizen abgelesen oder in eigenen Daten- oder Kommentarzeilen abgelegt werden. Fulda 2009 Soft Computing / Programmieren

Aktivierungsfunktion alpha Zusammenrechnen der ankommenden Inputs x über die Synapsengewichte Skalarprodukt Summe der multiplizierten Inputs a = α(x) = ∑wi·xi . Quadratischer Abstand Abstand des Eingabevektors vom Gewichtsvektor a = α(x) = ∑(wi-xi)² Alternativen (dokumentieren Sie, auf welche Weise ein Benutzer eigene Aktivierungsfunktionen einbinden kann) Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Outputfunktion theta Funktionen zur Berechnung des Neuronen-Outputs aus der Neuronen-Aktivität a, dem Bias b (Schwellwert) und einer Steigung s. Identität θ(a) = a Sprungfunktion θ(a,b) = (a>b)?1:0 = (a-b > 0)?1:0 Sigmoidfunktion θ(a,b,s) = (1+exp(s·(a – b)))-1 Radiale Basisfunktion θ(a,b,s) = exp(s·(a – b)²) Alternativen (dokumentieren Sie, auf welche Weise ein Benutzer eigene Outputfunktionen einbinden kann) Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Initialisierung Bei der Definition, vor dem ersten oder erneuten Gebrauch der Verbindungen müssen deren Gewichte festgelegt werden Rücksetzen auf 0 Zufällig aus dem Intervall [0,N] Aus einer Netz-Datei mit passenden Parametern Aktuelles Gewicht + Zufallszahl aus [0,ε] Fulda 2009 Soft Computing / Programmieren

Propagierung/Arbeitsphase Ein neuronales Netz nimmt einen Eingabevektor x fester Länge n (Anzahl der Eingabeparameter) entgegen, propagiert diese durch das Netz und produziert damit eine Ausgabe. Die Propagierungsfunktion beschreibt, in welcher Reihenfolge die einzelnen Neuronen ihren lokalen Input zum lokalen Output umrechnen. Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Aufbau von Netzwerken Elementare Bausteine: Neuronen, Verbindungen Zusammengesetzte Bausteine Neuronengruppen, Schichten Verbindungsgruppen Netzwerk Sammlung von Neuronengruppen und Verbindungsgruppen Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Neuronen Name / lfd. Nummer Art ( input, output, hidden, const) Aktivierungsfunktion Outputfunktion Parameter Aktivierung a (float oder double) Bias b (float oder double) Steigung s (float oder double) Fehler e (float oder double) Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Verbindung (Synapse) Start (Neuron) Ziel (Neuron) Gewicht (float oder double) Plastizität (Lernparameter : float oder double) Initialisierung des Gewichts 0 benutzerdefiniert α benutzerdefiniert α·Zufallszahl Aktuell + α·Zufallszahl Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Neuronengruppen Name / lfd. Nummer Liste von Neuronen Neuronenzahl Default Art Default Aktivierungsfunktion Default Outputfunktion Verbindungstyp (keine, zyklisch, alle) Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Verbindungsgruppen Startgruppe (Neuronengruppe) Zielgruppe (Neuronengruppe) Liste von Verbindungen von Neuronen der Startgruppe zu Neuronen der Zielgruppe Verbindungstyp (keine, 1-zu-1, alle) Gewichtsmatrix Initialisierung der Gewichte Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Schichten (Layer) Name / lfd. Nummer Liste von Neuronengruppen / Neuronen Funktion : Schichteneinteilung Eine automatische Sortierung aller Neuronengruppen in Schichten kann eingesetzt werden, dabei werden ggf. die Gruppen umnumeriert. Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Ablage [groups] Liste der Gruppengrößen [in] Nr. der Input-Gruppen [out] Nr. der Output-Gruppe für jede Verbindungsgruppe eine Zeile und Matrix mit Ueberschrift [connection] Start, Ziel, Art, alpha, theta Matrix [neurons] für jedes Neuron eine Zeile lfd.Nr, Gruppe, activity, bias, steigung, output Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Trainingseinheit Es sollen die Fehlerorientierten Trainingsverfahren Backpropagation Backpropagation mit Erweiterungen und die selbstorganisierten Trainingsverfahren JVQ SOM realisiert werden Fulda 2009 Soft Computing / Programmieren

Soft Computing / Programmieren Darstellungen Fehlerdarstellung in der Arbeitsphase sollte es einen Protokollmodus geben in der Input, output und ggf. Fehlerinformation gesammelt wird. In der Trainingsphase sollten Daten zur Fehler- entwicklung gespeichert und dann dargestellt werden können Zusammenhangsdarstellung Es soll der Zusammenhang zwischen vom Nutzer eingegebenen Parametern dargestellt werden können. Fulda 2009 Soft Computing / Programmieren