Kursöversikt
Välkommen till FYD600 2024
Next (and last) lab 13/4.
Lecture 8/2 18.00-19.30 Room FL52, by Bernhard Mehlig. On basics of deep learning, back-propagation, etc. If you are locked out, you are welcome to call Bernhard (scroll down for contact info). Lecture notes: UnsupervisedLearning.pdf Transformers.pdf ReservoirComputing.pdf
Första kurstillfälle onsdag 17/1, kl 18.00-21.00, hybridformat. I datorsal F-T7203 eller online på Zoom. Givet stökiga väderförhållanden kör vi första mötet på Zoom.
Vi använder denna Zoomlänk för alla labbar, om inte annat anges:
https://chalmers.zoom.us/j/66220208938
Password: 152281
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 (onsdagar) ä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.
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 Tensorflow. Här använder vi de inbyggda funktionerna i Tensorflow för att lösa ett större klassificeringsproblem. Vi använder också Facets för att visualisera datan.
- 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, Tensorflow, och Jupyter. Vi kommer använda Jupyter Notebook. Gå till respektive hemsida för instruktioner (börja på Tensorflow). 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 Tensorflow 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: Marvin Richter marvin.richter@chalmers.se
Bernhard Mehlig, föreläsning. 0734 200 988
Kurslitteratur.
Projektbeskrivningarna är formulerade för att ge en självkonsistent introduktion till det material som krävs för att lösa uppgiften.
För fördjupning rekommederas 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 |
|---|---|---|