Im heutigen Artikel werden wir über Künstliches neuronales Netz sprechen, ein Thema, das das Interesse von Millionen Menschen auf der ganzen Welt geweckt hat. Von seinem Ursprung bis zu seinen Auswirkungen auf die heutige Gesellschaft war Künstliches neuronales Netz Gegenstand von Studien, Debatten und Kontroversen, die seine Entwicklung im Laufe der Zeit kennzeichneten. Mit einer jahrhundertealten Geschichte ist Künstliches neuronales Netz auch heute noch relevant und beeinflusst unser Denken, unsere Kultur und unsere Entscheidungen. In diesem Artikel werden wir verschiedene Aspekte von Künstliches neuronales Netz untersuchen und seine Bedeutung und Rolle in der modernen Welt analysieren. Begleiten Sie uns auf dieser Entdeckungs- und Lernreise!
Künstliche neuronale Netze, auch künstliche neuronale Netzwerke, kurz: KNN (englisch artificial neural network, ANN), sind Netze aus künstlichen Neuronen, die von den Netzwerken inspiriert wurden, die biologische Neuronen in Gehirnen bilden. Ein KNN wird von künstlichen Neuronen gebildet, die miteinander verbunden sind und in der Regel in Schichten organisiert werden.
KNN werden beim Maschinellen Lernen eingesetzt. Damit können Computer Probleme lösen, die zu kompliziert sind, um sie mit Regeln zu beschreiben, zu denen es aber viele Daten gibt, die als Beispiele für die gewünschte Lösung dienen können.
KNN bilden die Basis für Deep Learning, das ab 2006 erhebliche Fortschritte bei der Analyse von großen Datenmengen erlaubte. Erfolgreiche Anwendungen des Deep Learning sind beispielsweise Bilderkennung und Spracherkennung.:11
KNNs sind Forschungsgegenstand sowohl des Maschinellen Lernens, welches ein Teilbereich der künstlichen Intelligenz ist, als auch der interdisziplinären Neuroinformatik. Das Nachbilden eines biologischen neuronalen Netzes von Neuronen ist eher Gegenstand der Computational Neuroscience.
KNN werden beim maschinellen Lernen eingesetzt. Damit können Computer Probleme lösen, die zu kompliziert sind, um sie mit Regeln zu beschreiben, zu denen es aber viele Daten gibt, die als Beispiele für die gewünschte Lösung dienen können. Ein Algorithmus passt das zunächst unwissende Netz so an die Beispieldaten an, dass es von ihnen auf neue Fälle verallgemeinern kann. Dieser Vorgang wird Training genannt. Das trainierte Netz kann für neue Daten Vorhersagen treffen oder Empfehlungen und Entscheidungen erzeugen.:8
KNN wurden von den Netzwerken inspiriert, die biologische Neuronen in Gehirnen bilden. Biologische Neuronen sind miteinander vernetzt und in Schichten organisiert. Sie können mehrere Eingangssignale aufsummieren und geben nur dann ein Signal an andere Neuronen weiter, wenn die Summe der Eingangssignale einen Schwellenwert erreicht.:37
Ein KNN wird von künstlichen Neuronen gebildet, die miteinander verbunden sind und in der Regel in Schichten organisiert werden. Künstliche Neuronen bilden die Fähigkeit von biologischen Neuronen, Eingangssignale zu summieren und erst oberhalb eines Schwellwerts weiterzuleiten, mit einer Aktivierungsfunktion nach. Zusätzlich werden die Verbindungen gewichtet. Dadurch kann jedes Eingangssignal die Summe unterschiedlich stark erhöhen oder reduzieren. Eine verbreitete Form der Aktivierungsfunktion berechnet die Summe aller gewichteten Eingangssignale und legt sie als Signal auf alle Ausgänge, wenn sie einen bestimmten Schwellenwert überschreitet. Wenn die Summe unter dem Schwellenwert liegt, erzeugt die Aktivierungsfunktion kein Ausgangssignal.:37
In der Regel werden die künstlichen Neuronen in Schichten zusammengefasst. Die Signale wandern von der ersten Schicht (der Eingabeschicht) zur letzten Schicht (der Ausgabeschicht) und durchlaufen dabei möglicherweise mehrere Zwischenschichten (versteckte Schichten). Jede Schicht kann die Signale an ihren Eingängen unterschiedlich transformieren. Ein Netz mit vielen verborgenen Schichten kann eine komplizierte Aufgabe in mehrere einfachere Aufgaben zerlegen, die jeweils in verschiedenen Schichten des Modells ausgeführt werden. Ein solches KNN wird auch als tiefes neuronales Netz bezeichnet. Darauf bezieht sich der Begriff „Deep Learning“.
Zu Beginn des Trainings stehen alle Schwellenwerte und Gewichte auf Zufallswerten. Während des Trainings passt ein Algorithmus schrittweise Schwellenwerte und Gewichte an die Daten an, mit denen das Netz trainiert wird, siehe auch Optimierung. Das Training wird beendet, wenn das Netz für alle Beispiele aus den Trainingsdaten eine möglichst korrekte Ausgabe erzeugt.
Das Erstellen eines geeigneten Trainingsdatensatzes kann sehr schwierig sein, da man verhindern muss, dass die Daten Muster aufweisen, die das Netz nicht zur Entscheidung heranziehen soll. Das Forschungsgebiet Explainable Artificial Intelligence arbeitet an Verfahren, die erklären können, wie ein trainiertes KNN zu einer Entscheidung kommt. Beispielsweise wurde untersucht, welchen Teil eines Bildes ein KNN betrachtet, um ein Bild zu klassifizieren. Dabei entdeckten die Forscher ein KNN, das Züge erkennen sollte und dazu nur auf Schienen achtete.:54
Künstliche neuronale Netze basieren meist auf der Vernetzung vieler McCulloch-Pitts-Neuronen oder leichter Abwandlungen davon. Die Topologie eines Netzes (die Zuordnung von Verbindungen zu Knoten) muss im Hinblick auf seine 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:
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 Verbindungen zwischen den Neuronen. Eine Anpassung des Schwellenwertes 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 kann deren Verhalten im Zusammenspiel sehr vieler beteiligter Teile komplex werden. Ein neuronales Netz, das deterministisch beschrieben wird und Rückkopplungen erlaubt, stellt unter dem Gesichtspunkt der Berechenbarkeit ein äquivalentes Modell zur Turingmaschine dar. D.h. zu jedem Netz gibt es mindestens eine Turingmaschine und zu jeder Turingmaschine gibt es mindestens ein Netz mit Rückkopplung. Bei einer stochastischen Beschreibung ist dies nicht der Fall. Rekurrente Netze sind damit die ausdrucksstärkste Form (Typ 0 in der Chomsky-Hierarchie).
Das Interesse für künstliche neuronale Netze setzte bereits in den frühen 1940er Jahren ein, also etwa gleichzeitig mit dem Einsatz programmierbarer Computer in angewandter Mathematik.
Die Anfänge gehen auf Warren McCulloch und Walter Pitts zurück. Sie beschrieben 1943 Verknüpfungen von elementaren Einheiten zu einem Netz ähnlich dem der Neuronen im Gehirn, mit dem sich praktisch jede logische oder arithmetische Funktion berechnen lassen könnte. 1947 wiesen sie darauf hin, dass ein solches Netz beispielsweise zur räumlichen Mustererkennung eingesetzt werden kann. 1949 formulierte Donald O. Hebb seine Hebbsche Lernregel, die in ihrer allgemeinen Form die meisten der künstlichen neuronalen Lernverfahren wiedergibt. Karl Lashley fand 1950, dass der Prozess der Informationsspeicherung im Gehirn verteilt auf verschiedene Untereinheiten realisiert wird.
Im anschließenden Jahr, 1951, gelingt Marvin Minsky mit seiner Dissertationsarbeit der Bau des Neurocomputers Snarc, der seine Gewichte automatisch justieren kann, jedoch nicht praktisch einsetzbar ist. 1956 treffen sich Wissenschaftler und Studenten auf der Dartmouth Conference. Diese Konferenz gilt als Geburtsstunde der Künstlichen Intelligenz als akademisches Fachgebiet. Von 1957 bis 1958 entwickeln Frank Rosenblatt und Charles Wightman den ersten erfolgreichen Neurocomputer, mit dem Namen Mark I Perceptron. Der Computer konnte mit seinem 20 × 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. 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. 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.
1972 präsentiert Teuvo Kohonen den linearen Assoziator, ein Modell des Assoziativspeichers. James A. Anderson beschreibt das Modell unabhängig von Kohonen aus neuropsychologischer Sicht im selben Jahr. 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 war eine Weiterentwicklung des 1975 entwickelten Cognitrons und diente zur Erkennung handgeschriebener Zeichen.
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 Auffassung war also widerlegt.
In jüngster Zeit erlebten neuronale Netze 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 Netze der Forschungsgruppe von Jürgen Schmidhuber am Schweizer KI Labor IDSIA eine Serie von acht internationalen Wettbewerben in den Bereichen Mustererkennung und maschinelles Lernen. Insbesondere gewannen ihre rekurrenten LSTM-Netze drei Wettbewerbe zur verbundenen Handschrifterkennung bei der Intl. Conf. on Document Analysis and Recognition (ICDAR) 2009 – obwohl kein A-priori-Wissen über die drei verschiedenen zu lernenden Sprachen in die Programmierung der Modelle einbezogen wurde. Die LSTM-Netze erlernten gleichzeitige Segmentierung und Erkennung. Dies waren die ersten internationalen Wettbewerbe, die durch Deep Learning oder durch rekurrente Netze gewonnen wurden.
Tiefe vorwärtsgerichtete Netze wie Kunihiko Fukushimas Konvolutionsnetz der 80er Jahre haben wieder an Bedeutung gewonnen. Sie verfügen über alternierende Konvolutionslagen (convolutional layers) und Lagen von Neuronen, die mehrere Aktivierungen zusammenfassen (pooling layers), um die räumliche Dimension zu reduzieren. Abgeschlossen wird ein solches Konvolutionsnetz in der Regel durch mehrere vollständig verbundene Schichten (englisch fully connected layers). Yann LeCuns Team von der New York University wandte den 1989 schon gut bekannten Backpropagation-Algorithmus auf solche Netze an. Moderne Varianten verwenden sogenanntes max-pooling für die Zusammenfassung der Aktivierungen, das stets der stärksten Aktivierung den Vorzug gibt. Schnelle Grafikprozessor (GPU)-Implementierungen dieser Kombination wurden 2011 durch Dan Ciresan und Kollegen in Schmidhubers Gruppe eingeführt. Sie gewannen seither zahlreiche Wettbewerbe, u. a. die „ISBI 2012 Segmentation of Neuronal Structures in Electron Microscopy Stacks Challenge“ und den „ICPR 2012 Contest on Mitosis Detection in Breast Cancer Histological Images“. Derartige Modelle erzielten auch die bisher besten Ergebnisse auf dem ImageNet Benchmark. GPU-basierte max-pooling-Konvolutionsnetze waren auch die ersten künstlichen Mustererkenner mit übermenschlicher Performanz in Wettbewerben wie der „IJCNN 2011 Traffic Sign Recognition Competition“. In den letzten Jahren fand auch die Theorie der Zufallsmatrizen vermehrt Anwendung in der Erforschung von neuronalen Netzen. Neuronale Operatoren sind Verallgemeinerungen von künstlichen neuronalen Netzwerken auf unendlichdimensionale Funktionenräume. Die primäre Anwendung von neuronalen Operatoren liegt darin Lösungsoperatoren von partiellen Differentialgleichungen zu erlernen.
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 befinden, und wie diese miteinander verbunden sind. Künstliche Neuronen können auf vielfältige Weise zu einem künstlichen neuronalen Netz verbunden werden. Dabei werden Neuronen bei vielen Modellen in hintereinander liegenden Schichten (englisch layers) angeordnet; bei einem Netz mit nur einer trainierbaren Neuronenschicht spricht man von einem einschichtigen Netz.
Unter Verwendung eines Graphen können die Neuronen als Knoten und ihre Verbindungen als Kanten dargestellt werden. Die Eingaben werden gelegentlich auch als Knoten dargestellt, was hilft, den Informationsfluss durch das Netzwerk zu visualisieren.
Die hinterste Schicht des Netzes, deren Neuronenausgaben meist als einzige außerhalb des Netzes sichtbar sind, wird Ausgabeschicht (englisch output layer) genannt. Davorliegende Schichten werden entsprechend als versteckte Schicht (englisch hidden layer) bezeichnet.
Die Struktur eines Netzes hängt unmittelbar mit dem verwendeten Lernverfahren zusammen und umgekehrt; so kann mit der Delta-Regel nur ein einschichtiges Netz trainiert werden, bei mehreren Schichten ist eine leichte Abwandlung vonnöten. Dabei müssen Netze nicht zwingend homogen sein: es existieren auch Kombinationen aus verschiedenen Modellen, um so unterschiedliche 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. Die passende Netzstruktur wird meist nach der Methode von Versuch und Irrtum gefunden, was durch evolutionäre Algorithmen und eine Fehlerrückführung unterstützt werden kann.
In bestimmten Gehirnregionen von Säugetieren – und auch anderen Wirbeltieren, etwa Singvögeln – werden nicht nur in Entwicklungsstadien, sondern noch im Erwachsenenalter Neuronen neugebildet und in das neuronale Netz integriert (siehe adulte Neurogenese, insbesondere im Hippocampus). Im Versuch, solche Prozesse in neuronalen Netzen künstlich nachzubilden, stößt die Modellierung an Grenzen. Zwar kann ein evolutionärer Algorithmus bestimmen, ähnlich einem Moore-Automaten, wie häufig ein Neuron aktiviert werden muss, damit sich in der Umgebung neue Neuronen ausbilden. Jedoch muss hier zusätzlich 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, für die bestenfalls der Raum begrenzt werden kann, in dem sich die Neuronen befinden dürfen.
Künstliche neuronale Netze dienen als universelle Funktionsapproximatoren. Werte werden dabei von der Eingabe- bis zur Ausgabeschicht propagiert, wobei eine Aktivierungsfunktion für Nichtlinearität sorgt. Beim Trainieren wird ein Fehler bestimmt; mit Hilfe von Fehlerrückführung und einem Optimierungsverfahren werden dabei die Gewichte schichtweise angepasst.
Künstliche Neuronen erhalten, wie auf dem Bild rechts zu erkennen ist, eine Reihe von Eingabewerten. Diese werden gewichtet.
Das erste, was ein Neuron macht, wenn es Eingaben erhält, ist es eine Propagierungsfunktion anzuwenden. Meistens wird die gewichtete Summe (Linearkombination) verwendet:
Nach der Propagierungsfunktion wird die Aktivierungsfunktion angewendet:
Die Aktivierungsfunktion ist wichtig, um Nichtlinearität ins neuronale Netz hereinzubringen; nicht alle Aufgaben neuronaler Netze lassen sich mit linearen Funktionen abbilden. Es gibt verschiedene Aktivierungsfunktionen. Meist wird die ReLU-Funktion in den verdeckten Schichten verwendet. In der Ausgabeschicht wird meist die Sigmoid-Funktion eingesetzt.
Hierbei ist
Es existieren auch Ausgabefunktionen, meist wird jedoch einfach die Identität zurückgegeben; die Identität ist die Rückgabe aus der Aktivierungsfunktion.
Mit Hilfe von verbundenen Neuronen, die die Propagierungs- und Aktivierungsfunktionen anwenden, gibt das neuronale Netz einen Zahlenvektor aus. Inwieweit das Ergebnis aus dem KNN von dem Zielwert abweicht, wird mit Hilfe einer Fehlerfunktion bestimmt. Es gibt verschiedene Arten von Fehlerfunktionen. Eine davon ist der mittlere quadratische Fehler (MQF):
Dabei ist
Der Faktor wird dabei lediglich zur Vereinfachung bei der Ableitung hinzugenommen.
Der MQF eignet sich, wenn die Rückgabe des Netzes ein einzelner Wert ist.
Mit Hilfe des Fehlers lassen sich die Gewichte anpassen. Dies geschieht in zwei Schritten: Im ersten Schritt werden mit Hilfe der Fehlerrückführung die Gradienten bestimmt. Im zweiten Schritt werden die Gradienten mit einem Optimierungsverfahren verwendet, um die Gewichte zu aktualisieren. In diesem Abschnitt geht es um die Fehlerrückführung.
Die Idee hinter der Fehlerrückführung ist, die Gradienten schichtweise zu berechnen. Dies geschieht über die Kettenregel:
Es ist wichtig, das Training mit zufälligen Anfangswerten zu beginnen. Bei überall gleichen Anfangswerten hätte beispielsweise jeder Knoten im KNN das gleiche Gewicht. Wenn dann Gewichte durch die Fehlerrückführung angepasst werden, würde der Fehler auf alle Knoten gleich verteilt und es würden auch alle Gewichte gleichmäßig verändert. Da das Problem in der Regel nicht symmetrisch ist, dürfen auch die Anfangswerte keine Symmetrien aufweisen, sonst kann der Lernalgorithmus das KNN nicht gut an die Trainingsdaten anpassen.:190
Mit der Fehlerrückführung wurden Fehler und Gewichte in einer Funktion abgebildet. Das Lernen korrespondiert nun zu einer Minimierung der Fehlerfunktion, indem die Gewichte angepasst werden. Das aus der Schule bekannte Optimalitätskriterium 1. Ordnung, das Nullsetzen der Ableitung, ist bei Neuronalen Netzen praktisch jedoch ungeeignet. Stattdessen wird mit Gradientenverfahren gearbeitet, um ein lokales Minimum der Fehlerfunktion zu finden. Der Gradient ist die Richtung des steilsten Anstieges einer Funktion, eine Bewegung entgegen den Gradienten ermöglicht also einen Abstieg auf dem Graphen der Fehlerfunktion. Eine Iteration des naiven Gradientverfahrens oder Gradientenabstieges ist also die Berechnung des Gradienten für die aktuelle Wahl der Gewichte, anschließend wird von den Gewichten der Gradient abgezogen und so neue Gewichte mit niedrigerem Fehler erhalten. Das Netz hat somit also „gelernt“.
Dieses Update bzw. dieser Abstiegsschritt wird durch folgende Zuweisung notiert:
Neben dem hier dargestellten naiven Gradientenverfahren werden in der Praxis meist besser entwickelte und leistungsfähigere Variationen des Gradientenabstieges verwendet, z. B. der stochastische Gradientenabstieg oder das ADAM-Verfahren.
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, Spracherkennung, 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 lernfähig 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 insbesondere:
Trotz dieser sehr großen Spanne an Anwendungsgebieten gibt es Bereiche, die KNNs aufgrund ihrer Natur nicht abdecken können, beispielsweise:
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.
Grundsätzlich unterscheiden sich die Klassen der Netze vorwiegend durch die unterschiedlichen Netztopologien und Verbindungsarten, so zum Beispiel einschichtige, mehrschichtige, Feedforward- oder Feedback-Netze.
Jede verdeckte Schicht und die Ausgabeschicht bzw. deren Neuronen verfügen über eine (eigene) Aktivierungsfunktion. Diese können linear oder nicht-linear sein. Nicht-lineare Aktivierungsfunktionen machen das Netz besonders mächtig.
Lernverfahren dienen dazu, ein neuronales Netz so zu modifizieren, dass es für bestimmte Eingangsmuster zugehörige Ausgabemuster erzeugt. Dies geschieht grundsätzlich auf drei verschiedenen Wegen.
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. Bei einlagigen Perzeptrons kann die Delta-Regel (auch Perzeptron-Lernregel) angewendet werden. Mehrlagige Perzeptrons werden in der Regel mit Backpropagation trainiert, was eine Verallgemeinerung der Delta-Regel darstellt.
Das Unüberwachte Lernen erfolgt ausschließlich durch Eingabe der zu lernenden Muster. Das neuronale Netz verändert sich entsprechend den Eingabemustern von selbst. Hierbei gibt es folgende Lernregeln:
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.
Die Hauptnachteile von KNN sind gegenwärtig: