NEURAL MASKINÖVERSÄTTNING

Storlek: px
Starta visningen från sidan:

Download "NEURAL MASKINÖVERSÄTTNING"

Transkript

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

2 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

3 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.

4 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.

5 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).

6 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

7 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 () * < 0 1 () * 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) =../0 12 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.

8 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 * 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,

9 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

10 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 h 9. Slutligen representerar < 9 output vid tidssteget t. Denna output beräknas enbart utefter h 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 h 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, h 9, ser ut som följande: h 9 = s (Uh 9=. + W* 9 ) Som tidigare avser * 9 input vid tidpunkt t och h 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

11 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

12 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.

13 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(h I * [h 9=., * 9 ] + M I ) Output-porten: < 9 = s(h O * [h 9=., * 9 ] + M O ) Forget-porten: ) 9 = s(h R * [h 9=., * 9 ] + M R ) 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, h 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 forgetportens värden uppträder alltså en minnescell på olika sätt. Nedanstående ekvation visar hur minnescellens, alltså S 9, tillstånd ändras: S 9 = ) 9 * S 9=. + ( 9 * tanh(h V * [h 9=., * 9 ] + M V ) 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.

14 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: h 9 = < 9 * tanh(s 9 ) 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.

15 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.

16 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., ( ). Machine Learning is Fun Part 5: Language Translation with Deep Learning and the Magic of Sequences. Hämtad från [ ] 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), Grosse, R. (2017) Lecture 15: Exploding and Vanishing Gradients. Hämtad från g%20and%20vanishing%20gradients.pdf [ ] 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, 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 ). Lopez, A. (2008). Statistical machine translation. ACM Computing Surveys, 40 (3), art nr 8. University of Edinburgh, UK.

17 Nielsen, M. A. (2015) Neural Networks and Deep Learning, Determination Press. Hämtad från [ ] 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, Stanford University School of Engineering. (2017, August). Lecture 10 Recurrent Neural Networks [Video]. Hämtad från Weisser, M. (2016) Practical Corpus Linguistics An Introduction to Corpus-Based Language Analysis. Hoboken: Wiley-Blackwell.

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University Neurala nätverk och språk Henli807!1 Neurala nätverk och språkigenkänning Henrik Linnarsson Linköping University Neurala nätverk och språk Henli807!2 RNN, LSTM och språkigenkänning Inledning Idag är språkigenkänning

Läs mer

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann 729G43 Artificiell intelligens / 2015 Maskininlärning 3 Marco Kuhlmann Förra gången: Perceptroninlärning Beslutsregel predicerat y-värde Exempel: AND Välj parametrar θ 0, θ 1, θ 2 sådana att perceptronen

Läs mer

Att programmera en Beethoven

Att programmera en Beethoven Linköpings universitet Att programmera en Beethoven Fördjupning inom Neurala nätverk och LSTM 2018-01-03 Innehåll 1 Inledning- Musik och artificiell intelligens... 2 1.1 Historia... 2 1.2 Bakgrund AIVA...

Läs mer

SPEECH RECOGNITION USING ARTIFICIAL NEURAL NETWORKS. Linköpings Universitet 729G43 Artificiell Intelligens

SPEECH RECOGNITION USING ARTIFICIAL NEURAL NETWORKS. Linköpings Universitet 729G43 Artificiell Intelligens SPEECH RECOGNITION USING ARTIFICIAL NEURAL NETWORKS Oscar Lundblad Osclu399@student.liu.se 2017-01-05 Linköpings Universitet 729G43 Artificiell Intelligens Innehållsförteckning Introduktion 3 Rapportens

Läs mer

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap 729G43 Artificiell intelligens (2016) Maskininlärning 3 Marco Kuhlmann Institutionen för datavetenskap Modell med vektornotation parametervektor särdragsvektor Perceptron kombinerar linjär regression med

Läs mer

Linköpings universitet

Linköpings universitet Översikt Kognitionsvetenskaplig introduktionskurs Föreläsning 4 Informationsbearbetningsmodeller Vad är kognitionsvetenskap? Kort bakgrund/historik Representation och bearbetning av information Vetenskapliga

Läs mer

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap ARTIFICIELLA NEURALA NÄT MARCO KUHLMANN Institutionen för datavetenskap Example Alt Bar Fri Hun Pat Price Rain Res Type Est WillWait 1 Yes No No Yes Some $$$ No Yes French 0 10 Yes 2 Yes No No Yes Full

Läs mer

Johan Karlsson Johka490. Statistical machine translation JOHAN KARLSSON

