(Teil 2) Maschinelle Übersetzung mit Tiefen Neuronalen Netzen

Maschinelle Übersetzung mit Tiefen Neuronalen Netzen (Teil 2)


Im ersten Teil dieses Artikels haben wir erfahren, wie Worte vorprozessiert und in Vektoren überführt werden. Hier erfahren Sie nun, wie die KI diese dann verarbeitet.


Encoding der Eingabesequenz

Einen Satz kann man also mit Hilfe dieses Embeddings in eine Sequenz von Vektoren überführen. Die Bedeutung eines Wortes hängt aber oft vom Kontext ab. “Bank” kann zum Beispiel entweder eine Sitzgelegenheit bezeichnen oder ein Geldinstitut. Um dieses Wort ins Englische zu übersetzen, ist es notwendig, die Worte zu betrachten, die zumindest im selben Satz, vielleicht sogar noch viel weiter davor stehen. Fängt der Satz mit “Ich sitze auf einer ...” an, wäre es wohl besser “Bank” mit “bench” zu übersetzen.

Der nächste Schritt ist also die Eingabesequenz in eine interne Repräsentation zu überführen, die den Kontext berücksichtigt. Dieser interne Zustand ist im einfachsten Fall wieder ein Vektor, der nun die Bedeutung des Satzes oder einer Sinneinheit repräsentiert.

Da Sätze eine sehr variable, nahezu beliebige Länge aufweisen können, ist dies nicht trivial. Für diese Art von sequenziellen Daten werden in der Regel sogenannte rekurrente neuronale Netze (RNNs) verwendet. Diese gleichen den neuronalen Netzen, wie sie im Artikel zum maschinellen Sehen eingeführt wurden, bilden eine Eingabe allerdings nicht nur auf eine Ausgabe ab, sondern zusätzlich auch noch auf einen sogenannten internen Zustand. Ein RNN wird schrittweise mit Daten der Sequenz gefüttert, also in unserem Fall Wort für Wort. In jedem Schritt berechnet das RNN seinen hidden state, der im nächsten Zeitschritt zusammen mit dem neuen Wort wieder in das Netzwerk gefüttert wird. Dieser Mechanismus erlaubt dem Netzwerk ein Kurzzeitgedächtnis aufzubauen, mit dem es sich Informationen zu vorherigen Eingaben merken kann.

Bis zum Ende des Satzes wird die eigentliche Ausgabe des Netzes ignoriert. Das Netzwerk muss also in seinem hidden state die relevanten Fakten der Eingabesequenz abspeichern. Die Ausgabe des Netzwerkes im letzten Schritt ist dann die gewünschte Repräsentation des Satzes.


Decoding in die Zielsprache

Im letzten Teil der Übersetzungsarchitektur, dem Decoder-Netzwerk, wird nun diese Repräsentation in eine Wortsequenz der Zielsprache überführt. Naheliegenderweise wird daher auch für diese Komponente ein rekurrentes neuronales Netzwerk verwendet.  Im einfachsten Fall wird die im vorherigen Schritt errechnete Satz-Repräsentation in jedem Zeitschritt immer wieder unverändert in das Netzwerk eingespeist. Durch seinen hidden state kann sich das Netzwerk merken, welche Teile der Eingabe es bereits verarbeitet hat.

Die Ausgabe des Netzwerkes ist in jedem Zeitschritt eine Wahrscheinlichkeitsverteilung über alle möglichen Symbole. Nehmen wir an, das System soll den Satz "I'm happy!" ins Deutsche übersetzen. Wenn das Dekoder-RNN bereits die Worte "Ich bin" ausgegeben hat, dann spuckt das Netzwerk vorerst nicht “froh” aus, sondern weist diesem Wort eine hohe Wahrscheinlichkeit zu. Andere Worte hingegen, wie beispielsweise "traurig", aber auch viele andere, die grammatikalisch oder semantisch an dieser Stelle keinen Sinn ergeben würden, erhalten eine sehr geringe Ausgabewahrscheinlichkeit. Das ermöglicht es, verschiedene Lösungen des gegebenen Übersetzungsproblems zuzulassen. Letztlich ausgegeben wird dann eben der Satz, dessen Gesamtwahrscheinlichkeit maximal ist.

