• Keine Ergebnisse gefunden

Erweiterungsmodul: Maschinelle ¨Ubersetzung Teil 2: Neuronale maschinelle ¨Ubersetzung

N/A
N/A
Protected

Academic year: 2023

Aktie "Erweiterungsmodul: Maschinelle ¨Ubersetzung Teil 2: Neuronale maschinelle ¨Ubersetzung"

Copied!
82
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Erweiterungsmodul: Maschinelle ¨ Ubersetzung Teil 2: Neuronale maschinelle ¨ Ubersetzung

Helmut Schmid

Stand: 30. Juli 2019

(2)

Uberblick ¨

von log-linearen Modellen zu neuronalen Netzen Embeddings

Aktivierungsfunktionen

Training von neuronalen Netzen Rekurrente Netze

LSTM

Encoder-Decoder-Modelle f¨ur ¨Ubersetzung Attention

Byte-Pair-Encoding Backtranslation Transformer

Bilinguale Embeddings

Un¨uberwachtes Training von ¨Ubersetzungssystemen Adversarial Networks (“gegnerische” Netzwerke)

(3)

Lernen von Repr¨ asentationen

Modelle mit log-linearen Klassifikatoren arbeiten mit einer manuell definierten Menge von Merkmalen

Gute Merkmale zu finden ist schwierig.

Die gefundene Menge ist selten optimal.

Die Suche muss wiederholt werden, wenn sich die Aufgabe ¨andert.

K¨onnte man die Merkmale automatisch lernen?

(4)

Von log-linearen Modellen zu neuronalen Netzen

grafische Darstellung eines log-linearen Modelles

c1 c2 c3

f1 f2 f3 f4

w2 w3 w4 w5

w1

Klassen: c1, c2, c3 Merkmale: f1, f2, f3, f4

Eingabew¨orter: w1, w2, w3, w4, w5 Jedes Merkmalfk wird ausw15berechnet Jede Klasseck wird ausf14berechnet mit ck =Z1ePiθkifi =softmax(P

iθkifi)

Anmerkung: Hier sind die Merkmale unabh¨angig von den Klassen. Stattdessen gibt es ur jedes Merkmal klassenspezifische Gewichte.

Idee: Die Merkmalefi werden analog zu den Klassenci berechnet/gelernt:

fk =act X

i

θkiwi

!

=act(netk)

neuronales Netz

(5)

Von log-linearen Modellen zu neuronalen Netzen

grafische Darstellung eines log-linearen Modelles

c1 c2 c3

f1 f2 f3 f4

w2 w3 w4 w5

w1

Klassen: c1, c2, c3 Merkmale: f1, f2, f3, f4

Eingabew¨orter: w1, w2, w3, w4, w5 Jedes Merkmalfk wird ausw15berechnet Jede Klasseck wird ausf14berechnet mit ck =Z1ePiθkifi =softmax(P

iθkifi)

Anmerkung: Hier sind die Merkmale unabh¨angig von den Klassen. Stattdessen gibt es ur jedes Merkmal klassenspezifische Gewichte.

Idee: Die Merkmalefi werden analog zu den Klassenci berechnet/gelernt:

fk =act X

i

θkiwi

!

=act(netk)

neuronales Netz

(6)

Embeddings

fk =act X

i

θkiwi

!

Die Eingabe wi muss eine numerische Repr¨asentationdes Wortes sein.

M¨oglichkeiten

1. bin¨arer Vektor (1-hot-Repr¨asentation)

I Beispiel:wihot = (0 0 0 0 0 0 0 0 1 0 0 0 0 0)

I Dimension = Vokabulargr¨oße

Alle W¨orter sind sich gleich ¨ahnlich/un¨ahnlich

2. reeller Vektor (verteilte Repr¨asentation, distributed representation)

I Beispiel:widist = (3.275, -7.295, 0.174, 5.7332)

I Vektorl¨ange beliebig w¨ahlbar

I Ziel: ¨Ahnliche W¨orter durch ¨ahnliche Vektoren repr¨asentieren

(7)

Embeddings

fk =act X

i

θkiwi

!

Die Eingabe wi muss eine numerische Repr¨asentationdes Wortes sein.

M¨oglichkeiten

1. bin¨arer Vektor (1-hot-Repr¨asentation)

I Beispiel:wihot = (0 0 0 0 0 0 0 0 1 0 0 0 0 0)

I Dimension = Vokabulargr¨oße

Alle W¨orter sind sich gleich ¨ahnlich/un¨ahnlich

2. reeller Vektor (verteilte Repr¨asentation, distributed representation)

I Beispiel:widist = (3.275, -7.295, 0.174, 5.7332)

I Vektorl¨ange beliebig w¨ahlbar

I Ziel: ¨Ahnliche W¨orter durch ¨ahnliche Vektoren repr¨asentieren

(8)

Embeddings

fk =act X

i

θkiwi

!

Die Eingabe wi muss eine numerische Repr¨asentationdes Wortes sein.

M¨oglichkeiten

1. bin¨arer Vektor (1-hot-Repr¨asentation)

I Beispiel:wihot = (0 0 0 0 0 0 0 0 1 0 0 0 0 0)

I Dimension = Vokabulargr¨oße

Alle W¨orter sind sich gleich ¨ahnlich/un¨ahnlich

2. reeller Vektor (verteilte Repr¨asentation, distributed representation)

I Beispiel:widist= (3.275, -7.295, 0.174, 5.7332)

I Vektorl¨ange beliebig w¨ahlbar

I Ziel: ¨Ahnliche W¨orter durch ¨ahnliche Vektoren repr¨asentieren

(9)

Embeddings

Wir k¨onnen die 1-hot-Repr¨asentation in einem neuronalen Netz auf die verteilte Repr¨asentation (Embedding) abbilden:

1−hot Embedding

Da nur ein 1-hot-Neuron den Wert 1 und alle anderen den Wert 0 haben, ist die verteilte Repr¨asentation identisch zu den Gewichten des aktiven Neurons. (Die Aktivierungsfunktion ist hier die Identit¨atact(x) =x)

