Künstliches neuronales Netz

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche

Künstliche neuronale Netze (selten auch künstliche neuronale Netzwerke, kurz: KNN, engl. artificial neural network – ANN) sind Netze aus künstlichen Neuronen. Sie sind ein Zweig der künstlichen Intelligenz und prinzipieller Forschungsgegenstand der Neuroinformatik. Der Ursprung der künstlichen neuronalen Netze liegt, ebenso wie bei den künstlichen Neuronen, in der Biologie. Man stellt sie den natürlichen neuronalen Netzen gegenüber, welche Nervenzellvernetzungen im Gehirn und im Rückenmark bilden. Insgesamt geht es aber um eine Abstraktion (Modellbildung) von Informationsverarbeitung und weniger um das Nachbilden biologischer neuronaler Netze, was eher Gegenstand der Computational Neuroscience ist.

Vereinfachte Darstellung eines künstlichen neuronalen Netzes
Schema eines künstlichen Neurons

Beschreibung[Bearbeiten]

Künstliche neuronale Netze basieren meist auf der Vernetzung vieler McCulloch-Pitts-Neuronen oder leichter Abwandlungen davon. Grundsätzlich können auch andere künstliche Neuronen Anwendung in KNNen finden, z.B. das High-Order-Neuron. Die Topologie eines Netzes (die Zuordnung von Verbindungen zu Knoten) muss abhängig von seiner Aufgabe gut durchdacht sein. Nach der Konstruktion eines Netzes folgt die Trainingsphase, in der das Netz „lernt“. Theoretisch kann ein Netz durch folgende Methoden lernen:

  • Entwicklung neuer Verbindungen, Löschen bestehender Verbindungen
  • Ändern der Gewichtung (der Gewichte w_{ij} von Neuron i zu Neuron j)
  • Anpassen der Schwellenwerte der Neuronen
  • Hinzufügen oder Löschen von Neuronen

Außerdem verändert sich das Lernverhalten bei Veränderung der Aktivierungsfunktion der Neuronen oder der Lernrate des Netzes. Praktisch gesehen „lernt“ ein Netz hauptsächlich durch Modifikation der Gewichte der Neuronen. Eine Anpassung des Schwellwertes kann hierbei durch ein on-Neuron miterledigt werden. Dadurch sind KNNs in der Lage, komplizierte nichtlineare Funktionen über einen „Lern“-Algorithmus, der durch iterative oder rekursive Vorgehensweise aus vorhandenen Ein- und gewünschten Ausgangswerten alle Parameter der Funktion zu bestimmen versucht, zu erlernen. KNNs sind dabei eine Realisierung des konnektionistischen Paradigmas, da die Funktion aus vielen einfachen gleichartigen Teilen besteht. Erst in ihrer Summe wird das Verhalten komplex. Neuronale Netze stellen von der Berechenbarkeit her ein äquivalentes Modell zur Turingmaschine dar.[1]

Geschichtliche Entwicklung[Bearbeiten]

Der Anfang der neuronalen Netze war bereits in den frühen 1940er Jahren, also fast zeitgleich mit der Geschichte der programmierbaren Computer.[2]

Anfänge[Bearbeiten]

Die Anfänge gehen auf Warren McCulloch und Walter Pitts zurück. Diese beschreiben 1943 eine Art neurologisches Netz, das praktisch jede logische oder auch arithmetische Funktion berechnen kann. 1947 weisen sie darauf hin, dass ein solches Netz zur räumlichen Mustererkennung eingesetzt werden kann. 1949 formuliert Donald O. Hebb seine Hebbsche Lernregel, die in ihrer allgemeinen Form fast alle neuronalen Lernverfahren darstellt. Karl Lashley kommt 1950 zu der These, dass der Prozess der Informationsspeicherung verteilt im Gehirn realisiert wird.

Blütezeit[Bearbeiten]

