Kursöversikt
Välkommen till FYD600 2025
Första kurstillfälle onsdag 22/1, kl 18.00-21.00, hybridformat. I datorsal F-T7203 eller online på Zoom.
Om du inte kommer in i huset/lokalen kan du nå mig på 0723087160 /Mats
Zoomlänk för föreläsning: https://gu-se.zoom.us/j/65982804229
För access till föreläsningssalen gå till Origogården (också benämnd Fysikgården) för att bli insläppt. Bernhard kan nås på telefon (se längre ner på sidan).
Vi använder denna Zoomlänk för alla labbar, om inte annat anges:
https://chalmers.zoom.us/j/63699898571
Password: 692095
Kursansvarig: Mats Granath mats.granath@physics.gu.se
Som förberedelse, se till att kunna köra Jupyter notebook på din dator eller på Google Colab. (Se ytterligare info längre ner på sidan.)
Labbarna på onsdagar 18-21 är i hybridformat. På campus, datorsal Chalmers Fysik, eller via Zoom. Rum F-T7203 i "Fysik forskarhus". Ingång Fysikgränd 3, 7e våningen. Två föreläsningar ingår också, torsdag 30/1 samt 20/2 18.00-19.30.
Se Schema samt TimeEdit (Kan ändras fram till kursstart, men i huvudsak onsdagar 18-21.)
Om du behöver access till Fysikhuset Chalmers se info här: https://studentportal.gu.se/dina-studier/ny-student?f_nn=1&i_ft=1#information-fran-fakultet-och-institution
Undervisningen är i huvudsak i form av handledning under egenarbete med programmeringsprojekt. Ingen av undervisningstillfällena har obligatorisk närvaro, men man behöver infinna sig för examination (se nedan). Teaching language will be hybrid, Swedish/English.
Kursen består av följande moment:
- Projekt 1: Introduktion till neurala nätverk, applicerat på enkelt problem. "Supervised learning, Backpropagation". Här kodar vi själva ett litet "fully connected" neuralt nätverk i Python och tillämpar det på ett litet klassificeringsproblem. Vi testar också
Tensorflow Playground.
Projekt 1, tillsammans med en Python tutorial, finns under Uppgifter. (Ladda upp/packa upp filerna i det bibliotek där du installerat Jupyter.)
Innan första kurstillfället är det bra att titta på följande videos för en kort introduktion till neurala nätverk:
De två schemalagda föreläsningarna kommer ge en grundligare introduktion till neurala nätverk.
Anteckningar om hur man konstruerar och tränar nätverk med ett gömt lager
- Projekt 2: Övervakat lärande (supervised learning) med hjälp av Pytorch. Här använder vi de inbyggda funktionerna i Pytorch för att lösa ett större klassificeringsproblem.
- Project 2b: Transformer/Språkmodel. Anteckningar om transformers.
- Projekt 3: Förstärkningsinlärning (reinforcement learning, Q-learning). Här lär vi oss hur förstärkningsinlärning fungerar genom att applicera på ett enkelt problem där en agent lära sig att navigera i en hinderbana.
Introduktion till förstärkningsinlärning:
Video:
- Projekt 4: Deep Q-learning, mha Q-network. Här tittar vi på ett större problem där vi använder ett NN.
Det är rekommenderat att man använder sin egen laptop. Innan kursen, installera Python, Pytorch, och Jupyter. Vi kommer använda Jupyter Notebook. Gå till respektive hemsida för instruktioner. Använd t.ex. pip i Python eller använd Anaconda: https://docs.jupyter.org/en/latest/install/notebook-classic.html
Ett alternativ till att installera mjukvaran på egen dator är att använda Google Colab. Det är bara att ladda upp kursens Jupyter notebooks och köra igång. Att använda Colabs kan också vara ett bra alternativ om man saknar GPU stöd för Pytorch på sin dator, som är bra att ha framförallt för uppgift 2.
Det bör också bra att använda Chalmers (Linux) studentdatorer, på 7e våningen Forskarhuset. Här finns instruktioner för att komma igång på dessa.
Lärare på kursen:
Mats Granath, mats.granath@gu.se, kursansvarig. telefon 0723087160
Assistent: Moritz Lange moritz.lange@gu.se
Bernhard Mehlig, föreläsning. 0734 200 988
Kurslitteratur.
Projektbeskrivningarna är formulerade för att ge en tillräcklig introduktion till det material som krävs för att lösa uppgiften.
För fördjupning rekommenderas följande böcker:
Bernhard Mehlig Machine Learning with Neural Networks
Ian Goodfellow and Yoshua Bengio and Aaron Courville, Deep learning
Neural Networks and Deep Learning av Michael Nielsen
Richard S. Sutton and Andrew G. Barto; Reinforcement Learning, An Introduction
Läsråd.
Material tom kapitel 9 i Deep learning tas upp i projekt 1 och 2 och är rekommenderad läsning.
Läs åtminstone introduktionen.
I Reinforcement learning, är rekommenderad läsning de första 3 kapitlen, plus kapitel 6 om TD-learning.
Kolla också på TD-Gammon, DQN och AlphaGo på slutet, kap. 16.
Examination
Examinationen sker genom att man demonstrerar sin fungerande kod och diskuterar de frågor som ställs i uppgiftstexten. Detta sker individuellt tillsammans med en av lärarna under de schemalagda timmarna i datorsalen. Man får gärna samarbeta, men man ska skriva sin egen kod. Examinationen sker kontinuerligt, normalt en eller två veckor efter att uppgiften introduceras. Varje uppgift bedöms med U/G och för G på kursen krävs G på alla fyra projekt.
Kurssammanfattning:
| Datum | Information | Sista inlämningsdatum |
|---|---|---|