Die Embeddings werden dann ebenfalls im Training gelernt.

(10)

Lookup-Tabelle

Wir k¨onnen die verteilten Repr¨asentationen der W¨orter zu einer MatrixL (Embedding-Matrix, Lookup-Tabelle) zusammenfassen. Multiplikation eines 1-hot-Vektors mit dieser Matrix liefert die verteilte Repr¨asentation.

wdist =Lwhot

Matrix-Vektor-Multiplikation:

0 0 1 0 0

whot

L

3.3 8.5 7.3 1.9 -7.7 4.8 5.1 4.7 -5.3 3.1 -8.6 8.7 9.5 3.5 5.6 6.9 6.4 -4.3 5.7 3.3 7.7 6.7 -8.2 9.7 -9.1

7.3 4.7 9.5 -4.3 -8.2

wdist

(11)

Aktivierungsfunktionen

Neuron: yk =act X

i

θkixi

!

=act(netk)

In der Ausgabeebene eines neuronalen Netzes wird (wie bei log-linearen Modellen) oft die Softmax-Aktivierungsfunktion verwendet.

ck =softmax(netk) = 1

Zenetk mitZ =X

k0

enetk0

(12)

Spezialfall: 2 Klassen

SoftMax: ck = 1

Zenetk mitnetk =X

i

θkifiTkf =θk ·f Im Falle von zwei Klassen c1 und c2 ergibt sich:

c1 = eθ1·f eθ1·f +eθ2·f

e−θ1·f e−θ1·f

= 1

1 +e−(θ1−θ2)·f

Nach einer Umparametrisierung erhalten wir die Sigmoid-Funktion c1 = 1

1 +e−θf mit θ=θ1−θ2 c2 = 1−c1

Bei 2-Klassen-Problemen gen¨ugt ein Neuron.

(13)

Sigmoid-Funktion

Die Sigmoid-Funktion wird h¨aufig als Aktivierungsfunktion der Neuronen in den versteckten Ebenen (hidden layers) genommen.

σ(x) = 1

1 +e−x

Man k¨onnte also sagen, dass die versteckten Neuronen die Wahrscheinlichkeiten von bin¨aren Merkmalen berechnen.

(14)

Verschiedene Aktivierungsfunktionen

sigmoid:σ(x) = 1+e1−x = 1+eexx

tanh: tanh(x) =eexx−e+e−x−x = 2σ(2x)1 ReLU:ReLU(x) =max(0,x)

Tangens Hyperbolicustanh:skalierte und verschobene Sigmoidfunktion, oft besser als Sigmoidfunktion, liefert 0 als Ausgabe, wenn alle Eingaben 0 sind

ReLUs (Rectified Linear Units):einfach zu berechnen, bei 0 nicht differenzierbar.

(15)

Ableitungen der Aktivierungsfunktionen

sigmoid:σ(x) = 1+e1−x =1+eexx

σ0(x) =σ(x)(1σ(x))

tanh: tanh(x) =eexx−e+e−x−x = 2σ(2x)1 tanh0(x) = 1tanh(x)2

ReLU:ReLU(x) =max(0,x)

ReLU0(x) =

1 fallsx>0 0 fallsx<0

(16)

Warum ist die Aktivierungsfunktion wichtig?

(Anmerkung: Im Folgenden bezeichnen wir mitw undW Gewichtsvektoren/-matrizen.)

Ohne (bzw. mit linearer) Aktivierungsfunktion gilt:

Jede Ebene eines neuronalen Netzes f¨uhrt eine lineare Transformation der Eingabe durch: y =Wx

Eine Folge von linearen Transformationen kann aber immer durch eine einzige lineare Transformation ersetzt werden:

y =W3W2W1x= (W3W2W1)x=Wx

⇒ Jedes mehrstufige neuronale Netz mit linearer Aktivierungsfunktion kann durch ein ¨aquivalentes einstufiges Netz ersetzt werden.

⇒ Mehrstufige Netze machen also nur Sinn, wennnicht-lineare Aktivierungsfunktionenverwendet werden.

Ausnahme: Embedding-Schicht mit gekoppelten Parametern

(17)

Neuronale Netze

Die Aktivierung ak eines Neurons ist gleich der Summe der mit wik gewichteten Eingaben ei moduliert durch eine Aktivierungsfunktionact.

ak =act(X

i

wikei+bk)

Der zus¨atzliche Biastermbk erm¨oglicht, dass bei einem Nullvektor als Eingabe die Ausgabe nicht-null ist.

Vektorschreibweiseak =act wkTe+bk

Matrixschreibweise a=act(We+b)

wobei die Funktionact elementweise angewendet wird:

act([z1,z2,z3]) = [act(z1),act(z2),act(z3)]

trainierbare Parameter:W,b

f

Ausgabe Summe

Eingaben

Aktivierungs−

funktion

(18)

Training von neuronalen Netzen

Neuronale Netzwerke werden (¨ahnlich wie CRFs) trainiert, indem eine Zielfunktion, welche die Qualit¨at der aktuellen Ausgabe misst, optimiert (d.h. minimiert oder maximiert) wird.

Die Optimierung erfolgt mit stochastischemGradientenabstieg oder -anstieg.

Dazu wird die Ableitung der Zielfunktion nach den Netzwerkparametern (Gewichte und Biaswerte) berechnet, mit der Lernratemultipliziert und zu den Parametern addiert (Gradientenanstieg) bzw. davon subtrahiert (Gradientenabstieg).

F¨ur N Iterationen θ:=θ+η∇LLθ(D)

mit den trainierbaren Parameternθ, Lernrateη, Trainingsdaten D, Log-Likelihood LLθ(D) und Gradient∇LLθ(D)

(19)

Zielfunktionen

Die verwendeten Ausgabefunktionen und zu optimierenden Zielfunktionen h¨angen von der Aufgabe ab.

Regression: Ein Ausgabeneuron, welches eine Zahl liefert

Beispiele: Vorhersage des Sentiments eines Textes auf einer Skala von 0 bis 10 oder Bewertung der Grammatikalit¨at eines Satzes

