SRP

I arbejdet med studieretningsprojektet kan matematik og AI indgå i et samarbejde med en lang række andre fag. Idéer til sådanne samarbejder findes i afsnittet konkrete idéer i fagene.

I matematik kan AI bringes i spil på forskellig vis. Forslag til, hvordan det kan gøres, følger her:

Kunstige neurale netværk

Hvis man ønsker at arbejde med kunstige neurale netværk i en eller anden form, har vi samlet alle vores noter om kunstige neurale netværk her. Der er – som det også er beskrevet – forskellige noter med forskelligt fokus og sværhedsgrad. Her er forslag til konkrete formuleringer, som kan anvendes i udformningen af opgaveformuleringen:

  • Redegør for, hvad der forstås ved en kunstig neuron samt hvordan vægtene opdateres. Bevis herunder, hvordan sigmoid-funktionen differentieres.

  • Redegør for, hvad der forstås ved en kunstig neuron samt hvordan vægtene opdateres i det tilfælde, hvor cross-entropy benyttes som tabsfunktion.

  • Redegør for, hvad der forstås ved et kunstigt neuralt netværk med ét skjult lag samt hvordan et sådant netværk trænes.

  • Redegør for, hvordan minimering af en tabsfunktion indgår ved træningen af et neuralt netværk. Forklar i den forbindelse metoden gradientnedstigning og bevis sætningen om retningsafledede udtrykt som et prikprodukt med gradientvektoren for funktioner af to variable.

  • Forklar, hvordan krydsvalidering kan anvendes til at vurdere anvendeligheden af et kunstigt neuralt netværk, herunder risikoen for overfitting.

  • Redegør for, hvad der forstås ved et simpelt neuralt netværk med to skjulte lag. Kom herunder ind på feedforward og backpropagation1.

1 Der kan eventuelt stilles krav om, at cross-entropy skal benyttes som tabsfunktion, hvis det skal være sværere.

For at sikre, at eleverne demonstrerer selvstændighed, kan det være en fordel at bede dem om at navngive vægtene i de netværk, som de arbejder med, anderledes end i noterne.

Sprogmodeller

En anden oplagt mulighed er at lade eleverne arbejde med store sprogmodeller. Vi har samlet alle vores noter om sprogmodeller her. Vi anbefaler, at eleven arbejder dybdegående med en udvalgt del af materialet, fordi det ellers hurtigt bliver for komplekst. Her er forslag til konkrete formuleringer:

  • Redegør for, hvordan ord repræsenteres som vektorer i "Word2Vec" algoritmen. Kom herunder ind på fokus- og kontekstvektorer, samt hvordan softmax-funktionen anvendes til at estimere vektorrepræsentationer for ord. Bevis, hvordan softmax-funktionen differentieres.

  • Redegør for, hvordan et kunstigt neuralt netværk kan bruges til tekstgenerering. Kom herunder ind på, hvordan softmax-funktionen anvendes, samt hvordan denne differentieres.

Andre AI emner

Vi har samlet en række øvrige AI emner her på siden, som også fint kan danne udgangspunkt for en SRP. Det drejer sig blandt andet om anbefalingssystemer, logistisk regression, krydsvalidering, naiv Bayes klassifier, clustering med K-means med mere.

Apps til træning af netværk

Hvis eleverne arbejder med konkrete datasæt, kan de træne et kunstigt neuralt netværk ved hjælp af en af vores apps.

Datasæt

Det kan være, at eleverne selv har indsamlet data, og ellers er der et væld af datasæt til eksempelvis binær klassifikation på kaggle.com.

Man kan også typisk finde gode forslag til datasæt ved hjælp af AI-chatbots.

Konkrete idéer i fagene

Herunder følger en række konkrete idéer i fagene. Derudover er der også inspiration at hente under vores side om undervisningsforløb.

Nogle af forslagene er beskrevet i alle detaljer, mens andre blot er skitserede. Desuden er nogle af opgaverne tænkt til den fagligt meget stærke elev, men det kan jo reduceres efter behov. Omvendt kan der i andre opgaver eventuelt tilføjes mere konkrete krav om specifik teori og/eller beregninger på små datasæt eller implementering og træning af større modeller på større datasæt.

Så tag forslagene som inspiration til at lave konkrete opgaver, der passer til den enkelte elevs ønsker og behov.

