Forløb

Forløb i kunstig intelligens i informatik

Introducer dine elever til AI, så de kan gå kritisk, refleksivt og konstruktiv til teknologien.

Anslået tidsforbrug: 8 moduler à 60 minutter

Målrettet: Informatik B om teknikker og problematikker i maskinlæring

Formål

Forløbet introducerer til maskinlæring, som er den mest udbredte teknik inden for kunstig intelligens. Maskinlæring er brugt i blandt andet chatbots, billedgenkendelse og automatisk oversættelse.

Fokus: Eleverne skal kende til grundlæggende overvejelser, så de i tråd med informatiks mål om digital myndiggørelse kan vurdere forslag om brug af konkrete datasæt til maskinlæring.

Forløbet berører primært de faglige mål om it-systemers og brugeres gensidige påvirkning samt om repræsentation og manipulation af data.

Eleverne skal arbejde konkret med:

  • at udvælge datasæt og features, træne modellen og anvende modellen i en app.
  • at vurdere brug af AI til prædiktion ud fra datasættets størrelse, varians og bias,
  • om det er problematisk i forhold til manglende transparens og konsekvenser ved forkert prædiktion.

Planlægning

Forløbet er på 8 moduler à 60 minutter målrettet Informatik B.

Der tages afsæt i code.org’s AI and Machine Learning samt deres ai-lab. Her kan eleverne bruge maskinlæring på et datasæt online og få en model.

I forhold til code.org’s eget forløb bruger eleverne her mere tid på at udvikle en egen app, så det matcher informatikfagets projektorientering.

Forberedelse

  • Opret dit elevhold på code.org og kobl holdet på forløbet AI an Machine Learning. Har dine elever ikke arbejdet med app-lab før, kan I med fordel bruge et ekstra modul på: Lesson 1: Intro to App Lab.

  • Lav og print et punktdiagram til alle elever med x-aksen ”let at spise” og y-aksen ”sødme” - begge vurderet på en skala fra 1-10. Indsæt under en liste med en blanding af frugt/grøntsager: agurk, jordbær, græskar, appelsin, kiwi, gulerod...
unpublished

Forløbsbeskrivelse

Forløbet er opdelt i 8 moduler. Hvert modul er beskrevet og opdelt i steps nedenfor.


1. Introduktion

Spørg ind til, hvad eleverne forstår ved kunstig intelligens, og hvilke produkter de kender. Introducer hertil til kunstig intelligens og maskinlæring - Og relater AI til de produkter eleverne har nævnt.

2. Øvelse - Afprøvning af apps

Sæt eleverne til at afprøve de to apps i Lesson 3: Types of Machine Learning:

  • I første app skal de finde mønster i data.
  • I næste app skal de gætte labels i en model.

Forklar dem forskellen mellem superviseret og usuperviseret læring og få eleverne til at relatere begreberne til de to apps.

3. Øvelse - Punktdiagram

Her anvendes det punktdiagram, som står beskrevet i den indledende tekst under forberedelse til forløbet.

  • Uddel en printet seddel med diagrammet og fødevarer og lad eleverne parvist placere fødevarerne i diagrammet. Gå rundt imens, lyt og skriv 3-4 fødevarer op på tavlen, som parrene er mest uenige om (ofte er dette kiwi, græskar og gulerod). Få derefter parrene til at skrive deres værdier op på tavlen for de udvalgte fødevares grad af ”sødme” og ”let at spise”.

  • Vis videoen Bias and Variance (AssemblyAI, Youtube). Overvej sammen, om der er fødevarer, som er særligt udfordrede af varians og/eller skæv fordeling.

  • Bed parrene om at skrive frugt i diagrammets hjørne med mest “let at spise”/“sød” og grøntsager i modsatte hjørne. De skal desuden markere frugt og grøntsager med hver sin farve. Herefter skal de udføre følgende algoritme:

    1. Læg en blyant tilfældigt på skemaet.
    2. For hver fødevare: hvis de ligger i forkert kategori (på forkert side af blyant), så flyt den ende af blyanten 0.5 cm i rigtig retning.
    3. Test af model: ligger følgende fødevare korrekt?: Kokos på 0,4, rødbede på 2,7 og citron på 4,0?

4. Afslutning

Få hvert par til at give en kort vurdering af deres model og lad dem komme med bud på forbedringer. Herefter udvælger eleverne bedre features i Lesson 7.1: Fruit and veggie explorer på code.org. Når alle har en model, så vælg sammen et bud på features. Træn en model i plenum og diskuter mulige problemer med varians og skæv fordeling.


1. Introduktion