Im anschließenden Jahr, 1951, gelingt Marvin Minsky mit seiner Dissertationsarbeit der Bau des Neurocomputers Snark, der seine Gewichte automatisch justieren kann, jedoch nicht praktisch einsetzbar ist. 1956 treffen sich Wissenschaftler und Studenten auf dem Dartmouth Summer Research Project. Von 1957-1958 entwickeln Frank Rosenblatt und Charles Wightman den ersten erfolgreichen Neurocomputer, mit dem Namen Mark I Perceptron. Der Computer konnte mit seinem 20 x 20 Pixel großen Bildsensor bereits einfache Ziffern erkennen. Im nachfolgenden Jahr formuliert Rosenblatt das Perceptron-Konvergenz-Theorem. 1960 stellen Bernard Widrow und Marcian E. Hoff das ADALINE (ADAptive LInear NEuron) vor.[3] Dieses Netz erreichte als erstes weite kommerzielle Verbreitung. Anwendung fand es in Analogtelefonen zur Echtzeit-Echofilterung. Das Neuronale Netz lernte mit der Deltaregel. 1961 stellte Karl Steinbuch Techniken der assoziativen Speicherung vor. 1969 gaben Marvin Minsky und Seymour Papert eine genaue mathematische Analyse des Perceptrons.[4] Sie zeigten auf, dass wichtige Probleme nicht gelöst werden können. So sind unter anderem XOR-Operatoren nicht auflösbar und es gibt Probleme in der linearen Separierbarkeit. Die Folge war ein vorläufiges Ende der Forschungen auf dem Gebiet der Neuronalen Netze, da die meisten Forschungsgelder gestrichen wurden.

Langsamer Wiederaufbau[Bearbeiten]

1972 stellt Teuvo Kohonen den linearen Assoziator, ein Modell des Assoziativspeichers, vor.[5] James A. Anderson beschreibt das Modell unabhängig von Kohonen aus neuropsychologischer Sicht im selben Jahr.[6] 1973 benutzt Christoph von der Malsburg ein Neuronenmodell, das nichtlinear ist. Bereits 1974 entwickelt Paul Werbos für seine Dissertation die Backpropagation bzw. die Fehlerrückführung. Das Modell bekam aber erst später eine größere Bedeutung. Ab 1976 entwickelt Stephen Grossberg mathematisch fundierte Modelle neuronaler Netze. Zusammen mit Gail Carpenter widmet er sich auch dem Problem ein Neuronales Netz lernfähig zu halten ohne bereits gelerntes zu zerstören. Sie formulieren ein Architekturkonzept für Neuronale Netze, die Adaptive Resonanztheorie. 1982 beschreibt Teuvo Kohonen die nach ihm benannten selbstorganisierenden Karten. Im selben Jahr beschreibt John Hopfield das Modell der Hopfield-Netze. 1983 wird von Kunihiko Fukushima, S. Miyake und T. Ito das neuronale Modell Neocognitron vorgestellt. Das Modell ist eine Weiterentwicklung des 1975 entwickelten Cognitrons und dient zur Erkennung handgeschriebener Zeichen.

Renaissance[Bearbeiten]

1985 veröffentlicht John Hopfield eine Lösung des Travelling Salesman Problems durch ein Hopfield-Netz. 1985 wird das Lernverfahren Backpropagation of Error als Verallgemeinerung der Delta-Regel durch die Parallel Distributed Processing-Gruppe separat entwickelt. Somit werden nicht linear separierbare Probleme durch mehrschichtige Perceptrons lösbar. Minskys Abschätzung war also widerlegt.

Aktueller Stand und jüngste Erfolge in Mustererkennungswettbewerben[Bearbeiten]