Enkeltfaglig i matematik

  • Gør med relevante matematiske formler rede for opbygningen af et neuralt netværk til multipel klassifikation, herunder aktiveringsfunktion, tabsfunktion og opdatering af vægte.
  • Vis konkrete udregninger for et selvvalgt input-eksempel for feedforward i et neuralt netværk til multipel klassifikation med to input neuroner, et skjult lag med en neuron og tre output neuroner. Du skal anvende sigmoid og softmax. Anvend små heltallige værdier (for eksempel \(-2\), \(-1\), \(0\), \(1\), \(2\)) til startvægte og bias.
  • Udled opdateringsreglen for backpropagation med softmax og cross-entropy i samme netværk med fokus på opdatering af én vægt mellem det skjulte lag og outputlaget. Foretag opdateringen på dit eget datasæt. Brug en selvvalgt one hot vektor som targetværdi.
  • Implementer et neuralt netværk til multiple klassifikation for eksempel i Orange. Træn og vurder netværket på dette datasæt Iris blomster. Du skal inddrage begreber som træningsdata, testdata, learning rate (skridtlængde), classification accuracy (klassifikationsnøjagtighed) og confusion matrix. Undersøg hvordan ændringer i learning rate, antal skjulte lag eller antal neuroner i det/de skjulte lag påvirker klassifikationsnøjagtighed og confusion matrix.
  • Redegør for sigmoid-funktionen og gradientnedstigning.
  • Redegør for hvad der forstås ved et simpelt kunstigt neuralt netværk med to skjulte lag. Du skal i din redegørelse komme ind på feedforward og backpropagation. Specielt skal du vise, hvordan man opdaterer vægtene tættest på outputlaget.
  • Forklar kort, hvad forskellen er på et simpelt kunstigt neuralt netværk og en kunstig neuron.
  • Ved hjælp af et selvvalgt datasæt skal du træne en kunstig neuron med Kunstig Neuron App og vurder modellens nøjagtighed.
  • Redegør for feedforward og backpropagation i et kunstigt neuralt netværk med fokus på at foretage beregningerne med brug af matricer.

  • Implementer beregningerne på et meget lille netværk i eget CAS-værktøj med brug af matricer.

Formuleringen skal foldes mere ud med mere konkrete krav til teoridelen. Man kan eventuelt give eleven et konkret datasæt til implementeringen.

Dele af forberedelsesmaterialet om matricer fra 2011 til forsøgtordningen til Stx A kan for eksempel benyttes som kilde.

Gilbert Strangs bog "Linear Algebra and Learning from Data" samt kursus 18065 på ocw.mit.edu kan også være brugbart for en dygtig elev.

  • Redegør for opbygningen af et simpelt neuralt netværk til regression, herunder struktur, feedforward og aktiveringsfunktioner.

Betragt et neuralt netværk med ét input \(x\), én neuron i det skjulte lag og ét output \(o\) givet ved

\[ o = v_1 \cdot f(w_1 \cdot x + w_0) + v_0 \]

hvor \(f\) er en differentiabel funktion. Anvend tabsfunktionen

\[ L = (t - o)^2 \]

  • Bestem ved hjælp af kædereglen de partielle afledede af \(L\) med hensyn til \(o\), \(w_1\), \(w_0\), \(v_1\) og \(v_0\). [For en mindre stærk elev kan dette krav reduceres].

  • Udled opdateringsreglerne og fortolk betydningen af de fundne afledte i forhold til opdatering af vægtene.

  • Anvend modellen på et selvvalgt datasæt med en kontinuert afhængig variabel, og sammenlign med en lineær model.

  • Analyser og fortolk modellens resultater, og diskutér om modellen er i stand til at beskrive ikke-lineære sammenhænge.

  • Perspektivér til forskellen mellem regression og klassifikation i neurale netværk. [Dette kan fjernes for en mindre stærk elev].

Opgaven kan eventuelt kombineres med et andet fag. Så skal kravene til matematik selvfølgelig reduceres, så der er plads til begge fag. Datasæt og databehandling fra et andet fag kan skabe en fin kobling til matematikdelen.

  • Redegør for, hvordan ord kan repræsenteres som vektorer med Word2Vec algoritmen, og hvordan sandsynligheder for ord kan modelleres ved hjælp af softmax-funktionen.

  • Forklar og anvend modellen

    \[ \begin{aligned} P(\text{kontekst = ord}_i &\mid \text{fokus = }w) \\ &= \frac{\mathrm{e}^{y_i}}{\mathrm{e}^{y_1} + \dotsm + \mathrm{e}^{y_V}} \\ &= \frac{\mathrm{e}^{\vec{v}_{w}\cdot \vec{k}_{\text{ord}_i}}}{\mathrm{e}^{\vec{v}_{w}\cdot \vec{k}_{\text{ord}_1}} + \dotsm + \mathrm{e}^{\vec{v}_{w}\cdot \vec{k}_{\text{ord}_V}}} \end{aligned} \tag{1}\]

    til konkrete beregninger. [Her kan man eventuelt give eleven et konkret, meget lille datasæt.]

  • Undersøg, hvordan modellen kan trænes ved hjælp af en tabsfunktion, og perspektivér til moderne sprogmodeller.

Samfundsfag og matematik

Eleven udarbejder en kandidattest i forbindelse med valg, som kan bruges til at prædiktere politisk tilhørsforhold. Hvordan selve kandidattesten kan laves, giver vi et eksempel på i forløbet om kandidattest. Noten om kunstige neuroner eller simple kunstige neurale netværk til multipel klassifikation vil også være oplagt at bruge som teoretisk udgangspunkt i matematik.

Se også forslaget om "Ulighed" herunder.

Brugen af kunstig intelligens i forbindelse med ansigtsgenkendelse. Herunder kan emner som persondataloven, retssikkerhed og/eller partiernes holdning til overvågning behandles.

