Att programmera en Beethoven

Storlek: px
Starta visningen från sidan:

Download "Att programmera en Beethoven"

Transkript

1 Linköpings universitet Att programmera en Beethoven Fördjupning inom Neurala nätverk och LSTM

2 Innehåll 1 Inledning- Musik och artificiell intelligens Historia Bakgrund AIVA Förstå Artificiella neurala nätverk Noder och aktiveringsfunktion Nätverk i lager Feedforward Gradient och backpropagation Fördjupning i Artificiella Neurala Nätverk Recurrent Neural Network Backpropagation through time Vanishing gradient problem LSTM Diskussion om LSTM och musik Referenser

3 1 Inledning- Musik och artificiell intelligens Beethoven, Mozart, Bach, Chopin, Vivaldi och Sibelius. Listan på kända klassiska kompositörer kan göras ännu längre. Gemensamt för samtliga är att de skrivit musikstycken som är kända världen över än idag långt efter att de är döda. Enligt Rader (1974) är det få som motsätter sig ståndpunkten att det är omöjligt för en maskin att skapa något estetiskt tilltalande, gällande såväl musik som konst eller poesi. Han påpekar även att endast ett fåtal människor lyckats med detta. En grundläggande del i detta är att estetisk konst av olika former kräver både medveten och omedveten bearbetning, och sedan ett sätt att kombinera dessa två. Vidare skriver Rader om hur mening i musik kan definieras på olika nivåer, det finns exempelvis mönster i musik som generellt bygger på regler som återfinns inom musikteori men även kulturella aspekter. Han menar på att om dessa kulturella aspekter kan definieras till mönster likt inom musikteorin skulle det inte vara en omöjlighet för en maskin att komponera musik som är estetiskt tilltalande. Ungefär 40 år efter Raders arbete, år 2016 kom skivan Genesis ut, innehållande klassisk musik i form av såväl symfonier som pianostycken. Kompositören AIVA (Artificial Intelligence Virtual Artist) är en algoritm, inte en levande människa. Skaparna av kompositören hävdar att AIVA lärt sig den emotionella konsten att komponera musik, något som tidigare ansetts vara en unik mänsklig förmåga (Kaleagasi, 2017). 1.1 Historia Det finns ett antal olika tekniker inom artificiell intelligens (AI) för att skapa musik. Det första som användes var matematiska modeller såsom Markovmodeller där musikkompositionen baserades på sannolikhet och delades upp i mindre delar, vilket bland annat ledde till svårheter att fånga olika stilar i skrivandet. Kunskapsbaserade system har även varit ett alternativ, men dessa system har svårigheter att skapa en kunskapsbas baserad på musikens subjektivitet. Dessutom gav detta upphov till enformig musik då undantag för musikens regler var svåra att lägga till i kunskapsbasen (Papadopoulos & Wiggins, 1999). Genetiska algoritmer har använts flitigt inom området, och ofta resulterat i godtagbara resultat av utvecklarna, men inte optimala. Problemet med dessa system är hur utvärderingsfunktionen ska fungera för musik, och vissa har använt sig av en människa som utvärderat och sedan valt det bästa alternativet efter att ha hört olika generationers produktioner (Holland, 1992). 2

4 Maskininlärning och neurala nätverk har också använts för att komponera musik, dessa har tränats på musik och den kunskap som systemet fått utifrån träningen har sedan använts för att skapa ny musik (Papadopoulos & Wiggins, 1999). 1.2 Bakgrund AIVA AIVA är ett artificiellt neuralt nätverk med flera dolda lager och har tränats med musikstycken från klassiska kända kompositörer som input (Kaleagasi, 2017). Det finns olika slags neurala nätverk, AIVA är ny och det finns ännu inga offentliga publikationer om tekniken, exakt funktion eller detaljbeskrivningar av metoder. Efter kontakt med utvecklarna rekommenderades jag att undersöka LSTM (long short term memory) för att förstå tekniken bakom AIVA, då det är den typen av neuralt nätverk som används. LSTM är svårare att förstå än andra neurala nätverk, då det är mer komplext, detta innebär att det är fördelaktigt att först skaffa en uppfattning och förståelse om de enklare varianterna innan man sätter sig in i hur ett LSTM-nätverk fungerar. 2 Förstå Artificiella neurala nätverk 2.1 Noder och aktiveringsfunktion Artificiella neurala nätverk (ANN) baseras på den kunskap som finns om hur den mänskliga hjärnan fungerar med neuroner som är sammanlänkade och skickar aktiveringssignaler mellan varandra. Bermúdez (2014) skriver att en neuron i människans hjärna aktiveras om den inkommande signalen är tillräckligt stark, olika neuroner behöver olika starka signaler för att aktiveras. ANN består av noder istället för neuroner, men principen i hur de fungerar är liknande. Noden får input (en eller flera inputsignaler) som summeras och används av en aktiveringsfunktion som påverkar vad outputen blir, aktiveringsfunktionen kan se olika ut beroende på hur man vill hantera inputen till noden. Varje länk till eller från en nod har numeriska vikter kopplade till sig som kan sammanfattas i en viktmatris, vikterna är avgörande för hur kopplingen mellan noder fungerar. Det är dessa vikter som summeras som input till noden, ett extra värde läggs till (bias), för att förskjuta den totala summan och fungerar som en förankringsbias för att nätet enklare ska hitta en lösning. Viktmatriserna multipliceras med varandra, den nuvarande nodens matris med matrisen från det tidigare lagret av noder, alltså sker många uträkningar men oftast representeras inte alla dessa i en 3

