[Aufmerksamkeit Evolutionsgeschichte] Die Entstehung, Architektur, Förderung und Probleme von RNN (erster Aufzählungspunkt)

Kolumneneinführung

Kürzlich baue ich ein Justizmodell auf und befinde mich jetzt in der Phase der Datenverarbeitung. Später, als ich mit meinen Vorgesetzten diskutierte, sagte ich, dass man darauf achten sollte, denn der Justizsektor hat immer noch relativ hohe Anforderungen an die Interpretation. Obwohl ich vorher etwas darüber weiß, habe ich immer das Gefühl, dass ich nicht in der Lage war, das Wesentliche der Aufmerksamkeit zu erfassen, und ich habe es etwas vergessen. Daher ist es gleichbedeutend, diese Kolumne von vorne zu beginnen, als würde ich mir eine Notiz machen.

RNN

im Hintergrund erscheinen

Das zyklische neuronale Netzwerk RNN ​​(Recurrent Neural Network) ist eine Art Deep-Learning-Modell, das Eingaben unterschiedlicher Länge verarbeiten kann. Der Ausgabedruck liegt hauptsächlich bei NLP-Aufgaben, beispielsweise Übersetzungsaufgaben. Was die Chinesisch-Englisch-Übersetzung betrifft, kann das Englisch, das wir erhalten, beliebig lang sein, so kurz wie der Name einer Person, bis hin zur Übersetzung langer und schwieriger Sätze beim Lesen. Zu dieser Zeit haben viele Leute diese Art von Daten abgeschnitten, aber offensichtlich würde dies den Eingabeinhalt opfern, was keine ideale Lösung ist, also erschien RNN mit Hoffnung.

Modellarchitektur

Fügen Sie hier eine Bildbeschreibung ein
Die Situation lässt sich anhand dieses Bildes leicht erklären: Erstens befinden sich die Parameter des gesamten RNN-Codes im h-Block (linke Seite des Pfeils), x ist die Eingabe und o ist die Ausgabe. Konkret kann der grüne Block links vom Pfeil nur aus zwei Matrizen W und U bestehen. Lassen Sie uns nun darüber sprechen, wie die gesamten Daten dieses Modell durchlaufen.
Wir können genauso gut davon ausgehen, dass unsere Eingabe x = Where have you been recently?ein Satz mit fünf Wörtern ist. Zunächst werden wir natürlich einige Methoden verwenden, um diese Wörter zu vektorisieren. Wir werden hier nicht auf Details eingehen. Standardmäßig wurden die fünf Wörter dieses Satzes verwendet konvertiert in fünf Vektoren fester Länge
v 1 , v 2 , v 3 , v 4 , v 5 v_1, v_2, v_3, v_4, v_5v1,v2,v3,v4,v5
Jeder von ihnen ist ein Vektor englischer Wörter, der der Position entspricht, z. B. v 1 v_1v1Entsprechend wherev 3 v_3v3Das entsprechende ist you. Jetzt hat sich unsere Eingabe von fünf leicht lesbaren englischen Wörtern zu fünf Vektoren fester Länge geändert, die für Computer leicht zu verarbeiten sind. Im Folgenden beschreiben wir, wie das RNN mit diesen fünf Vektoren umgeht.

Modellrechnung

erster Schritt

Initialisieren Sie zufällig einen verborgenen Layer-Vektor h 1 h_1H1, berechnen Sie den Vektor W ∗ h 1 W * h_1WH1, die Summe U ∗ v 1 U * v_1Uv1, erhalte zwei Vektoren s 1 und e 1 s_1 und e_1S1und E1, hier der Einfachheit halber, mit s 1 + e 1 s_1 + e_1S1+e1als Ausgabe o 1 o_1Ö1, mit s 1 s_1S1als h 2 h_2H2. Bisher haben wir den ersten Schritt abgeschlossen: Eingabe: Zufallsvektor und erster Wortvektor; Ausgabe: erster Ausgabevektor und zweiter verborgener Schichtvektor.