Aktivierungsfunktion der Ausgabeneuronen:o =act(x) =ex

Kostenfunktion: (y−o)2 quadrierter Abstand zwischen gew¨unschter Ausgabey und tats¨achlicher Ausgabe o

Klassifikation:n m¨ogliche disjunkte Ausgabeklassen repr¨asentiert durch je ein Ausgabeneuron

Beispiel: Vorhersage der Wortart eines Wortes, oder des n¨achsten Wortes in einer Wortfolge

Aktivierungsfunktion der Ausgabeneuronen:o =softmax(x) Kostenfunktion: log(yTo) (Log-Likelihood, Crossentropie)

(20)

Zielfunktionen

Die verwendeten Ausgabefunktionen und zu optimierenden Zielfunktionen h¨angen von der Aufgabe ab.

Regression: Ein Ausgabeneuron, welches eine Zahl liefert

Beispiele: Vorhersage des Sentiments eines Textes auf einer Skala von 0 bis 10 oder Bewertung der Grammatikalit¨at eines Satzes

Aktivierungsfunktion der Ausgabeneuronen:o =act(x) =ex

Kostenfunktion: (y−o)2 quadrierter Abstand zwischen gew¨unschter Ausgabey und tats¨achlicher Ausgabe o

Klassifikation:n m¨ogliche disjunkte Ausgabeklassen repr¨asentiert durch je ein Ausgabeneuron

Beispiel: Vorhersage der Wortart eines Wortes, oder des n¨achsten Wortes in einer Wortfolge

Aktivierungsfunktion der Ausgabeneuronen:o =softmax(x) Kostenfunktion: log(yTo) (Log-Likelihood, Crossentropie)

(21)

Deep Learning

Neuronale Netze mit mehreren versteckten Ebenen nennt mantiefe NetzeDeep Learning.

Bei der Anwendung eines neuronalen Netzes werden die Eingabewertexuber die Neuronen der versteckten¨ Ebenenh1, ...,h3bis zur Ausgabeebeneh4propagiert.

Je h¨oher die versteckte Ebene, desto komplexer sind die darin repr¨asentierten Merkmale.

Im Training werden alle Parameter (Gewichte, Biases) gleichzeitigoptimiert. Dazu wird der Gradient der Ziel- funktion an den Ausgabeneuronen berechnet und bis zu den Eingabeneuronen zur¨uckpropagiert.

Backpropagation

(22)

Arbeitsweise eines neuronalen Netzes

Forward-Schritt: Die Aktivierung der Eingabeneuronen wird ¨uber die Neuronen der versteckten Ebenen zu den Neuronen der Ausgabeebene propagiert.

Backward-Schritt: Im Training wird anschließend die zu optimierende Zielfunktion berechnet und deren zu den Eingabeneuronen

zur¨uckpropagiert.

(23)

Forward Propagation

Ein neuronales Netz mit Eingabevektorx, verstecktem Vektorh und skalarem Ausgabewerto kann wie folgt definiert werden:

o2

o1 o3 o4

h2 h3 h4 h1

x1 x

2 x

3 x

4

Who

Wxh

h(x) = tanh(Whxx +bh) o(x) = softmax(Wohh+bo)

= softmax(Wohtanh(Whxx+bh) +bo)

Das Training maximiert die Daten-Log-Likelihood LL(x,y) = log(yTo)

= log(yTsoftmax(Wohtanh(Whxx+bh) +bo)) y repr¨asentiert die gew¨unschte Ausgabe als 1-hot-Vektor.

(24)

Backward-Propagation

ur die Parameteroptimierung m¨ussen die Ableitungen des Ausdruckes LL(x,y) =log(yTsoftmax(Wohtanh(Whxx+bh) +bo)) bzgl.der ParameterWhx,bh, Woh undbo berechnet werden.

Am besten benutzt man dazu automatische Differentiation. Anschließend Anpassung der Parameterθ mit Gradientenanstieg:

θt+1=θt+η∇LLθt

θt steht dabei f¨ur die trainierbaren ParameterWhx,Woh, bh undbo.

(25)

Backward-Propagation

ur die Parameteroptimierung m¨ussen die Ableitungen des Ausdruckes LL(x,y) =log(yTsoftmax(Wohtanh(Whxx+bh) +bo))

bzgl.der ParameterWhx,bh, Woh undbo berechnet werden.

Am besten benutzt man dazu automatische Differentiation.

Anschließend Anpassung der Parameterθ mit Gradientenanstieg:

θt+1=θt+η∇LLθt

θt steht dabei f¨ur die trainierbaren ParameterWhx,Woh, bh undbo.

(26)

Einfaches neuronales Netz f¨ ur Wortart-Annotation

Lange galt die Bank als vorbildlich

Ausgabeebene

versteckte Ebene

Embeddings

1−hot−Vektoren

ot =softmax(Wohht)

ht =tanh(Whe

et−2

et−1

et

et+1

et+2

)

et =Lwt wt

“Feedforward”-Netze haben ein beschr¨anktes Eingabefenster und k¨onnen daher keine langen Abh¨angigkeiten erfassen.

rekurrente Netze

(27)

Einfaches neuronales Netz f¨ ur Wortart-Annotation

Lange galt die Bank als vorbildlich

Ausgabeebene

versteckte Ebene

Embeddings

1−hot−Vektoren

ot =softmax(Wohht)

ht =tanh(Whe

et−2

et−1

et

et+1

et+2

)

et =Lwt wt

“Feedforward”-Netze haben ein beschr¨anktes Eingabefenster und k¨onnen daher keine langen Abh¨angigkeiten erfassen.

rekurrente Netze

(28)

Rekurrente Neuronale Netze

http://www.wildml.com/2015/09/recurrent- neural- networks- tutorial- part- 1-introduction- to-rnns

Ein RNN ist ¨aquivalent zu einem sehr tiefen Feedforward-NN mit gekoppelten Gewichtsmatrizen.

Das neuronale Netz lernt, relevante Information ¨uber die Vorg¨angerw¨orter im Zustandst (= Aktivierungen der versteckten Ebene) zu speichern.