Johan Karlsson Johka490. Statistical machine translation JOHAN KARLSSON Johan Karlsson Johka490 Statistical machine translation JOHAN KARLSSON Innehåll Introduktion... 2 Bakgrund... 3 Statistiska maskinöversättningssystem... 3 Hur ett SMT-system fungerar... 4 Motsvarighetsmodell

Läs mer

LINKÖPINGS UNIVERSITET 729G11, Artificiell Intelligens II, HT10 SMT. En fördjupning i statistiska maskinöversättningssystem

LINKÖPINGS UNIVERSITET 729G11, Artificiell Intelligens II, HT10 SMT. En fördjupning i statistiska maskinöversättningssystem LINKÖPINGS UNIVERSITET 729G11, Artificiell Intelligens II, SMT En fördjupning i statistiska maskinöversättningssystem johka299@student.liu.se 2010-10-01 Innehållsförteckning 1. Introduktion till översättning...

Läs mer

Linköpings universitet Artificiell Intelligens II 729G11 HT Maskinöversättning. med hjälp av statistik. Erik Karlsson

Linköpings universitet Artificiell Intelligens II 729G11 HT Maskinöversättning. med hjälp av statistik. Erik Karlsson Maskinöversättning med hjälp av statistik Erik Karlsson erika669@student.liu.se Innehåll Inledning... 1 Bakgrund och historia... 2 Historia... 2 Klassiska designer... 2 Direkt översättning... 2 Interlingua...

Läs mer

Statistisk Maskinöversättning eller:

Statistisk Maskinöversättning eller: 729G43 Statistisk Maskinöversättning eller: Hur jag slutade ängslas (över fördjupningsuppgiften) och lärde mig hata stoppord. Jonas Hilmersson 2019-04-15 Innehåll 1. Introduktion... 1 2. Datamängden...

Läs mer

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap 729G43 Artificiell intelligens (2016) Maskininlärning 2 Marco Kuhlmann Institutionen för datavetenskap Förra gången: Gradientsökning tangentens lutning i punkt θ steglängdsfaktor Översikt Introduktion

Läs mer

ANN fk. Örjan Ekeberg. Framåtkopplade Nät. återkopplade nät. Olika arkitekturer. BackPropagation through Time. Kalman-Filter tekniker

ANN fk. Örjan Ekeberg. Framåtkopplade Nät. återkopplade nät. Olika arkitekturer. BackPropagation through Time. Kalman-Filter tekniker Hantering av Tid Återkopplade Återkopplade Återkopplade t Återkopplade Återkopplade Temporala signaler är svåra Gör om temporal signal till spatial t 1 t 2 t 3 t 4 Återkopplade t Enklaste formen Neuronal

Läs mer

Statistisk mönsterigenkänning

Statistisk mönsterigenkänning Statistisk mönsterigenkänning Jonas Sandström Artificiell intelligens II Linköpings universitet HT 2011 Innehållsförteckning 1. Innehållsförteckning sid 2 2. Inledning sid 3 3. Statistisk mönsterigenkänning

Läs mer

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén,

Sub-symbolisk kognition & Konnektionism. Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén, Sub-symbolisk kognition & Konnektionism Kognitionsvetenskaplig Introduktionskurs (729G01) Mats Andrén, mats.andren@liu.se 1 Konnektionism Neutrala nät baseras på en (förenklad) modell av hur hjärnan fungerar.

Läs mer

Artificiell Intelligens Lektion 7

Artificiell Intelligens Lektion 7 Laboration 6 Artificiell Intelligens Lektion 7 Neurala nätverk (Lab 6) Probabilistiska resonemang Vad? Mönsterigenkänning Lära ett neuralt nätverk att känna igen siffror Varför? Få ökad förståelse för

Läs mer

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs... OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar

Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar 1 Agenda Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar 2 Nuvarande AI Funktioner en grov Analogi Rekommendation,

Läs mer

SELF- ORGANIZING MAPS

SELF- ORGANIZING MAPS LINKÖPINGS UNIVERSITET Kognitionsvetenskapliga Programmet Examinator: Arne Jönsson SELF- ORGANIZING MAPS - Ett fördjupningsarbete inom Artificiell Intelligens Fack 52 katwa676@student.liu.se Sammanfattning

Läs mer

Word2Vec. Högkvalitativa vektorrepresentationer av ord tränat på stora mängder data. Innehåll LINKÖPINGS UNIVERSITET. 1. Inledning...

