Bei einem Recurrent Neural Network handelt es sich um ein Netz, das Rück­kopp­lun­gen nutzen und so eine Art Ge­dächt­nis erzeugen kann. Die Technik wird vor allem beim Umgang mit se­quen­zi­el­len Daten an­ge­wen­det und benötigt einen ver­gleichs­wei­se hohen Trai­nings­auf­wand.

Was ist ein Recurrent Neural Network?

Ein Recurrent Neural Network (RNN) ist ein künst­li­ches neu­ro­na­les Netzwerk, das in der Lage ist, Rück­kopp­lun­gen zu erzeugen und so Aus­ga­be­infor­ma­tio­nen erneut als Eingabe ein­zu­spei­sen. Diese Methode kommt ins­be­son­de­re bei der Ver­ar­bei­tung se­quen­zi­el­ler Daten im Bereich Deep Learning und KI zum Einsatz. Im Deutschen spricht man auch von einem rück­ge­kop­pel­ten neu­ro­na­len Netzwerk. Durch die In­for­ma­ti­ons­auf­nah­me aus früheren Eingaben ent­wi­ckelt das Recurrent Neural Network eine Art Ge­dächt­nis und verändert die Ausgabe je nach den vor­he­ri­gen Elementen innerhalb einer Sequenz. Es gibt un­ter­schied­li­che Arten der Rück­kopp­lung. Dadurch sind zwar auch die Mög­lich­kei­ten um­fang­rei­cher, das Training wird aber ebenfalls an­spruchs­vol­ler.

KI-Lösungen
Mehr Digital-Power dank Künst­li­cher In­tel­li­genz
  • In Sekunden zur Online-Präsenz
  • Mehr Wachstum mit KI-Marketing
  • Zeit und Res­sour­cen sparen

Wie funk­tio­nie­ren Recurrent Neural Networks?

Auf den ersten Blick sind auch Recurrent Neural Networks so aufgebaut wie andere neuronale Netzwerke. Sie bestehen aus min­des­tens drei ver­schie­de­nen Schichten (engl. „layer“), die wiederum Neuronen (Knoten) enthalten, welche durch Kanten mit­ein­an­der verbunden sind. Man spricht von der Ein­gangs­schicht (Input Layer), einer Aus­gangs­schicht (Output Layer) und einer be­lie­bi­gen Anzahl an Zwi­schen­schich­ten, die auch als Hidden Layer be­zeich­net werden.

  • Ein­gangs­schicht: In dieser Schicht werden In­for­ma­tio­nen aus der Außenwelt auf­ge­nom­men. Sie werden dann gewichtet und an die nächst­hö­he­re Schicht wei­ter­ge­ge­ben.
  • Zwi­schen­schicht: Dabei handelt es sich um die Hidden Layer. Hier werden die In­for­ma­tio­nen wei­ter­ge­reicht und neu gewichtet. Dies passiert bei jeder zu­sätz­li­chen Schicht und im Ver­bor­ge­nen, weshalb man auch von ver­steck­ten Schichten spricht.
  • Aus­gangs­schicht: Die Ausgabe der be­wer­te­ten oder mo­di­fi­zier­ten In­for­ma­ti­on erfolgt dann über den Output Layer. Dieser Output ist entweder das End­ergeb­nis oder dient als Eingabe für andere Neuronen.
Bild: Infografik zu rekurrenten neuronalen Netwerken
In einem Recurrent Neural Network werden Rück­kopp­lun­gen erzeugt.

Das Besondere an einem Recurrent Neural Network ist die Mög­lich­keit, die Richtung des In­for­ma­ti­ons­flus­ses selbst zu bestimmen. Durch die Rück­kopp­lung muss die Ausgabe eines Neurons nicht zwangs­läu­fig an die nächst­hö­he­re Schicht erfolgen, sondern kann auch als Eingabe des gleichen Neurons, eines Neurons in derselben Schicht oder eines Neurons in der vor­he­ri­gen Schicht genutzt werden. Der Ge­wich­tungs­pa­ra­me­ter ist dabei in jeder Schicht gleich. Die Rück­kopp­lung wird in vier ver­schie­de­ne Ka­te­go­rien un­ter­teilt:

  • Direct Feedback: Bei einer direkten Rück­kopp­lung wird der Ausgang des gleichen Neurons als Eingang genutzt.
  • Indirect Feedback: Bei einer in­di­rek­ten Rück­kopp­lung wird der Ausgang eines Neurons mit einer vor­he­ri­gen Schicht verbunden.
  • Lateral Feedback: Bei einer seit­li­chen Rück­kopp­lung wird der Ausgang eines Neurons mit dem Eingang eines anderen Neurons derselben Schicht verbunden.
  • Voll­stän­di­ge Rück­kopp­lung: Bei einer voll­stän­di­gen Rück­kopp­lung sind alle Neu­ro­nen­aus­gän­ge mit anderen Neuronen verbunden.

Wie werden Recurrent Neural Networks trainiert?