In jüngster Zeit erlebten neuronale Netzwerke eine Wiedergeburt, da sie bei herausfordernden Anwendungen oft bessere Ergebnisse als konkurrierende Lernverfahren liefern. Zwischen 2009 und 2012 gewannen die rekurrenten bzw. tiefen vorwärtsgerichteten neuronalen Netzwerke der Forschungsgruppe von Jürgen Schmidhuber am Schweizer KI Labor IDSIA eine Serie von acht internationalen Wettbewerben in den Bereichen Mustererkennung und maschinelles Lernen[7]. Insbesondere gewannen ihre rekurrenten LSTM-Netzwerke[8][9] drei Wettbewerbe zur verbundenen Handschrifterkennung bei der "2009 Intl. Conf. on Document Analysis and Recognition (ICDAR)", ohne eingebautes a-priori-Wissen über die drei verschiedenen zu lernenden Sprachen. Die LSTM-Netze erlernten gleichzeitige Segmentierung und Erkennung. Dies waren die ersten internationalen Wettbewerbe, die durch Deep Learning[10][11] oder durch rekurrente Netze gewonnen wurden.

Tiefe vorwärtsgerichtete Netzwerke wie Kunihiko Fukushimas Konvolutionsnetz der 80er Jahre[12] sind heute wieder wichtig. Sie verfügen über alternierende Konvolutionslagen und Lagen von Neuronen, die miteinander im Wettbewerb stehen. Yann LeCuns Team von der New York University wendete den 1989 schon gut bekannten backpropagation Algorithmus auf solche Netze an[13]. Moderne Varianten verwenden sogenanntes "max-pooling" für die Wettbewerbslagen[14]. Zum Abschluss krönt man das tiefe Netz durch mehrere normale Neuronenlagen. Schnelle GPU-Implementierungen dieser Kombination wurden 2011 durch Dan Ciresan und Kollegen in Schmidhubers Gruppe eingeführt[15]. Sie gewannen seither zahlreiche Wettbewerbe, u.a. die "ISBI 2012 Segmentation of Neuronal Structures in Electron Microscopy Stacks Challenge"[16] und den "ICPR 2012 Contest on Mitosis Detection in Breast Cancer Histological Images"[17]. Derartige Modelle erzielten auch die bisher besten Ergebnisse auf dem ImageNet Benchmark[18][19]. GPU-basierte "max-pooling" Konvolutionsnetze waren auch die ersten künstlichen Mustererkenner mit übermenschlicher Performanz[20] in Wettbewerben wie der "IJCNN 2011 Traffic Sign Recognition Competition"[21].

Viele Wissenschaftler beschäftigen sich derzeit auch mit sogenannten "Spiking neural networks" (SNN).[22]

Topologie der Verbindungsnetzwerke[Bearbeiten]

Einschichtiges Netz
Zweischichtiges Netz
Rekurrentes Netz

In künstlichen neuronalen Netzen bezeichnet die Topologie die Struktur des Netzes. Damit ist im Allgemeinen gemeint, wie viele künstliche Neuronen sich auf wie vielen Schichten (Hidden Layers) befinden und wie diese miteinander verbunden sind. Künstliche Neuronen können auf beliebige Weise zu einem künstlichen neuronalen Netz verbunden werden. Dabei werden Neuronen bei vielen Modellen in hintereinander liegenden Schichten (engl. Layer) angeordnet und man spricht z. B. bei einem Netz mit einer trainierbaren Neuronenschicht von einem einschichtigen Netz.

Unter Verwendung eines Graphen können die Neuronen als Knoten und ihre Verbindungen als Kanten dargestellt werden. Die Eingaben werden in Teilen der Literatur auch wie Knoten behandelt.

Die hinterste Schicht des Netzes, deren Neuronenausgaben meist als einzige außerhalb des Netzes sichtbar sind, wird Ausgabeschicht (engl. output layer) genannt. Davorliegende Schichten werden dementsprechend als verdeckte Schicht (engl. hidden layer) bezeichnet.

Die Struktur des Netzwerks hängt direkt mit dem verwendeten Lernverfahren zusammen; so kann mit der Delta-Regel nur ein einschichtiges Netz trainiert werden. Dabei müssen Netze nicht zwingend homogen sein: es existieren Kombinationen aus verschiedenen Modellen um so die unterschiedlichen Vorteile zu kombinieren.

