17
Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING Moa Wallin moawa859

Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Linköpingsuniversitet729G43

NEURALMASKINÖVERSÄTTNING

Moa Wallin moawa859

Page 2: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 Inledning

Manuell översättning är en mycket tidskrävande process som kräver stor kunskap och bred

kompetens och behovet av översättning är större än vad mänskliga översättare någonsin skulle

kunna hinna med. Att istället låta en maskin sköta översättningen underlättar avsevärt, inte

minst då man är i behov av en snabb översättning. Idag erbjuds en uppsjö av olika

översättningsprogram och Googles kända översättningstjänst Google Translate har

exempelvis numera stöd för över 100 språk och nyttjas av miljontals människor dagligen.

Utöver att hjälpa människor att förstå information på främmande språk i vardagen, har även

maskinöversättning en kommersiell betydelse. Det blir allt viktigare för företag och liknande

att kunna tillhandahålla information på flertalet språk i takt med att nationaliteter och

språkkunskaper hos tillgängliga läsare breddas och att kunna erbjuda användare ett gränssnitt

eller en instruktionsmanual på deras egna modersmål kan väga tungt i att locka människor till

att nyttja en produkt.

Att hitta en maskinöversättningsmetod som genererar korrekta översättningar är alltså någon

eftersträvansvärt, men som tyvärr är mycket svårt att uppnå. Den senaste ansatsen kring

maskinöversättning nyttja neurala nätverk och har redan på mycket kort tid ersatt tidigare

system hos bland annat stora företag som Google och Facebook.

Terminologi

Under rapporten förekommer ett antal termer som läsaren bör vara införstådd i för att kunna

tillägna sig övrig information och fakta i rapporten. Nedan presenteras därför en mängd

termer och en kortare tillhörande förklaring för att underlätta för läsandet.

MT: abbreviation av maskinöversättning (eng. machine learning).

Deep learning: en typ av maskininlärningsmetod som använder neurala nätverk med flera

dolda lager.

Korpus (pl. korpora): en stor mängd språkliga data, antingen skriftlig text eller transkriberat

tal. I denna uppsats refereras dock endast till korpora med skriven text. En korpus som

innehåller texter på fler än ett språk kallas för en parallell korpus (Weisser, 2016).

Sequence-to-sequence learning (seq2seq): handlar om att träna modeller att omvandla

sekvenser i en domän till sekvenser i en annan domän. Tekniken har främst används inom

Page 3: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 maskinöversättning och i detta fall representerar de två domänerna ett källspråk respektive ett

målspråk.

Upplägg och avgränsningar

Följande rapport ämnar redogöra för de grundläggande principerna som ligger bakom neural

maskinöversättning. Då flera olika angreppssätt existerar inom ansatsen kommer denna

rapport att avgränsas till att endast innefatta neural maskinöversättning med vanilla recurrent

neural networks av typen vanilla long short-term memories.

Först ges läsaren en kort bakgrund över tidigare tekniker inom maskinöversättning. Därefter

ges en översiktlig beskrivning av principen bakom neural maskinöversättning för att sedan gå

djupare in i de olika delområdena som bygger upp ett neuralt maskinöversättningssystem.

Slutligen has för avsikt att koppla samman teorierna och ge en diskussion kring ämnet i

allmänhet.

Page 4: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 Tidigare maskinöversättningssysten

Maskinöversättning var ett av de tidigare tilltänkta användningsområdena för datorer, men

utvecklingen av fungerande maskinöversättningssystem har dock varit långt ifrån

bekymmersfri (Hutchins, 2007). Det visade sig vara svårare än vad som först hade förväntats

att skapa ett system som generera en acceptabel översättning av en text mellan två språk, och

det är inte förrän det senaste decenniet som maskinöversättningen på riktigt fått sitt uppsving

(Russel & Norvig, 2014).

En av de tidiga teknikerna för maskinöversättning var den regelbaserade översättningen

(RBMT). Denna teknik baseras på lexikon och manuellt utvecklade lingvistiska regler som