(29)

Rekurrentes neuronales Netz f¨ ur Wortart-Annotation

In jedem Schritt

wird ein Wortxt gelesen

ein neuer Hidden State st berechnet

eine Wahrscheinlichkeitsverteilung ¨uber m¨ogliche Tagsot ausgegeben

(Das Netzwerk hat noch keine Information ¨uber den rechten Kontext. Dazu sp¨ater mehr.)

(30)

Backpropagation Through Time (BPTT)

Zum Trainieren wird das rekurrente Netz zu einem Feedforward-Netz aufgefaltet

Der Gradient wird von den Ausgabeneuronenot zu den versteckten Neuronenst und von dort weiter zu den Eingabeneuronenxt und den vorherigen versteckten Neuronenst−1propagiert

Backpropagation through time

An den versteckten Neuronen werden zwei Gradienten addiert.

(31)

Verschwindender/Explodierender Gradient

Das Training tiefer neuronaler Netze ist schwierig, weil der Gradient beim Zur¨uckpropagieren meist schnell kleiner (oder gr¨oßer) wird.

http://neuralnetworksanddeeplearning.com/chap5.html

(32)

Verschwindender/Explodierender Gradient

Warum wird der Gradient exponentiell kleiner mit der Zahl der Ebenen?

Betrachten wir ein neuronales Netz mit 5 Ebenen und einem Neuron pro Ebene

http://neuralnetworksanddeeplearning.com/chap5.html

wi ist ein Gewicht,bi ein Bias,C die Kostenfunktion,ai die Aktivierung eines Neurons, zi die gewichtete Eingabe eines Neurons,σ0 die Ableitung der Sigmoidfunktion Der Gradient wird in jeder Ebene mit dem Ausdruckwi×σ0(zi)multipliziert.

Wie groß ist dieser Ausdruck?

(33)

Verschwindender/Explodierender Gradient

http://neuralnetworksanddeeplearning.com/chap5.html

http://whiteboard.ping.se/

MachineLearning/BackProp

Wenn die Gewichte mit zuf¨alligen Werten im Bereich [-1,1] initialisiert werden, dann gilt |wi ×σ0(zi)|<0.25, da |σ0(zi)|<0.25.

Damit wird der Gradient exponentiell kleiner mit der Zahl der Ebenen.

Wenn die Gewichte mit großen Werten initialisiert werden, kann der Gradient auch explodieren.

(34)

Long Short Term Memory

entwickelt von Sepp Hochreiter und J¨urgen Schmidhuber (TUM) l¨ost das Problem der instabilen Gradienten f¨ur rekurrente Netze Eine Speicherzelle (cell) bewahrt den Wert des letzten Zeitschritts.

Der Gradient wird beim Zur¨uckpropagieren nicht mehr mit Gewichten multipliziert und bleibt ¨uber viele Zeitschritte erhalten.

7 6

S S S o 6

...............

...

...

........

........

.......

....

.....

.......

......

...

.

cell +1

(35)

Long Short Term Memory: Schaltplan

http://christianherta.de/lehre/dataScience/machineLearning/neuralNetworks/LSTM.php

(36)

Long Short Term Memory

Berechnung eines LSTMs (ohne Peephole-Verbindungen) zt = tanh(Wzxt+Rzht−1+bz) (input activation)

it = σ(Wixt+Riht−1+bi) (input gate) ft = σ(Wfxt+Rfht−1+bf) (forget gate) ot = σ(Wxxt+Roht−1+bo) (output gate) ct = ftct−1+itzt (cell)

ht = ottanh(ct) (output activation) mitab= (a1b1,a2b2, ...,anbn)

Die LSTM-Zellen ersetzen einfache normale Neuronen in rekurrenten Netzen.

Man schreibt kurz:

Z =LSTM(X)

(37)

Long Short Term Memory

Vorteile

l¨ost das Problem mit instabilen Gradienten gute Ergebnisse in vielen Einsatzbereichen Nachteile

deutlich komplexer als ein normales Neuron h¨oherer Rechenzeitbedarf

Alternative

Gated Recurrent Units (GRU) (von Cho et al.) etwas einfacher (nur 2 Gates)

(38)

Bidirektionale RNNs

colah.github.io/posts/2015-09-NN- Types- FP/img/RNN-general

Die rekurrenten Neuronen repr¨asentieren alle bisherigen Eingaben.

ur viele Anwendungen ist aber auch eine Repr¨asentation der folgenden Eingaben n¨utzlich.bidirektionales RNN

colah.github.io/posts/2015-09-NN-Types- FP/img/RNN-bidirectional

Bidirektionale RNNs k¨onnen zu tiefen bidirektionalen RNNs gestapelt werden

(39)

LSTM-Sprachmodell

What ’s the time

time the

’s What

<s>

??? p(wi+1|wi1) = softmax(Whohi)

(hi,ci) = LSTM(hi−1,ci−1,ei)

ei = embedding(wi)

Das LSTM berechnet eineRepr¨asentationhides bisherigen Satzes.

Die Ausgabeebene berechnet aus dem aktuellen LSTM-Zustandhi die Wahrscheinlichkeitp(wi+1|wi1), dass Wortwi+1 folgt.

Im Gegensatz zum N-Gramm-Modell ist der Kontext nicht auf ein N-Gramm begrenzt.

(40)

LSTM-Tagger

WP VBZ DT NN SENT

What ’s the time ?

p(ti|wn1) = softmax(Whohi)

hi = ~hi◦hi~ (Konkatenation) (~hi,~ci) = LSTM(~hi−1,~ci−1,ei) (hi~ , ~ci) = LSTM(hi~ +1, ~ci+1,ei)

ei = embedding(wi)

Das bidirektionale LSTM berechnet eine kontextuelle Repr¨asentation f¨ur jedes Wort.

Der BiLSTM-Tagger kann den gesamten Satzkontext ber¨ucksichtigen.

(41)

Encoder-Decoder (Seq2Seq)

Wieviel Uhr ist es ???

What ’s the time ? <s> Wieviel Uhr ist es