5 visuell modell av nätverket. Nedan i bild 1 visas hur en nod i ett nätverk fungerar med tre olika input till noden x4. Bild 1. Visar hur en nod är uppbyggd, vad för information som bearbetas och vilka uträkningar som sker. Det finns olika aktiveringsfunktioner som används beroende på vad målet med nätet är vilket också tas upp av Bermúdez (2014). Alla aktiveringsfunktioner går att representera matematiskt och kan därmed hantera de siffor som representerar vikterna som ges genom input. Aktiveringsfunktionen kan innebära att ju högre summa inputen genererar desto större blir nodens output. En annan aktiveringsfunktion kan innehålla ett tröskelvärde, om summeringen av inputen överstiger tröskelvärdet genererar noden en outputsignal. En sigmoidfunktion är icke-linjär och har ett intervall där outputen är som störst, ligger summeringen utanför detta intervall är outputen lägre. Binärt tröskelvärde är liknande vanligt tröskelvärde med det undantag att det finns en övre gräns, om värdet överstiger den gränsen resulterar det i att ingen output genereras. För att exemplifiera hur output från en nod kan se ut beroende av input kan Booleska funktioner användas. För en nod som hanterar detta är inputen antingen siffran 1 eller siffran 0, där 1 står för sant och 0 för falskt (Bermúdez, 2014). Dessa värden kan kombineras i en sanningstabell (se tabell 1) för att få en överblick över vad för output som blir resultatet beroende på input. 4

6 Input 1 Input 2 Input 1 + Input 2 (output) Tabell 1. Sanningstabell för en nod där Booleska funktioner används, som adderar två inputs och visar vilken output som genereras. 2.2 Nätverk i lager Artificiella neurala nätverk (ANN) består av flera noder som är sammankopplade i lager, ett lager innebär n antal noder som har förbindelser till ett annat lager. Förbindelserna kan vara mellan samtliga noder mellan lagren, dvs att en nod har kopplingar till samtliga i nästa lager. Förbindelserna kan även vara delvisa, att en nod har kopplingar endast till vissa noder i nästa lager. Artificiella neurala nätverk med ett lager kallas för perceptroner, alltså består perceptronen av inputlager och en förbindelse från dessa till outputlager. (Malmgren, 2001) Övervakad inlärning av ANN innebär att det finns ett givet svar som outputen bör resultera i, oftast presenteras detta i och med exempel för nätverket. Varje gång nätverket producerar en icke tillfredställande output får det feedback på detta. Anledningen till att output inte är den önskade är att det finns ett fel i vikterna, bias eller tröskelvärden från inputen till outputlagret. Detta innebär i en perceptron att felet ligger i inputen och i ett nätverk med flera lager kan felet ligga i de dolda lagren (mer om detta i senare stycken). Nätverket behöver vid fel ändra på vikterna, bias eller tröskelvärdet för att minimera felet. När nätverket ändrat dessa komponenter så att den rätta outputen alltid genereras är det fullärt (Bermúdez, 2014). Perceptroner tränas generellt enligt följande om Booleska funktioner används: är outputen rätt ändras ingenting, är outputen 1 men förväntas vara 0 bör vikterna sänkas, är outputen 0 men förväntas vara 1 bör vikterna ökas. Principen är densamma för nätverk med fler lager och även där Booleska funktioner inte används. Hur mycket vikterna 5

7 justeras bestäms av den förutbestämda inlärningsvariabeln, som definierar i vilken takt inlärningen sker (Malmgren, 2001). Oövervakad inlärning är istället när nätverket själv får hitta mönster i input utan någon form av feedback, vanligast är att det grupperar inputen och sedan genererar denna gruppering som output (Russell & Norvig, 2014). Perceptroner kan tränas till att lösa linjärt separerbara problem. Detta är ett problem där en rät linje kan dras i ett koordinatsystem (se bild 2) för att skilja på den input av sanningsvärdeskombination som genererar sant respektive falskt som output (Bermúdez, 2014). Bild 2. Visar ett linjärt separerbart problem baserat på tabell 1 i ett koordinatsystem. Det finns dock problem som inte är linjärt separerbara och därmed inte kan lösas av perceptroner med ett lager. Lösningen på detta är nätverk med flera lager, med så kallade dolda lager som finns mellan input- och outputlagren, nätverken kan ha ett eller flera dolda lager vars input ges endast av själva nätverket och inte av kringliggande faktorer. Noderna i varje lager är generellt oberoende av varandra och förbinder endast med noder från andra lager (Bermúdez, 2014) Feedforward De flesta artificiella neurala nätverk är så kallade Feedforwardnät. Bermúdez (2014)skriver att detta innebär att aktiveringen endast sker framåt i nätet och inte mellan noder i samma lager eller tillbaka till noder i ett tidigare lager. Principen i nätverk med flera lager, så som feedforward, är att när en nod aktiveras skickas signaler till alla noder som det finns förbindelser till i nästa lager. Vad för signaler som skickas mellan noder beror på vikten i 6

8 förbindelsen och aktiveringsfunktionen. Noder i denna form av nätverk fungerar precis som tidigare beskrivet, i de dolda lagren är det den sammanlagda inputen från tidigare lager som summeras, dessa används av aktiveringsfunktionen och signalen skickas vidare till nästa lager. På samma sätt sker det oavsett antalet lager, fram till signalen når outputlagret då output genereas, detta visas i bild 3. Bild 3. Visar ett feedforwardnätverk med tre lager, ett för input, ett dolt och ett för output och hur noderna i lagren hänger ihop Gradient och backpropagation För att träna ett nätverk behöver man använda sig av regler för hur fel ska hittas. Russell och Norvig (2014) skriver om detta och förklarar att för att veta ifall outputen är tillfredställande eller inte behövs en felfunktion som räknar ut hur långt ifrån det förväntade svaret är i jämförelse med det som genereras vid output. Är det inte tillfredställande, det vill säga att skillnaden är för stor, vill man justera vikterna i nätet. Detta sker i feedforwardnät genom backpropagation. För att göra detta behöver man beräkna gradienten genom att göra en gradientsökning. Gradienten som räknas ut med hjälp av en deriveringsfunktion för att beräkna tangenten i den punkt θ man befinner sig. Detta berättar åt vilket håll lösningen ska sökas, nätverket söker i den motsatta riktningen av tangenten. Är tangentens lutning positivt bör värdet på θ minskas, är den negativ bör värdet på θ ökas. Ritas detta upp i en graf (vilket illustreras i bild 4) ser man hur sökningen sker mot den lokala min/maxpunkten. En bestämd steglängd avgör hur stora steg sökningen ska använda sig av, denna steglängd kan även vara en faktor som påverkar hur väl inlärningen för ett ANN fungerar. 7