Der tages afsæt i følgende holdninger til ulighed uden at sætte partier på:

  • "Blå blok": Øget ulighed er en drivkraft for øget vækst, som giver øget velstand for alle.
  • "Rød blok": Større lighed er et kendetegn ved de bedst fungerende demokratier og lykkeligste samfund. Det giver samtidig de bedste muligheder for alle og samlet set de bedste rammevilkår for virksomheder.

Problemformulering

Hvad er ulighed, og er det et problem i Danmark?

  • Redegør kort for begrebet ulighed - herunder holdninger til ulighed.
  • Forklar, hvordan kunstig intelligens kan bruges ved kandidattests i forbindelse med valg og lav en simpel kandidattest ud fra nogle få velvalgte spørgsmål om aspekter af ulighed, som skal give en anbefaling om at stemme på enten rød eller blå blok.
  • Kom desuden ind på forskellige matematiske mål for ulighed herunder Gini-koefficienten.
  • Forslag til diskussionsspørgsmål: Skal uligheden begrænses? Hvordan kan den begrænses? Fordele og ulemper ved ulighed og så videre.

Noter

Jensby, Jakob & Brøndum, Peter (2020): Ulighedens mange ansigter.

Eleven redegør for, hvordan en af anbefalingsalgoritmerne i noten om anbefalingssystemer virker. I samfundsfag arbejdes der med, hvordan personlige data ikke kun kan bruges til målrettede filmanbefalinger, men også til målrettede politiske kampagner.


Dansk og matematik

Formidlingsopgave hvor AI metoder behandles og derefter formidles for eksempel som en populærvidenskabelig artikel. Eleverne skal skrive en danskfaglig meta-del, hvor de redegør for deres overvejelser og valg med hensyn til målgruppe, virkemidler med videre.


Engelsk og matematik

Redegørelse for, hvad et kunstigt neuralt netværk er. I engelsk perspektiveres der til Ian McEwans bog "Machines like me".


Idræt og matematik

Implementering af et kunstigt neuralt netværk, som kan forudsige baseball tegn.

Noter

Stealing Baseball Signs with a Phone (Machine Learning).


Biologi og matematik

Redegørelse for, hvordan et kunstigt neuralt netværk kan trænes, så det kan anvendes i forbindelse med diagnosticering af sygdomme.

Noter

Meet the computer diagnosing cancer.

I biologi arbejdes der med diabetes type II og oral glukosetolerancetest (OGTT) som screeningstest.

I matematik redegøres der for logistisk regression – herunder hvordan denne metode kan benyttes til at prædiktere sygdom ved en person ud fra information fra et større datasæt. Desuden forklares idéen bag maksimum likelihood, og hvordan parametrene i modellen estimeres.

Der kan eventuelt konstrueres et OGTT-datasæt, hvorpå der udføres logistisk regression – herunder kan der redegøres for betydningen af odds, og der kan foretages en prædiktion for diabetes på en fiktiv person, der er testet.

Noter

Dansk studie: 3 dages motion om ugen booster diabetes-patienters behandling.


Informatik og matematik

Implementering af et kunstigt neuralt netværk, som kan kende forskel på for eksempel håndskrevne 2- og 9-taller.

Problemformulering [innovativ opgave]

Udarbejd et løsningsforslag til, hvordan man oversætter håndskrevne tal, så de kan genkendes af en computer. I den forbindelse skal du:

  • Redegør for, hvad der forstås ved et kunstigt neuralt netværk, hvor du tager udgangspunkt i et netværk med ét skjult lag. Kom herunder ind på feedforward og backpropagation.
  • Implementer et kunstigt neuralt netværk med ét skjult lag, som kan bruges til at kende forskel på 2- og 9-taller (brug en passende delmængde af MNIST train-datasættet).
  • Vurder dit løsningsforslag i forhold til styrker og svagheder samt graden af innovation. Inddrag i den forbindelse en passende delmængde af MNIST test-datasættet.

Noter

Netværket kan trænes på en passende delmængde af MNIST datasættet.

Redegørelse for hvordan et kunstigt neuralt netværk trænes. Diskussion af de etiske problemstillinger, som kan opstå i forbindelse med anvendelsen af kunstig intelligens og/eller diskussion af de muligheder og begrænsninger, der er ved brugen af kunstig intelligens.

Noter

Advantages and disadvantages of Machine Learning Language


Psykologi og matematik

Forklar, hvordan kunstige neurale netværk kan bruges til at prædiktere psykisk sygdom baseret på register og genetiske data.

Noter

Deep Learning for Cross-Diagnostic Prediction of Mental Disorder Diagnosis and Prognosis Using Danish Nationwide Register and Genetic Data.


Erhvervsøkonomi og matematik

Eleven redegør for, hvordan en af anbefalingsalgoritmerne i noten om anbefalingssystemer virker. I erhvervsøkonomi arbejdes der med forskellen på forretningsmodeller, som i høj grad er datadrevne, sammenholdt med mere klassiske segmenteringsstrategier.