Encoder Decoder

DerEncoderberechnet eine Repr¨asentation des ganzen Satzes.

DerDecoderist ein Sprachmodell, dessen Zustand mit der Encoder-Repr¨asentation initialisiert wird.

Der Encoder verarbeitet die Eingabe oft inumgekehrter Reihenfolge, um das Training zu erleichtern. (“Wieviel ist dann n¨aher bei “What”.)

Problem:Der Inhalt eines beliebig langen Satzes muss mit einem Vektor fester L¨angerepr¨asentiert werden.

(42)

Encoder-Decoder mit Attention

What ’s the time ? <s> Wieviel Uhr ist es

Uhr

Wieviel ist es ???

Encoder Decoder

Attention

(43)

Attention-Mechanismus

Der Encoder berechnet kontextuelle Repr¨asentationen f¨ur alle W¨orter.

Satzrepr¨asentation variabler L¨ange

Das Attention-Modul erstellt f¨ur jeden Decoder-Zustand hdeci eine passende Zusammenfassungci der Eingabesatz-Repr¨asentation henc.

ci = X

j

αijhencj

αi = softmax(ai)

aij = va·tanh(Wa(hdeci ◦hencj ))

va undWa sind trainierbare Parameter.

Es gibt auch andere M¨oglichkeiten, die Attention-Scores aij zu berechnen. Bspw.:

aij =hidec·Wahencj

(44)

Decoder-Ausgabeebene

Die Ausgabewahrscheinlichkeitenoi+1 werden aus dem aktuellen Decoderzustandhdeci , dem Embeddingei des letzten Ausgabesymbols yi und dem Kontextvektorci berechnet.

oi+1 = softmax(Wo(hdeci ◦ci◦ei))

Auch f¨ur die Berechnung der Ausgabewahrscheinlichkeiten gibt es noch viele andere M¨oglichkeiten.

(45)

Training

Im Training wird die Log-Likelihood der Daten D maximiert:

LL(D) = X

x,y∈D

X

i

log(yi ·oi(x))

wobeiyi das 1-hot-Encoding des i-ten Ausgabewortes ist.

Diese Trainingsmethode wird als Teacher Forcingbezeichnet.

Die Decoderzust¨ande werden hier mit der korrekten Folge der Ausgabew¨orter berechnet.

Beim ¨Ubersetzen wird dagegen die Wortfolge genommen, die der Decoder f¨ur die wahrscheinlichste h¨alt.

F¨ur diese Situation wurde der Decoder eigentlich gar nicht trainiert.

⇒ Exposure Bias

⇒ Scheduled Sampling, Minimum Risk Training

(46)

NMT Decoding

Greedy Decoding

Der Decoder verfolgt nur eine ¨Ubersetzungs-Hypothese und w¨ahlt in jedem Schritt das wahrscheinlichste Wort.

Beam Search

Der Decoder verfolgt mehrere ¨Ubersetzungshypothesen parallel.

In jedem Schritt werden f¨ur jede Hypothese diek besten n¨achsten W¨orter bestimmt.

Dann werden alle neuen, erweiterten Hypothesen verglichen und die n wahrscheinlichsten als neue Hypothesenmenge gew¨ahlt.

typische Beamgr¨oße: circa 5

(47)

Ensembles

Je nach Initialisierungund Wahl der Metaparameter bekommt man im Training unterschiedliche NMT-Systeme.

Jedes so trainierte NMT-System stellt einen eigenenExperten dar.

Man kann die Meinungen dieser Experten kombinieren bspw. durch Mittelung der Wortwahrscheinlichkeiten.

Man spricht dann von einem Ensemble.

Mit Hilfe von Ensembles kann die ¨Ubersetzungsgenauigkeit oft um mehrere BLEU-Punkte gesteigert werden.

Der Rechenzeitbedarf steigt linear mit der Ensemblegr¨oße.

typische Ensemblegr¨oßen: 4-8

(48)

Overfitting: Regularisierung

Wie alle Klassifikatoren haben auch neuronale Netze Probleme mit Overfitting.

L¨osung 1: Regularisierungder Gewichte

neue Zielfunktion bei L1-Regularisierung:LLθ(D)− |θ|

neue Zielfunktion bei L2-Regularisierung:LLθ(D)−θ2

(49)

Overfitting: Dropout

L¨osung 2: Dropoutvon Neuronen

Die Aktivierung jedes einzelnen Neurons wird im Training zuf¨allig mit einer Wahrscheinlichkeit von p auf 0 gesetzt.

ImDecodingsind alle Neuronen aktiv. Zum Ausgleich daf¨ur, dass nun die Summe der gewichteten Eingabeaktivierungen h¨oher ist, werden die Aktivierungen mit (1-p) multipliziert.

In der Ausgabeebene wird kein Dropout angewendet.

(50)

Dropout

Dropout ist die wirksamste Methode, um Overfitting bei neuronalen Netzen zu verhindern.

Erkl¨arungsversuche, warum Dropout funktioniert:

Dropout unterst¨utzt, dass die von Neuronen repr¨asentierten Merkmale unabh¨angigvoneinander sind.

Das Netzwerk kann als eine Art Ensemble von exponentiell vielen Einzelnetzwerken interpretiert werden, die parallel trainiert werden.

(51)

Unbekannte W¨ orter

NMT-Systeme haben Probleme mit unbekannten W¨ortern:

Beispiel:KirschkuchenundHimbeertortewaren in den Trainingsdaten.

Nun sollKirschtorte¨ubersetzt werden. Das System weiß nichts ¨uber das Wort.

M¨ogliche L¨osung:Pretraining der Wortembeddings auf monolingualen Daten mit einem Sprachmodell-System

Aber:

Unbekannte W¨orter gibt es auch auf der Ausgabeseite.

Große Vokabulare erh¨ohen den Speicherplatzbedarfund machen NMT-Systemelangsam(wegen Softmax in Ausgabeebene).

(52)

Byte-Pair Encoding

Bei Komposita wie Kirschtorteist es naheliegend, sie in die Glieder (hierKirschund Torte) aufzuspalten.