Es gibt reine feedforward-Netze, bei denen eine Schicht immer nur mit der nächsthöheren Schicht verbunden ist. Darüber hinaus gibt es Netze, in denen Verbindungen in beiden Richtungen erlaubt sind. Das Finden der passenden Netzstruktur ist meist ein Versuch-und-Irrtum-Vorgang, kann jedoch mit Hilfe evolutionärer Algorithmen und Backpropagation automatisch angepasst werden.

Typische Strukturen sind:

Einschichtiges feedforward-Netz
Einschichtige Netze mit der feedforward-Eigenschaft (engl. für vorwärts) sind die einfachsten Strukturen künstlicher neuronaler Netze. Sie besitzen lediglich eine Ausgabeschicht. Die feedforward-Eigenschaft besagt, dass Neuronenausgaben nur in Verarbeitungsrichtung geleitet werden und nicht durch eine rekurrente Kante zurückgeführt werden können (azyklischer, gerichteter Graph).
Mehrschichtiges feedforward-Netz
Mehrschichtige Netze besitzen neben der Ausgabeschicht auch verdeckte Schichten, deren Ausgabe wie beschrieben, außerhalb des Netzes nicht sichtbar sind. Verdeckte Schichten verbessern die Abstraktion solcher Netze. So kann erst das mehrschichtige Perzeptron das XOR-Problem lösen.
Rekurrentes Netz
Rekurrente Netze besitzen im Gegensatz dazu auch rückgerichtete (rekurrente) Kanten (engl. feedback loops) und enthalten somit eine Rückkopplung. Solche Kanten werden dann häufig mit einer Zeitverzögerung versehen, sodass bei einer schrittweisen Verarbeitung die Neuronenausgaben der vergangenen Einheit wieder als Eingaben angelegt werden können. Diese Rückkopplungen ermöglichen einem Netz ein dynamisches Verhalten und statten es mit einem Gedächtnis aus.

Es existieren Theorien, die besagen, dass das Hirn in der Lage ist, auch nach der Geburt neue Neuronen zu bilden. Jedoch sind diese nicht belegt (außer durch Tests an künstlichen neuronalen Netzen). Für den Fall dass tatsächlich noch neue Neuronen gebildet werden können, würde der Nachbau durch künstliche Neuronale Netze (KNN) um ein Vielfaches erschwert. Jedoch kann auch hier ein Evolutionärer Algorithmus Abhilfe schaffen, indem er, ähnlich einem Moore-Automaten bestimmt, wie häufig ein Neuron aktiviert werden muss, damit sich in seiner Umgebung neue Neuronen ausbilden. Zusätzlich muss auch festgelegt werden, wie die neuen Neuronen in das vorhandene Netz integriert werden sollen. Künstliche Neuronale Netze dieser Art müssen zwangsläufig darauf verzichten, in Schichten aufgebaut zu sein. Sie benötigen eine völlig freie Struktur. Höchstens der Raum, in dem sich die Neuronen befinden dürfen, kann begrenzt sein.

Anwendung[Bearbeiten]

Seine besonderen Eigenschaften machen das KNN bei allen Anwendungen interessant, bei denen kein oder nur geringes explizites (systematisches) Wissen über das zu lösende Problem vorliegt. Dies sind z.B. die Texterkennung, Bilderkennung und Gesichtserkennung, bei denen einige Hunderttausend bis Millionen Bildpunkte in eine im Vergleich dazu geringe Anzahl von erlaubten Ergebnissen überführt werden müssen.

Auch in der Regelungstechnik kommen KNN zum Einsatz, um herkömmliche Regler zu ersetzen oder ihnen Sollwerte vorzugeben, die das Netz aus einer selbst entwickelten Prognose über den Prozessverlauf ermittelt hat. So können auch Fuzzy-Systeme durch eine bidirektionale Umwandlung in Neuronale Netze lernbar gestaltet werden.

Die Anwendungsmöglichkeiten sind aber nicht auf techniknahe Gebiete begrenzt: Bei der Vorhersage von Veränderungen in komplexen Systemen werden KNNs unterstützend hinzugezogen, z.B. zur Früherkennung sich abzeichnender Tornados oder aber auch zur Abschätzung der weiteren Entwicklung wirtschaftlicher Prozesse.

