TDP033 Datacentrisk artificiell intelligens
Kursinformation
Övergripande kursmål
Kursen ger introduktion till artificiella neurala nätverk, där vi tittar särskilt på dataförbättring som ett sätt att uppnå bättre resultat (lägre felprocent) hos de tränade nätverken. Fokus kommer att ligga på övergripande förståelse, snarare än djupdykning i matematiken bakom algoritmerna.
Kursupplägg
Kursen är uppdelad i två block, motsvarande 3 hp var:
- Modelldel. Grunderna i artificiella neurala nätverk, som tränas genom övervakad inlärning. De vanligaste nätverken för bild och tidsseriebehandling: Convolutional Neural Networks (CNN), Long-Short Term memory networks (LSTM), transformers. I mån av tid: lite om tillämpad AI för ingenjörer, t.ex. context engineering, och agentic AI.
- Datadel. Olika metoder för att förbearbeta data inför träning, samt--mer centralt--metoder för att efterbearbeta data, utifrån vilka fel den tränade modellen gör.
- Projekt. Projektet löper parallelt med datadelen. Här kan ni välja ett problemområde och ett dataset att jobba med, tillämpa en dataförbättringsmetod på ert dataset, och utvärdera om modellen gör bättre eller sämre med det nya datasetet. Det mest lämpliga är att utgå ifrån ett existerande nät, som redan har tränats på ett existerande dataset, och tillämpa någon dataförbättringsmetod som vi har gått igenom i kursen.
Arbetsgång i kursen:
Kursen förutsätter mycket eget driv, och är relativt utvecklingsfokuserad. T.ex. går projektarbetet ut på att jobba med ett valt neuralt nätverk i en Jupyter notebook, och att utveckla dataförbättrings-skript i Python. Kursen förutsätter också viss erfarenhet av versionshantering i git.
- Föreläsningar. Varje vecka inleds med föreläsning, där vi går igenom teoretiska begrepp som hjälper till att förstå hur en viss typ av neuralt nät fungerar. Man ska komma till föreläsningen väl förberedd, genom att man har läst den anvisade litteraturen, samt andra källor som man själv har hittat. Frågor är mer än välkomna på föreläsningarna!
- Labbar. Varje föreläsning följs av en laboration som ger praktisk erfarenhet av de artificiella neurala nät som vi går igenom i kursen. Varje laboration bör förberedas genom att man i förväg läser igenom labb-instruktionerna, och googlar och reder ut termer, etc. som verkar svåra. Efter genomförd laboration, bör man lägga tid på efterarbete, där man läser igenom laborationsanvisningarna, går igenom de lösningar och svar man har kommit fram till, och relaterar dessa till de teoretiska begrepp vi har gått igenom på föreläsningen. Målet är att få en bättre förståelse av vad som händer i dessa neurala nät.
- Projektarbete. Block två i kursen ger möjlighet till kreativt grupparbete, där prestandan hos ett existerande neuralt nät höjs genom att dataset:et förbättras. Projektarbetet är tänkt att genomföras av samma studentpar som samarbetade på labbarna. Under dessa tre projekt-veckor i slutet av kursen kommer det erbjudas schemalagda handledningstillfällen. Det går naturligtvis även att kontakta lärare på andra tider, om man behöver råd och vägledning med sitt projekt.
Verktyg
- Inom industrin är det populäraste verktyget för utveckling av neurala nät Google's Tensorflow (och numera Jax), där man oftast använder Keras som frontend (python-wrapper). Keras har förberedda funktioner som underlättar konstruktion och träning av näten. Vi kommer att köra simuleringarna på Tensorflow Colab som är en molnbaserad variant av Jupyter notebooks.
Litteratur
Kurslitteraturen består av online material. Sök gärna även efter egna källor; vad som uppfattas som lättfattlig och bra förklaring kan ju variera utifrån egna preferenser.
- Kurslitteratur (obligatorisk):
- Youtube-videor från Stanford university.
- Andrew Ng: Machine learning yearning. Online bok om datacentrisk AI.
- Referenslitteratur (bakgrundsläsning):
- Everything you need to know about backpropagation
- Vanishing gradient
- Computational graphs
- Keras: text classification example
- Dealing with biases in data
- Introduction to Keras
- Google Playground (för att snabbt testa runt med olika nätverk)
- The effect of batch size on neural net training
- Intro till Colab och Jupyter Notebooks (notebook = olika delar av koden kan köras direkt, så datainladdning, etc. behöver bara göras en gång, sedan kan man markera och köra andra delar av koden gång på gång, för att se hur en förändring av koden slår igenom. Man kan skriva python-kod i Jupyter notebooks.)
- Introduction to convolutional neural networks (En Youtube serie från Stanford University)
- Tensorflow and deep learning without a PhD (Youtube-föredrag från Google)
Sidansvarig: Rita Kovordanyi
Senast uppdaterad: 2026-04-07
