Göm menyn

729G83 Kognitiv teknologi och artificiell intelligens

Resurser: litteratur, referensmaterial, samt föreläsningar


Kursen förutsätter eget driv, och bygger mycket på eget arbete. Ämnesområdet är en , som kräver teoriläsning varvat med praktiskt arbete. Upplägget i kursen är därför att ni läser in er på angivet område inför varje seminarium, och att ni innan senast dagen före seminariet in 1-2 frågor som ni vill ta upp till diskussion på själva seminariet.

Notera att nedanstående läsanvisningar bara är en utgångspunkt för er kunskapsinhämtning. Litteraturlänkarna är inte uttömmande. Det kan ofta vara väldigt givande för den egna förståelsen att man tar till sig information från flera källor: Vad som upplevs som lättfattligt och upplysande för en individ, kanske är svårfattligt för en annan. Ni uppmuntras därför att botanisera på nätet, och läsa på, tills ni känner att ni har förstått så pass att ni kan identifiera vilka kunskapsluckor som är kvar. Dessa kommer ni kunna formulera som konkreta frågor att skicka in som diskussionsunderlag inför varje seminarium.

Seminarium
(länk till föreläsning)
Studera före seminariet Anmärkningar Övningsfrågor inför tentamen
0. Kursintroduktion
1. Bio: Mönsterigenkänning, inhibering emergent-boken, kapitlet om Networks inkl. Inhibition

Följ upp alla länkar som gömmer sig i texten. Bakom dessa länkar gömmer sig bra förklaringar och grafer som förenklar förståelsen av huvudtexten.
Referensmaterial: Youtube lectures

Bakgrundsläsning: emergent-boken, kapitlet om Neurons. Hur de artificiella enheterna i emergent-nätverk är härledda från vad vi vet om hjärnceller.
- Vilka fördelar finns med distribuerad representation?
- I vilka situationer vill man ha mindre/högre selektivitet i mönsterigenkänning? Ge exempel!
- Vad är coarse coding? Hur fungerar den?
- Vad spelar inhibering för roll i dubbelriktat kopplade nät?
- Förklara på vilket sätt aktivering fortplantar sig (steg för steg) i ett dubbelriktat kopplat nätverk. Vad heter de minsta simuleringsstegen i emegent? Förklara begreppet attractor, basin, och constraints. Beskriv konkret hurvar och en av dessa relaterar till aktivering, vikter, etc.i ett emergent nätverk som körs.
2. Bio: Hebbiansk (oövervakad) inlärning emergent-boken, kapitlet om Learning, fram till 'Error-Driven Learning: Short Time Scale Floating Threshold' Följ upp alla länkar som gömmer sig i texten.

Referensmaterial: Youtube lectures
- Argumentera varför det kan anses vara slarvigt att kalla oövervakad inlärning för Hebbiansk inlärning.
- Under vilka tidsintervall beräknas <x>_ss, <x>_s, <x>_m, och <x>_l, dvs. de olika average:s som sedan används för att bestämma tröskelvärden för viktuppdatering?
- Vad står <xy>_s för? Hur relaterar detta till Hebb's ursprungliga tes om inlärning?
- Vad är syftet med att använda <y>_l som tröskel för oövervakad inlärning?
- Beskriv fenomenet self-organization under oövervakad inlärning. Vilka viktiga förutsättningar måste finnas för att self-organization ska kunna uppstå i emergent-nätverk? Beskriv själva förloppet i detalj, dvs. hur self-organizing går till, steg för steg, i ett tänkt scenario.
3. Bio: Feldriven (övervakad) inlärning emergent-boken, kapitlet om Learning, från och med 'Error-Driven Learning: Short Time Scale Floating Threshold' och kapitlet ut Referensmaterial: Youtube lectures - Hur propageras "fel" i ett emergent-nätverk?
- Varför används <xy>_m (och inte, t.ex. <>_l) för feldrivet (övervakat) lärande i emergent?
- Hur relaterar quarters till lärande (både feldriven, och "Hebbiansk" inlärning) i emergent?
- Fördelar med att kombinera oövervakad och övervakad inlärning i emergent? Kan du tänka dig något annat sätt (än ovanstående fråga) för att utnyttja både oövervakad och övervakad inlärning i ett emergent-nätverk?
4. AI: Backprop Introduktionskurs från Stanford university, Lecture 3: Loss functions