Alle Systemparameter, also die Einträge der Embedding-Matrix, die Netzwerkgewichte des Satz-Encoders und die des Dekoders, sind aber noch nicht eingestellt und das System würde zufällige Wortketten als Übersetzung zurückgeben. Wie bei neuronalen Netzen üblich, werden nun erst viele Übersetzungsbeispiele benötigt, um das System zu trainieren. Für zwei korrespondierende Sätze in Quell- und Zielsprache wird nun Schritt für Schritt die Abweichung der Ausgabe des Netzwerkes und der gewünschten Ausgabe ermittelt, die durch die Trainingsdaten gegeben ist. Das Ziel des Gesamtsystems ist ja, diese Abweichung zu minimieren, also die gewünschten Ausgaben möglichst gut vorherzusagen. Da alle beschriebenen Komponenten abgeleitet werden, können sie nun zusammen durch den Backpropagation-Algorithmus optimiert werden.

Ein so designtes und trainiertes System kann aus vielen Millionen Sätzen die statistischen Eigenheiten einer Sprache “erlernen”. Die Regeln einer Sprache determinieren ja letztlich, welche Sequenzen in den Trainingsbeispielen vorkommen. Wie in einem Bleistiftgemälde, in dem jeder Strich ein schwaches Grau ist, aber die Vielzahl der Striche herausbildet, was der Künstler sieht, so werden die Konstrukte, die in einer Sprache valide sind, durch ihre statistische Häufung offenbar. Die Übersetzungsergebnisse dieser relativ einfachen Methode sind beeindruckend und übertreffen klassische Ansätze in den meisten Fällen bei weitem.


Ausblick

Google hat vor kurzem sogar demonstriert, dass neuronale Übersetzernetzwerke Texte von einer Sprache in eine andere übersetzen können, selbst wenn die jeweilige Kombination nicht in den Trainingsdaten vorhanden war. Dafür wurde die hier vorgestellte Netzwerkarchitektur so erweitert, dass das System mit mehreren Ein- und Ausgabesprachen umgehen kann. Das Encodernetzwerk bekommt nun zusätzlich die Information, in welche Sprache übersetzt werden soll. Das Modell kann dann mit Paaren aus beliebigen Sprachen trainiert werden. Besonders beeindruckend hierbei ist, dass die Satz-Repräsentation, die der Encoder erlernt, hierbei eine Art Lingua Franca darstellt, also eine Brückensprache, die sich durch den Trainingsprozess selbst herausbildet. Semantisch gleiche Sätze aus verschiedenen Sprachen werden auf eine nahezu identische Repräsentation abgebildet!
(siehe Google Research Blog)

Kann man diese Systeme nun als intelligent bezeichnen? Nur wenige Menschen besitzen die Fähigkeiten, Dutzende Sprachen ineinander zu übersetzen. Dennoch: trotz ihrer beeindruckenden Leistungen sind neuronale Netze im Grunde lediglich statistische Lernverfahren, die Korrelationen in den Daten aufdecken können. Das macht sie naturgegeben sehr datenhungrig. Sie müssen mit Millionen von Datenpunkten trainiert werden, damit sie eine zufriedenstellende Qualität erreichen. Menschen können gelernte Konzepte auf neue Probleme übertragen und mit Hilfe von Logik Problemlösungen schließen – selbst wenn es nur wenige Hinweise gibt. Ein gutes Beispiel ist die Entschlüsselung der ägyptischen Hieroglyphen. Erst mit dem Fund des Steins von Rosetta gab es 1799 endlich eine Verbindung zu bekannten Sprachen. Aus einem Text, der in Demotisch, Griechisch und in Hieroglyphen auf den Stein graviert war, konnten Wissenschaftler die Bedeutung der ägyptischen Zeichen ableiten. Hierzu musste lang bestehendes Wissen integriert und interpretiert, abstruse Umwege gegangen und miteinander kreativ getüftelt werden. Dies sind alles Leistungen, die in der KI noch am Horizont liegen. Die Entschlüsselung der Hieroglyphen dauerte fast ein Vierteljahrhundert – mal sehen, wie lange die KI noch braucht, um uns das nachzumachen.

Kommentare
Einen Kommentar schreiben
Entschuldigung

Ihr Browser ist leider nicht aktuell genug.
Um diese Webseite zu benutzen, benötigen Sie einen aktuellen Browser
Wir empfehlen einen der folgenden Browser in der aktuellsten Version zu installieren.

Auf iOS Geräten sollte mindestens die Betriebssystem Version iOS 9 installiert sein.

Mozilla Firefox Google Chrome Microsoft Edge Internet Explorer