Zu den Anwendungsgebieten von KNNs gehören:

Biologische Motivation[Bearbeiten]

Während das Gehirn zur massiven Parallelverarbeitung in der Lage ist, arbeiten die meisten heutigen Computersysteme nur sequentiell (bzw. partiell parallel eines Rechners). Es gibt jedoch auch erste Prototypen neuronaler Rechnerarchitekturen, sozusagen den neuronalen Chip, für die das Forschungsgebiet der künstlichen neuronalen Netze die theoretischen Grundlagen bereitstellt. Dabei werden die physiologischen Vorgänge im Gehirn jedoch nicht nachgebildet, sondern nur die Architektur der massiv parallelen Analog-Addierer in Silizium nachgebaut, was gegenüber einer Software-Emulation eine bessere Leistung verspricht.

Klassen und Typen von KNN[Bearbeiten]

Grundsätzlich unterscheiden sich die Klassen der Netze vorwiegend durch die unterschiedlichen Netztopologien und Verbindungsarten, so zum Beispiel einschichtige, mehrschichtige, Feedforward- oder Feedback-Netze.

Lernverfahren[Bearbeiten]

Lernverfahren dienen dazu, ein neuronales Netz dazu zu bringen, für bestimmte Eingangsmuster zugehörige Ausgabemuster zu erzeugen. Dies geschieht grundsätzlich auf drei verschiedenen Wegen.

Überwachtes Lernen[Bearbeiten]

Hauptartikel: Überwachtes Lernen

Beim Überwachten Lernen wird dem KNN ein Eingangsmuster gegeben und die Ausgabe, die das Neuronale Netz in seinem aktuellen Zustand produziert, mit dem Wert verglichen, den es eigentlich ausgeben soll. Durch Vergleich von Soll- und Istausgabe kann auf die vorzunehmenden Änderungen der Netzkonfiguration geschlossen werden.

Bestärkendes Lernen[Bearbeiten]

Hauptartikel: Bestärkendes Lernen

Es ist nicht immer möglich, zu jedem Eingabedatensatz den passenden Ausgabedatensatz zum Trainieren zur Verfügung zu haben. Zum Beispiel kann man einem Agenten, der sich in einer fremden Umgebung zurechtfinden muss - etwa einem Roboter auf dem Mars - nicht zu jedem Zeitpunkt sagen, welche Aktion jeweils die beste ist. Aber man kann dem Agenten eine Aufgabe stellen, die dieser selbstständig lösen soll. Nach einem Testlauf, der aus mehreren Zeitschritten besteht, kann der Agent bewertet werden. Aufgrund dieser Bewertung kann eine Agentenfunktion gelernt werden.

Der Lernschritt kann durch eine Vielzahl von Techniken vollzogen werden. Unter anderem können hier auch künstliche neuronale Netze zum Einsatz kommen.

Unüberwachtes Lernen[Bearbeiten]

Hauptartikel: Unüberwachtes Lernen

Das Unüberwachte Lernen erfolgt ausschließlich durch Eingabe der zu lernenden Muster. Das Neuronale Netz verändert sich entsprechend den Eingabemustern von selbst.

Stochastisches Lernen[Bearbeiten]

Hauptartikel: Stochastisches Lernen

Allgemeine Probleme[Bearbeiten]