Es ist deutlich kom­pli­zier­ter, Recurrent Neural Networks zu trai­nie­ren, da weit zu­rück­lie­gen­de In­for­ma­tio­nen oftmals nicht oder nur un­zu­rei­chend be­rück­sich­tigt werden können. Um dieses Problem zu beheben, wird häufig mit Funk­tio­nen wie Long Short-Term Memory (LSTM) ge­ar­bei­tet. Dadurch werden In­for­ma­tio­nen länger ge­spei­chert. Mit dem richtigen Training ist ein Recurrent Neural Network in der Lage, wichtige In­for­ma­tio­nen von un­wich­ti­gen zu un­ter­schei­den und kann diese erneut ins Netz ein­spei­sen.

Welche Ar­chi­tek­tu­ren gibt es?

Es gibt un­ter­schied­li­che Ar­chi­tek­tu­ren, die Recurrent Neural Networks von­ein­an­der un­ter­schei­den. Dies sind die gän­gigs­ten Typen:

  • One to many: Hierbei erhält das Recurrent Neural Network eine Eingabe und gibt mehrere Ausgaben zurück. Ein prak­ti­sches Beispiel dafür ist die Bild­un­ter­schrift, bei der ein Satz aus einem Schlüs­sel­wort generiert wird.
  • Many to one: Hierbei werden mehrere Eingänge einem einzigen Ausgang zu­ge­ord­net. Dieses Prinzip wird unter anderem bei der Stim­mungs­ana­ly­se genutzt, bei der Feedback auf Basis von Re­fe­ren­zen vor­her­ge­sagt wird.
  • Many to many: Hierbei nutzen Sie mehrere Eingaben um auch mehrere Ausgaben zu erhalten. Die Anzahl muss dabei nicht de­ckungs­gleich sein. Genutzt wird die Technik zum Beispiel bei der Über­set­zung von einer Sprache in eine andere.
IONOS AI Model Hub
Erste deutsche, mul­ti­mo­da­le KI-Plattform
  • 100 % DSGVO-konform und sicher in Deutsch­land gehostet
  • Die leis­tungs­stärks­ten KI-Modelle auf einer Plattform
  • Kein Vendor Lock-in durch Open Source

Was sind die wich­tigs­ten An­wen­dungs­ge­bie­te eines Recurrent Neural Networks?

Recurrent Neural Networks sind ins­be­son­de­re dann von Nutzen, wenn der Kontext bei der In­for­ma­ti­ons­ver­ar­bei­tung wichtig ist. Dies gilt ins­be­son­de­re für den Umgang mit se­quen­zi­el­len Daten, die eine bestimmte Rei­hen­fol­ge oder zeitliche Abfolge haben. In solchen Fällen können RNNs durch den Kontext vor­he­ri­ger Eingaben ein Ergebnis besser vor­her­sa­gen. Die Technik eignet sich daher unter anderem für folgende An­wen­dungs­ge­bie­te:

  • Prognosen und Zeit­rei­hen­da­ten: RNNs werden häufig zur Vor­her­sa­ge von Er­eig­nis­sen oder Werten auf Basis his­to­ri­scher Daten ein­ge­setzt, wie z.B. bei der Fi­nanz­markt­ana­ly­se, Wet­ter­vor­her­sa­ge oder dem En­er­gie­ver­brauch.
  • Natural Language Pro­ces­sing (NLP): Im Bereich der Ver­ar­bei­tung na­tür­li­cher Sprache, also des Natural Language Pro­ces­sing, sind re­kur­ren­te neuronale Netzwerke besonders nützlich. Sie werden unter anderem für Aufgaben wie ma­schi­nel­le Über­set­zung, Sprach­mo­del­lie­rung, Tex­terken­nung und au­to­ma­ti­sche Text­ge­ne­rie­rung verwendet.
  • Sprach­er­ken­nung: RNNs spielen eine ent­schei­den­de Rolle in der Sprach­er­ken­nungs­tech­no­lo­gie, wo sie verwendet werden, um ge­spro­che­ne Sprache in Text zu kon­ver­tie­ren. Diese An­wen­dun­gen sind zum Beispiel in digitalen As­sis­ten­ten und au­to­ma­ti­schen Tran­skrip­ti­ons­diens­ten zu finden.
  • Bild- und Vi­deo­ana­ly­se: Obwohl Recurrent Neural Networks haupt­säch­lich für die Ver­ar­bei­tung von se­quen­zi­el­len Daten verwendet werden, können sie auch in der Bild- und Vi­deo­ana­ly­se ein­ge­setzt werden, ins­be­son­de­re wenn es um die Ver­ar­bei­tung von Bild­se­quen­zen oder Videos geht, wie bei der Vi­deo­zu­sam­men­fas­sung oder der Erkennung von Ak­ti­vi­tä­ten in Über­wa­chungs­vi­de­os.

Was ist der Un­ter­schied zu einem Feed­for­ward Neural Network?

Das Recurrent Neural Network ist eine Wei­ter­ent­wick­lung des Feed­for­ward Neural Network (FNN), welches keine Rück­kopp­lun­gen zulässt. Beim FNN fließen In­for­ma­tio­nen daher immer nur in eine Richtung zur nächst­hö­he­ren Schicht. Eine erneute rück­wär­ti­ge Ein­spei­sung ist somit nicht möglich. So kann das Feed­for­ward Neural Network zwar Muster erkennen, dabei aber nicht auf bereits ver­ar­bei­te­te In­for­ma­tio­nen zu­rück­grei­fen.

Zum Hauptmenü