9 Bild 4. Visar hur en gradientsökning antar olika värden för att närma sig en lösning. Gradientsökning appliceras sedan på nätverkets vikter för att justera dem. För alla ANN som använder sig av gradientsökning kan man applicera backpropagation för att träna nätet. Detta innebär att man börjar bakifrån i nätet, det vill säga från outputlagret och tillbaka mot inputlagret. Felet för de sista lagren i nätverket beräknas alltså först tillsammans med gradienten varpå det lagret uppdateras, och sedan stegar man bakåt i nätet med samma operationer tills man nått det första lagret och alla vikter är justerade (Russell & Norvig, 2014). 3 Fördjupning i Artificiella Neurala Nätverk 3.1 Recurrent Neural Network Recurrent neural network (RNN) är en form av av ANN kan skicka tillbaka signaler genom nätet. Raval (2017) beskriver hur detta innebär att systemet är dynamiskt och det är svårt att förutsäga vilket läge det kommer befinna sig i vid olika tidpunkter. Man kan se ett RNN, och även andra ANN matematiskt som en stor funktion med flera nästlade funktioner inuti. Skillnaden på feedforwardnätverk och RNN modellmässigt är att RNN har en tredje viktmatris i och med att det hanterar tillstånd för de dolda noderna utöver de vanliga 8

10 matriserna. De viktmatriser som finns är inputlagret till dolda lagret, dolda lagret till outputlagret men även dolt lager till dolt lager. Att använda sig av tillstånd gör det möjligt för nätverket att komma ihåg allt som skett i nätverket och inte bara det som varit precis innan. Detta leder till en viktig del i RNN, att de har perspektiv på tid, och att alla tillstånd även innehåller en tidpunkt. Detta innebär att nätet kan hantera input med hänsyn till att det innehåller olika sekvenser, som exempelvis filmer eller texter där en historia berättas som sekvenser genom tiden (Raval, 2017). Nätets resultat beror också av ursprungstillståndet som nätverket befinner sig i när input ges, detta kan exempelvis vara beroende av tidigare data som nätverket hanterat. Detta innebär att nätverket bland annat kan hantera information på ett sätt som kan liknas vid korttidsminne (Russell & Norvig, 2014). Deeplearning 4j development team (2017) förklarar ytterligare hur nätverket har noder som tar både vanlig input men även input från vad som hänt tidigare i nätverket, inputen vid tidpunkten t tar alltså även input från de tillstånd som fanns i tidpunkten t 1. RNN kan hantera information genom att behandla den sekventiellt, den sekventiella informationen sparas i och cirkulerar inom dolda lager i nätverket. Detta sätt att arbeta gör att nätverket kan hitta kopplingar mellan förekomster i olika tidpunkter, då informationen är del i en funktion av tidigare förekomster. Målet med nätverket är alltså att hantera sekventiell input, exempelvis filmer, böcker eller musik, som har en sekventiell ordning som är grundläggande för förståelse. Formeln i bild 5 illustrerar processen hur information sparas som minne och förs vidare i nätverket. h t = φ (Wx t + Uh t-1 ) Bild 5. Visar formel för hur minne förs vidare i RNN. I formeln ovan står t för den tidpunkt nätverket befinner sig i. ht representerar det dolda lagrets aktuella tillstånd. Xt är den aktuella inputen vid t. W är en viktmatrisen som anger de olika vikterna mellan noder, alltså i detta fall viktmatrisen för xt. ht-1 är det dolda lagrets tillstånd i den tidpunkt direkt före t som nätverket redan befunnit sig i. U representerar övergångsmatrisen för de dolda lagren. φ är i de flesta fall en sigmoidfunktion, men i vissa fall en tanh-funktion (förhållandet mellan de motsvarande hyperboliska sinus- och 9

11 hyperboliska cosinusfunktionerna). Viktmatrisen är viktig i sammanhanget då den fungerar som det element som avgör hur viktig både nuvarande och tidigare input är (Deeplearning4j Development Team, 2017). RNN kan verka komplicerat men bygger på en enkel princip och kan illustreras med bild 6. Bild 6. Visar en förenkling av hur information färdas genom ett RNN. Där x är input, o är output och t är tidpunkten för nätet. Noderna innehållande RNN representerar samtliga dolda lager i nätverket Backpropagation through time I feedforwardnätverk funkar backpropagation genom att de fel som kan beräknas i outputen används för att sedan gå tillbaka i nätet steg för steg och justera vikterna genom att beräkna deras derivator. I backpropagation används kedjeregeln då lagren påverkar varandra. Rval (2017) menar att för att göra en backpropagation av RNN krävs det att ta hänsyn till tiden. Detta innebär att inkludera den tredje viktmatrisen. För att göra en förenkling av konceptet kan man, som nämnts tidigare, se på nätet som en funktion av ett antal nästlade funktioner. Dessa funktioner representerar noderna och hur de beror av andra noder. För att göra backpropagation används kedjeregeln då deriverar man dessa funktioner, samt de funktioner som finns nästlade i varandra. Derivatan från en nod, multipliceras med tidigare lagers derivata som multipliceras med tidigare lagers derivata tills man nått starten (Raval, 2017). Se exempel i bild 7. 10

