Hvordan kan vi bruge machine learning?
Tid
Lektionen forventes at tage 20 min. at gennemføre. Dertil kommer refleksionsøvelsen, som du med fordel kan lave sammen med dine medstuderende.
Om lektionen 'Hvordan kan vi bruge machine learning?'
Lektionen om machine learning giver dig en grundlæggende forståelse af machine learning som en konkret teknologi, der driver AI. Du vil få viden om unsupervised, supervised og reinforcement learning, og gennem et eksempel fra den medicinske verden vil du se, hvordan supervised learning kan bruges til at understøtte forskning.
Læringsmål
Når du har gennemført lektionen, forventer vi, at du:
- kan nævne eksempler på, hvad machine learning kan bruges til i videnskabelig sammenhæng.
- kan beskrive de grundlæggende trin, du skal gennemgå for at træne en ’supervised machine learning-model’.
- kan forklare forskellen på unsupervised, supervised og reinforcement learning.
- kan forklare, hvad ’overfitting’ er, samt hvordan du kan opdage og minimere overfitting.
- kan reflektere over, hvilke typer af forskningsspørgsmål inden for dit eget fagområde der kan belyses ved at bruge en supervised machine learning-model.
Kilde
Lektionen er produceret af Københavns Universitet som en del af Københavns Universitets læringsressourcer til digital dannelse, 2023.
Fagansvarlig:
- Silas Nyboe Ørting, postdoc, Datalogisk Institut
____________________________________________________________
Hvad kan vi bruge machine learning til i videnskabelig sammenhæng?
Machine learning er en vigtig del af mange videnskabelige studier, først og fremmest fordi vi i dag kan træne ML-modeller, der kan annotere data omtrent lige så godt som mennesker. Det giver mulighed for at gennemføre undersøgelser, der tidligere var urealistiske, som f.eks. at kortlægge mængden af kulstof i træer i Sahel-området:
- Sub-continental-scale carbon stocks of individual trees in African drylands Links to an external site.
- Optælling af 9 milliarder træer kan hjælpe med kontrol af klimakreditter og naturgenopretning
Ofte kræver det en rimelig stor mængde data at træne en god ML-model fra bunden. I mindre projekter såsom bachelorprojekter er det urealistisk at bruge uger på at annotere træningsdata. I stedet kan man f.eks genbruge modeller trænet på lignende data eller bruge interaktiv træning, hvor man løbende retter modellens fejl.
Machine learning er ikke bare et annoteringsværktøj. ML er også kernen i sprogmodeller som Ithaca, der er blevet brugt til at rekonstruere og tidsbestemme oldgræske tekster ud fra fragmenter af stentavler og papir:
- Restoring and attributing ancient texts using deep neural networks Links to an external site.
- Interaktiv demo Links to an external site.
____________________________________________________________
Hvad er machine learning?
Machine learning (ML) handler om, hvordan maskiner lærer fra data. Der er tre grundelementer i ML:
- Data
- Model
- ML-algoritme
Data er observationer, målinger eller eksempler på det, vi er interesserede i. Ofte er der også beskrivelser eller annoteringer af data. Det kan f.eks. være, at vi har røntgenbilleder med radiologiske beskrivelser eller lydoptagelser af fugle med artsbestemmelser. Men vi kan også have data uden annoteringer, f.eks. tekster indsamlet fra nettet.
Modellen er en matematisk beskrivelse af det, vi ønsker at lære. Det kan f.eks. være, hvordan man artsbestemmer fugle fra lydoptagelser. Til at starte med er modellen ikke en færdig beskrivelse. Den er mere som en opskrift, hvor der ikke står, hvor meget vi skal bruge af hver ingrediens.
ML-algoritmen er en metode til at tilpasse modellen til data. Så hvis modellen er en ufærdig opskrift, er ML-algoritmen en metode til at færdiggøre opskriften. Når vi tilpasser en model, siger vi, at vi træner modellen.
Der findes mange forskellige ML-algoritmer. En af de vigtigste grupperinger af ML-algoritmer handler om, hvordan vi lærer fra data. Vi skelner mellem unsupervised learning, supervised learning og reinforcement learning.
Unsupervised Learning
I unsupervised learning træner vi modeller uden at skelne til annoteringer. En vigtig anvendelse er klyngeanalyse, hvor vi leder efter grupper eller klynger af datapunkter, der er ens. Klyngeanalyse kan f.eks. bruges til at generere fylogenetiske hypoteser, der illustrerer arters evolutionære udvikling. En anden vigtig anvendelse er til træning af generative modeller, hvor modellen lærer at genere data, der ligner det, vi har. Store generative modeller, såkaldte foundation models, er grundlaget for AI systemer som ChatGPT og DALL-E.
Supervised Learning
I supervised learning træner vi modeller ved hjælp af annoteringer. En vigtig anvendelse er til klassifikation, hvor vi inddeler data i forudbestemte kategorier, f.eks. hvilken fugl man kan høre i en lydoptagelse. I supervised learning bruger vi typisk menneskelige annoteringer og forsøger at automatisere den menneskelige annoteringsproces. Det giver ofte anledning til utilsigtet bias, da der ofte er bias i menneskelige annoteringer.
Reinforcement Learning
I reinforcement learning træner vi modeller ved hjælp af belønninger. En vigtig anvendelse er til styring af robotter, hvor robotten skal udføre en kompleks opgave, der består af mange trin. Det kan f.eks. være, at vi vil lære en drone at navigere mellem to steder. Det kræver mange ”her og nu-beslutninger”, før dronen når sit mål, og reinforcement learning kan bruges til at lære, hvilke ”her og nu-beslutninger” der er bedst i forhold til at nå målet. Reinforcement learning har stor succes med spil, f.eks. AlphaGo, der blev mester i Go Links to an external site. ved at spille mod sig selv.
Når vi udvikler AI-systemer, bruger vi typisk metoder fra flere læringsscenarier. For eksempel kan vi bruge unsupervised learning som en grundmodel, der kan tilpasses med supervised learning og forbedres med reinforcement learning.
____________________________________________________________
Hvordan kan machine learning bruges til at analysere øjensygdomme?
Hvis du oplever Access Denied, genindlæs da siden. Alternativt skift browser.
Hvordan kan du komme i gang med at bruge machine learning?
Inden for ML-forskning er det tradition at gøre sin software frit tilgængelig som "open source". Som programmør er der altså tusindvis af tilgængelige modeller, man kan genbruge. I takt med at ML-modellerne er blevet bedre og dermed relevante for et bredere publikum, er det blevet mere udbredt at kombinere modellerne med en grafisk brugerflade. I mange situationer vil der derfor allerede være et brugervenligt ML-værktøj, der kan løse dit problem, uden at du selv kan programmere.
Har du brug for at udvikle en ML model til en bestemt opgave, kan det være en god idé at samarbejde med en machine learning-ekspert – eller selv tilegne dig den nødvendige viden, f.eks ved at kigge på de ressourcer, vi henviser til længere nede.
____________________________________________________________
Refleksionsøvelse
- Formuler et spørgsmål inden for dit fagområde, der kræver analyse af en stor mængde data. Du skal fokusere på, hvad det kan være spændende at svare på, ikke hvordan du vil svare på det. Det kan f.eks. være: Har dialekt indflydelse på den hjælp, du modtager ved telefonsupport?
- Beskriv, hvilke data og annoteringer der skal bruges til at svare på dit spørgsmål. F.eks.:
Data: Lydoptagelser af telefonsupport.
Annoteringer: Klassifikation af dialekt. Vurdering af hjælpens kvalitet. - Overvej, hvordan du kan måle, om en ML model kan løse annoteringsproblemet. F.eks.:
Klassifikation af dialekt: Hvis modellen rangordner mulige dialekter efter, hvilken der er mest sandsynlig, kan man tælle, hvor ofte den rigtige er med i top 3.
Vurdering af hjælpens kvalitet: Hvis modellen forudsiger god/dårlig, kan man tælle, hvor ofte forudsigelsen er korrekt. - Undersøg, om der findes tilgængelige værktøjer, der kan løse annoteringsproblemet. Et godt sted at starte er https://github.com/heartexlabs/awesome-data-labeling Links to an external site.
____________________________________________________________
Hvis du vil vide mere
Her finder du en række ressourcer, hvor du på egen hånd kan lære mere om machine learning:
- Data literacy – What is it and why does it matter? Links to an external site.
- Elements of AI, der introducerer dig til AI
- Building AI
Links to an external site., der følger op på Elements of AI og lærer dig at implementere AI-løsninger
____________________________________________________________