Word2Vec. Högkvalitativa vektorrepresentationer av ord tränat på stora mängder data. Innehåll LINKÖPINGS UNIVERSITET. 1. Inledning... LINKÖPINGS UNIVERSITET Innehåll 1. Inledning... 2 2. Terminologi... 3 3. Allmänt om Word2Vec... 3 4. Continous Skip-gram model... 4 Word2Vec Högkvalitativa vektorrepresentationer av ord tränat på stora

Läs mer

729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann

729G43 Artificiell intelligens / Maskininlärning 2. Marco Kuhlmann 729G43 Artificiell intelligens / 2015 Maskininlärning 2 Marco Kuhlmann Förra gången: Linjär regression Gradientsökning Vandra ner i felets dal. Steg 0: Börja med ett godtyckligt värde för θ. Steg 1: Räkna

Läs mer

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs... OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Modeller och simulering av språkprocessning

Modeller och simulering av språkprocessning Modeller och simulering av språkprocessning Seriell processmodell + parallell processmodell Parallell modell med 2-vägsförbindelser Artificiellt neuralt nätverk (ANN) Interaktiv aktiverings-modell (IAM)

Läs mer

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692 Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...

Läs mer

Ansiktsigenkänning. Anna Ericsson Linköpings Universitet Linköping

Ansiktsigenkänning. Anna Ericsson Linköpings Universitet Linköping Ansiktsigenkänning Anna Ericsson Linköpings Universitet Linköping 2011-09-18 Innehållsförteckning Sammanfattning... 1 Introduktion... 2 Ansiktsigenkänning med Eigenfaces... 3 Eigenfaces steg för steg...

Läs mer

Vektorer, matriser, nätverk - några elementa

Vektorer, matriser, nätverk - några elementa Vektorer, matriser, nätverk - några elementa Innehåll: Vektorer Radvektorer och kolumnvektorer Operationer med vektorer Input- och outputvektorer i neurala nätverk Utvikning om kompetitiva nät Matriser

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten. OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Maskinöversättning möjligheter och gränser

Maskinöversättning möjligheter och gränser Maskinöversättning möjligheter och gränser Anna Sågvall Hein 2015-02-17 Tisdagsföreläsning USU 2015-02-17 Anna Sågvall Hein Översikt Vad är maskinöversättning? Kort tillbakablick Varför är det så svårt?

Läs mer

Maskinöversättning 2008

Maskinöversättning 2008 Maskinöversättning 2008 F7 Maskinöversättningens mål och möjligheter Systematiska språkskillnader sv-en sv-ty sv-fr sv-sp sv-ry Hur kan de beskrivas? Ge konkreta exempel. Hur kan de tas om hand i maskinöversättningen?

Läs mer

HKGBB0, Artificiell intelligens

HKGBB0, Artificiell intelligens HKGBB0, Artificiell intelligens Kortfattade lösningsförslag till tentan 3 november 2005 Arne Jönsson 1. Vad karaktäriserar dagens AI-forskning jämfört med den AI-forskning som bedrevs perioden 1960-1985.

Läs mer

Ontologier. Cassandra Svensson 2014-01-09

Ontologier. Cassandra Svensson 2014-01-09 Ontologier Cassandra Svensson 2014-01-09 Sammanfattning Jag har läst Annika Flycht-Ericssons avhandling Design and Use of Ontoligies in information-providing Dialogue Systems. Med Annikas text som utgångspunkt

Läs mer

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping Fuzzy Logic När oskarpa definitioner blir kristallklara Linköpings Universitet Linköping Sammanfattning I denna fördjupningsuppgift har jag fokuserat på Fuzzy Logic och försökt att beskriva det på ett

Läs mer

Lösningsförslag till övningsuppgifter, del V

Lösningsförslag till övningsuppgifter, del V Lösningsförslag till övningsuppgifter, del V Obs! Preliminär version! Ö.1. (a) Vi kan lösa uppgiften genom att helt enkelt räkna ut avståndet mellan vart och ett av de ( 7 ) = 1 paren. Först noterar vi

Läs mer

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit. 2D1432 Artificiella Neuronnät och andra lärande system Lösningsförslag till Tentamen 2003-03-06 Inga hjälpmedel. Uppgift 1 Vilka av följande påståenden är sanna? Korrigera de som är fel. 1. Potentialen

Läs mer

Registerforskning Oktober 2018, Stockholm City Conference Centre. Möjligheter med Artificiell Intelligens inom registerforskningen

Registerforskning Oktober 2018, Stockholm City Conference Centre. Möjligheter med Artificiell Intelligens inom registerforskningen Registerforskning 2018 17 Oktober 2018, Stockholm City Conference Centre Möjligheter med Artificiell Intelligens inom registerforskningen Peter Funk Mälardalens Högskola Vem är Peter Funk? Artificiell