systemet sedan översätter en text utifrån. Fördelarna med RBMT är att tekniken inte kräver

tillgång till parallella korpora. En annan fördel är att utvecklarna av systemet har total kontroll

och enkelt kan lokalisera eventuella buggar och förstå vad som orsakar ett fel. Problemet med

RBMT är att mänskligt språk inte alltid följer bestämda regler utan det förekommer massvis

med undantag och dialektala variationer – för att inte tala om den påverkan kontexten har för

betydelsen av ett ord. Den regelbaserade översättningen producerar därmed ofta undermåliga

översättningar som saknar språkligt flyt och som i slutändan ändå kräver mänskligt

redigerande.

Sedan flera år tillbaka har istället den dominerande maskinöversättningstekniken varit den

statistiska maskinöversättningen (SMT). Som namnet antyder använder sig SMT av statistik

och sannolikheter, istället för grammatiska regler, för översättning. Genom att träna

probabilistiska modeller efter statistik i stora parallella korpora kan ett SMT-system avgöra

vilken översättning som mest troligt är korrekt. Denna typ av översättning är dock alltså

beroende av tillgång till mängder av parallella korpora och för de stora språken, så som

engelska och spanska, är det oftast inte ett problem att finna parallella översättningar. För

många andra språk existerar det dock helt enkelt inte tillräckligt med texter för att producera

fullgoda översättningar genom SMT (Lopez, 2008).

Under de senaste åren har stora förändringar skett inom MT i och med att den nya tekniken

neural maskinöversättning (NMT) anammats av flertalet stora företag. Den statistiska

maskinöversättningen framstår fortfarande vara dominant, men brukandet av NMT verkar

ständigt ökar i popularitet och efterfrågan, och är således ett mycket aktuellt ämne.

Page 5: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859

Neural maskinöversättning (NMT)

Övergripande beskrivning

Tekniken hos NMT frångår den tidigare dominerande statistiska ansatsen och använder

istället deep learning med stora neurala nätverk för att möjliggöra översättning mellan olika

språk. De neurala nätverken i NMT bildar en så kallad encoder-decoder-arkitektur bestående

av recurrent neural networks. Med encoder-decoder-arkitektur menas att NMT-systemet

innefattar en kodare (eng. encoder) som läser in en källsats och summerar denna genom att

skapa en vektor bestående av en sekvens med unika siffror som representerar satsens mening,

dess innebörd. En kodare skapar alltså en enda vektor som output ur en input-sekvens. Denna

vektor går sedan igenom en avkodare (eng, decoder) som i sin tur tar in vektorn som input

och avkodar till orginalsatsen igen. Men istället för att avkoda satsen på källspåket igen tränas

istället en avkodare att avkoda på ett annat språk istället, ett så kallat målspråk. En avkodare

producerar alltså en output-sekvens ur en enskild input-vektor (Stanford University School of

Engineering, 2017).

Som nämnt används så kallade recurrent neural networks (RNN), både som kodare och

avkodare. Dessa RNN förekommer dock även i sin tur i olika former, så som long short-term

memory (LSTM) eller gated recurrent unit (GRU). Denna uppsats kommer dock endast att

fokusera på NMT där LSTM används och övriga metoder kommer således att utelämnas.

För att förstå principerna bakom tekniken hos ett NMT och det ovan beskrivna krävs en del

kunskaper som ämnas klargöras i kommande stycken.

Allmänt om neurala nätverk

Den mänskliga hjärnan innehåller flera miljarder neuroner som genom förbindelser till

varandra skapar ett komplext nätverk. Ett enskilt neuron utför endast en mycket enkel uppgift

genom att reagera på en input-signal, men tillsammans kan ihopkopplade neuroner utföra

oerhört komplexa uppgifter på väldigt kort tid. Anslutningen mellan neuroner kallas synaps

och har till uppgift att föra vidare elektrokemiska signaler. Då ett neuron mottar en total signal

som är större än synapsens tröskelvärde leder det till att neuronen avfyras och sänder vidare

den elektrokemiska signalen till dess grann-neuroner och så vidare (Zou, Han & So, 2008).