zweiter Schritt

Verwenden Sie h 2 , v 2 h_2, v_2, die oben erhalten wurdenH2,v2Wiederholen Sie den Vorgang des vorherigen Schritts, insbesondere berechnen Sie s 2 = W ∗ h 2 , e 2 = U ∗ v 2 s_2 = W * h_2, e_2 = U * v_2S2=WH2,e2=Uv2. Die Ausgabe sei o 2 = s 2 + e 2 o_2 = s_2 + e_2Ö2=S2+e2, der neue verborgene Schichtvektor h 3 = s 2 h_3 = s_2H3=S2

dritter Schritt

利用h 3 , v 3 h_3, v_3H3,v3, weiter wiederholen, berechnen s 3 = W ∗ h 3 , e 3 = U ∗ v 3 s_3 = W * h_3, e_3=U*v_3S3=WH3,e3=Uv3。令o 3 = s 3 + e 3 , h 4 = s 3 o_3 = s_3 + e_3, h_4 = s_3Ö3=S3+e3,H4=S3

der vierte Schritt

Eingabe: h 4 , v 4 h_4, v_4H4,v4. Ausgabe: o 4 , h 5 o_4, h_5Ö4,H5

der fünfte Schritt

Eingabe: h 5 , v 5 h_5, v_5H5,v5. Ausgabe: o 5 , h 6 o_5, h_6Ö5,H6. Beenden

Bisher haben wir h und o erhalten. Im Allgemeinen verwenden wir die verborgene Schicht h, um die Bedeutung des Satzes darzustellen.

Modellbewertung

Lassen Sie mich hier kurz sagen: Erstens ist das Offensichtlichste, dass wir das Problem der Eingabe unterschiedlicher Länge gelöst haben. Indem wir jedes Wort dazu gebracht haben, sich wiederholende Operationen auszuführen, haben wir das ursprüngliche Ziel erreicht. Zweitens haben wir festgestellt, dass wir dies getan haben Jeder Schritt wird berechnet. Es sind zwei Eingabevektoren beteiligt, einer ist der verborgene Schichtvektor h, der die Informationen aller vorherigen Wörter synthetisiert. In gewissem Maße repräsentiert h in jedem Schritt die Semantik der vorherigen Wörter zusammen und der andere ist der Das aktuelle neue Wort x kann als Änderung der gesamten Satzbedeutung durch das neue Wort verstanden werden.
Im Großen und Ganzen löste RNN nicht nur das Datenlängenproblem, das die Forscher damals plagte, sondern lieferte auch eine intuitive Modellentwurfsmethode. Allerdings hat diese Art von Bettlerversion von RNN auch ihre eigenen Probleme. Wenn der Satz beispielsweise sehr lang ist, kann die Semantik der ersten paar Wörter durch kontinuierliche Berechnung abgeschwächt werden, was sich auf die Darstellung des gesamten Satzes auswirkt.

Modelförderung

Um die Mängel der Bettlerversion von RNN weiter zu beheben, haben Forscher nacheinander auch Modelle wie LSTM und GRU vorgeschlagen. Der Kern davon ist RNN. Der Unterschied liegt in der Berechnung jedes Schritts. Durch ihr eigenes Design werden die Informationen verarbeitet vor dem Satz kann teilweise beibehalten werden. , wodurch dieses Problem der „Unaufmerksamkeit“ gemildert wird. Wenn die Übersetzungsaufgabe jedoch auf extrem lange Eingaben stößt, ist es trotzdem möglich, die vorherigen Informationen zu ignorieren, und die Situation der Übersetzung davor und danach ist umgekehrt, sodass wir bessere Methoden weiter untersuchen müssen.

Bitte folgen Sie der vollständigen Spalte

Supongo que te gusta

Origin blog.csdn.net/Petersburg/article/details/126045340
Recomendado
Clasificación