Kursplan för Djup maskininlärning

Kursplanen innehåller ändringar
Se ändringar

Kursplan fastställd 2021-02-26 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnDeep machine learning
  • KurskodSSY340
  • Omfattning7,5 Högskolepoäng
  • ÄgareMPSYS
  • UtbildningsnivåAvancerad nivå
  • HuvudområdeAutomation och mekatronik, Datateknik, Elektroteknik, Informationsteknik, Medicinteknik
  • InstitutionELEKTROTEKNIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 35119
  • Max antal deltagare250
  • Blockschema
  • Sökbar för utbytesstudenterNej

Poängfördelning

0117 Projekt 3 hp
Betygsskala: TH
3 hp0 hp0 hp0 hp0 hp0 hp
0217 Inlämningsuppgift 4,5 hp
Betygsskala: TH
4,5 hp0 hp0 hp0 hp0 hp0 hp

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Grundläggande behörighet för avancerad nivå
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Särskild behörighet

Engelska 6
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

För att gå kursen krävs goda kunskaper inom sannolikhetslära, linjär algebra och programmering. Det är även önskvärt att ha grundläggande färdigheter inom statistik och lärande, motsvarande exempelvis ESS101 - Modellering och simulering, SSY230 - Systemidentifiering eller TDA231 - Algoritmer för maskininlärning och slutledning men det är inte ett strikt krav.

Syfte

Syftet med kursen är att ge en detaljerad introduktion till djup maskininlärning. De senaste åren har djupa neuronnät dramatiskt förbättrat prestandan inom en rad olika områden inklusive talförståelse, datorseende och maskinöversättning. Vi fokuserar främst på de grundläggande principerna för hur djupa nätverk är uppbyggda och hur de tränas, men vi går även igenom en rad tekniker som är centrala i olika tillämpningar. Vår huvudsakliga målsättning är att ge en god förståelse för varför och när djup maskininlärning är användbart, kombinerat med förmågan att tillämpa dem i olika praktiska sammanhang.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Efter avslutad kurs ska studenterna kunna

  • förklara de fundamentala principerna inom övervakat (och oövervakat) lärande, inklusive grundläggande tekniker som korsvalidering för att undvika överträning
  • beskriva de kostnadsfunktioner som typiskt optimeras inom övervakat lärande (i första hand korsentropin) och de vanligaste optimeringsmetoderna (bakåtpropagering av gradienter, mm). 
  • förklara hur de traditionella framåtriktade nätverken är uppbyggda och varför de kan approximera ¿nästan¿ alla funktioner
  • förstå svårigheterna med försvinnande gradienter och moderna verktyg för att motverka det problemet (som exempelvis ¿batch normalisation¿ och residuala nätverk)
  • sammanfatta de huvudsakliga komponenterna i faltande nueronnät och deras huvudsakliga fördelar
  • beskriva vanliga typer av återkommande neuronnät (recurrent neural networks) och var de typiskt används till
  • ge en översikt av ett antal av de många moderna sorters djupa nätverk som utvecklats de senaste åren
  • argumentera för fördelarna med generativa modeller, ¿transfer learning¿ och utökning av (augmenting) dataseten, då vi har en begränsad mängd annoterade dataexempel
  • förklara vad Markovbeslutsproblem och ¿reinforcement learning¿ (RL) är
  • använda djupa nätverk för att lösa RL-problem, exempelvis med hjälp av deep q-learning
  • träna och applicera faltande nätverk (CNN) för bilder, samt återkommande nätverk (RNN) för tillämpningar med tidsserier
  • utnyttja ett lämpligt mjukvarubibliotek designat för djupa neuronnät (som exempelvis TensorFlow eller Torch) för att lösa problem inom ett antal olika praktiska tillämpningar

Innehåll

  • övervakat lärande genom att minimera korsentropin och med hjälp av korsvalidering
  • stokastisk gradientsökningar, bakåtpropagering samt ett antal moderna metoder för snabbare optimering
  • programmeringsspråk för att implementera djupa neuronnät
  • framåtriktade neuronnät och faltande nätverk
  • återkommande (recurrent) neuronnät, och framför allt nätverk av typen "long short term memory"
  • "transfer learning" och data-augmentering
  • "reinforcement learning" (RL), Markovbeslutsproblem, q-lärande och djupt q-lärande
  • tillämpningar av exempelvis faltande nätverk på bilder och RL på beslutsproblem

Organisation

Kursen innehåller webbföreläsningar (som bör ses innan lektionen), övningstillfällen (där vi går igenom material från motsvarande föreläsning), hemuppgifter, projekt och redovisningstillfällen (där vi i första hand går igenom lösningar till hemuppgifter).

Litteratur

Vi kommer huvudsakligen att använda boken Ian Goodfellow, Yoshua Bengio och Aaron Courville, Deep Learning, MIT Press, 2016, som finns tillgänglig på webben: http://www.deeplearningbook.org.

Examination inklusive obligatoriska moment

Det finns ingen skriftlig examen i den här kursen. Studenterna kommer istället utvärderas baserat på hur väl de presterat i de olika aktiviteter som ingår i kursen. Mer specifikt ges betyg baserat på resultaten från hemuppgifter och projekt, samt på hur stor andel av aktiviteterna som studenten deltagit i.

Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.

Kursplanen innehåller ändringar

  • Ändring gjord på kurstillfälle:
    • 2021-05-18: Tillagd i programplan [Kurstillfälle 1] tillagd i programplan för MPDSC åk 2 av UOL
    • 2021-05-18: Tillagd i programplan [Kurstillfälle 1] tillagd i programplan för MPDSC åk 1 av UOL
    • 2021-05-03: Max antal deltagare Max antal deltagare ändrat från 170 till 250 av PA
      [Kurstillfälle 1]