Wikipedia · einfach zusammengefasst · Stand
Elman-Netz
Ein künstliches neuronales Netz ist ein Modell aus der Neuroinformatik, das durch biologische neuronale Netze motiviert ist. Künstliche neuronale Netze …
Inhalt5 Abschnitte
Grundidee und Zweck
Ein Elman-Netz, auch Simple recurrent network (SRN) oder Einfaches rekurrentes Netz, ist ein einfaches künstliches neuronales Netz. Es kann zeitliche Abhängigkeiten in Eingaben verarbeiten, weil es Rückkopplungen zwischen künstlichen Neuronen besitzt. Dadurch kann es frühere Zustände teilweise berücksichtigen, ohne dass alle vergangenen Eingaben gleichzeitig als eigenes Eingabefenster vorgelegt werden müssen.
Ein künstliches neuronales Netz ist ein Modell aus der Neuroinformatik, das durch biologische neuronale Netze motiviert ist. Solche Netze können Aufgaben erlernen und werden besonders dort verwendet, wo eine ausdrückliche Modellierung eines Problems schwierig oder unmöglich ist, zum Beispiel bei Gesichts- und Spracherkennung. Das Elman-Netz ist nach Jeffrey L. Elman benannt, der diese Architektur 1990 vorschlug.
Problem einfacher Netze
Viele einfache künstliche neuronale Netze können zeitliche Abhängigkeiten von Eingabedaten nicht direkt verarbeiten. Andere Modelle brauchen dafür eine Historie von Eingaben in Form eines Eingabefensters. Ein Beispiel ist das Time Delay Neural Network: Es stellt die zeitliche Komponente eines Datenstroms ausdrücklich dar, indem Eingaben aus mehreren Zeitpunkten parallel präsentiert werden.
Diese Methode hat Einschränkungen. Ein Fenster mit fester Länge passt schlecht zu Signalen, deren zeitliche Länge unterschiedlich sein kann. Das ist zum Beispiel bei der Spracherkennung problematisch, weil Wörter aus unterschiedlich vielen Silben bestehen. Außerdem fehlt aus Sicht der biologischen Abstraktion eine biologische Motivation dafür, Eingabedaten verschiedener Zeitschritte parallel anzulegen.
Aufbau und Funktionsweise
Elman schlägt eine einfache Struktur vor, die durch Rückkopplungen ein zeitliches Gedächtnis erhält. Das Netz besitzt zwei Schichten von Neuronen: eine verdeckte Schicht und eine Ausgabeschicht. Die verdeckte Schicht ist die innere Verarbeitungsebene des Netzes; die Ausgabeschicht erzeugt daraus die Ausgabe.
Die Ausgaben der verdeckten Schicht werden in sogenannten Kontextzellen gespeichert. Zu jedem Neuron der verdeckten Schicht gibt es eine solche Zelle. Sie speichert die vergangene Ausgabe dieses Neurons. Die Verbindung zu dieser Kontextzelle hat eine konstante Gewichtung von 1.
Die Neuronen der verdeckten Schicht bekommen zwei Arten von Eingaben: die aktuellen Eingabedaten und ihre vergangenen Ausgaben, die über die Kontextzellen zurückgeführt werden. Dadurch kann das Netz frühere Informationen in seine aktuelle Verarbeitung einbeziehen. Elman zeigt in seiner Arbeit, dass diese Struktur auch längere Eingabeströme implizit und zeitlich invariant verarbeiten kann. Die Ausgabeschicht bildet dabei nur die interne Repräsentation der verdeckten Neuronen auf die eigentliche Ausgabe ab.
Elman-Netze werden zum Beispiel mit Backpropagation trainiert. Backpropagation ist ein Lernverfahren, bei dem Fehler rückwärts durch das Netz weitergegeben werden, um Gewichte anzupassen. Beim Elman-Netz werden die rückwärts gerichteten Kanten, also die Rückkopplungen, dabei nicht angepasst.
Beispiel mit XOR
Ein einfaches Beispiel aus Elmans Arbeit verwendet Eingaben aus Blöcken von jeweils drei binären Werten. Binäre Werte sind Werte mit nur zwei möglichen Zuständen, hier 0 und 1.
Dem Netz werden in den ersten beiden Zeitschritten jeweils zufällig gewählte binäre Werte als Eingabe gegeben. Die dritte Eingabe ist das Ergebnis der XOR-Verknüpfung der beiden vorherigen Eingaben. XOR bedeutet: Das Ergebnis ist 1, wenn die beiden Eingaben verschieden sind, und 0, wenn sie gleich sind.
Die Aufgabe des Netzes ist es, jeweils die nächste zu erwartende Eingabe vorauszusagen. Dafür wird die Eingabe um einen Zeitschritt nach vorn verschoben und als Zielwert für das Training verwendet. Das Netz soll also aus der bisherigen Folge lernen, welcher Wert als Nächstes kommt.
Im Beispiel zeigt sich, dass der Erkennungsfehler beim jeweils zweiten Wert abnimmt. Das Netz lernt also die XOR-Verknüpfung und kann den nächsten Wert dort berechnen, wo dies aufgrund der vorherigen Eingaben möglich ist. Mit Hilfe der vorausgegangenen Eingaben kann das Netz somit die nächste Eingabe vorausbestimmen.
Hierarchische Variante
Als Verallgemeinerung der zweischichtigen Elman-Netze gibt es hierarchische Elman-Netze. Sie können mehr als zwei Schichten besitzen. Außerdem enthalten sie zusätzliche Rückkopplungen in den einzelnen Kontextzellen. Damit erweitern sie die Grundidee des Elman-Netzes, frühere Zustände über Kontextzellen für die weitere Verarbeitung nutzbar zu machen.