Die Hauptnachteile von KNN sind gegenwärtig:

  1. Das Trainieren von KNN (im Terminus der Statistik: Das Schätzen der im Modell enthaltenen Parameter) führt in der Regel zu hochdimensionalen, nichtlinearen Optimierungsproblemen. Die prinzipielle Schwierigkeit bei der Lösung dieser Probleme besteht in der Praxis häufig darin, dass man nicht sicher sein kann, ob man das globale Optimum gefunden hat oder nur ein lokales. Obgleich in der Mathematik eine Fülle relativ schnell konvergierender lokaler Optimierungsverfahren entwickelt wurden (beispielsweise Quasi-Newton-Verfahren: BFGS, DFP usw.), finden auch diese selten optimale Lösungen. Eine zeitaufwändige Näherung an die globale Lösung erreicht man gegebenenfalls durch die vielfache Wiederholung der Optimierung mit immer neuen Startwerten.
  2. Es müssen Trainingsdaten gesammelt oder manuell erzeugt werden. Dieser Vorgang kann sehr schwierig sein, da man verhindern muss, dass das Netz Eigenschaften der Muster lernt, die zwar auf dem Trainingsset mit dem Ergebnis in irgendeiner Weise korreliert sind, die aber in anderen Situationen nicht zur Entscheidung herangezogen werden können. Wenn beispielsweise die Helligkeit von Trainingsbildern bestimmte Muster aufweist, dann 'achtet' das Netz unter Umständen nicht mehr auf die gewünschten Eigenschaften, sondern klassifiziert die Daten nur noch aufgrund der Helligkeit.
  3. Bei Anwendung einer ‚heuristischen‘ – nicht statistischen – Vorgehensweise bei der Netzspezifikation, neigen KNN dazu, die Trainingsdaten einfach auswendig zu lernen (Überanpassung). Wenn dies geschieht, können sie nicht mehr auf neue Daten verallgemeinern. Um Überanpassung zu vermeiden, muss die Netzarchitektur sehr ‚vorsichtig‘ gewählt werden. Dieses Problem existiert auch bei vielen anderen statistischen Verfahren und wird als ‚bias-variance trade-off‘ bezeichnet. Seit einigen Jahren werden häufig verbesserte Verfahren (Boosting, Support-Vector-Maschinen, Regularisierungsnetze) eingesetzt, die diesem Problem begegnen.
  4. Die Kodierung der Trainingsdaten muss problemangepasst und nach Möglichkeit redundanzfrei gewählt werden. In welcher Form die zu lernenden Daten dem Netz präsentiert werden, hat einen großen Einfluss auf die Lerngeschwindigkeit, sowie darauf, ob das Problem überhaupt von einem Netz gelernt werden kann. Gute Beispiele hierfür sind Sprachdaten, Musikdaten oder auch Texte. Das einfache Einspeisen von Zahlen, beispielsweise einer .Wav-Datei für Sprache, führt selten zu einem erfolgreichen Ergebnis. Je präziser das Problem allein durch die Vorverarbeitung und Kodierung gestellt wird, desto erfolgreicher kann ein KNN dieses verarbeiten.
  5. Die Vorbelegung der Gewichte spielt eine wichtige Rolle. Als Beispiel sei ein 3-schichtiges Feed-Forward-Netz mit einem Eingabeneuron (plus ein Bias-Neuron) und einem Ausgabeneuron und einer verdeckten Schicht mit N Neuronen (plus ein Bias-Neuron) angenommen. Die Aktivierungsfunktion des Eingabeneurons sei die Identität. Die Aktivierungsfunktion der Verdeckten Schicht sei die Tanh-Funktion. Die Aktivierungsfunktion der Ausgabeschicht sei die logistische Sigmoide. Das Netz kann maximal eine Sinusfunktion mit N lokalen Extrema im Intervall von 0 bis 1 lernen. Wenn es diese Sinusfunktion gelernt hat, kann es mit dieser Gewichtsbelegung jede beliebige Funktion - die nicht mehr lokale Extrema als diese Sinusfunktion - mit möglicherweise exponentieller Beschleunigung - lernen (unabhängig vom Lernalgorithmus). Hier sei der einfachste Backpropagation ohne Momentum verwendet. Glücklicherweise kann man die Gewichte für solch eine Sinusfunktion leicht berechnen, ohne dass das Netz das erst lernen muss: Verdeckte Schicht : i = 0..N-1, x = i % 2 == 0 ? 1 : -1 , w0i = x * pi * (N - 0.5), w1i = -x * i * pi; Ausgabeschicht : wj = 1;

Siehe auch[Bearbeiten]