Dazu braucht man aber eine Morphologie.

Byte-Pair-Encoding (BPE)(von Rico Sennrich) ist eine Alternative:

I Spalte alle W¨orter in einzelne Buchstaben auf.

I ahle, wie oft jedes Buchstabenpaar miteinander auftaucht.

I ur N Iterationen

F Fasse das h¨aufigste Buchstabenpaar in allen W¨ortern zu einer Einheit zusammen.

F Aktualisiere die Paar-H¨aufigkeiten.

(Nun sind es nicht mehr nur Buchstabenpaare.)

Beispiel: reitet, reicht, riecht

(53)

Byte-Pair Encoding

Vorteil: Es gibt keine unbekannten Tokens mehr, weil unbekannte W¨orter in eine Folge von BPEs (k¨onnen auch einzelne Buchstaben sein) aufgespalten werden, die alle bekannt sind.

Die Gr¨oße des BPE-Vokabulars wird von der Zahl der Merge-Operationen bestimmt.

BPE wird von den meisten NMT-Systemen verwendet.

Ahnliche Methode: Word Pieces (Google)¨

(54)

Backtranslation

Es gibt viel mehrmonolinguale Daten alsbilinguale Daten.

Idee: halb ¨uberwachtes Training mit monolingualen Daten

I Trainiere ein Target-Source-System auf den bilingualen Daten.

I Ubersetze damit monolinguale Targetdaten.¨ (Backtranslation)

I uge die neu erzeugten Satzpaare zu den bilingualen Daten hinzu.

I Trainiere ein Source-Target-System auf den kombinierten Daten.

Man kann die Methode auch iterieren und zwei Systeme f¨ur Vorw¨arts- und R¨uckw¨arts¨ubersetzung abwechselnd auf der Kombination von biligualen Daten und frisch erzeugten ¨Ubersetzungen des anderen Systems trainieren.

(55)

Transformer

NMT-Systeme werden oft mitLSTMs implementiert.

LSTMs haben aber den Nachteil, dass sie die Wortfolgesequentiell verarbeiten.

Transformer k¨onnen die W¨orterparallel verarbeiten.

Sie ersetzen RNNs durch Self-Attention.

(56)

Transformer: ¨ Uberblick

Self Attention Positional Encodings

Scaled Dot-Product Attention Multi-Head Attention

Transformer-Architektur Residual Connections Layer Normalization

(57)

Transformer: Self Attention

Σ

“Normale” Attention berechnet eine Attention-Funktion ¨uber die Eingabepositionen f¨ur einen gegebenenDecoder-Zustand.

Self-Attention berechnet eine Attention-Funktion ¨uber die Eingabepositionen f¨ur jeden einzelnen Encoder-Zustand.

Jeder Zustand der Transformer-Ebene ist ein (mit Attention) gewichtetes Mittel der Zust¨ande der darunterliegenden Ebene.

Die Eingabe der ersten Transformerebene bildet die Folge der Wort-Embeddings.

(58)

Positional Encodings

Σ

Self-Attention hat den Vorteil, dass alle Positionen direkt miteinander interagieren k¨onnen.

Self-Attention weiß aber im Gegensatz zu RNNs nichts ¨uber die Reihenfolge der W¨orter. (Bag of Words)

L¨osung:Zu den Wort-Embeddings werden Positional Encodings addiert.

F¨ur jede absolute Position wird ein Encoding trainiert.

(59)

Scaled Dot-Product Attention

Eine effizient berechenbare Attention-Funktion Die Folge der Eingabezust¨ande wird zu einer Matrix M zusammengefasst.

Durch Multiplikation mit drei Matrizen wird M in eineQuery-Matrix Q, eine Key-Matrix K und eineValue-Matrix V transformiert.

Mit den drei Matrizen wird dann das Attention-Ergebnis berechnet:

Attention(Q,K,V) = softmax QKT

dk

V Der Scaling-Faktor 1/

dk verhindert, dass durch die Summation so große Werte entstehen, dass die Aktivierungsfunktion (bspw. tanh) s¨attigt und der Gradient minimal wird.d ist der L¨ange der Query/Key-Vektoren.

(60)

Multi-Head Attention

Transformer wenden Attention mehrmals parallel an undkonkatenieren die Ergebnisse.

Der Ergebnisvektor wird dann noch mit einer trainierbaren Matrix transformiert.

Jedes Attention-Modul kann sich hier auf andereAspekteder Eingabe konzentrieren.

Oft werden 8 Attention-Module verwendet.

(61)

Transformer-Architektur

Encoder und Decoder werden mit je N Transformer-Ebenen implementiert.

Jede Transformer-Ebene besteht aus

I Multi-Head Self-Attention

I Residual Connection

I Layer Normalization

I Feed-Forward-Ebene

I Residual Connection

I Layer Normalization

Jede Decoder-Ebene hat zus¨atzlich

I Encoder Attention

I Eingabe-Maskierung

(62)

Transformer: Maskierung

Der Decoder darf nicht in dieZukunft schauen

(auch wenn im Training der ganze Ausgabesatz bekannt ist)

Daher wird die Attention nur ¨uber die aktuelle Position und die vorherigen Positionen berechnet.

Die zuk¨unftigen Positionen werdenmaskiert.

(63)

Residual Connections

Tiefe neuronale Netzwerke sind wegen des

Vanishing-Gradient-Problems schwierig zu trainieren.

Residual Connections reduzieren dieses Problem:

I Alle Ebenen haben gleich viele Neuronen.

I Bei jeder Ebene (außer der ersten) wird die Eingabe zur Ausgabe addiert.

I Uber diese zus¨¨ atzlichen Verbindungen kann der Gradient besser zur¨uckpropagiert werden.

+ +

(64)

Layer Normalization

Wenn die Aktivierungenai der Neuronen einer Ebene groß sind, besteht die Gefahr, dass die Aktivierungen der Neuronen der n¨achsten Ebene ges¨attigt sind, was zu kleinen Gradienten f¨uhrt und das Training erschwert.

L¨osung: Layer Normalization