Läs mer

Korpusbaserad Maskinöversättning

Korpusbaserad Maskinöversättning Linköpings Universitet Institutionen för Datavetenskap Artificiell Intelligens, HKGBB0, HT 2002 Korpusbaserad Maskinöversättning Anna Hillertz KogVet 3, fack14 annhi662@student.liu.se 1 Innehållsförteckning

Läs mer

Kandidatuppsats. Jämförelse mellan neurala nätverk baserad AI och state-of-the-art AI i racing spel. Simon Karlsson, Christopher Jensen

Kandidatuppsats. Jämförelse mellan neurala nätverk baserad AI och state-of-the-art AI i racing spel. Simon Karlsson, Christopher Jensen Kandidatuppsats Jämförelse mellan neurala nätverk baserad AI och state-of-the-art AI i racing spel Simon Karlsson, Christopher Jensen Sammanfattning Denna rapport jämför prestandan mellan state-of-the-art

Läs mer

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4 Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa

Läs mer

Inlärning utan övervakning

Inlärning utan övervakning Översikt Biologiska mekanismer bakom inlärning Inlärning utan övervakning Inlärning utan övervakning Hebbiansk modellinlärning Självorganisering Arbetsfördelning mellan noder i ett lager som utvecklas

Läs mer

2012-05-10. Mekaniskt lexikon, patenterat av George Artsrouni på tidigt 1930 tal Perforerade pappersband och avläsningsnockar 1 ord per 3 sekunder

2012-05-10. Mekaniskt lexikon, patenterat av George Artsrouni på tidigt 1930 tal Perforerade pappersband och avläsningsnockar 1 ord per 3 sekunder Mekaniskt lexikon, patenterat av George Artsrouni på tidigt 1930 tal Perforerade pappersband och avläsningsnockar 1 ord per 3 sekunder 1 Leibniz, tidigt 1600 tal Descartes, tidigt 1600 tal Petr Smirnov

Läs mer

Statistisk maskinöversättning

Statistisk maskinöversättning Statistisk maskinöversättning Åsa Holmqvist Asaho232 Artificiell Intelligens 729G43 Innehållsförteckning Introduktion... 1 Maskinöversättningens historia.... 1 Statistisk metod... 3 Brusiga kanalen....

Läs mer

Shakey s värld med HTNplanering

Shakey s värld med HTNplanering Shakey s värld med HTNplanering 2010-10-03 Artificiell Intelligens 2, 729G11 Maria Lindqvist Fördjupningsarbete, HT 2010 880913-0506 Linköpings Universitet marli314 2 Innehållsförteckning Inledning...

Läs mer

TDDB96 Projekt: Object priming med visuell stimuli

TDDB96 Projekt: Object priming med visuell stimuli TDDB96 Projekt: Object priming med visuell stimuli Daniel Johansson danjo133@student.liu.se Rickard Jonsson ricjo400@student.liu.se 1. Sammanfattning Vad vi ville komma fram till i denna studie var huruvida

Läs mer

Omvärldsbevakning. Sammanfattning av Business Intelligence-kursen. Nyhetsarkiv och källork. Hämta webbnyheter. Modeller över texter

Omvärldsbevakning. Sammanfattning av Business Intelligence-kursen. Nyhetsarkiv och källork. Hämta webbnyheter. Modeller över texter Sammanfattning av Business Intelligence-kursen Hercules Dalianis DSV-SU-KTH e-post:hercules@kth.se Omvärldsbevakning Påverkan från omvärlden Påverka omvärlden Tidigare långsam spridning papperstidningar,

Läs mer

Google Assistant & WaveNet

Google Assistant & WaveNet Google Assistant & WaveNet Projektrapport om CNN Maja Albrektson 27/12 17 Linköpings universitet 729G43, Artificiell Intelligens 0 SAMMANFATTNING Denna rapport beskriver WaveNet, en generativ modell av

Läs mer

Pre-editering och maskinöversättning. Convertus AB

Pre-editering och maskinöversättning. Convertus AB Pre-editering och maskinöversättning Bakgrund Convertus roll i DigInclude är att utveckla och tillhandahålla översättningstjänster för översättning av användarorienterad myndighetsinformation Översättning

Läs mer

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost.

3) Routern kontrollerar nu om destinationen återfinns i Routingtabellen av för att se om det finns en väg (route) till denna remote ost. Routingprocessen Vid kommunikation mellan datorer måste de känna till var och hur de skall skicka paketen, om de datorer som ska kommunicera ligger på samma IP-nät är det ju inget problem. Men är det så

