Zum Inhalt springen
L

Wikipedia · einfach zusammengefasst · Stand

Künstliches neuronales Netz

Ein künstliches neuronales Netz besteht aus mehreren künstlichen Neuronen, die miteinander verbunden sind und in der Regel in Schichten organisiert werden. Im …

Inhalt6 Abschnitte
  1. 1. Grundidee und Bedeutung
  2. 2. Aufbau und Funktionsweise
  3. 3. Netzstrukturen und Typen
  4. 4. Lernarten
  5. 5. Entwicklung und Anwendungen
  6. 6. Grenzen und typische Probleme

Grundidee und Bedeutung

Künstliche neuronale Netze (KNN, englisch artificial neural networks, ANN) sind Rechenmodelle aus miteinander verbundenen künstlichen Neuronen, die meist in Schichten angeordnet sind. Ihr Aufbau ist von biologischen Nervennetzen inspiriert, bildet deren physiologische Vorgänge aber nicht vollständig nach. KNN gehören zum maschinellen Lernen und bilden die Grundlage des Deep Learning. Sie eignen sich besonders für Probleme, die sich nur schwer durch feste Regeln beschreiben lassen, für die aber viele Beispieldaten verfügbar sind. Wichtige Anwendungen sind Bild-, Schrift- und Spracherkennung.

Ein zunächst unwissendes Netz wird mit Beispieldaten trainiert. Dabei verändert ein Lernalgorithmus seine Parameter so, dass es zu den Eingaben möglichst passende Ausgaben erzeugt und anschließend auf neue Fälle verallgemeinern kann. Das trainierte Netz kann Vorhersagen, Empfehlungen oder Entscheidungen liefern.

Ein künstliches Neuron nimmt mehrere Signale auf. Jedes Eingangssignal wird mit einem Gewicht multipliziert, sodass es unterschiedlich stark zur Gesamteingabe beiträgt. Eine Aktivierungsfunktion bestimmt daraus die Ausgabe. Die Gewichte und gegebenenfalls Schwellenwerte beginnen gewöhnlich mit Zufallswerten und werden während des Trainings schrittweise angepasst.

Typischerweise wandern die Signale von der Eingabeschicht über eine oder mehrere versteckte Schichten zur Ausgabeschicht. Versteckte Schichten sind von außen nicht direkt sichtbar und transformieren die Daten stufenweise. Ein Netz mit vielen versteckten Schichten heißt tiefes neuronales Netz; darauf bezieht sich der Begriff Deep Learning. Solche Netze können eine komplizierte Aufgabe in einfachere Teilverarbeitungen zerlegen.

KNN sind Forschungsgegenstand des maschinellen Lernens, des Deep Learning als Teilgebiet der künstlichen Intelligenz und der Neuroinformatik. Die möglichst genaue Nachbildung biologischer Nervennetze gehört dagegen eher zur Computational Neuroscience.

Aufbau und Funktionsweise

KNN dienen als universelle Funktionsapproximatoren: Sie können Zusammenhänge zwischen Eingaben und Ausgaben näherungsweise darstellen. Häufig basieren sie auf McCulloch-Pitts-Neuronen oder Abwandlungen davon. Praktisch lernen sie vor allem, indem die Gewichte ihrer Verbindungen verändert werden. Theoretisch lassen sich außerdem Verbindungen oder Neuronen hinzufügen und entfernen, Schwellenwerte anpassen sowie Aktivierungs-, Propagierungs- oder Ausgabefunktionen verändern.

Für ein Neuron j berechnet die Propagierungsfunktion meist die gewichtete Summe seiner n Eingaben:

net_j = Σ(i=1 bis n) x_i w_ij.

Dabei ist x_i die vom Neuron i kommende Eingabe und w_ij deren Gewicht im Neuron j. Die Aktivierungsfunktion φ bestimmt anschließend das Aktivitätsniveau und damit die Ausgabe:

o_j = φ(net_j).

Die Aktivierungsfunktion bringt Nichtlinearität in das Netz, weil viele Aufgaben nicht durch lineare Funktionen darstellbar sind. Sie soll differenzierbar sein und ihre Ableitung darf nicht überall null sein. In versteckten Schichten wird häufig eine Rectifier-Funktion verwendet, in der Ausgabeschicht eine Sigmoidfunktion. Die abschließende Ausgabefunktion passt den Wertebereich an die Modellannahmen an, etwa auf strikt positive Werte oder auf das Intervall von 0 bis 1.

Die Abweichung zwischen berechneter Ausgabe und Zielwert misst eine Verlust- oder Fehlerfunktion. Für eine einzelne numerische Rückgabe eignet sich beispielsweise der mittlere quadratische Fehler:

E = 1/2 Σ(i=1 bis n) (t_i − o_i)².

E ist der Fehler, n die Anzahl der Ausgabeneuronen, t_i der Zielwert und o_i die berechnete Ausgabe. Der Faktor 1/2 vereinfacht die Ableitung.

Bei der Fehlerrückführung (Backpropagation) werden die Gradienten, also die Änderungsrichtungen des Fehlers, schichtweise mit der Kettenregel berechnet:

∂E/∂w_ij = (∂E/∂o_j)(∂o_j/∂net_j)(∂net_j/∂w_ij).

Ein Optimierungsverfahren aktualisiert danach die Gewichte. Beim einfachen Gradientenabstieg gilt:

w_i = w_i − α · ∂E/∂w_i.

Die Lernrate α bestimmt die Schrittgröße. Das Verfahren wird bis zu einem Abbruchkriterium wiederholt und soll ein lokales Minimum der Fehlerfunktion erreichen. In der Praxis nutzt man oft leistungsfähigere Varianten wie den stochastischen Gradientenabstieg oder ADAM. Zufällige, unterschiedliche Anfangswerte sind wichtig: Gleiche Startgewichte würden symmetrisch und damit gleichartig verändert, obwohl das zu lernende Problem gewöhnlich nicht symmetrisch ist.

Netzstrukturen und Typen

Die Topologie beschreibt, wie viele Neuronen auf wie viele Schichten verteilt und wie sie verbunden sind. In einer Graphdarstellung erscheinen Neuronen als Knoten und Verbindungen als Kanten. Die passende Struktur hängt eng mit dem Lernverfahren zusammen und wird häufig durch Versuch und Irrtum bestimmt, teilweise unterstützt durch evolutionäre Algorithmen und Fehlerrückführung.

Ein einschichtiges Feedforward-Netz besitzt nur eine trainierbare Neuronenschicht, die Ausgabeschicht. Feedforward bedeutet, dass Signale ausschließlich in Verarbeitungsrichtung weitergegeben werden; der gerichtete Graph ist azyklisch. Die Delta-Regel kann ein solches Netz trainieren.

Ein mehrschichtiges Feedforward-Netz enthält zusätzlich versteckte Schichten. Sie verbessern die Fähigkeit zur Abstraktion. Erst ein mehrschichtiges Perzeptron kann beispielsweise das XOR-Problem lösen.

Rekurrente Netze besitzen rückgerichtete Kanten oder Rückkopplungsschleifen. Die zurückgeführten Signale werden zeitlich verzögert, sodass Ausgaben eines vergangenen Verarbeitungsschritts später wieder als Eingaben dienen. Dadurch entstehen dynamisches Verhalten und ein Gedächtnis. Ein deterministisch beschriebenes Netz mit Rückkopplungen ist bezüglich der Berechenbarkeit zur Turingmaschine äquivalent; rekurrente Netze entsprechen damit der ausdrucksstärksten Form, Typ 0 der Chomsky-Hierarchie. Diese Aussage gilt nicht in gleicher Weise bei einer stochastischen Beschreibung.

Dynamische neuronale Netze passen ihre Struktur und/oder Parameter während der Inferenz, also bei der Anwendung des trainierten Modells, abhängig von der Eingabe an. Neuronale Netze mit Gedächtnis besitzen dagegen einen statischen Speicher, der während der Inferenz dynamisch abgefragt wird.

Zu den zahlreichen Klassen gehören unter anderem McCulloch-Pitts-Netze, Perzeptron und Adaline, Convolutional Neural Networks (CNN), Self-Organizing Maps beziehungsweise Kohonen-Netze, Boltzmann-Maschinen, Radiale-Basisfunktions-Netze, Adaptive-Resonanz-Netze, Spiking Neural Networks, rekurrente neuronale Netze (RNN), Hopfield-, Elman- und Jordan-Netze sowie residuale neuronale Netze. CNN verwenden typischerweise abwechselnd Faltungs- und Pooling-Schichten und am Ende vollständig verbundene Schichten. Max-Pooling übernimmt jeweils die stärkste Aktivierung und verkleinert so die räumliche Dimension.

Lernarten

Lernverfahren verändern ein KNN so, dass es für bestimmte Eingabemuster passende Ausgabemuster erzeugt. Der Artikel unterscheidet drei grundlegende Lernweisen und nennt zusätzlich stochastisches Lernen.

• Beim überwachten Lernen liegen zu den Eingaben die gewünschten Ausgaben vor. Das Netz vergleicht seine Ist-Ausgabe mit der Soll-Ausgabe und leitet daraus Änderungen seiner Konfiguration ab. Einlagige Perzeptrons können mit der Delta- oder Perzeptron-Lernregel trainiert werden. Bei mehrlagigen Perzeptrons wird gewöhnlich Backpropagation als Verallgemeinerung der Delta-Regel eingesetzt.