12 f (x) = (g(h(x))) = g (h(x)) * h (x) ((3x + 1) 5 ) = 5(3x + 1) 4 * (3x + 1) Bild 7. Visar hur derivata beräknas i nästlade funktioner. Både som formel samt ett exempel med siffror. Backpropagation through time innebär alltså samma princip som vanlig backpropagation men med en tredje viktmatris inkluderad i beräkningarna Vanishing gradient problem Då man gör backpropagation på RNN finns det ett problem vilket påpekas av Raval (2017). Ju fler beräkningar man gör i nätverket desto mindre blir förändringen. Gradienten försvinner mer och mer i och med derivering och multiplicering tillsammans med sigmoidfunktionen. De lager närmast outputlagret kommer alltså att justeras mer än de lager som ligger närmare inputlagret där gradienten hunnit påverkats mycket mer (Raval, 2017). Detta är enkel matematik, där multiplikation med ett och samma tal gång på gång resulterar i en exponentiell ökning eller minskning. Genom att multiplicera med en sigmoidfunktion endast fyra gånger kan skillnaden i värde bli så pass liten att den resulterar i att den inte går att urskilja (Deeplearning4j Development Team, 2017). 3.2 LSTM För att eliminera vanishing gradient problem vill man enligt Raval (2017) kunna spara kvar sitt gradientvärde, komma ihåg det på något sätt. Lösningen på detta är att använda sig av LSTM, long-short-term-memory. LSTM-nätverk är densamma som RNN men noderna består av LSTM-celler. Dessa har en mer avancerad användning av matrisoperationer. Noderna har tre komponenter utöver cellens tillstånd och den vanliga input- och outputkomponenten. En extra komponent för input och en för output, men även en för att minnas/glömma. Med hjälp av dessa extra komponenter kan cellen/noden spara ner gradientvärdet och därmed eliminera vanishing gradient problem vid backpropagation. Utifrån dessa kan man även härleda varifrån namnet på cellen kommer ifrån då alla dessa fungerar på följande sätt. 11

13 12 Att programmera en Beethoven Cellens tillstånd kan liknas vid ett långtidsminne, i detta finns allt cellen tidigare lärt sig fram till den nuvarande tidpunkten. Utöver detta finns liksom i RNN tillståndet för det dolda lagret, vilket fungerar som en form av arbetsminne och bearbetar det som händer i den nuvarande tidpunkten. Komponenten för input avgör hur mycket information som ska gå vidare till cellens tillstånd, vad som ska sparas och inte. Outputkomponenten avgör vilken data som är viktig i det nuvarande tillståndet, vad som bör fokuseras på. Komponenten för att minnas eller glömma är binär och bestämmer om information som redan finns i cellen ska glömmas eller sparas (Raval, 2017). För de som är bekanta med hur minne modelleras hos människan går det att identifiera likheter mellan dessa processer och de i LSTM-cellen. Mer detaljerat hur en LSTM-cell fungerar är aningen komplicerat att förstå men görs av Raval (2017) enligt följande: de tre komponenterna input, output och glömma/minnas kallas för portar (eng. gate) och har alla egna vikter kopplade till sig, vilket gör att de även har olika viktmatriser som de använder. Dessa portar fungerar som noder i det avseende att de kan uppdateras och lära sig genom feedback från nätet. I RNN-nätet användes formeln ht = φ(wxt + Uht -1) för att visa hur information används i nätverket. I LSTM används istället ett flertal formler, då varje cell i sig är mer komplex än de noder som används i RNN. Ett sätt att tänka på LSTM-celler är att se dem som nätverk med ett lager, perceptroner. Alltså perceptroner som noder i ett RNN. Formlerna i en LSTM-cell är en för varje port som använder den input som ges, vidare använder cellen utfallet av dessa för att påverka hur cellen hanterar information (Raval, 2017). Följande formler är en förenklad variant av de som kan användas och som överensstämmer med hur Deeplearning 4j development team (2017) beskriver LSTM-celler. Minnas/glömma-porten: (1) ft = σ (Wfxt + Vfht-1 + bf) Input-porten: (2) it = σ (Wixt + Vfht-1 + bi) Output-porten: (3) ot = σ (Woxt + Vfht-1 + bo)

14 I dessa formeler representerar Ϭ en sigmoidfunktion, xt den nuvarande tidpunktens input, ht den nuvarande tidens output, W och V är viktmatriser och b är den bias som används. Alla funktioner är alltså uppbyggda på samma sätt men har olika bias beroende på vilken port de används i (Wikipedia, 2017). Formlerna ser alltså ut på följande sätt: en sigmoidfunktion tar in viktmatrisen för den nuvarande inputen adderat med viktmatrisen från elementet som är ett steg tillbaka i tidsintervallet och adderar en bias. Utöver dessa formeler finns även hur cellens tillstånd uppdateras enligt följande: (4) Ct = ft * ct -1 + it * σ c (Wcxt + Vcht -1 + bc ) Cellens tillstånd vid tiden t räknas alltså med hjälp av minnas/glömmaporten multiplicerat med det tidigare celltillståndet plus den totala inputen multiplicerat med en hyperbolisk tangentfunktion (Ϭc), ofta används tanh, för celltillståndet som är uppbyggd på samma sätt som portarnas funktioner (Wikipedia, 2017). Då minnas/glömmaporten är binär genereras alltså 1 eller 0, vilket innebär att celltillståndet antingen uppdateras eller blir lika med 0 i och med funktionen. Output från cellen räknas sedan enligt följande: (5) ht = ot * σ c(ct) Den totala outputen inom cellen vid tidpunkten t multiplicerat med en hyperbolisk tangentfunktion (Ϭc), som använder sig av cellens tillstånd resulterar i den output som genereras från cellen (Wikipedia, 2017). Alla dessa fem beräkningar sker alltså istället för den enda beräkning som sker i RNN. Representeras dessa två visuellt ser man en tydlig skillnad i komplexitet. Där en RNN-nod endast har en aktiveringsfunktion som avgör outputen medan LSTM-cellen har en mängd olika beräkningar som sker innan output genereras. Bild 8 och 9 illustrerar en RNN-nod och en LSTM cell för att dessa ska kunna jämföras. 13

15 Bild 8. Visar en modell av en nod i RNN. Bild 9. Visar en modell av en LSTM-cell med hänvisningar till de tidigare nämnda formler som används i modellen med siffror