Läs mer

Algoritmer och maskininlärning

Algoritmer och maskininlärning Algoritmer och maskininlärning Olof Mogren Chalmers tekniska högskola 2016 De här företagen vill Tjäna pengar Hitta mönster i stora datamängder Göra förutsägelser Klassificera data Förstå människan Maskininlärning

Läs mer

1 De fyra fundamentala underrummen till en matris

1 De fyra fundamentala underrummen till en matris Krister Svanberg, mars 2012 1 De fyra fundamentala underrummen till en matris 1.1 Definition av underrum En given delmängd M av IR n säges vara ett underrum i IR n om följande gäller: För varje v 1 M,

Läs mer

Gränssnitt för FakeGranska. Lars Mattsson

Gränssnitt för FakeGranska. Lars Mattsson Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken

Läs mer

Ett urval D/A- och A/D-omvandlare

Ett urval D/A- och A/D-omvandlare Ett urval D/A- och A/D-omvandlare Om man vill ansluta en mikrodator (eller annan digital krets) till sensorer och givare så är det inga problem så länge givarna själva är digitala. Strömbrytare, reläer

Läs mer

Ett Neuralt Nätverk Tittar På Kläder

Ett Neuralt Nätverk Tittar På Kläder [Skriv här] [Skriv här] [Skriv här] 2019 Ett Neuralt Nätverk Tittar På Kläder ETT KONVOLUTIONELLT NEURALT NÄTVERK KATEGORISERAR FASHION MNIST DATASETET WILHELM BRODIN, WILBR797 1.1 Inledning En människas

Läs mer

med hjälp av Deep Reinforcement Learning

med hjälp av Deep Reinforcement Learning Agent som kan spela Atarispel bättre än människor med hjälp av Deep Reinforcement Learning Sofie Adolfsson, sofad117@student.liu.se Artificiell Intelligens Linköpings Universitet 2017-01-12 SofieAdolfsson

Läs mer

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator Viktiga begrepp Den här ordlistan är till för dig som går kursen Om Programmering. Eftersom detta är en grundläggande kurs har vi i vissa fall gjort en del förenklingar. En del begrepp är svåra att förenkla,

Läs mer

Projekt i språkteknologi Projektförslag Johanna Karlsson joka1954

Projekt i språkteknologi Projektförslag Johanna Karlsson joka1954 Projekt i språkteknologi Projektförslag Johanna Karlsson 870411-7129 joka1954 1. Inledning Opus är en växande parallell korpus med data från många olika språk (Tiedemann, 2009). Data som finns i OPUS i

Läs mer

Likhetstecknets innebörd

Likhetstecknets innebörd Modul: Algebra Del 5: Algebra som språk Likhetstecknets innebörd Följande av Görel Sterner (2012) översatta och bearbetade text bygger på boken: Carpenter, T. P., Franke, M. L. & Levi, L. (2003). Thinking

Läs mer

1 Minkostnadsflödesproblem i nätverk

1 Minkostnadsflödesproblem i nätverk Krister Svanberg, april 2012 1 Minkostnadsflödesproblem i nätverk Ett nätverk består av en given mängd noder numrerade från 1 till m (där m är antalet noder) samt en given mängd riktade bågar mellan vissa

Läs mer

SHAZAM! En!smart!musiktjänst! Linha108! Fördjupningsarbete!729G43!

SHAZAM! En!smart!musiktjänst! Linha108! Fördjupningsarbete!729G43! SHAZAM Ensmartmusiktjänst Linha108 Fördjupningsarbete729G43 Sammanfattning Shazam är en musiktjänst som genom en sökalgoritm kan känna igen ljud och returnera låt och artist till användaren. Detta sker

Läs mer

Hierarchical Temporal Memory Maskininlärning

Hierarchical Temporal Memory Maskininlärning Hierarchical Temporal Memory Maskininlärning Innehåll Sammanfattning... 3 Inledning... 4 Vad är HTM?... 4 Hur fungerar HTM?... 4 Hierarchical... 4 Temporal... 5 Memory... 5 Hitta orsaker i världen... 5

Läs mer

Minnesisolering för virtuella maskiner en hypervisorstudie

Minnesisolering för virtuella maskiner en hypervisorstudie 1.Introduktion 1.1 Inledning Den senaste trenden inom IT-världen är cloud computing (molntjänster). Molntjänster har uppnått stor popularitet både hos IT-chefer och ekonomichefer inom stora företag. Molntjänster

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten. OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Talsystem Teori. Vad är talsystem? Av Johan Johansson Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska

Läs mer

International Olympiad in Informatics 2011 22 29 July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor

International Olympiad in Informatics 2011 22 29 July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor Papegojor Yanee är fågelentusiast. Sedan hon läst om IP over Avian Carriers (IPoAC), har hon spenderat mycket tid med att träna en flock papegojor att leverera meddelanden över långa avstånd. Yanees dröm

Läs mer

Personifierad Netflix

Personifierad Netflix Linköpings universitet Personifierad Netflix Lisa Rönnqvist 2016-08-24 Sammanfattning INNEHÅLLSFÖRTECKNING 1. Inledning... 1 1.1 Bakgrund... 1 1.2 Syfte... 2 2. Netflix... Fel! Bokmärket är inte definierat.

Läs mer

MVE022 Urval av bevis (på svenska)

MVE022 Urval av bevis (på svenska) MVE22 Urval av bevis (på svenska) J A S, VT 218 Sats 1 (Lay: Theorem 7, Section 2.2.) 1. En n n-matris A är inverterbar precis när den är radekvivalent med indentitesmatrisen I n. 2. När så är fallet gäller

Läs mer

Optimering av hyperparametrar till artificiella neurala nätverk med genetiska algoritmer.

Optimering av hyperparametrar till artificiella neurala nätverk med genetiska algoritmer. Optimering av hyperparametrar till artificiella neurala nätverk med genetiska algoritmer. Simon Stensson Juni 6, 2016 Abstract This master thesis explores the feasibility of using genetic algorithms in

Läs mer

Programmering som språk

Programmering som språk Matematik Grundskola årskurs 1-3 Modul: Algebra, åk 1-3 Del 5: Algebra och programmering som språk Programmering som språk Constanta Olteanu och Lucian Olteanu, Linnéuniversitetet Att arbeta med programmering

Läs mer

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581 Fuzzy logic 880328-2535 Innehåll Fuzzy logic... 1 1. Inledning... 4 2. Jämförelse mellan fuzzy logic och tvåvärdeslogik.... 4 3. Fuzzy sets.... 4 4. Linvistiska variabler... 5 5. Operatorer... 5 6. If-

Läs mer

Anujan Balasingam IDA14 NAND flashminnen

Anujan Balasingam IDA14 NAND flashminnen Anujan Balasingam IDA14 NAND flashminnen Hur kan prestandan och kapaciteten förbättras? Kursansvarig: Erik Larsson Datorarkitektur med operativsystem 7,5 hp 04-12-2015 Innehållsförteckning 1. Inledning...

Läs mer

Vad behövs för att skapa en tillståndsrymd?

Vad behövs för att skapa en tillståndsrymd? OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Likhetstecknets innebörd

Likhetstecknets innebörd Likhetstecknets innebörd Följande av Görel Sterner översatta och bearbetade text bygger på boken: arithmetic & algebra in elementary school. Portsmouth: Heinemann Elever i åk 1 6 fick följande uppgift:

Läs mer

Maskinöversättning 2008

Maskinöversättning 2008 Maskinöversättning 2008 F4 Översättningsstrategier, forts + Återanvändning av översättning LABEL byta SOURCE =byta.vb.1 TARGET =change.vb.1 TRANSFER LABEL byta-filter SOURCE

Läs mer

Liswi948, Lisa Widerberg, liswi948 Fördjupningsarbete Linköpings Universitet 729G43, Artificiell Intelligens

Liswi948, Lisa Widerberg, liswi948 Fördjupningsarbete Linköpings Universitet 729G43, Artificiell Intelligens Lisa Widerberg, liswi948 Fördjupningsarbete Linköpings Universitet 729G43, Artificiell Intelligens 2018-01-11 Innehållsförteckning 1 Inledning 1 1.1 Bakgrund 1 1.2 Bilder som tredimensionella matriser

Läs mer

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M TANA21+22/ 5 juli 2016 LAB 1. FELANALYS 1 Inledning I laborationerna används matrishanteringsprogrammet MATLAB. som genomgående använder dubbel precision vid beräkningarna. 1.1 Innehåll Du ska 1. bestämma

Läs mer

Artificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?)

Artificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?) Artificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?) 1.a November 2011 Innan vi börjar R.I.P. John McCarthy (1924 2011) Grundare av ämnet artificiell

Läs mer

Kinesiska restsatsen

Kinesiska restsatsen Matematik, KTH Bengt Ek juli 2017 Material till kurserna SF1679 och SF1688, Diskret matematik: Kinesiska restsatsen Vi vet att för varje m Z + och varje a Z, ges alla x Z som uppfyller x a (mod m) av x