• Beim unüberwachten Lernen erhält das Netz nur die zu lernenden Eingabemuster und verändert sich anhand ihrer Strukturen selbst. Genannte Verfahren sind die Hebbsche Lernregel und die Adaptive Resonanztheorie.

• Beim bestärkenden Lernen stehen nicht für jeden Zeitpunkt richtige Ausgaben bereit. Ein Agent führt stattdessen eine Folge von Aktionen aus und wird nach einem Testlauf bewertet. Aus dieser Rückmeldung kann eine Agentenfunktion gelernt werden. Als Beispiel nennt der Artikel einen Roboter auf dem Mars, dem nicht fortlaufend die jeweils beste Aktion vorgegeben werden kann. KNN können als Technik innerhalb eines solchen Lernverfahrens dienen.

• Als stochastisches Lernverfahren wird die simulierte Abkühlung (Simulated Annealing) genannt.

Entwicklung und Anwendungen

Die Forschung begann in den 1940er Jahren. Warren McCulloch und Walter Pitts beschrieben 1943 Netze elementarer Einheiten, die praktisch jede logische oder arithmetische Funktion berechnen könnten; 1947 verwiesen sie auf räumliche Mustererkennung. Donald O. Hebb formulierte 1949 die Hebbsche Lernregel. Marvin Minsky baute 1951 den Neurocomputer Snarc. Die Dartmouth Conference von 1956 gilt als Geburtsstunde der künstlichen Intelligenz als akademisches Fachgebiet. Frank Rosenblatt und Charles Wightman entwickelten 1957 bis 1958 das Mark I Perceptron, das mit einem 20 × 20 Pixel großen Sensor einfache Ziffern erkannte. 1960 stellten Bernard Widrow und Marcian E. Hoff ADALINE vor, das mit der Deltaregel lernte und in Analogtelefonen zur Echtzeit-Echofilterung eingesetzt wurde.

1969 zeigten Minsky und Seymour Papert Grenzen des Perzeptrons, darunter die fehlende Lösbarkeit von XOR und Probleme der linearen Separierbarkeit. Daraufhin wurden viele Forschungsgelder gestrichen. Wichtige spätere Schritte waren Paul Werbos’ Backpropagation von 1974, Teuvo Kohonens selbstorganisierende Karten und John Hopfields Hopfield-Netze von 1982 sowie das Neocognitron von Kunihiko Fukushima, S. Miyake und T. Ito von 1983. Die 1985 separat entwickelte Verallgemeinerung der Delta-Regel, Backpropagation of Error, machte nicht linear separierbare Probleme für mehrschichtige Perzeptrons lösbar.

Seit 2009 erzielten tiefe und rekurrente Netze wieder große Erfolge. Zwischen 2009 und 2012 gewann die Forschungsgruppe von Jürgen Schmidhuber am IDSIA acht internationale Wettbewerbe. LSTM-Netze gewannen 2009 drei ICDAR-Wettbewerbe zur verbundenen Handschrifterkennung und lernten Segmentierung und Erkennung gleichzeitig. Schnelle GPU-Implementierungen von Max-Pooling-CNN wurden 2011 von Dan Ciresan und Kollegen eingeführt. Ähnliche Modelle wie AlexNet erreichten Spitzenresultate bei ImageNet; GPU-basierte Max-Pooling-CNN erzielten auch übermenschliche Leistungen bei der IJCNN 2011 Traffic Sign Recognition Competition. Neuronale Operatoren erweitern KNN auf unendlichdimensionale Funktionenräume und dienen vor allem dazu, Lösungsoperatoren partieller Differentialgleichungen zu lernen.

KNN werden unter anderem für Text-, Schrift-, Sprach-, Bild- und Gesichtserkennung, Klassifikation, Maschinenübersetzung, Data-Mining, Sprach- und Klangsynthese, Zeitreihenanalyse, Frühwarn- und Fehlererkennung, Optimierung, Prozessregelung, Robotik, virtuelle Agenten, Spiele, medizinische Diagnostik, Epidemiologie und Biometrie eingesetzt. Genannte Beispiele sind die Früherkennung von Tornados und die Abschätzung wirtschaftlicher Entwicklungen. Nicht geeignet sind sie ihrer Natur nach etwa zur Vorhersage von Zufalls- oder Pseudozufallszahlen, zur Faktorisierung großer Zahlen, zur Primzahlbestimmung oder zum Entschlüsseln verschlüsselter Texte. Implementierungen sind unter anderem TensorFlow, SNNS, EpsiloNN und OpenNN.

