Kursplan för Djup maskininlärning

Kursplan fastställd 2022-02-08 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 35117
  • Max antal deltagare250 (minst 10% av platserna reserveras för utbytesstudenter)
  • Blockschema
  • Sökbar för utbytesstudenterJa

Poängfördelning

0117 Projekt 3 hp
Betygsskala: TH
3 hp
    0217 Inlämningsuppgift 4,5 hp
    Betygsskala: TH
    4,5 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 lärande, inklusive grundläggande användande av valideringsdata för att undvika överträning
      • beskriva de kostnadsfunktioner som typiskt optimeras inom övervakat lärande (i första hand kors-entropin) 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 vad de typiskt används till
      • sammanfatta hur transformers är uppbyggda och beskriva deras viktigaste egenskaper
      • 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 “transfer learning”, självövervakat lärande och halvövervakat lärande då vi har en begränsad mängd annoterade dataexempel
      • träna och applicera faltande nätverk (CNN) för bilder, samt återkommande nätverk (RNN) eller “transformers” för tillämpningar med tidsserier
      • utnyttja ett lämpligt mjukvarubibliotek designat för djupa neuronnät (huvudsakligen PyTorch) för att lösa problem inom ett antal olika praktiska tillämpningar

      Innehåll

      • övervakat lärande genom att minimera kors-entropin kombinerat med utvärdering på valideringdata
      • 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,
      • nätverksarkitekturen transformers,
      • halvövervakat och självövervakat lärande
      • tillämpningar av exempelvis faltande nätverk på bilder och transformers för sekventiella problem. 

      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.