Lecture 4: Introduction to neural networks--inkl. felberäkning, och begreppet computational graphs (som förenklar beräkning av derivata, och som används i TensorFlow)
Bakgrundsmaterial: Lecture 2. Intro till hyperparametrar. Olika avståndsmått (= felmått). Ni kan hoppa över annat, t.ex. K-nearest, om ni inte är intresserade. - Skillnad mellan klassificering och regression?
- Skillnad mellan error och loss (googla gärna!)
- Skillnad mellan loss och accuracy? (För vilka typer av problem är skillnaden viktig?)
- Karaktärisera olika loss-funktioner, såsom MSE. (Vad mäter den? Uppförstoras/förminskas vissa typer av diffar?)
- Karaktärisera olika accuracy-mått, såsom MAE, AUC? (Vad mäter de? Förklara ingående!)
- Vad motsvarar AI-näts 'fit' i emergent? (Dvs. vilken process avses i båda fallen?) - Beskriv steg för steg hur Backprop går till (Beskriv i så pass detalj att läsaren ska kunna implementera backprop utifrån din beskrivning. Matten kan i stället för formler beskrivas i motsvarande ord).
5. AI: Gradient descent Lecture 6: Training neural networks I

Lecture 7: Training neural networks II
Extra läsning (referens): Lecture 8: Deep learning software - Vad är poängen med att använda computational graphs i AI-nätverk? Ge ett konkret exempel på hur den kommer till användning, dvs. beskriv steg-för-steg vad som händer.
- Beskriv problemet med vanishing gradients. Ge ett konkret exempel!
- Varför/när uppstår exploding gradients! Ge ett konkret exempel!
- Vad är normalisering? Hur görs det? Varför används den?
- Vad är regularisering? Hur går man tillväga? Varför används den?
- Vad är overfitting resp.underfitting? Olika sätt att hantera dessa? Varför på dessa sätt, förklara hur åtgärderna fungerar.
6. AI: Convolutional Neural Networks (CNN) Lecture 5: Convolutional neural networks

Lecture 9: CNN Architectures
Referens: Deep learning without a PhD, Part 1. Lite lättsamt om CNN - Varför heter Convolutional Neural Networks (CNN) som de gör, dvs. vilket begrepp/vilken operation syftar convolutional på? (googla gärna!)
- Vad är en kernel i CNN? Vad gör den för nytta, hur fungerar den?
- Vilka är de typiska dimensionerna för input till ett CNN? (minst 2D eftersom det är frågan om bilder...) - Hur stort utlager ska man ha i ett klassificeringsproblem, t.ex. bildigenkänning? Varför?
7. AI: Long-Short Term Memory (LSTM) Lecture 10: Recurrent neural networks Referens: Deep learning without a PhD, Part 2. Om hur man delar in sekventiella data i batches (om man vill kunna köra batch normalisering.) - Hur stort utlager är lämpligt i ett regressionsproblem? Varför?
- Vad är sekvensinlärning? Vilka krav ställs på inlärningen? Hur skiljer det sig från t.ex. klassificering?
- Hur åstadkommer man sekvensinlärning i ett recurrent (RNN) nät?
- Varför är LSTM så populära? Vad är fördelen med dessa nätverk? Förklara konkret vilket beräkningsmässigt problem dessa nätverk löser/underlättar jfr. med vanliga RNN.
- Förklara hur batch-normalisering går till i ett LSTM, dvs. hur batch skapas, och hur träning går till.

Sidansvarig: Rita Kovordanyi
Senast uppdaterad: 2023-08-29