Läs mer

Några satser ur talteorin

Några satser ur talteorin Några satser ur talteorin LCB 997/2000 Fermats, Eulers och Wilsons satser Vi skall studera några klassiska satser i talteori, vilka är av betydelse bland annat i kodningsteknik och kryptoteknik. De kan

Läs mer

TAMS79: Föreläsning 10 Markovkedjor

TAMS79: Föreläsning 10 Markovkedjor TAMS79: Föreläsning 0 Markovkedjor Johan Thim december 08 0. Markovkedjor Vi ska nu betrakta en speciell tidsdiskret diskret stokastisk process, nämligen Markovkedjan. Vi börjar med en definition Definition.

Läs mer

BILAGA E till Programvaruprojekt ÅTERSTÅENDE PROBLEM MultiPC v1.0. Innehållsförteckning

BILAGA E till Programvaruprojekt ÅTERSTÅENDE PROBLEM MultiPC v1.0. Innehållsförteckning ÅTERSTÅENDE PROBLEM MultiPC v1.0 Rev 7 1(7) BILAGA E till Programvaruprojekt ÅTERSTÅENDE PROBLEM MultiPC v1.0 Här listas problem som kan behöva hanteras i kommande inkrement. De prioriteras alltså ner

Läs mer

Innehåll. Förord... 7. Inledning... 11. Tack... 195 Vidare läsning... 197 Illustrationer... 203 Register... 205. kapitel 1 Ursprung...

Innehåll. Förord... 7. Inledning... 11. Tack... 195 Vidare läsning... 197 Illustrationer... 203 Register... 205. kapitel 1 Ursprung... Innehåll Förord.... 7 Inledning.... 11 kapitel 1 Ursprung... 13 kapitel 2 Evolution.... 21 kapitel 3 Upptäckt... 33 kapitel 4 Miljö och civilisation... 49 kapitel 5 Bakteriell patogenes... 69 kapitel 6

Läs mer

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration

Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration 10 februari 2017 Matematisk analys för ingenjörer Matlabövning 2 Numerisk ekvationslösning och integration Syfte med övningen: Introduktion till ett par numeriska metoder för lösning av ekvationer respektive

Läs mer

Vad kan biologiskt plausibla modeller säga oss?

Vad kan biologiskt plausibla modeller säga oss? Förra föreläsningen Vad kan biologiskt plausibla modeller säga oss? Beräkningsmässig kognitiv neurovetenskap Simulering av modeller kan ge insikt i mänskligt tänkande Kognitiva fenomen Simulering beräkningsprinciper

Läs mer

Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter Laura Enflo & Giampiero Salvi

Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter Laura Enflo & Giampiero Salvi Kompletterande räkneuppgifter i Spektrala Transformer Komplex analys, sampling, kvantisering, serier och filter & Giampiero Salvi Komplex analys Om man endast använder den reella tallinjen är det inte

Läs mer

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 2014. Block 5, översikt

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 2014. Block 5, översikt MATEMATIK GU H4 LLMA6 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht 24 I block 5 ingår följande avsnitt i Stewart: Kapitel 2, utom avsnitt 2.4 och 2.6; kapitel 4. Block 5, översikt Första delen av block 5

Läs mer

Designmönster som dokumentation och utveckling av IKT i undervisningen

Designmönster som dokumentation och utveckling av IKT i undervisningen Digitalisering Grundskola och gymnasieskola Modul: Leda och lära i tekniktäta klassrum Del 6: Att arbeta med designmönster Designmönster som dokumentation och utveckling av IT i undervisningen Robert Ramberg

Läs mer

FUZZY LOGIC. Christopher Palm chrpa087

FUZZY LOGIC. Christopher Palm chrpa087 FUZZY LOGIC 900223-1554 Innehållsförteckning INLEDNING...2 HUR DET FUNGERAR...3 Crisp Sets och Fuzzy Sets...3 Operatorer...5 IF THEN regler...7 FUZZY INFERENCE...7 Fuzzification...8 Regelsättning...8

Läs mer

Tentamen. Makroekonomi NA juni 2013 Skrivtid 4 timmar.