Opsummer fødevarecasen og repeter bias samt skæv fordeling.

Introducer til forskel på numerisk, ordnet og uordnet kategorisk data med afsæt i casen samt de to apps fra Modul 1.

2. Øvelse 1

  • Stil eleverne op på en række efter højde.
  • Bed dem om at træde et skridt frem for hvert nummer, deres sko er større end størrelse 40 - eller et skridt tilbage for hvert nummer undrer 40.
  • Diskuter om der nu kan trækkes en streg? Hvad stregen i givet fald skiller? Og om der kan være udfordringer med varians og/eller skæv fordeling?
  • Overvej også, om det er et numerisk eller (u)ordnet kategorisk datasæt, samt om det er superviseret eller usuperviseret læring.

3. Øvelse 2

  • Vis Introduction to the Perceptron (Artificial Intelligence - All in One, Youtube).
  • Bed eleverne om at relatere Perceptron til eksempler med fødevare og højde/skostørrelse. De skal også udpege input/features og output/labels.
  • Sæt herefter eleverne til parvist at karakterisere og vurdere risiko for problemer med varians og bias for følgende datasæt: [måKøreBil, indtagneGenstande, tid], [bilforsikringspris, postnummer, køn, alder, jobtype].

4. Øvelse 3

  • Vis videoen Understanding Deep Learing with Tensorflow (Artificial Intelligence - All in One, Youtube) og lav en kort opsamling med fokus på input/features, lag, neuroner og vægte.

  • Åbn sammen playground.tensorflow.org og vis en perceptronopsætning med to inputs og én neuron på datasættet Gaussian. Introducer opdeling i trænings og testdata, samt hvordan man justerer datamængde (batch size) og varians (noice).

  • Sæt eleverne til at opstille netværk med færrest neuroner og lag til datasættene circle og spiral på tensorflow.org. Få elevernes bud på opsætning og kør én sammen. Fremhæv, hvordan samme opsætning ender ud i forskellige modeller pga. tilfældigt setup af vægte samt valg af data til træning og test.

5. Afslutning

  • Lad eleverne byde ind med, hvad de 3 datasæt kunne repræsentere - kom evt. omkring sciencedirect.com: Digitized spiral drawing classification for Parkinson's disease diagnosis.

  • Introducer begrebet black box models med spiralegenkenderen som eksempel. Giv eksempler på populære modellers størrelse herunder ChatGpt 3’s 96 lag og 175 milliarder vægte.

    Bed eleverne overveje: Hvad der giver problemer med transparens i neurale netværk? Hvorfor netværkene er svære at justere? Hvornår den manglende. transparens er et problem?

1. Introduktion

Vis Introduction to AI-lab (code.org, youtube) og få eleverne til at udpege features og labels i eksemplerne med grøntsag/frugt, højde/skostørrelse samt spiral. Start sammen op på lektion 7.3 - Vis her, at bacon er et godt ”hot spot”. Relater hot spot til varians og bed eleverne overveje, om der ved netop bacon kan være bias/skæv fordeling. De arbejder herefter med at vælge features og træne en model over gode kombinationer af ingredienser til en pizza.

2. Øvelse - Træn modellen sammen

Når alle har en model, så få bud på features og træn modellen sammen:

  • Fremhæv hvordan procentsatsen i test varierer alt efter hvilke data, der udvælges til træning og test.
  • Bed om en mærkelig kombination af ingredienser og tjek modellens bud. Klik herefter på ”Details” og se om kombinationen findes i datasættet.
  • Overvej sammen, hvordan modellen kan give bud på kombinationer, der ikke er i datasættet, samt om det er problematisk eller smart. Kom evt. kort ind på de mange dimensioners forbandelse (Jf. Johansen & Sørensen 2018).

3. Afslutning

(Gen)-introducer layout og designguidelines som AIDA og gestaltlove. Sæt eleverne i gang med at lave Lektion 10 og Lektion 11, hvor de træner en model til at klassificere dyr og udvikler et intuitivt design og layout til brug af modellen.


1. Introduktion

Præsenter forskel på klassifikations og regressionsproblemer ved at vise videoen Logistic Regression (StatQuest, Youtube). Kobl regressionsproblem til numeriske labels og redegør evt. kort for princippet bag beregning af test-lost med mindste kvadraters metode.

2. Øvelse - Generering af model

Vis Numerical Data in AI Lab (code.org, youtube) og sæt derefter eleverne i gang med Lesson 13. Her skal de generere en model over antal løver, man ser på en safari - de skal tage forbehold for vejr, sæson og omgivelser. Bed dem om at tilpasse forsiden, så den følger AIDA, og sørge for at valg af parametre opfylder Donald Normans designprincipper.