16 Beroende på vad resultatet av outputen är kan den skickas vidare som output eller för att bearbetas ytterligare. LSTM nät är till skillnad från vanlig ANN effektiva på det sätt att de inte är begränsade till att koppla en input till en output utan även kan generera flera output med en input, eller en output tros många input (Deeplearning4j Development Team, 2017). 4 Diskussion om LSTM och musik Både bakgrund till AIVA och hur neurala nätverk fungerar har tagits upp, med en fördjupning inom RNN och LSTM för att förstå tekniken bakom den artificiella kompositören. Vad jag tror gör LSTM- nätverk så passande till musik är dels den sekventiella aspekten från RNN där nätverket hittar kopplingar mellan olika tidpunkter i inputen och därmed kan hitta mönster i musiken som är återkommande. LSTM är en passande version då musik är så pass komplex att ett vanligt RNN antagligen inte skulle kunna fånga upp alla olika aspekter, regler, förhållanden etc. Detta då olika kompositörer har olika stilar och inte alltid följer regelboken när det kommer till musikteorin. Detta är en av de saker som gör musik så pass intressant, att kunna bryta mönster och regler på ett snyggt och behagligt sätt. LSTM-cellernas implementering bidrar till förståelse av de kopplingar som hittas i musiken. AIVA har tränats på input med musik av kända klassiska kompositörer för att själv kunna skriva klassiska stycken. Tack vare LSTM- modellen där tid tas in i beräkningen och input, output och redan given information bearbetas mer än i ett RNN nätverk kan musikdistinktioner upptäckas och appliceras, såsom ljudstyrka, små pauser på lämpliga ställen, sättet musiken ska framföras på och liknande. Den input som bearbetats i systemet finns troligtvis kvar i många av LSTMcellerna, vilket gör att informationen finns sparad och kan användas för att AIVA ska kunna skriva egna musikstycken. Med tanke på vad AIVA har komponerat för musikstycken hittills tror jag det är endast en tidsfråga innan vi lyckas programmera fram nästa stora kompositör att bli känd världen över, liksom exempelvis Beethoven. 15

17 5 Referenser Bermúdez, J. L. (2014). Cognitive Science- An introduction to she science of the mind (2 uppl.). Cambridge: Cambridge University Press. Deeplearning4j Development Team. (2017). Deeplearning4j, License 2.0. (Apache Software Foundation ) Hämtat från Open-source distributed deep learning for the JVM: den 28 December 2017 Holland, J. H. (Juli 1992). Genetic algorithms. Scientific american, Kaleagasi, B. (2017). A New AI Can Write Music as Well as a Human Composer. Motherboard. Malmgren, H. (den 2 Juni 2001). Perceptronen. Hämtat från Papadopoulos, G., & Wiggins, G. (1999). AI Methods for Algorithmic Composition: A Survey, a Critical View and Future Prospects. Edinburgh: University of Edinburgh. Rader, G. M. (1974). A Method for Composing Simple Traditional Music by Computer. Communications of the ACM, 17, Raval, S. (Regissör). (2017). LSTM Networks - The Math of Intelligence (Week 8) [Film]. Youtube. Hämtat från Raval, S. (Regissör). (2017). Recurrent Neural Networks - The Math of Intelligence (Week 5) [Film]. Youtube. Hämtat från Russell, S., & Norvig, P. (2014). Artificiall Intelligence A modern approach. Edinburgh: Pearson Education Limited. Wikipedia. (2017). Wikipedia. Hämtat från Long short term memory: den

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

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

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

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

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

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

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

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

NEURAL MASKINÖVERSÄTTNING

NEURAL MASKINÖVERSÄTTNING Linköpings universitet 729G43 NEURAL MASKINÖVERSÄTTNING Moa Wallin Inledning Manuell översättning är en mycket tidskrävande process som kräver stor kunskap och bred kompetens och behovet av översättning

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

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

de var svåra att implementera och var väldigt ineffektiva.

de var svåra att implementera och var väldigt ineffektiva. OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan

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

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05 1(15) Bilaga 1 2(15) Neuronnätslaboration Räknare Denna laboration riktar sig till gymnasieelever som går en teknisk utbildning och som helst har läst digitalteknik samt någon form av styrteknik eller

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

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

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

4 Fler deriveringsregler

4 Fler deriveringsregler 4 Fler deriveringsregler 4. Dagens Teori Derivatan av potensfunktioner. Potensfunktioner med heltalsexponenter, som du redan kan derivera, kallas polynomfunktioner, som till exempel: f(x) = 2x4 x3 + 2x

Läs mer

y y 1 = k(x x 1 ) f(x) = 3 x

y y 1 = k(x x 1 ) f(x) = 3 x Räta linjen på olika former Här ska vi bara påpeka att förutom k-form, den som vi är mest vana vid y = k y + m finns också allmän form: ax + by + c = 0 där a och b är konstanter, som inte någon står för

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

Regression med Genetiska Algoritmer

Regression med Genetiska Algoritmer Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet

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

Fuzzy Logic: Den oskarpa skarpheten

Fuzzy Logic: Den oskarpa skarpheten Fuzzy Logic: Den oskarpa skarpheten Av: 1 Innehåll Inledning... 3 Vad är Fuzzy Logic?... 4 Fuzzy sets... 4 Medlemsskapsfunktion... 5 Operatorer... 7 Union... 7 Snitt... 8 Komplement... 8 Exempel med de

Läs mer

Kan du det här? o o. o o o o. Derivera potensfunktioner, exponentialfunktioner och summor av funktioner. Använda dig av derivatan i problemlösning.

Kan du det här? o o. o o o o. Derivera potensfunktioner, exponentialfunktioner och summor av funktioner. Använda dig av derivatan i problemlösning. Kan du det här? o o o o o o Vad innebär det att x går mot noll? Vad händer då x går mot oändligheten? Vad betyder sekant, tangent och ändringskvot och vad har dessa begrepp med derivatan att göra? Derivera

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

