Künstliche Neuronale Netze / Künstliche Intelligenz


"Künstliche Neuronale Netze" (KNNs) sind ein Teilgebiet der "Künstlichen Intelligenz" (KI) und stellen mein Hauptinteressengebiet dar. In diesem Abschnitt sollen Projekte, Arbeiten, Berichte sowie praktische Umsetzungen von Künstlichen Neuronalen Netzen zusammen getragen werden.


Einführung zu KNNs
Künstliche Neuronale Netze sind ein interessantes und anspruchsvolles Thema für Informatiker. Dieser Artikel soll grundlegend in die Thematik einführen und nicht viel mehr als eine Begriffsklärung darstellen.
Das Neocognitron (Studienarbeit) [PDF]
Neocognitron-Vortrag [PDF]
Applet (von T. Celinsky) [ZIP]
Diese Arbeit beleuchtet das Neocognitron und gibt einen umfassenden Überblick über dessen Funktionsweise, inklusive mathematischer Darstellung und Beschreibung der auftretenden Effekte. Abschließend werden Modifikationen und Anwendungsgebiete vorgestellt.
Studienarbeit Faktoren beim Backpropagation-Lernen [PDF]
Diese Arbeit betrachtet die beiden Faktoren Momentum und Lernrate, welche zum beschleunigten Lernen mittels Backpropagation verwendet werden können. Dabei werden Grenzen und Vergleiche beleuchtet und anschaulich erklärt.
Konvergenz von Hopfield-Netzen [PDF]
Hier betrachte ich die Konvergenz der Energiefunktion des diskreten Hopfield-Netzes und zeige darauf aufbauend, warum ebenfalls der Netz-Zustand konvergieren muss.
Vortrag "Neurocomputer-Architekturen" [PDF]
Vortrag zu Neurocomputer-Architekturen im 2. Semester des Master-Studiums Informatik im Rahmen der Lehrveranstaltung "Innovative Rechnerarchitekturen".
Beschleunigtes Lernen mit Backpropagation
Hier sollen die beiden Faktoren Lernrate und Impulsterm empirisch betrachtet werden, welche ein Neuronales Netz mit Hilfe des Backpropagation-Algorithmus' schneller lernen lassen, wenn sie geeignet gewählt werden.
Zeitreihenanalyse mit GEP [PDF]
Diese Arbeit zu evolutionären Algorithmen beschäftigt sich mit Gene Expression Programming als speziellen EA und untersucht seine Fähigkeiten anhand des Problems der Zeitreihenanalyse. Die Ergebnisse werden dabei einer Erweiterung von GEP und einem einfachen Feed-Forward-KNN gegenüber gestellt.
[ Artikel 1 ]
[ Artikel 2 ]
Für's Erste möchte ich als weiterführende Literatur diese zwei Artikel angeben, die ich im Netz gefunden habe und als ziemlich gut erachte.
simpleNet.zip (v0.5)
simpleNet_prog.zip
simpleNet_prog_ausw.zip
simpleNet_prog_opt.zip
simpleNet_v0.6.zip (v0.6)
simpleNet_v0.7.zip (v0.7)
Bei der C++-Klasse simpleNet handelt es sich um die Implementierung eines einfachen vorwärtsgerichteten Backpropagations-Netzes (siehe auch oben) und kann von anderen Programmierern für ihre Software-Projekte benutzt werden (eine Dokumentation liegt bei).
simpletNet_prog ist eine praktische Anwendungsmöglichkeit der Klasse. Das Netz lernt dabei x Epochen lang die 10 Dezimalnummern, als digitale Ziffern dargestellt. Im Anschluss daran erkennt es Ziffern, bei denen selbst 2 oder mehr Pixel verfälscht sind, korrekt - ordnet die digitale Darstellung also richtig der entsprechenden Dezimalziffer zu.
wxANN Hier findet ihr eine grafische Umsetzung des Problems der Erkennung digitaler Ziffern mit einem neuronalen Netz der Klasse simpleNet, implementiert in C++ und plattformunabhängig mit wxWidgets. In Version 0.3 neu: das Spiel "Nimm" gegen den ein Neuronales Netz spielen.
wxOCR Bei diesem Programm geht es um die Erkennung von Text mit Hilfe eines Neuronalen Netzes aus einem Bild heraus.

(c) 2007 by RTC, www.linux-related.de
Dieses Dokument unterliegt der GNU Free Documentation License