3. Afslutning

Opsamling: Hvilke features er gode? Hvordan laves et godt layout til valg af features? Hvordan kommunikeres svarets usikkerhed bedst?



Introducer til sidst induktionsproblemet samt tilfældige korrelationer og bed eleverne vurdere, om der i casen kan opstå problemer med eks. manglende aktualitet - det er her oplagt at komme omkring klimaforandringer.


1. Introduktion

Opsummer med eleverne, hvad man kan/skal overveje, før man bruger et datasæt til maskinlæring. Skriv en fælles guideline op på tavlen, der kommer omkring: datamængde, fordeling, varians, transparens og aktualitet.



Bed dem også komme med cases, hvor man må inddrage konsekvenser ved forkerte prædiktioner.

2. Øvelse - Udvikling af app

Eleverne skal nu udvikle en app, der bruger en maskinlæringsmodel.

  • Vis dem tilgængelige datasæt i lektion 16. Præsenter også muligheden for at importere datasæt fra eks. kaggle.com eller opendata.dk - datasæt skal være kommaseparerede filer (.csv) og have færre end 20.000 poster.

  • Bed eleverne om parvist at kigge det valgte datasæt igennem og komme med en idé til brug i en app. De skal dele link til datasættet i en delt logbog, begrunde deres ide og vurdere datasættets mængde, fordeling/varians samt mulige bias. De skal også beskrive mulige problemer med transparens, aktualitet samt konsekvens i forhold til den foreslåede brug.

  • Parrene skal så afprøve features og løbende gemme screendumps af testresultater i logbogen, som de skal bruge i en begrundelse for det endelige valg.

  • Når de har fundet det endelige sæt features, skal de træne på samme sæt flere gange i træk og igen tage et screendump til brug i en dokumentation og vurdering af modellens varians.



3. Afslutning

Når alle elever har en model, så vis Machine Learning Fundamentals: Bias and Variance (StatQuest, Youtube). Kobl bias til den opnåede procentsats ved test samt varians til variation i procentsatser ved gentagne test med samme features. Afslut med, at eleverne skriver en vurdering af deres model i logbogen.


Parrene udvikler en app, som bruger deres model. De dokumenterer undervejs deres overvejelser omkring design og layout - eksempelvis brug af AIDA-modellen på forsiden, intuitivt valg af parametre ud fra Normans designprincipper samt god/forsvarlig visning af resultater.


1. Introduktion

Vis Algorithmic Bias and Fairness (Crash Course, youtube) og lav en opsamling med fokus på bias, korrelation og positivt feedback loop. Bed parrene om at overveje og notere, hvordan og i hvilken grad, det kan være et problem i deres app.

2. Øvelse - Ai-etik

Præsenter Floridi & Cowls (2019) bud på en ai-etik, der består af følgende 5 principper :

  • Godhed: brugeres forhold og/eller muligheder skal forbedres
  • Uskadelighed: brugere må ikke have uforholdsmæssig risiko/ulempe
  • Selvbestemmelse: brugere skal være i kontrol
  • Retfærdighed: brugere skal have ens vilkår uanset baggrund
  • Transparens: brugere skal finde output forståeligt og kunne efterprøve det

Sæt eleverne til at gennemføre tænke-højt-test med de 5 principper som fokuspunkt. Én fra hvert par går ud og tester hos de andre par, mens den anden bliver tilbage og afholder test og noterer i logbog. Parrene bytter roller internt efter 3-4 test.

Bed herefter om eksempler på, at elevernes bud på systemer bryder med de etiske principper. Vurder sammen, hvilken grad hvert brud har, samt hvordan det kan imødegås.

3. Afslutning

Til sidst sammenskriver parrene deres logbog til en beskrivelse af processen samt etiske overvejelser og bud på forbedringer.


I samarbejde med:

Materialet er udarbejdet af Centre for Undervisningsmidler (CFU) - en del af af Danmarks Professionshøjskoler.

Siden er opdateret af emu-redaktionen
Rettigheder:

Tekstindholdet på denne side må bruges under følgende Creative Commons-licens - CC/BY/NC/SA Kreditering/Ikke kommerciel/Deling på samme vilkår. Creative Commons-licensen gælder kun for denne side, ikke for sider, der måtte henvises til fra denne side.
Billeder, videoer, podcasts og andre medier og filer på siden er underlagt almindelig ophavsret og kan ikke anvendes under samme Creative Commons-licens som sidens tekstindhold.