Artificiella Neuronnät

Artificiella Neuronnät Artificiella Neuronnät 2 3 4 2 (ANN) Inspirerade av hur nervsystemet fungerar Parallell bearbetning Vi begränsar oss här till en typ av ANN: Framåtkopplade nät med lagerstruktur 3 4 Fungerar i princip

Läs mer

Matcha rätt hjärta till rätt patient med AI. Dennis Medved

Matcha rätt hjärta till rätt patient med AI. Dennis Medved Matcha rätt hjärta till rätt patient med AI Dennis Medved Översikt Introduktion IHTSA LuDeLTA Sammanfattning Framtida arbete Introduktion Hjärttransplantation Livräddande operation för patienter med hjärtsvikt

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

Föreläsning 5 Innehåll

Föreläsning 5 Innehåll Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur

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

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

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

729G43 Artificiell intelligens / Maskininlärning 1. Marco Kuhlmann 729G43 Artificiell intelligens / 2015 Maskininlärning 1 Marco Kuhlmann Introduktion Maskininlärning Tack vare maskininlärning kan AI-system idag bl.a. producera och förstå naturligt språk kontrollera maskiner,

Läs mer

LMA515 Matematik, del B Sammanställning av lärmål

LMA515 Matematik, del B Sammanställning av lärmål LMA515 Matematik, del B Sammanställning av lärmål Lärmål för godkänt Funktion, gränsvärde, kontinuitet, derivata. Förklara begreppen funktion, definitionsmängd och värdemängd, och bestämma (största möjliga)

Läs mer

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd. OBS! 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

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder. 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

Funktionsstudier med derivata

Funktionsstudier med derivata Funktionsstudier med derivata Derivatan ett kraftfullt verktyg för att studera och tolka funktioner Det här avsnittet handlar om att man kan använda derivatan till att bestämma en funktions egenskaper

Läs mer

a = a a a a a a ± ± ± ±500

a = a a a a a a ± ± ± ±500 4.1 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att

Läs mer

Tentamen i Digitalteknik, EITF65

Tentamen i Digitalteknik, EITF65 Elektro- och informationsteknik Tentamen i Digitalteknik, EITF65 3 januari 2018, kl. 14-19 Skriv anonymkod och identifierare, eller personnummer, på alla papper. Börja en ny uppgift på ett nytt papper.

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

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

Övningshäfte 2: Induktion och rekursion

Övningshäfte 2: Induktion och rekursion GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2017 INLEDANDE ALGEBRA Övningshäfte 2: Induktion och rekursion Övning D Syftet är att öva förmågan att utgående från enkla samband, aritmetiska och geometriska,

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

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. OBS! 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

Optimala vinkeln av bortklippt cirkelsektor fo r maximal volym pa glasstrut

Optimala vinkeln av bortklippt cirkelsektor fo r maximal volym pa glasstrut Optimala vinkeln av bortklippt cirkelsektor fo r maximal volym pa glasstrut Frågeställning Av en cirkulär pappersskiva kan en cirkelsektor med en viss vinkel klippas bort. Med den resterande sektorn går

Läs mer

3 Deriveringsregler. Vi ska nu bestämma derivatan för dessa fyra funktioner med hjälp av derivatans definition

3 Deriveringsregler. Vi ska nu bestämma derivatan för dessa fyra funktioner med hjälp av derivatans definition 3 Deriveringsregler 3.1 Dagens Teori Vi ar lärt oss derivera en funktion, främst polynom, med jälp av derivatans definition. Vi ar funnit denna teknik ganska krävande. 3.1.1 Vi är på jakt efter ett mönster

Läs mer

Föreläsning 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek

Föreläsning 5 Innehåll. Val av algoritm och datastruktur. Analys av algoritmer. Tidsåtgång och problemets storlek Föreläsning 5 Innehåll Val av algoritm och datastruktur Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Det räcker inte med att en algoritm är korrekt

Läs mer

Prestanda och skalbarhet

Prestanda och skalbarhet Prestanda och skalbarhet Grama et al. Introduction to Parallel Computing Kapitel 5 Erik Elmroth Översikt 2 Exekveringstid Uppsnabbning Effektivitet Kostnad Kostnadsoptimal algoritm Ahmdals lag Gustafson-Barsis

Läs mer

6.2 Implicit derivering

6.2 Implicit derivering 6. Implicit derivering 6 ANALYS 6. Implicit derivering Gränsvärden, som vi just tittat på, är ju en fundamental del av begreppet derivata, och i mattekurserna i gymnasiet har vi roat oss med att hitta

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

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20.

Teorifrågor. 6. Beräkna konditionstalet för en diagonalmatris med diagonalelementen 2/k, k = 1,2,...,20. Teorifrågor Störningsanalys 1. Värdet på x är uppmätt till 0.956 med ett absolutfel på högst 0.0005. Ge en övre gräns för absolutfelet i y = exp(x) + x 2. Motivera svaret. 2. Ekvationen log(x) x/50 = 0

Läs mer

Planering Matematik åk 8 Samband, vecka

Planering Matematik åk 8 Samband, vecka Planering Matematik åk 8 Samband, vecka 4 2016 Syfte Genom undervisningen i ämnet matematik ska eleverna sammanfattningsvis ges förutsättningar att utveckla sin förmåga att formulera och lösa problem med

Läs mer

Lösningar och kommentarer till uppgifter i 2.3

Lösningar och kommentarer till uppgifter i 2.3 Lösningar och kommentarer till uppgifter i 2.3 2303 d) TB: Jaha, nu gäller det att kunna sina deriveringsregler. Polynom kommer man alltid ihåg hur de ska deriveras. f(x) = 4x 2 + 5x 3 ger derivatan f

Läs mer

TMA226 datorlaboration

TMA226 datorlaboration TMA226 Matematisk fördjupning, Kf 2019 Tobias Gebäck Matematiska vetenskaper, Calmers & GU Syfte TMA226 datorlaboration Syftet med denna laboration är att du skall öva formuleringen av en Finita element-metod,