Von den Aktivierungen der Neuronen wird ihr Mittelwertµabgezogen.

Dann werden sie durch die Standardabweichungσ geteilt.

Schließlich wird noch ein trainierbarer Gain-Parameter gi multipliziert.

ˆ ai=gi

aiµ

σ mit µ= 1

H

H

X

i=1

ai, σ= v u u t 1 H

H

X

i=1

(aiµ)2

(65)

Transformer

Vorteile

+ besser parallelisierbar als LSTM-basierte Systeme + bessere Ergebnisse

Nachteile

− komplexe Architektur

− speicherhungrig

− Ohne Tricks wie Layer Normalization und Residual Connections funktionieren Transformer nicht.

− Diese Tricks k¨onnen auch bei LSTM-basierten Systemen die Genauigkeit verbessern.

(66)

Maschinelle ¨ Ubersetzung ohne bilinguale Daten

Ubersetzungssysteme werden meist auf Korpora mit vielen Millionen¨ W¨ortern trainiert.

F¨ur die meisten Sprachpaare stehen bilinguale Korpora dieser Gr¨oße nicht zur Verf¨ugung.

K¨onnte man einen ¨Ubersetzer un¨uberwachtnur mit monolingualen Korpora trainieren?

(67)

Unsupervised Neural Machine Translation

?

?

?

?

?

?

? bilinguales Lexikon bilinguales Korpus bilinguale Embeddings

NMT-System Backtranslation-Korpus Backtranslation-System

bilinguales Korpus

(68)

Bilinguale Embeddings

Quelle:https://arxiv.org/pdf/1706.04902.pdf

Ziele:

Ahnliche W¨¨ orter sollen ¨ahnliche Embeddings bekommen.

W¨orter und ihre ¨Ubersetzung sollen ¨ahnliche Embeddings bekommen.

(69)

Bilinguale Embeddings

Quelle:https://arxiv.org/pdf/1710.04087.pdf

Mapping-Strategie

gegeben: zwei monolinguale Korpora, ein kleines bilinguales LexikonL 1. Embeddings f¨ur die W¨orter der Sprache A auf einem monolingualem

Korpus lernen (z.B. mit SkipGram oder FastText)

2. Analog Embeddings f¨ur die W¨orter der Sprache B lernen

3. Embeddings der Sprache A durch Multiplikation mit einer Matrix W so transformieren, dass sich die Embeddings von W¨orterna und ihren Ubersetzungen¨ b m¨oglichst ¨ahnlich sind.

Wˆ = arg min

W

X

(a,b)∈L

||Weaeb||2

Die L¨osung kann mit einer Procrustes-Analyse berechnet werden.

Meist wird f¨urW eine Orthogonalmatrix (mit WWT =WTW =I) genommen,

(70)

Bilinguale Embeddings

BPE

fastText EN−Korpus DE−Korpus

bilinguale BPE−Embeddings

Direkte Strategie (Lample, Ott et al.)

Konkatenation der monolingualen Korpora

Segmentierung der W¨orter im neuen Korpus mitByte-Pair-Encoding Lernen von BPE-Embeddingsmit SkipGram oder FastText

Die Methode funktioniert gut bei¨ahnlichen Sprachen mit vielen gemeinsamen BPEs.

Die gemeinsamen BPEsbewirken eine Alignierung der Embedding-R¨aume.

Hier wird kein bilinguales Lexikon ben¨otigt.

(71)

Bilinguales Lexikon

Mit Hilfe der bilingualen Embeddings k¨onnen bilingualeW¨orterb¨ucher erstellt werden.

Strategie

Berechne f¨ur alle bilingualen Wort-Paare (a,b) die Ahnlichkeit¨ ihrer bilingualen Embeddings sim(ea,eb).

Berechne f¨ur jedes Worta seinebeste ¨Ubersetzungb:ˆ bˆ= arg max

b∈V sim(ea,eb) V = Vokabular der Zielsprache

Wie wird das ¨Ahnlichkeitsmaßsim definiert?

(72)

Ahnlichkeitsmaße f¨ ¨ ur Embeddings

Kosinus-¨Ahnlichkeit

sim(x,y) = x·y

||x||2||y||2

Cross-Domain Similarity Local Scaling (CSLS)

I reduziert Probleme mit Hubs und Anti-Hubs

(73)

Un¨ uberwachtes Training von NMT-Systemen

Bilinguale Embeddingswerden trainiert.

Daraus wird ein bilinguales Lexikonextrahiert.

Damit wird ein bilinguales Korpuserzeugt.

Zielsprachliche S¨atze werden Wort f¨ur Wort mit dem Lexikon ¨ubersetzt. Auf diesem Korpus wird ein NMT-Systemtrainiert.

Problem:Die synthetisierten quellsprachlichen S¨atze haben die falsche (n¨amlich die zielsprachliche) Wortfolge.

Das NMT-System lernt nurmonotoneWort-f¨ur-Wort- ¨Ubersetzungen.

Echte quellsprachliche S¨atze werden schlecht ¨ubersetzt.

(74)

“Verrauschung” der quellsprachlichen S¨ atze

Das NMT-System soll lernen, die korrekte Wortfolge zu generieren und (Funktions-)W¨orter zu erg¨anzen.

Dazu werden die Wort-zu-Wort¨ubersetzungen modifiziert durch

I zuf¨alligesWeglassen einzelner W¨orter

I zuf¨alligesUmordnender W¨orter innerhalb einer Maximaldistanz

Beispiel: he has read an exciting book er hat lesen einen aufregende Buch er hat aufregende lesen Buch

(75)

“Verrauschung” der quellsprachlichen S¨ atze

Ergebnissatzpaar:

er hat aufregende lesen Buch ⇒ he has read an exciting book

Durch Training auf den verrauschten Daten lernt das NMT-System

I die korrekte zielsprachliche Wortfolge zu rekonstruieren und

I fehlende (Funktions-)W¨orter einzuf¨ugen

Wichtig: Der Zielsatz muss ein korrekter zielsprachlicher Satz sein!

Die Qualit¨at des Quellsatzes ist weniger kritisch.