Tentamen. Makroekonomi NA juni 2013 Skrivtid 4 timmar. Jag har svarat på följande fyra frågor: 1 2 3 4 5 6 Min kod: Institutionen för ekonomi Rob Hart Tentamen Makroekonomi NA0133 5 juni 2013 Skrivtid 4 timmar. Regler Svara på 4 frågor. (Vid svar på fler än

Läs mer

LYCKA TILL! kl 8 13

LYCKA TILL! kl 8 13 LUNDS TEKNISK HÖGSKOL MTEMTIK TENTMENSSKRIVNING Linjär algebra 0 0 kl 8 3 ING HJÄLPMEDEL Förklara dina beteckningar och motivera lösningarna väl Om inget annat anges är koordinatsystemen ortonormerade

Läs mer

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis

Läs mer

Artificiell Intelligens den nya superkraften

Artificiell Intelligens den nya superkraften Artificiell Intelligens den nya superkraften Socialchefsdagarna, 4 oktober 2018 #CGINext Artificiell Intelligens Förmågan hos mjukvara att agera självständigt på ett intelligent sätt tidigare bara associerat

Läs mer

Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät

Enlagersnät Flerlagersnät Generalisering. Artificiella Neuronnät Artificiella Neuronnät 1 Karaktäristiska egenskaper Användningsområden Klassiska exempel Biologisk bakgrund 2 Begränsningar Träning av enlagersnät 3 Möjliga avbildningar Backprop algoritmen Praktiska problem

Läs mer

Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens

Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens Perceptron som ordklasstaggare: ett fördjupningsarbete i 729G43 -Artificiell Intelligens Niklas Blomstrand Linköpings Universitet Inledning Att veta vilken ordklass ett ord tillhör är en viktig del i bearbetning

Läs mer

Nonogram

Nonogram Nonogram. Vad är nonogram? Nonogram är små enkla men fascinerande pyssel som ursprungligen kommer från Japan. De har också givits ut i söndagsbilagan i engelska dagstidningar under flera år. Idén bakom

Läs mer

LARS ULVELAND HOPFIELDNÄTVERK FÖR IGENKÄNNING AV DEGRADERADE BILDER OCH HANDSKRIVNA TECKEN

LARS ULVELAND HOPFIELDNÄTVERK FÖR IGENKÄNNING AV DEGRADERADE BILDER OCH HANDSKRIVNA TECKEN LARS ULVELAD HOPFIELDÄTVERK FÖR IGEKÄIG AV DEGRADERADE BILDER OCH HADSKRIVA TECKE E PROJEKTRAPPORT FÖR PROJEKTKURSE I BILDAALYS HT 02 Teori för Hopfieldnätverk Hopfieldmodellen är en typ av neuronnät,

Läs mer

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen:

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen: Modul: Algebra Del 8: Avslutande reflektion och utvärdering Distributiva lagen Cecilia Kilhamn, Göteborgs Universitet Distributiva lagen a (b + c) = a b + a c Den distributiva lagen kallas den räknelag

Läs mer

Deliberate Practice på en kurs i kvantmekanik. Emma Wikberg (& Stefano Bonetti) Fysikum, SU

Deliberate Practice på en kurs i kvantmekanik. Emma Wikberg (& Stefano Bonetti) Fysikum, SU Deliberate Practice på en kurs i kvantmekanik Emma Wikberg (& Stefano Bonetti) Fysikum, SU Generella principer Aktiv träning + feedback = effektiv inlärning Utnyttja klassrumstiden till problemlösning,

Läs mer

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...

Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... 4 Bussen (projektförslag)... 5 Bakgrund... 5 Klassen Buss

Läs mer

Kihl & Andersson: , 4.5 Stallings: , , (7.3)

Kihl & Andersson: , 4.5 Stallings: , , (7.3) Kihl & Andersson: 4.1-4.3, 4.5 Stallings: 6.1-6.5, 7.1-7.2, (7.3) (eller digital signal) Om en sändare bara skickar en bitström över länken skulle mottagaren ha väldigt svårt för att tolka datan. Det krävs

Läs mer

Kristian Almgren Artificiell Intelligens Linköpings Universitet 2011. Talstyrning

Kristian Almgren Artificiell Intelligens Linköpings Universitet 2011. Talstyrning Talstyrning Abstrakt Talstyrning är en teknik som gör det möjligt för oss människor att mer eller mindre verbalt kommunicera med en dator eller ett system. Det här är ett tillvägagångssätt inom AI och

Läs mer

Cake-cutting. att fördela resurser på ett rättvist sätt. Ebba Lindström

Cake-cutting. att fördela resurser på ett rättvist sätt. Ebba Lindström Cake-cutting att fördela resurser på ett rättvist sätt Ebba Lindström Innehållsförteckning Inledning 3 Utility Theory 3 Orderability 4 Transitivity 4 Continuity 4 Monotonicity 5 Decomposability 5 Cake-cutting

Läs mer