Läs mer

Läsanvisningar till kapitel 6 i Naturlig matematik. Avsnitt 6.6 ingår inte.

Läsanvisningar till kapitel 6 i Naturlig matematik. Avsnitt 6.6 ingår inte. Läsanvisningar till kapitel 6 i Naturlig matematik Avsnitt 6.6 ingår inte. Avsnitt 6.1 Detta avsnitt illustrerar hur sekanten övergår i en tangent genom att den ena skärningspunkten rör sig mot den andra.

Läs mer

729G43 Artificiell intelligens Maskininlärning. Arne Jönsson HCS/IDA

729G43 Artificiell intelligens Maskininlärning. Arne Jönsson HCS/IDA 729G43 Artificiell intelligens Maskininlärning Arne Jönsson HCS/IDA Maskininlärning Introduktion Beslutsträdsinlärning Hypotesinlärning Linjär regression Vektorer Perceptroner Artificiella Neurala Nät

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

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

Meningslöst nonsens. December 14, 2014

Meningslöst nonsens. December 14, 2014 December 4, 204 Fråga. Hur visar man att sin(x) x tan(x)? Fråga. Hur visar man att sin(x) x tan(x)? Fråga 2. Hur visar man att a > lim n a n =? Fråga 2. Hur visar man att a > lim n a n =? Röd: Det är ett

Läs mer

Lösningar och kommentarer till uppgifter i 2.2

Lösningar och kommentarer till uppgifter i 2.2 Lösningar och kommentarer till uppgifter i 2.2 2202 Beräkna Detta ger f(3 + h) f(3) då f(x) x 2 (3 + h) 2 3 2 h 2 + 6h 6 + h 6 h 0 Vi har därmed bestämt riktningskoefficienten (k-värdet) för tangenten

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

f(x + h) f(x) h f(x) f(x h) h

f(x + h) f(x) h f(x) f(x h) h NUMPROG, D för M, vt 008 Föreläsning N: Numerisk derivering och integrering Inledning: numerisk lösning av analytiska problem Skillnader mellan matematisk analys och numeriska metoder. Grundläggande begrepp

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

Övningar i ekvationer

Övningar i ekvationer i ekvationer Innehåll A. Addition och subtraktion B. Multiplikation och division C. Blandade räknesätt - prioritet D. Enkla förenklingar E. Parenteser F. Tillämpningar Detta häfte är till dig som läser

Läs mer

Neuronen 11/22/2012. Översikt. Artificiell nod. Kommunikation. Neuronen som detektor. Syftet med återstående föreläsningarna

Neuronen 11/22/2012. Översikt. Artificiell nod. Kommunikation. Neuronen som detektor. Syftet med återstående föreläsningarna Översikt Neuronen Biologisk neuron Artificiell nod/enhet Organisering i nät Interaktiva nätverk med inhibering Övergripande beräkningsprincip Parallel constraint satisfaction Syftet med återstående föreläsningarna

Läs mer

Gamla tentemensuppgifter

Gamla tentemensuppgifter Inte heller idag någon ny teori! Gamla tentemensuppgifter 1 Bestäm det andragradspolynom vars kurva skär x-axeln i x = 3 och x = 1 och y-axeln i y = 3 f(x) = (x 3)(x + 1) = x x 3 är en bra start, men vi

Läs mer

f (a) sin

f (a) sin Hur kan datorn eller räknedosan känna till värdet hos till exempel sin0.23 eller e 2.4? Denna fråga är berättigad samtidigt som ingen tror att apparaterna innehåller en gigantisk tabell. Svaret på frågan

Läs mer

Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information

Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information ARTIFICIELL INTELLIGENS II INSTITUTUINEN FÖR DATAVETENSKAP LINKÖPINGS UNIVERSITET Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information Anna

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

Beräkningsmetoder för superellipsens omkrets

Beräkningsmetoder för superellipsens omkrets Beräkningsmetoder för superellipsens omkrets Frågeställning Svar 1. Vi förväntades ta reda på olika metoder för att beräkna en superellips eller en ellips omkrets. o Givet var ellipsens ekvation:. (Källa

Läs mer

Grafer och grannmatriser

Grafer och grannmatriser Föreläsning 2, Linjär algebra IT VT2008 Som avslutning på kursen ska vi knyta samman linjär algebra med grafteori och sannolikhetsteori från första kursen. Resultatet blir så kallade slumpvandringar på

Läs mer

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder. OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad för att man skall

Läs mer

Lösningar Datastrukturer TDA

Lösningar Datastrukturer TDA Lösningar Datastrukturer TDA416 2016 12 21 roblem 1. roblem 2. a) Falskt. Urvalssortering gör alltid samma mängd av jobb. b) Sant. Genom att ha en referens till sista och första elementet, kan man nå både

Läs mer

Ma7-Per: Algebra. Det andra arbetsområdet handlar om algebra och samband.

Ma7-Per: Algebra. Det andra arbetsområdet handlar om algebra och samband. Ma7-Per: Algebra Det andra arbetsområdet handlar om algebra och samband. Syftet med undervisningen är att du ska utveckla din förmåga att: - formulera och lösa problem med hjälp av matematik samt värdera

Läs mer

Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet?

Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet? Kan vi beskriva ett system utan någon fysikalisk kännedom om systemet? 1 Om svaret på frågan är ja så öppnar sig möjligheten att skapa en generell verktygslåda som fungerar för analys och manipulering

Läs mer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real

Läs mer

TANA17 Matematiska beräkningar med Matlab

TANA17 Matematiska beräkningar med Matlab TANA17 Matematiska beräkningar med Matlab Laboration 1. Linjär Algebra och Avbildningar Namn: Personnummer: Epost: Namn: Personnummer: Epost: Godkänd den: Sign: Retur: 1 Introduktion I denna övning skall

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

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

Fördjupningsarbete i artificiell intelligens II