Grenzen und typische Probleme

Das Training führt meist zu hochdimensionalen, nichtlinearen Optimierungsproblemen. Es ist häufig unklar, ob ein gefundenes Ergebnis das globale Optimum oder nur ein lokales Optimum ist. Auch lokale Verfahren wie BFGS oder DFP liefern selten sicher die optimale Lösung. Eine bessere, aber zeitaufwendige Annäherung kann durch wiederholtes Training mit verschiedenen Startwerten entstehen.

Trainings- und Testdaten müssen gesammelt oder erzeugt und sorgfältig ausgewählt werden. Ein Netz kann unbeabsichtigte Korrelationen lernen: Ein Bilderkennungsnetz könnte beispielsweise nur die Helligkeit auswerten. Ein Netz zur Erkennung von Eisenbahnzügen achtete in einer Untersuchung lediglich auf die Schienen. Einseitige Daten können zudem bestehende Diskriminierungen, etwa nach Geschlecht oder Herkunft, fortschreiben. Explainable Artificial Intelligence entwickelt deshalb Verfahren, die Entscheidungen trainierter Netze nachvollziehbarer machen.

Bei Überanpassung (Overfitting) lernt das Netz Trainingsdaten auswendig und verallgemeinert schlecht auf neue Daten. Die Architektur muss daher mit Bedacht gewählt werden. Das zugehörige Grundproblem heißt Verzerrung-Varianz-Dilemma; als Gegenmaßnahmen nennt der Artikel Boosting, Support-Vector-Maschinen und Regularisierung.

Auch die Kodierung und Vorverarbeitung der Daten beeinflussen Lerngeschwindigkeit und Lernerfolg. Sprach-, Musik- oder Textdaten lassen sich selten erfolgreich verarbeiten, indem lediglich rohe Zahlenwerte, etwa aus einer WAV-Datei, eingespeist werden. Die Darstellung sollte problemangepasst und möglichst redundanzfrei sein. Schließlich hat auch die Vorbelegung der Gewichte großen Einfluss auf das Lernen.

Die biologische Inspiration darf nicht mit einer naturgetreuen Gehirnsimulation verwechselt werden. Das Gehirn verarbeitet Informationen massiv parallel, während heutige Computer meist sequentiell oder nur teilweise parallel arbeiten. Prototypen neuronaler Rechnerarchitekturen bilden nicht die physiologischen Vorgänge nach, sondern setzen vor allem die Architektur massiv paralleler Analog-Addierer in Silizium um.

Lernvideos zu Künstliches neuronales Netz

Weiterlesen

Künstliches Neuron Ein künstliches Neuron bildet die Basis für das Modell der künstlichen neuronalen Netze, ein Modell aus der Neuroinformatik, das durch biologische neuronale … Neuronales Netz Als neuronales Netz wird in den Neurowissenschaften eine beliebige Anzahl miteinander verbundener Neuronen bezeichnet, die als Teil eines Nervensystems … Gehirn Das Gehirn (auch Hirn; griechisch Encephalon, lateinisch Cerebrum) ist ein Organ des zentralen Nervensystems aller Wirbeltiere und einiger Wirbelloser, … Maschinelles Lernen Maschinelles Lernen (ML) entwickelt, untersucht und verwendet statistische Algorithmen, auch Lernalgorithmen genannt. Solche Algorithmen können lernen, … Computer Ein Computer (englisch; deutsche Aussprache [kɔmˈpjuːtɐ]) oder Rechner ist ein Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet. Daten Daten bezeichnet als Plural von Datum Fakten, Zeitpunkte oder kalendarische Zeitangaben. Als Pluralwort steht es für durch Beobachtungen, Messungen u. a. Deep Learning Deep Learning erlaubt die Verarbeitung und Analyse komplexer Datenmuster; dazu verwendet Deep Learning tiefe hierarchische neuronale Netze, die automatisch … Künstliche Intelligenz Künstliche Intelligenz (kurz KI, englisch artificial intelligence, kurz AI) ist ein Forschungs- und Anwendungsgebiet der Informatik. Neuroinformatik Bei der Neuroinformatik handelt es sich um ein stark interdisziplinäres Forschungsgebiet im Schnittbereich zwischen KI-Forschung und Kognitionswissenschaft. In … Nervenzelle Eine Nervenzelle, auch Neuron (von altgriechisch νεῦρον neũron „Flechse, Sehne, Nerv“) genannt, ist eine auf Erregungsleitung und Erregungsübertragung … Algorithmus Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. ... Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in … Überwachtes Lernen Überwachtes Lernen (englisch supervised learning) ist eine wichtige Kategorie des Maschinellen Lernens. Dabei wird ein Lernalgorithmus mit Datensätzen …