Page 6: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 Det var med vårt biologiska nervsystem som inspiration som de så kallade artificiella neurala

nätverken (hädanefter ANN) utvecklades. Likväl bör uppmärksammas att ANN för den

sakens skull inte utgör en modell av den mänskliga hjärnan. Hjärnans komplexitet är alltför

stor för att dagens artificiella neurala nätverk skulle kunna efterlikna alla dess funktioner.

ANN är däremot ett mycket användbart och starkt verktyg inom artificiell intelligens, som

genom träning på stora mängder data kan hitta mönster och på så sätt lära sig lösa problem

(Russell & Norvig, 2014).

Som motsvarighet till hjärnans neuroner består ANN av ett antal noder som är ordnade i

skilda lager. Det förekommer alltid minst två stycken lager - ett för input och ett för output.

För att lösa okomplicerade uppgifter kan ett enkelt nätverk bestående av endast dessa två

lager räcka, men de flesta uppgifter kräver dock även att ett eller flera så kallade dolda lager

införs mellan input-lagret och output-lagret. Ett ANN med flera dolda lager kallas för ett djupt

neuralt nätverk (DNN) (se figur 1) och krävs för maskinöversättning (Russell & Norvig,

2014). Precis som namnet avslöjar går det inte att observera vad som sker i de dolda lagren,

utan de utgör vad som brukar benämnas ”en svart låda”.

Figur 1. Exempel på visualisering av ett djupt neuralt nätverk (Nielsen, 2015).

Som synes i figur 1 binds noderna i ett ANN samman med hjälp av länkar som har till uppgift

att föra vidare en aktivering. Varje länk mellan två noder har alltså även en tillhörande vikt,

ofta kallad parameter, som avgör styrkan hos förbindelsen. En nod mottar därmed flera olika

input från närliggande noder och ger varje en vikt som förändras då nätverket lär sig. Denna

Page 7: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 förmåga att kunna korrigera parametrarna under träningsperioden är ett av ANNs

nyckelelement.

Likt hos de biologiska neurala nätverken existerar även en tröskel i form av en

aktiveringsfunktion som avgör huruvida signalen ska sändas vidare eller inte – alltså hur stor

summan av alla vikter måste vara för att noden ska föra vidare informationen till

nästkommande lager. Aktivering i ett lager avgör följaktligen aktivering i nästa lager.

Aktiveringsfunktionen kan vara en hård tröskelfunktion där neuronen genererar en positiv

signal då summan överstiger 0 och en negativ signal då den är mindre än 0 – alltså:

f(x)=0()* < 01()* ≥ 0

Den aktiveringsfunktion som dock främst används inom maskinöversättning är den logistiska

funktionen, även kallad sigmoidfunktion (se figur 2.) (Russell & Norvig, 2012).

Figur 2. Den logistiska funktionen (Russell & Norvig, 2012).

Till skillnad från den hårda tröskelfunktionen har den logistiska funktionen som synes en

mjukare kurva och följaktligen ett mer kontinuerligt spann av värden mellan 0 och 1. Istället

för att ha 0 som en tröskel för aktivering används följande matematiska funktion:

f(x)= .

./012

Detta innebär att allt eftersom aktiveringen x går mot -∞ går funktionen mot 0 och vice versa

då x går mot +∞ så går funktionen mot 1. Detta ger den logistiska funktionen fördelen i att

den är differentierbar överallt vilket förenklar inlärning av det neurala nätverkets vikter.

Page 8: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 Denna rapport kommer inte att gå djupare in på hur denna träning går till men kort sagt

används bakåtpropagering (eng. back propagation) från output-lagret och bakåt i nätverket

där vikterna med hjälp av gradientsökning (eng. gradient descent) modifieras för att minska

felet och för att träna ett neuralt nät att korrekt kunna klassificera input (Russell & Norvig,

2012).

Ytterligare en aktiveringsfunktion som ibland används inom NMT, och som således

förekommer senare i denna rapport, är den hyperboliska funktionen tangens hyperbolicus

