Rekurrente neuronale Netz

Violetta Nöller April 7, 2016 R 50 0
FONT SIZE:
fontsize_dec
fontsize_inc


Ein wiederkehrendes neuronales Netz ist eine Klasse von künstlichen neuronalen Netzwerk, bei dem Verbindungen zwischen Einheiten bilden einen gerichteten Zyklus. Dies schafft einen inneren Zustand des Netzwerkes, die es auf dynamische zeitliche Verhalten zeigen können. Anders als Vors neuronale Netze, können RNNs ihren internen Speicher zu verwenden, um beliebige Folgen von Eingaben zu verarbeiten. Das macht sie für Aufgaben wie unsegmentierten verbundenen Handschrifterkennung, wo sie die besten bekannten Ergebnisse erzielt.

Architekturen

Vollständig wiederkehrenden Netzwerk

Dies ist die Basis-Architektur in den 1980er Jahren entwickelt: ein Netzwerk von Neuronen-ähnlichen Einheiten, die jeweils mit einem gerichteten Verbindung zu jedem anderen Gerät. Jede Einheit hat eine zeitlich variierende reellwertigen Aktivierung. Jede Verbindung hat eine veränderbare reelle Gewicht. Einige der Knoten sind Eingangsknoten, einige Ausgangsknoten, der Rest versteckt Knoten bezeichnet. Unter den meisten Architekturen sind Sonderfälle.

Zum überwachten Lernen in diskreten Zeiteinstellungen, Trainingssequenzen von reellwertigen Eingangsvektoren werden Sequenzen von Aktivierungen der Eingabeknoten, einen Eingangsvektor zu einem Zeitpunkt. Zu einem gegebenen Zeitschritt berechnet jeder Nicht-Eingabeeinheit der aktuellen Aktivierung als eine nichtlineare Funktion der gewichteten Summe der Aktivierungen aller Einheiten, aus denen sie Verbindungen erhält. Es kann Lehrer gegebenen Ziel Aktivierungen für einige der Ausgabeeinheiten zu bestimmten Zeitschritten sein. Zum Beispiel, wenn die Eingangssequenz ist ein Sprachsignal entsprechend einer gesprochenen Ziffer, die letzte Zielausgabe am Ende der Sequenz kann ein Etikett Klassifizieren der Ziffer sein. Für jede Sequenz, seine Fehler der Summe der Abweichungen aller Zielsignale aus den entsprechenden Aktivierungen durch das Netzwerk berechnet. Bei einem Trainingssatz von zahlreichen Sequenzen, ist der Gesamtfehler die Summe der Fehler aller einzelnen Sequenzen. Algorithmen zur Minimierung dieser Fehler werden in dem Abschnitt über Trainingsalgorithmen unten erwähnt.

In Reinforcement Learning-Einstellungen gibt es keine Lehrer Bereitstellung Zielsignale für den RNN, anstatt ein Fitness-Funktion oder Belohnungsfunktion wird gelegentlich verwendet, um die RNN die Leistung, die seinen Eingangsstrom durch Ausgabeeinheiten an Aktoren, die die Umwelt verbunden ist, beeinflussen zu bewerten. Auch hier vergleichen Sie den Abschnitt über die Trainingsalgorithmen unten.

Hopfieldnetzwerk

Das Hopfield-Netzwerk ist von historischem Interesse, obwohl es nicht eine allgemeine RNN, da es nicht dafür ausgelegt, um Sequenzen von Mustern zu verarbeiten. Stattdessen erfordert stationären Eingänge. Es ist ein RNN in welchem ​​alle Anschlüsse symmetrisch ist. Von John Hopfield im Jahr 1982 erfunden, garantiert er, dass seine Dynamik konvergieren. Wenn die Verbindungen werden unter Verwendung Hebbian Lernen trainiert dann Hopfieldnetzwerk so robust inhaltsadressierbaren Speicher, beständig gegen Verbindungsänderungs auszuführen.