Einzelnachweise[Bearbeiten]

  1. http://www.math.rutgers.edu/~sontag/FTP_DIR/aml-turing.ps.gz
  2. http://www.dkriesel.com/index.php?id=neuronalenetze, Stand: 28. Februar 2009
  3. Bernhard Widrow, Marcian Hoff: Adaptive switching circuits. In: Proceedings WESCON. 1960, ZDB-ID 267416-6, S. 96–104.
  4. Marvin Minsky, Seymour Papert: Perceptrons. An Introduction to Computational Geometry. MIT Press, Cambridge MA u. a. 1969.
  5. Teuvo Kohonen: Correlation matrix memories. In: IEEE transactions on computers. C-21, 1972, ISSN 0018-9340, S. 353–359.
  6. James A. Anderson: A simple neural network generating an interactive memory. In: Mathematical Biosciences. 14, 1972, ISSN 0025-5564, S. 197–220.
  7. http://www.kurzweilai.net/how-bio-inspired-deep-learning-keeps-winning-competitions 2012 Kurzweil AI Interview mit Jürgen Schmidhuber zu den acht Wettbewerben, die sein Deep Learning Team zwischen 2009–2012 gewann
  8. Graves, Alex; and Schmidhuber, Jürgen; Offline Handwriting Recognition with Multidimensional Recurrent Neural Networks, in Bengio, Yoshua; Schuurmans, Dale; Lafferty, John; Williams, Chris K. I.; and Culotta, Aron (eds.), Advances in Neural Information Processing Systems 22 (NIPS'22), December 7th–10th, 2009, Vancouver, BC, Neural Information Processing Systems (NIPS) Foundation, 2009, pp. 545–552
  9. A. Graves, M. Liwicki, S. Fernandez, R. Bertolami, H. Bunke, J. Schmidhuber. A Novel Connectionist System for Improved Unconstrained Handwriting Recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 31, no. 5, 2009.
  10. Bengio, Y. (2009). Learning Deep Architectures for AI.. Now Publishers. http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf
  11. Schmidhuber, Jürgen; My First Deep Learning System of 1991 + Deep Learning Timeline 1962-2013, http://www.idsia.ch/~juergen/firstdeeplearner.html
  12. Fukushima, K.: Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. In: Biological Cybernetics. 36, Nr. 4, 1980, S. 93–202. doi:10.1007/BF00344251.
  13. Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Jackel. Backpropagation Applied to Handwritten Zip Code Recognition. Neural Computation, 1(4):541-551, 1989. http://yann.lecun.com/exdb/publis/pdf/lecun-89e.pdf
  14. M. Riesenhuber, T. Poggio. Hierarchical models of object recognition in cortex. Nature neuroscience, 1999. http://riesenhuberlab.neuro.georgetown.edu/docs/publications/nn99.pdf
  15. D. C. Ciresan, U. Meier, J. Masci, L. M. Gambardella, J. Schmidhuber. Flexible, High Performance Convolutional Neural Networks for Image Classification. International Joint Conference on Artificial Intelligence (IJCAI-2011, Barcelona), 2011. http://www.idsia.ch/~juergen/ijcai2011.pdf
  16. D. Ciresan, A. Giusti, L. Gambardella, J. Schmidhuber. Deep Neural Networks Segment Neuronal Membranes in Electron Microscopy Images. In Advances in Neural Information Processing Systems (NIPS 2012), Lake Tahoe, 2012. http://www.idsia.ch/~juergen/nips2012.pdf
  17. D. Ciresan, A. Giusti, L. Gambardella, J. Schmidhuber. Mitosis Detection in Breast Cancer Histology Images using Deep Neural Networks. MICCAI 2013. http://www.idsia.ch/~juergen/miccai2013.pdf
  18. A. Krizhevsky, I. Sutskever, G. E. Hinton. ImageNet Classification with Deep Convolutional Neural Networks. NIPS 25, MIT Press, 2012. http://www.cs.toronto.edu/~hinton/absps/imagenet.pdf
  19. M. D. Zeiler, R. Fergus. Visualizing and Understanding Convolutional Networks. TR arXiv:1311.2901 [cs.CV], 2013. http://arxiv-web3.library.cornell.edu/abs/1311.2901
  20. D. C. Ciresan, U. Meier, J. Schmidhuber. Multi-column Deep Neural Networks for Image Classification. IEEE Conf. on Computer Vision and Pattern Recognition CVPR 2012. http://www.idsia.ch/~juergen/cvpr2012.pdf
  21. D. C. Ciresan, U. Meier, J. Masci, J. Schmidhuber. Multi-Column Deep Neural Network for Traffic Sign Classification. Neural Networks, 2012. http://www.idsia.ch/~juergen/nn2012traffic.pdf
  22. Thomas Natschläger: Netzwerke von „spiking“ Neuronen. Die dritte Generation von Modellen für Neuronale Netzwerke..

Literatur[Bearbeiten]

  • Wolfgang Ertel: Grundkurs Künstliche Intelligenz. Eine praxisorientierte Einführung. 2. überarbeitete Auflage. Vieweg + Teubner, Wiesbaden 2009, ISBN 978-3-8348-0783-0 (Computational Intelligence).
  • Johann Gasteiger, Jure Zupan: Neural Networks in Chemistry and Drug Design. Wiley-VCH, Weinheim NY u. a. 1999, ISBN 3-527-29779-0.
  • Simon Haykin: Neural Networks. A Comprehensive Foundation. 2. edition, international edition = Reprint. Prentice-Hall, Upper Saddle River NJ u. a. 1999, ISBN 0-13-273350-1.
  • John Hertz, Anders Krogh, Richard G. Palmer: Introduction to the Theory of Neural Computation. Nachdruck. Addison-Wesley, Reading MA u. a. 1999, ISBN 0-201-51560-1 (Santa Fé Institute studies in the sciences of complexity. Lecture notes 1 = Computation and neural systems series).
  • Teuvo Kohonen: Self Organizing Maps. 3. edition. Springer, Berlin u. a. 2001, ISBN 3-540-67921-9 (Springer Series in Information Sciences 30 = Physics and Astronomy online Library).
  • Burkhard Lenze: Einführung in die Mathematik neuronaler Netze. Mit C-Anwendungsprogrammen im Internet. 2. durchgesehene und überarbeitete Auflage. Logos-Verlag, Berlin 2003, ISBN 3-89722-021-0.
  • André Lucas: Schätzung und Spezifikation ökonometrischer neuronaler Netze. Eul, Lohmar 2003, ISBN 3-89936-183-0 (Reihe: Quantitative Ökonomie 138), (Zugleich: Köln, Univ., Diss., 2002).
  • Heinz Rehkugler, Hans Georg Zimmermann: Neuronale Netze in der Ökonomie. Grundlagen und finanzwirtschaftliche Anwendungen. Vahlen, München 1994, ISBN 3-800-61871-0.
  • Günter Daniel Rey, Karl F. Wender: Neuronale Netze. Eine Einführung in die Grundlagen, Anwendungen und Datenauswertung. Huber, Bern 2008 ISBN 978-3-456-84513-5 (Psychologie Lehrbuch).
  • Helge Ritter, Thomas Martinetz, Klaus Schulten: Neural Computation and Self-Organizing Maps. An Introduction. Addison Wesley, Reading MA 1992, ISBN 0-201-55442-9 (Computation and neural Systems Series).
  • Raúl Rojas: Theorie der Neuronalen Netze. Eine systematische Einführung. 4. korrigierter Nachdruck. Springer, Berlin u. a. 1996, ISBN 3-540-56353-9 (Springer-Lehrbuch).
  • Andreas Zell: Simulation neuronaler Netze. 4. unveränderter Nachdruck. Oldenbourg, München u. a. 2003, ISBN 3-486-24350-0.

Weblinks[Bearbeiten]

 Commons: Artificial neural network – Album mit Bildern, Videos und Audiodateien

Implementierungen und Simulationspakete[Bearbeiten]