Fördjupningsarbete i artificiell intelligens II Fördjupningsarbete i artificiell intelligens II COG En Humanoid Robot ABSTRACT COG är en humanoid robot som har som mål att kunna agera själv utan övervakning av människor. COG har en överkropps, två armar

Läs mer

Matematik 3c Kap 2 Förändringshastighet och derivator

Matematik 3c Kap 2 Förändringshastighet och derivator Matematik 3c Kap 2 Förändringshastighet och derivator Inledning Konkretisering av ämnesplan (länk) http://www.ioprog.se/public_html/ämnesplan_matematik/struktur_äm nesplan_matematik/struktur_ämnesplan_matematik.html

Läs mer

Interpolation Modellfunktioner som satisfierar givna punkter

Interpolation Modellfunktioner som satisfierar givna punkter Interpolation Modellfunktioner som satisfierar givna punkter Några tillämpningar Animering rörelser, t.ex. i tecknad film Bilder färger resizing Grafik Diskret representation -> kontinuerlig 2 Interpolation

Läs mer

Dependensregler - Lathund

Dependensregler - Lathund Dependensregler - Lathund INTRODUKTION I textprogrammet TeCST är det möjligt för en skribent att skriva, redigera och klistra in text för att få ut läsbarhetsmått och få förslag på hur texten kan skrivas

Läs mer

Korttidsminne-arbetsminne

Korttidsminne-arbetsminne Översikt Korttidsminne-arbetsminne Klassiska teorier om korttidsminnet 7 ± 2 platser Rollen av repetition Lagringskapacitet beror på tid att repetera Arbetsminne Inkluderar repetitionsloopar Störningar

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?) 4e november 2014 Intelligens Vad är det? ett mänskligt egenskap Kan det jämföras? Kan det mätas?

Läs mer

Sammanfattning av föreläsning 4. Modellbygge & Simulering, TSRT62. Föreläsning 5. Identifiering av olinjära modeller

Sammanfattning av föreläsning 4. Modellbygge & Simulering, TSRT62. Föreläsning 5. Identifiering av olinjära modeller Sammanfattning av föreläsning 4 Modellbygge & Simulering, TSRT62 Föreläsning 5. Identifiering av olinjära modeller Reglerteknik, ISY, Linköpings Universitet Linjära parametriserade modeller: ARX, ARMAX,

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

Resträkning och ekvationer

Resträkning och ekvationer 64 Resträkning och ekvationer Torsten Ekedahl Stockholms Universitet Beskrivning av uppgiften. Specialarbetet består i att sätta sig in i hur man räknar med rester vid division med primtal, hur man löser

Läs mer

A B C D E F A B C D E F (3) Svar: Tabellen ger grafen:

A B C D E F A B C D E F (3) Svar: Tabellen ger grafen: 1. Russel & Norvig menar att man kan utveckla AI-system som antingen tänker som en människa, handlar som en människa, tänker rationellt eller handlar rationellt. Förklara och exemplifiera dessa fyra synsätt.

Läs mer

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen Datastrukturer och algoritmer Föreläsning 15 Inför tentamen 1 Innehåll Kursvärdering Vi behöver granskare! Repetition Genomgång av gammal tenta 2 Första föreläsningen: målsättningar Alla ska höja sig ett

Läs mer

Manual för ett litet FEM-program i Matlab

Manual för ett litet FEM-program i Matlab KTH HÅLLFASTHETSLÄRA Manual för ett litet FEM-program i Matlab Programmet består av en m-fil med namn SMALL_FE_PROG.m och en hjälp-fil för att plotta resultat som heter PLOT_DEF.m. Input För att köra programmet

Läs mer

1, 2, 3, 4, 5, 6,...

1, 2, 3, 4, 5, 6,... Dagens nyhet handlar om talföljder, ändliga och oändliga. Talföljden 1,, 3, 4, 5, 6,... är det första vi, som barn, lär oss om matematik över huvud taget. Så småningom lär vi oss att denna talföljd inte

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

Numeriska metoder för ODE: Teori

Numeriska metoder för ODE: Teori Numeriska metoder för ODE: Teori Vilka metoder har vi tagit upp? Euler framåt Euler bakåt Trapetsmetoden y k+ = y k + hf(t k, y k ), explicit y k+ = y k + hf(t k+, y k+ ), implicit y k+ = y k + h (f(t

Läs mer

Mekanik SG1108 Mekanikprojekt Dubbelpendel

Mekanik SG1108 Mekanikprojekt Dubbelpendel Mekanik SG1108 Mekanikprojekt Dubbelpendel Studenter: Peyman Ahmadzade Alexander Edström Robert Hurra Sammy Mannaa Handledare: Göran Karlsson karlsson@mech.kth.se Innehåll Sammanfattning... 3 Inledning...

Läs mer

Ordinära differentialekvationer,

Ordinära differentialekvationer, (ODE) Ordinära differentialekvationer, del 1 Beräkningsvetenskap II It is a truism that nothing is permanent except change. - George F. Simmons ODE:er är modeller som beskriver förändring, ofta i tiden

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och

Läs mer

Kognitiv modellering. Sidan 1. Översikt. Tre forskningsmetoder. Olika syften med modellering. Människa-maskin interaktion (MMI) Uppgiftsanalys

Kognitiv modellering. Sidan 1. Översikt. Tre forskningsmetoder. Olika syften med modellering. Människa-maskin interaktion (MMI) Uppgiftsanalys Översikt Kognitiv modellering Två huvudinriktningar inom kognitiv modellering Symbolistiska modeller (regelbaserade system) Konnektionistiska modeller (neurala nät) Exempel på tillämpningar Projektet Hemuppgiften

Läs mer

Linjär algebra med tillämpningar, lab 1

Linjär algebra med tillämpningar, lab 1 Linjär algebra med tillämpningar, lab 1 Innehåll Per Jönsson Fakulteten för Teknik och Samhälle, 2013 Uppgifterna i denna laboration täcker kapitel 1-3 i läroboken. Läs igenom motsvarande kapitel. Sitt

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