Eine Variation des Hopfield-Netzwerk ist die bidirektionalen assoziativen Speichers. Die BAM hat zwei Schichten, von denen jede als Eingang angesteuert werden, um eine Zuordnung zu erinnern und eine Ausgabe auf der anderen Schicht.

Elman-Netze und Jordanien Netzwerke

Die folgenden Spezialfall der Grundarchitektur oben wurde von Jeff Elman beschäftigt. Ein Drei-Schicht-Netzwerk verwendet wird, mit dem Zusatz von einem Satz von "Kontext-Einheiten". Es gibt Verbindungen von der Mittellage zu diesen mit einem Gewicht von einem festen Rahmen Einheiten. In jedem Zeitschritt wird die Eingabe in ein Standardvorwärts Mode ausbreitet, und dann wird ein Lernregel angewendet wird. Die festen Rückverbindungen führen in den Kontexteinheiten immer die Aufrechterhaltung einer Kopie der vorherigen Werte der verborgenen Einheiten. So kann das Netz eine Art von Zustand zu halten, so dass sie solche Aufgaben wie Sequenz-Vorhersage, die über die Leistung eines Standard-Multilayer-Perceptron sind durchzuführen.

Jordan Netze aufgrund Michael I. Jordan, sind ähnlich zu Elman-Netze. Die Kontext-Einheiten sind jedoch von der Ausgangsschicht anstelle der verborgenen Schicht zugeführt. Die Kontext-Einheiten in einer Jordan-Netzwerk werden auch als die Körperschicht genannt, und eine wiederkehrende Verbindung sich mit keinem anderen Knoten in diesem Zusammenhang. Elman und Jordanien Netze werden auch als "einfache wiederkehrende Netze" bekannt.

Echo Zustand Netz

Das Echo Zustand Netzwerk ist ein rekurrenten neuronalen Netzes mit einem dünn verbunden Zufalls verborgenen Schicht. Die Gewichte der Ausgangsneuronen sind der einzige Teil des Netzwerks, die sich ändern kann und ausgebildet werden. ESN sind gut im Wiedergabe bestimmter Zeitreihen. Eine Variante für spiking Neuronen wird als Flüssigzustandsmaschinen bekannt.

Lange Kurzzeitgedächtnis-Netzwerk

Der lange Kurzzeitgedächtnis-Netzwerk von Hochreiter & amp entwickelt; Schmidhuber im Jahr 1997, ist ein künstliches neuronales Netz-Struktur, die im Gegensatz zu herkömmlichen RNNs nicht über die Flucht Gradienten Problem. Es funktioniert, selbst wenn es lange Verzögerungen, und es können Signale, die eine Mischung aus niedrigen und hohen Frequenzkomponenten zu behandeln. LSTM RNN übertraf andere Methoden in zahlreichen Anwendungen, wie das Sprachenlernen und die angeschlossenen Handschrifterkennung.

Bidirektionale RNN

Von Schuster & amp erfunden; Paliwal 1997 bidirektionale RNN oder Zweignetz verwenden eine endliche Folge vorherzusagen oder jedes Element der Sequenz auf der Basis sowohl der Vergangenheit und der Zukunft Kontext des Elements zu kennzeichnen. Dies wird durch Addieren der Ausgangssignale von zwei RNN, eine Verarbeitung der Reihenfolge von links nach rechts durchgeführt, um das andere von rechts nach links. Die kombinierten Ausgänge sind die Vorhersagen der Lehrer gegebenen Zielsignale. Diese Technik erwies sich als besonders nützlich, wenn sie mit LSTM RNN kombiniert.

Zeitkontinuierlichen RNN

Eine kontinuierliche Zeit rekurrente neuronale Netz ist ein dynamischer Systeme Modell des biologischen neuronalen Netzen. Ein CTRNN verwendet ein System von gewöhnlichen Differentialgleichungen, um die Effekte auf einem Neuron der eingehenden Spike Train modellieren. CTRNNs sind rechnerisch effizienter als direkt simuliert jede Spitze in einem Netzwerk, wie sie neuronalen Aktivierungen nicht Modell, auf dieser Detailebene.