(76)

Iteration

Mit dem trainierten NMT-System wird nun ein quellsprachliches Korpus ¨ubersetzt und ebenfalls verrauscht.

Darauf wird ein NMT-System f¨ur die R¨uckw¨arts¨ubersetzungtrainiert.

Vorw¨arts- und R¨uckw¨arts¨ubersetzungen werden mitdemselben System generiert.

DasStarttoken(z.B.<english>)teilt dem Decoder die Zielsprache mit.

Problem: Der Encoder sieht nurr¨uck¨ubersetzte S¨atze, die sich deutlich von echten quellsprachlichen S¨atzen unterscheiden.

⇒ Der Encoder sollte auch auf echten S¨atzen trainiert werden.

(77)

Denoising Autoencoding

Quelle:https://arxiv.org/pdf/1711.00043.pdf

Das NMT-System wird zus¨atzlich darauf trainiert, aus verrauschten quellsprachlichen S¨atzen die urspr¨unglichen quellsprachlichen S¨atze zu rekonstruieren (analog f¨ur zielsprachliche S¨atze).

Zum Verrauschen werden dieselben Operationen wie bei der uck¨ubersetzung verwendet.

Problem: Damit der Decoder aus Repr¨asentationen von verrauschten zielsprach- lichen S¨atzen ebenso wie aus r¨uck¨ubersetzten zielsprachlichen S¨atzen generieren kann, d¨urfen sich die Encoder-Repr¨asentationen in beiden allen nicht unterscheiden.

(Sonst lernt der Decoder zwei unterschiedliche Aufgaben.)

(78)

Adversarial Networks

Ziel: Die Encoder-Repr¨asentationen f¨ur verrauschte echte S¨atze und f¨ur uck¨ubersetzungen sollenununterscheidbarwerden.

Es wird einGegner-Netz(Adversarial Network) trainiert, welches lernt, die Repr¨asentationen, die der Encoder f¨ur W¨orter aus verrauschten echten atzen generiert, zu unterscheiden von Repr¨asentationen f¨ur die W¨orter von uck¨ubersetzungen.

DerEncoderwird trainiert, das Gegner-Netz auszutricksen, indem er die Repr¨asentationen der unterschiedlichen Eingabes¨atze ununterscheidbar macht.

Beim Zur¨uckpropagieren desGradientenur das Adversarial Loss wird das Vorzeichenbeim ¨Ubergang vom Gegnernetz zum Encoderumgedreht.

Die Gewichte des Encoders werden so angepasst, dass das Adversarial Loss steigt!

Dadurch lernt der Encoder, dem Gegnernetz die Arbeit zu erschweren.

(79)

Loss-Funktionen

Quelle:https://arxiv.org/pdf/1711.00043.pdf

xsrc ∼ Dsrc ahlt ein Element des quellsprachlichen monolingualen Korpus e(·,src) berechnet die Encoder-Repr¨asentationenzsrc

d(·,src) dekodiert den Zielsatz

Lcd,Lauto,Ladv: Losses f¨ur ¨Ubersetzung, Autoencoding, Gegner-Netzwerk

(80)

Pseudocode f¨ ur un¨ uberwachtes NMT-Training

Training(Dsrc,Dtgt,T)

bilinguales Lexikon aus monolingualen Daten extrahieren (nach Conneau et al.) M(1) := un¨uberwachte Wort-zu-Wort- ¨Ubersetzung mit dem bilingualen Lexikon for t = 1 to Tdo

beide monolingualen Korpora mitM(t) ¨ubersetzen

// Training des Gegen-Netzwerkes und des NMT-Modelles enc, θdec, θdiscr) =θ= arg minθ0L(D, θ0)

M(t+1):=e(θenc)d(θdec) // Modell-Parameter aktualisieren returnM(T+1)

Dsteht f¨ur alle Daten (Dsrc,Dtgt)

L(D, θ0) ist die Summe der einzelnen Losses

(81)

Zusammenfassung

Wir haben gesehen, wie man bilinguale Embeddingslernt

mit Hilfe der Embeddings ein Ubersetzungslexikon¨ erstellt mit dem Lexikon ein verrauschtesUbersetzungskorpus¨ generiert mit dem Korpus einen Ubersetzer¨ trainiert

einen ¨Ubersetzer und R¨uck¨ubersetzerparallel trainiert mitAutoencodingdie Ergebnisse verbessert

mitAdversarial Training die Representationen angleicht

(82)

Vielen Dank!

Referenzen

ÄHNLICHE DOKUMENTE

3 So kann ein erfahrener Übersetzer bis zu 5 000 Wörter pro Tag übersetzen, doch sind für die Übersetzung ergänzende Recherchen durchzuführen und soll sie von höchster

Beim Fräsen erfolgt die Spanabnahme durch eine kreisförmige Schnittbewegung, die durch den Fräser ausgeführt wird.. Die Anzahl der

„Wenn ein Atomangriff beispielsweise von Russland detektiert wird und klar ist, dass die russischen Atomwaffen auf die amerikanischen landgestützten Waffen zielen, dann bleiben

Für landwirtschaftliche Krankenkassen gibt es keine Beitragssätze zur Krankenversicherung und keine Umlage- und Erstattungssätze in der maschinellen Beitragssatzdatei ab Version

Die reproduzierbare und witterungsunabhängige Wirkweise der maschinellen Ausdünnung konnte durch einen überwiegend linearen Zusammenhang zwischen dem Fruchtbehang je Baum

Ich habe gehört, dass auch das Mehrbesatzungskonzept nur teilweise funktio- niert, weil dann der eine oder andere Experte doch wieder in den Einsatz muss, obwohl er gerade im

Aber das Interessante ist, dass sich zusätzlich die Soldaten oder die Soldatinnen auch an die Wehrbeauftragte wenden können, und dort eine Ein- gabe machen können.. Da gibt

„Also wenn Sie diese 25 oder 30 oder 40 Übungstage sinnvoll nutzen und die mit einem wesentlichen Blick auf das taktisch-operative ausfüllen und die Rahmenbedingungen