(hädanefter tanh). Istället för mellan 0 och 1, som hos den logistiska funktionen, har tanh ett

spann på -1 till 1.

Vad en nod i ett ANN sedan genererar för output beräknas kort sagt genom att multiplicera

den input som mottas i input-lagret med en viktvektor, summera resultaten och applicera en

aktiveringsfunktion på summan (se figur 3.).

Figur 3. En enkel modell av en nod i ett ANN.

Den matematiska funktionen för detta är följande:

y=f(*5*65+b)

x representerar alltså input och w är vikterna. f är aktiveringsfunktionen. I ekvationen

betecknat b och även i figur 3 förekommer något som kallas bias. Vad denna bias gör är att

lägga till ett värde i summan av input som låter oss förflytta en funktion vertikalt. Genom att

ha en positiv bias förflyttas funktionen åt höger på y-axeln och vice versa, alltså till vänster,

Page 9: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 då bias är negativ. Möjligheten att göra detta kan behövas för att finna en lösning i flertalet

problem.

Vanligtvis rör sig information i ett ANN framåt från input-lagret till output-lagret utan

möjlighet att backa, vilket kallas feed-forward network (FNN). Nätverket har således inget

”minne” av tidigare uträkningar, utan hanterar varje input oberoende av tidigare input, och

givet samma input kommer nätverket att producera samma output. Denna modell fungerar

utmärkt till vissa typer av uppgifter där input har bestämd storlek. När det kommer till språk

skiljer sig dock självfallet längden på satser och således storleken på input. Likaså kräver

maskinöversättning möjlighet att inkludera någon slags minne då ett element i sekvensen kan

vara beroende av tidigare. Som tidigare nämnt används alltså istället för FNN främst så

kallade recurrent neural networks (hädanefter RNN) inom NMT.

Recurrent Neural Networks (RNN)

RNN innehåller loopar vilket möjliggör flödet av information att färdas tillbaka i nätverket.

Likaså kan nätverket ta input av en arbiträr längd. Detta innebär implicit att input inte bara

består av vad nätverket för tillfället varseblir, utan även vad nätverket tidigare varseblivit. Det

beslut ett RNN fattar vid en tidpunkt t påverkar således det beslut som kommer att fattas vid

en senare tidpunkt t+1.

Figur 4. Modell av RNN och hur den vecklas ut till ett fullt nätverk (LeCun, Bengio & Hinton,

2015).

I figur 4 demonstreras en allmän modell för RNN och hur ett RNN kan skrivas ut för en

komplett sats som en kedja av feed-forward networks. I den utvecklade modellen existerar en

nod i det dolda lagret för varje ord i satsen. En sats med fyra ord ger således ett dolt lager med

fyra noder. *9 står för input, alltså en vektor som representerar ett ord i satsen, vid tidssteget t.

Det som i modellen i figur 4 benämns som :9 kan liknas vid ett kort ”minne”, det vill säga ett

Page 10: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 dolt, internt tillstånd som beräknas baserat på det förra dolda tillståndet samt den input som

mottas vid nuvarande tidssteg t. Detta dolda minne kommer dock hädanefter att istället

benämnas ℎ9. Slutligen representerar <9 output vid tidssteget t. Denna output beräknas enbart

utefter ℎ9, som alltså används för att räkna ut sannolikheten för nästa ord (Liu, Yang, Li &

Zhou, 2014). Input utgör alltså en sammanlänkning av *9 och ℎ9. Detta demonstreras på ett

ytterligare, möjligen mer påtagligt sätt, i figur 5. Som synes används parametrarna U, V och

W, som representerar viktmatriserna, i varje tidssteg. Detta visar på hur ett RNN utför samma

uppgift, men med olika input vid varje tidssteg.

Figur 5. Modell av RNN (Liu, Yang, Li & Zhou, 2014). Observera att modellen i denna

modell till skillnad från modellen i figur 2 använder h för det dolda tillståndet och y för

output istället för s respektive o. Principen är dock densamma.

Ekvationen för hur information sparas i det dolda tillståndet, ℎ9, ser ut som följande:

ℎ9 = s (Uℎ9=.+ W*9)

Som tidigare avser *9 input vid tidpunkt t och ℎ9=. är som tidigare det dolda tillståndet vid

föregående tidssteg. s avser sigmoid som aktiveringsfunktion.

För att återgå till den utvecklade modellen av RNN i figur 4 syns hur modellen genererar

output vid varje tidssteg. Inom maskinöversättning är detta dock inte något som eftersträvas,

utan man vill endast ge output först efter att hela texten, det vill säga all input, har setts.

Endast det slutliga dolda tillståndet används då för att göra en förutsägelse. För att repetera

innehåller dock NMT två RNN där den första RNN kodar en sekvens till en enskild vektor

och den andra avkodar vektorn till en sekvens ånyo. Den första RNN går således från

Page 11: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 ”många” till ”en” och den andra från ”en” till ”många” (Bahdanau, Cho & Bengio, 2015) (se

figur 6.).

Figur 6. Modell av encoder-decoder-arkitekturen med två RNN (Geitgey, 2016).

Som tidigare nämnt används bakåtpropagering för att träna vikterna i ett neuralt nätverk, men

då RNN innehåller loopar måste även varje tidssteg länkas till nästa. En utvidgad typ av

bakåtpropagering som kallas gradient backprogagation through time (BPTT) används då

istället. I dessa konventionela RNN, även kallade vanilla RNN, innebär det att information i

nätverket passerar genom flera lager och således flera steg av multiplikation vilket kan leda

till problem. Om gradienten är mindre än 1 minskar gradientvärdet successivt och kommer

allt närmre 0 allt eftersom vi propagerar bakåt, och alltså multiplicerar med gradienten,

genom varje lager (se figur 7). Detta problem kallas the vanishing gradient problem. Den

motsatta effekten uppstår då gradienten är större än 1 och benämns då istället the exploding

gradient problem. Gradienten behöver således vara 1 för att problemet inte ska uppstå och

detta är något som sällan förekommer.

Figur 7. Illustration av vanishing gradient problem (Graves et al., 2009).

Problemet med gradienten som försvinner eller exploderar gör alltså att RNN inte kan lagra

information och lära sig under en längre tid, något som krävs för att korrekt klassificera den

sekventiella input som används vid MT. Då en sats ofta består av flertalet ord kan det

innebära långa dependenslängder (eng. long-term dependencies), alltså ett längre avstånd

Page 12: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 mellan viss input och då information om denna input i fråga behövs för att göra en

förutsägelse (Grosse, 2017). Ett exempel på vad som avses med en lång dependenslängd kan

noteras i följande sats: ”Katten som jag såg när jag gick över gatan igår var svart”. För en

människa är det inte svårt att komma ihåg och förstå det är katten som nämns i inledningen av

satsen som är svart, trots att flertalet andra ord befinner sig mellan ordet ”katten” och ordet

”svart”. För ett RNN är detta dock inte lika problemfritt utan mycket svårt, exempelvis i

jämförelse med satsen ”katten är svart” som inte har denna långa dependenslängden. Vad som

behövs vid maskinöversättning är då ett sätt för nätverket att minnas långa dependenser

genom att kunna minnas gradientvärdet vid bakåtpropagering. En lösning på detta problem är

att införa RNN-varianten long short-term memory, som alltså är speciellt effektiv vid

maskinöversättning. Nästa stycke ämnar beskriva den grundläggande strukturen hos LSTM.

Long short-term memory (LSTM)

LSTM avser alltså lösa gradientproblemen hos RNN genom att, för att kort sammanfatta,

avgöra vad som ska behållas i minnet och vad som ska raderas. Detta gör LSTM till det

självklara valet vid maskinöversättning där, som påvisats i föregående stycke, data ofta

innehåller dessa långa temporala dependenser.

En LSTM-enhet innehåller till skillnad från vanilla RNN fler interna strukturer. De kan se ut

på olika sätt men den vanligaste typen av LSTM-enhet, vanilla LSTM, har ett minnesblock