Für ein Neuron in dem Netzwerk mit Aktionspotential die Änderungsrate der Aktivierung ist durch:

Woher:

  • : Zeitkonstante des postsynaptischen Knoten
  • : Aktivierung der postsynaptischen Knoten
  • : Rate der Änderung der Aktivierung von postsynaptischen Knoten
  • : Gewicht der Verbindung von der Vorschule bis postsynaptischen Knoten
  • : Sigmoid von x z ..
  • : Aktivierung der präsynaptischen Knoten
  • : Bias der präsynaptischen Knoten
  • : Input, um den Knoten

CTRNNs häufig auf dem Gebiet der evolutionären Robotik, in denen sie verwendet wurden, um anzugehen, zum Beispiel, Vision, Zusammenarbeit und minimal kognitive Verhaltens angewendet.

Hierarchische RNN

Es gibt viele Beispiele von hierarchischen RNN dessen Elemente auf unterschiedliche Weise zur hierarchischen Verhalten in nützliche Unterprogramme zersetzen verbunden.

Wiederkehrende mehrschichtigen Perzeptrons

Allgemeiner DAUER Multilayerperceptron besteht aus einer Reihe von kaskadierten Teilnetze, von denen jede besteht aus mehreren Lagen von Knoten. Jeder dieser Teilnetze vollständig Feedforward mit Ausnahme der letzten Schicht, die Rückkopplungsverbindungen unter sich haben kann. Jeder dieser Teilnetze wird nur von Feed-Forward-Verbindungen verbunden sind.

Zweiter Ordnung Recurrent Neural Network

Zweiter Ordnung RNNs verwenden höherer Ordnung Gewichte anstelle des Standard-Gewichte und Eingänge und Zustände kann ein Produkt sein. Dies ermöglicht eine direkte Zuordnung zu einem endlichen Automaten sowohl in die Ausbildung und in die Vertretung Lange Kurzzeitgedächtnis ist ein Beispiel dafür.

Pollacks sequentiellen Kaskadennetzwerke

Neural Turingmaschinen

Ausbildung

Gradientenabstieg

Zur Gesamtfehler zu minimieren, kann Gradientenabstiegsverfahren verwendet, um jedes Gewicht im Verhältnis zu der Ableitung des Fehlers in Bezug auf diese Gewichtsänderung, sofern die nicht linearen Aktivierungsfunktionen differenzierbar sind. Verschiedene Verfahren dafür wurden in den 1980er und frühen 1990er Jahren von Paul Werbos, Ronald J. Williams, Tony Robinson, Jürgen Schmidhuber, Sepp Hochreiter, Barak Pearlmutter, und anderen.

Die Standard-Methode wird als "Backpropagation durch Zeit" oder BPTT und ist eine Verallgemeinerung der Rückausbreitung für Feed-Forward-Netzwerke und dergleichen diesem Verfahren ist ein Beispiel der automatischen Differenzierung im Rückwärtsakkumulationsmodus oder Pontryagin der Minimum-Prinzip. Ein rechenintensiver Online-Variante wird als "Real-Time Recurrent Learning" oder RTRL, die ein Beispiel der automatischen Differenzierung im vorderen Staubetrieb mit gestapelten Tangentenvektoren ist. Im Gegensatz zu BPTT dieser Algorithmus ist lokal in der Zeit, aber im Raum nicht lokal.

Es gibt auch ein Online-Hybrid zwischen BPTT und RTRL mit mittlerer Komplexität, und es gibt Varianten für die kontinuierliche Zeit. Ein Hauptproblem bei Gradientenabstieg für Standard-RNN-Architekturen ist, dass Fehler Gradienten verschwinden schnell exponentiell mit der Größe der Zeitverzögerung zwischen wichtige Ereignisse. Der lange Kurzzeitgedächtnis-Architektur zusammen mit einem BPTT / RTRL hybriden Lernmethode wurde in einem Versuch, diese Probleme zu überwinden vorgestellt.

Globale Optimierungsmethoden

Trainieren der Gewichte eines neuronalen Netzes kann als nichtlineare globale Optimierungsproblem modelliert werden. Eine Zielfunktion gebildet werden kann, wie folgt, um die Eignung oder Fehler eines bestimmten Gewichtsvektor zu bewerten: Erstens, werden die Gewichte im Netzwerk nach dem Gewichtsvektor gesetzt. Als nächstes wird das Netz vor der Trainingssequenz evaluiert. Typischerweise liegt die Summe quadrierter-Unterschied zwischen den Vorhersagen und den in der Trainingsfolge vorgegebenen Sollwerte wird verwendet, um den Fehler der aktuellen Gewichtsvektor darstellen. Beliebige globale Optimierungstechniken können dann verwendet werden, um diese Zielfunktion zu minimieren.

Die häufigste globalen Optimierungsverfahren für die Ausbildung RNNs ist genetische Algorithmen, vor allem in unstrukturierten Netzwerken.

Anfänglich wird der genetische Algorithmus mit den neuronalen Netzwerkgewichte in einer vordefinierten Weise in dem ein Gen in dem Chromosom repräsentiert eine Gewichtsstange, fortan codiert wird; das gesamte Netzwerk als eine einzelne Chromosom dargestellt. Fitnessfunktion wird wie folgt beurteilt: 1) jedes Gewicht im Chromosom kodiert wird, um das jeweilige Gewicht Link des Netzwerks zugeordnet ist; 2) der Trainingssatz von Beispielen wird dann zu dem Netzwerk, das die Eingangssignale nach vorne ausbreitet präsentiert; 3) den mittleren quadratischen Fehler zu dem Fitness-Funktion zurückgegeben; 4) wird diese Funktion dann fahren die genetische Selektionsprozess.

Es gibt viele Chromosomen, aus denen sich die Bevölkerung; Daher sind viele verschiedene neuronale Netzwerke entwickelt, bis ein Abbruchkriterium erfüllt ist. Eine gemeinsame Stoppschema ist: 1) wenn das neuronale Netzwerk hat, einen bestimmten Prozentsatz der Trainingsdaten gelernt wird, oder 2) wenn der Minimalwert des mittleren quadratischen Fehlers erfüllt ist, oder 3), wenn die maximale Anzahl der Trainings Generationen erreicht ist . Das Abbruchkriterium ist durch die Fitnessfunktion bewertet, wie es erhält den Kehrwert des mittleren quadratischen Fehlers von jedem neuronalen Netz beim Training. Daher ist es das Ziel des genetischen Algorithmus, um die Fitness-Funktion zu maximieren, damit die mittleren quadratischen Fehler zu reduzieren.

Andere globale Optimierung Techniken können verwendet werden, um einen guten Satz von Gewichten, wie Simulated Annealing oder Partikelschwarmoptimierung zu suchen.

Verwandten Bereichen

RNNs kann chaotisch verhalten. In solchen Fällen kann der Theorie dynamischer Systeme zur Analyse verwendet werden.

Probleme mit wiederkehrenden neuronalen Netzen

Die meisten RNNs haben Skalierungsprobleme hatten. Insbesondere RNNs nicht leicht für eine große Anzahl von Neuroneneinheiten oder für eine große Anzahl von Eingängen Einheiten trainiert werden. Erfolgreiches Training hat sich vor allem in der Zeitreihe Probleme mit wenigen Eingaben gewesen.

  Like 0   Dislike 0
Vorherige Artikel Besichtigung des Gila
Nächster Artikel Timothy Foote
Bemerkungen (0)
Keine Kommentare

Fügen Sie einen Kommentar

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Zeichen übrig: 3000
captcha