som innehåller minnesceller och tre så kallade portar (eng. gates) (se figur 8.). Minnescellen

har som namnet antyder till uppgift att minnas information och agerar som ett långtidsminne.

Portarna, likt noder i ett ANN, agerar utifrån de signaler de mottar genom att antingen vara

stängda eller öppna (ha värdet 0 respektive 1). De tre portarna som existerar i LSTM-blocket

är en input-port, en output-port och en forget-port.

Figur 8. Modell av ett minnesblock i vanilla LSTM.

Page 13: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859

Input-porten avgör huruvida ny inkommande information får komma in. Är input-porten

öppen ändrar denna inkommande information minnescellens tillstånd och skriver över den

information som befinner sig där. Output-porten avgör huruvida minnescellens tillstånd ska

föras vidare till resten av nätverket och andra minnesceller. Forget-porten i sin tur ser till så

att cellens tillstånd återställs då allt innehåll har använts och inte är av betydelse längre (Greff

et al., 2017).

De tre portarnas ekvationer för att räkna ut huruvida de ska vara öppna eller stängda ser ut

som följande:

Input-porten: (9=s(HI*[ℎ9=.,*9]+MI)

Output-porten: <9=s(HO*[ℎ9=.,*9]+MO)

Forget-porten: )9=s(HR*[ℎ9=.,*9]+MR)

Notera hur dessa ekvationer liknar ekvationerna för att beräkna output i en nod i ett ANN. De

är uppbyggda på samma sätt och är som små neurala nätverk. Vi har input från nuvarande

tidssteg, *9, och i form av det dolda tillståndet i förra tidssteget, ℎ9=.. Denna input

multipliceras med en viktvektor och slutligen adderas en bias, b. Då vi i det här fallet vill ha

siffror mellan 0 och 1 används den logistiska funktionen som aktiveringsfunktion och

betecknas som s.

Under träning lär sig minnesblocket vilka portar som ska vara öppna respektive stängda –

alltså vad minnescellen ska minnas och vad som ska glömmas. Detta görs likt hos ANN

genom att vikterna justeras genom gradientssökning. Beroende på input-portens och forget-

portens värden uppträder alltså en minnescell på olika sätt. Nedanstående ekvation visar hur

minnescellens, alltså S9, tillstånd ändras:

S9=)9*S9=.+(9*tanh(HV*[ℎ9=.,*9]+MV)

Observera hur istället för sigmoid så används den hyperboliska funktionen som

aktiveringsfunktion. Som tidigare nämnt har den hyperboliska funktionen ett spann mellan -1

och 1 så genom att använda sig av den övervinns the vanishing gradient problem.

Page 14: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859

Till slut ska det avgöras vilket det slutgiltiga output som ska skickas vidare till andra

minnesblock blir och detta beräknas enligt följande formel:

ℎ9=<9*tanh(S9)

Sammanfattning

Denna rapport har visat hur neural maskinöversättning frångår tidigare översättningsmetoder

genom att använda en modell med en kodare, som ur en sats på ett språk kan skapa en vektor

för att representera satsens mening, och en avkodare som utifrån nämnda vektor kan återskapa

satsen och dess innebörd fast på ett annat språk. För att kunna genomföra detta används RNN,

ofta av typen LSTM, där nätverket innehar en form av minne vilket möjliggör att systemet

kan tränas end-to-end.

Diskussion

Neural maskinöversättning är fortfarande en mycket ny metod, men trots det har den under de

få år som den har funnits redan anammats av flertalet stora företag som ersättare av andra

typer av maskinöversättningsmetoder. År 2016 lanserades exempelvis Microsofts Bing

Translator som använder tekniken och sedan dess har jättar inom maskinöversättning som

Google Translate och Facebook successivt ersatt tidigare översättningssystem med NMT.

Google har för sitt översättningssystem utvecklat en egen typ av NMT kallad GNMT. Vid

översättning mellan exempelvis engelska och franska samt engelska till spanska presterade

detta system avsevärt mycket bättre och reducerade antalet översättningsfel med hela 60%

jämfört med den tidigare frasbaserade översättningsmetoden (Wu, Schuster, Chen, Le,

Norouzi, 2016).

Neural maskinöversättning är dock långt ifrån en problemfri metod. Ett av de stora problemen

med NMT är att det är en mycket dyr metod rent beräkningsmässigt som kräver stora

mängder träningsdata och mycket tid för inlärning. Dessutom uppstår problem med mer

ovanliga ord som NMT-systemet inte har kunnat träna på. Ett annat betydande problem ligger

i svårigheterna att finna och korrigera eventuella buggar då den större delen av beräkningen

sker i de dolda lagren som alltså utgör en så kallad svart låda.

Page 15: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 Avslutningsvis kan konstateras att det fortfarande förekommer problem och begås

signifikanta misstag vid översättning även med denna typ av metod. Mycket arbete återstår

följaktligen för att skapa en maskinöversättningsmetod som kan mäta sig med mänsklig

översättning. Dock framstår NMT ha en lovande tid framför sig där förhoppningsvis stora

framsteg görs för att tackla de återstående problemen.

Page 16: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 Referenser

Bahdanau, D., Cho, K., Bengio, Y. (2015) Neural Machine Translation by Jointly Learning to

Align and Translate. Published as a conference paper at ICLR.

Geitgey, A., (2016-08-21). Machine Learning is Fun Part 5: Language Translation with Deep

Learning and the Magic of Sequences. Hämtad från

https://medium.com/@ageitgey/machine-learning-is-fun-part-5-language-translation-

with-deep-learning-and-the-magic-of-sequences-2ace0acca0aa [2017-01-10]

Graves, A., Liwicki, M., Fernandez, S., Bertolami, R., Bunke, H., Schmidhuber, J. (2008). A

Novel Connectionist System for Unconstrained Handwriting Recognition.

Greff, K., Srivastava, R. K., Koutník, J., Steunebrink, B. R., Schmidhuber, J. (2017). LSTM:

A Search Space Odyssey. IEEE Transactions on Neural Networks and Learning

Systems, 28(10), 2222-2232.

Grosse, R. (2017) Lecture 15: Exploding and Vanishing Gradients. Hämtad från

http://www.cs.toronto.edu/~rgrosse/courses/csc321_2017/readings/L15%20Explodin

g%20and%20Vanishing%20Gradients.pdf [2017-01-09]

Hutchins, J. (2007). Machine translation: a concise history. In C. S. Wai (Ed.) Computer

Aided Translation: Theory and Practice. Chinese University of Hong Kong.

LeCun, Y., Bengio, Y. & Hinton, G. (2015) Deep learning. Nature, 521, 436-444.

Liu, Y., Yang, N., Li, M., Zhou, M. (2014). A recursive recurrent neural network for

statistical machine translation. 52nd Annual Meeting of the Association for

Computational Linguistics (pp. 1491-1500).

Lopez, A. (2008). Statistical machine translation. ACM Computing Surveys, 40 (3), art nr 8.

University of Edinburgh, UK.

Page 17: Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING729G43/projekt/studentpapper-17/moa-wallin.pdf · införs mellan input-lagret och output-lagret. Ett ANN med flera dolda

Moa Wallin moawa859 Nielsen, M. A. (2015) Neural Networks and Deep Learning, Determination Press. Hämtad

från http://neuralnetworksanddeeplearning.com/chap5.html [2017-01-08]

Russell, S., & Norvig, P. (2014). Artificial Intelligence - a Modern Approach. Edinburgh:

Pearson Education Limited.

Sutskever, I., Vinyals, O., & Le, Q. V. (2014) Sequence to sequence learning with neural

networks. Advances in Neural Information Processing System, 4, 3104 – 3112.

Stanford University School of Engineering. (2017, August). Lecture 10 | Recurrent Neural

Networks [Video]. Hämtad från https://www.youtube.com/watch?v=6niqTuYFZLQ

Weisser, M. (2016) Practical Corpus Linguistics – An Introduction to Corpus-Based

Language Analysis. Hoboken: Wiley-Blackwell.