Machine Learning
På Niels Bohr Institutet underviser Lektor Troels Petersen i machine learning, og her giver han en beskrivelse af hvad man kan bruge machine learning til. Vi præsenterer også 4 NBI studerendes projekter om partikelkollisioner ved CERN, opmåling af gletsjeres volumen, neutrinoer på Sydpolen, og om hvornår man kan sende patienter hjem fra en hospitalindlæggelse.
Troels Petersen er lektor og eksperimentel partikelfysiker på Niels Bohr Institutet ved Københavns Universitet, og han har undervist i machine learning i en årrække. Machine learning tog for hans vedkommende udgangspunkt i hans forskning ved de store partikeldetektorer nede ved CERN, verdens største forskningslaboratorium på grænsen mellem Frankrig og Schweiz.
Hvordan kan man indfange og registrere millioner og milliarder af partikelkollisioner? det var den store udfordring nede på CERN, og derfor var de også nogle af de første forskere, der begyndte at anvende machine learning i deres forskning.
Senere har det bredt sig til mange andre steder i erhvervslivet, og herunder kommer nogle eksempler.
Frederikke Rasmussen
Frederikke er specialestuderende i Fysik, og i hendes speciale bruger hun machine learning til at skabe modeller, der kan bruges til at analysere fremtidig data fra IceCube, et neutrinoobservatorium på Sydpolen.
Planen er at detektoren skal udvides inden for de næste par år, så vi kan få endnu mere præcis data.
Frederikkes projekt handler om at udvikle machine learning-modeller der kan bruges til denne nye version. Derfor arbejder hun med simulerede data, der efterligner det vi kommer til at måle i fremtiden, til at træne og teste hendes modeller, så de er klar til at analysere data fra den opdaterede detektor.
Hvorfor vil vi vide noget om neutrinoner?
Neutrinoer er nogle af de mest mystiske og undvigende partikler i universet. Hvert sekund flyver der en billion neutrinoer gennem vores krop uden at vi ligger mærke til det. Vi kalder dem derfor også spøgelsespartikler.
De er næsten usynlige partikler, der kan rejse fra de mest ekstreme steder i universet – f.eks. supernovaer, neutronstjernesammenstød og fremmede galakser – og nå til Jorden uden at blive stoppet undervejs.
Det gør dem til helt unikke budbringere, der kan give os nye informationer om universets mest voldsomme processer.
Traditionelt set kigger vi ud i rummet ved hjælp af lys eller fotoner, f.eks. gennem synligt lys, radiobølger og røntgenstråler. Men neutrinoer giver os et helt nyt værktøj og kan hjælpe os med at forstå ting, der sker ved langt højere energier end vi tidligere har kunne se med traditionelle teleskoper.
Et specifikt neuralt netværk
En af de store udfordringer med IceCube-data er, at det er meget uregelmæssig data. Når neutrinoer kolliderer med atomer i isen, kan de efterlade forskellige typer spor. Nogle gange som lange spor, andre gange som kaskader af lys, og hver interaktion kan aktivere et forskelligt antal sensorer.
Hvert mønster fortæller os noget om neutrinoens energi og retning, men fordi målingerne er så forskellige, og vi ikke har en ensformig mængde af information, kræver det avancerede machine learning-modeller for at analysere dem.
Derfor bruger Frederikke en særlig type machine learning-model, der kaldes et Graph Neural Network, som i modsætning til mange andre modeller, kan håndtere disse irregulære data. Denne type netværk ser på data som en graf, hvor forskellige sensorer og deres målinger hænger sammen som et 3D netværk af punkter og forbindelser.
Det hjælper os med at forstå, hvordan de forskellige sensor-målinger hænger sammen, og det er afgørende for at kunne rekonstruere neutrinobegivenheder og forudsige værdier som energi og partikelbaner.
Hvordan fungerer Frederikkes machine learning?
Når vi træner vores machine learning-model, starter vi med at give den et stort datasæt, typisk bestående af hundrede tusinder eller millioner af neutrino events.
- For hvert event bruger vi 13 forskellige parametre – såsom lyssensorens placering, tidsperioden for målingen og den registrerede ladning.
- For hver sensor der har opfanget noget lys, kigger modellen på hvilke andre sensorer den forbinder til, hvilke andre i nærheden der også er blevet aktiveret og deres målinger af de forskellige parametre.
- Ved at se på relationerne mellem alle de aktiverede sensorer lærer modellen efterhånden at genkende mønstre i de forskellige typer af neutrinobegivenheder og hvordan de opfører sig.
- Modellen starter så med at afgive sit første gæt på den opgave vi giver den og finjusterer så sine beregninger igen og igen. Gennem mange iterationer kan vi træne modellen at rekonstruere forskellige egenskaber ved netrinoerne med stor præsicion.
- Når modellen er færdigtrænet, har vi et værktøj, der kan hjælpe os med at tolke de komplekse data vi får fra IceCube.
Med machine learning håber vi at kunne svare på spørgsmål som: Hvor kommer neutrinoerne fra? Hvilke begivenheder i Universet har skabt dem? Hvad kan de fortælle os om Universets mest ekstreme fænomener? Og hvorfor opfører de sig så anderledes end andre partikler.
Josephine G. Kande
Josephine er kandidatstuderende i Fysik, og hendes speciale handler om at kunne forudsige gletsjertykkelse med en machine learning-metode
Dette projekt er lavet som en del af kurset Applied Machine Learning. Min gruppe og jeg har udviklet en machine learning-model til at forudsige gletsjeres tykkelse. Projektet er motiveret af de stigende globale temperaturer, som øger gletsjersmeltning og bidrager til havniveaustigninger i fremtiden.
For at bestemme gletsjertykkelsen skal man normalt enten måle den direkte, eller forsøge at beregne den med en model. I stedet undersøgte vi en ny metode, hvor vi trænede en machine learning-model til at kunne forudsige tykkelsen ud fra målinger.
Vi brugte data fra gletsjerobservationer, hvor parametre såsom areal, hældning og overfladehastighed indgår.
Datasættet vi fik udleveret ved projektets start, stammer fra GlaThiDa (Glacier Thickness Database), som indeholder målinger af isens tykkelse på gletsjere og iskapper.
Desuden omfattede datasættet relevante målingsparametre fra andre databaser, såsom OGGM (The Open Global Glacier Model).
- Nogle af målingsparametrene beskrev lokale værdier, eksempelvis hældningsmålinger forskellige steder (defineret ved bredde- og længdegrad koordinat) inden for samme gletsjer.
- Andre parametre var generelle for hele gletsjeren, som for eksempel arealet, der er en konstant værdi for hele gletsjeren og ikke varierer mellem målinger forskellige steder på samme gletsjer.
- Vores opgave bestod i at identificere de mest relevante målingsparametre og træne modellen til at genkende mønstre, og på baggrund af det kunne forudsige tykkelsen på specifikke koordinater i gletsjeren.
Formålet med at forudsige en gletsjers tykkelse er, at man kan finde en gletsjer volumen og hjælpe med at forudsige, hvor meget vand der er bundet i gletsjeren. Dermed kan vi bedre forudsige fremtidige havniveaustigninger som følge af klimaforandringer.
Ian Pascal Møller
Ian afleverede i efteråret 2024 sit speciale, som omhandler udviklingen af værktøjer til dataanalyse med neurale netværk til FoCal-H projektet, en partikeldetektor, der skal sidde på ALICE detektoren ved CERN.
- FoCal-H, som står for "hadronic forward calorimeter", er en prototype partikeldetektor, der har været arbejdet på gennem de seneste år på NBI, blandt andet af flere bachelor- og kandidatstuderende.
- Formålet med FoCal-projektet er at planlægge, designe, konstruere samt teste et nyt kalorimeter, som ultimativt skal installeres ved ALICE - ét af de helt store detektoreksperimenter på CERN.
- Før dette kan lade sig gøre, er der en række ting som skal være på plads; herunder behandlingen og fortolkningen af de data kalorimeteret registrerer. Det er her brugen af machine learning kan komme os til gavn.
Udfordringerne med Prototypen
Helt grundlæggende set, så fungerer kalorimeteret ved at partikler med meget høj energi afsætter deres energi i kalorimeteret, som eventuelt bliver omdannet til lys, som vi så måler mængden af gennem et array af i alt 249 photodetektorer.
Signalet vi ser i disse photodetektorer, er proportionelt med mængden af lys, som i sig selv er proportionelt med den mængde energi partiklen havde. Vi bruge detektoren til at måle energien af en given partikel ved at registrere, hvor stort signalet for begivenheden er.
I forbindelse med arbejdet på denne detektor er der dog nogle problemer, som kan være vanskelige at takle. Disse har både at gøre med arbejdet med udviklingen af detektoren, men også med den egentlige "rigtige" brug af detektoren:
- Hvordan håndterer vi optagelser, hvor der er mere end én partikel med? Vi er nødt til at kunne adskille disse når de opstår, for at kunne forstå dataen korrekt. I nogle tilfælde vil partikler ligge så tæt op ad hinaden, at det ender med at ligne én partikel med tilsvarende højere energi.
- Hvordan kan vi sørge for, at kun inkludere den del af en optagelse, som rent faktisk tilhører en partikel? Detektoren er meget sensitiv, og der er altid en del af signalet, der skyldes andre kilder, såsom elektrisk støj. Vi vil også gerne kunne undgå at inkludere disse forstyrrelser.
- Hvordan kan vi sikre os, at den data vi optager overhovedet er "god"? Der er mange komplekse og sensitive komponenter i sådan en detektor, og det sker af og til, at der kan opstå problemer som påvirker dataen. Vi vil gerne nemt kunne opdage, når sådanne situationer opstår.
Det er med brugen af *convolutional neural networks* at jeg har forsøget at besvare blandt andet disse spørgsmål, og udvikle værktøj til analyse af FoCal-H data på måder, som ikke har været gjort tidligere. Det fælles træk ved disse problemer er, at de er relativt nemme for et menneske at besvare ved at gå gennem dataen manuelt - men grundet den store mængde data der optages, er dette ikke realistisk.
De neurale netværk som mit projekt bygger på, adskiller sig fra de typiske ved at benytte "convolution" - en relativt simpel matematisk operation - som er en central del af datatransformationen. Disse netværk bruges ofte til opgaver, der involverer "computer vision" og lignende, f.eks. billedgenkendelse. Det er ofte opgaver, som typisk anses for relativt simple for mennesker at udføre, men svære for konventionelle algoritmer.
Sådan fungerer det: Billeder af partikelsammenstød
Det giver måske ikke umiddelbart mening, hvorfor vi vil benytte sådan et netværk her, men detektoren er rent faktisk bygget på sådan en måde, at dataen meget direkte kan fortolkes som billeder: de 249 photodetektorer, som optager lys, er placeret for enden i ét plan, og hver af disse kan ses som én pixel i et kamera.
- Et kamera, der tager meget lav-opløsningsbilleder af partikelsammenstød. Områder hvor der blev afsat mere energi ses derfor som lysere på billedet, og mørke områder svarer til steder hvor ingen energi blev afsat.
- At opstille dataen på denne måde har den fordel, at der er meget relevant information i at undersøge *hvordan* signalet fordeler sig gennem detektoren. Man kan f.eks. nemt som et menneske genkende to separate partikler fra én, hvis man observerer to separate kraftige punkter hver sit sted, eller hvis enkelte områder eller pixels er defekte og skal undersøges.
- Ved at træne et neuralt netværk til at kunne genkende, hvordan forskellige partikler med forskellig energi ser ud, kan vi da bruge det trænede netværk til blandt andet at lokalisere områder i disse billeder, hvor partikler ses, og derfra også tælle samt afgrænse dem.
- Netværkene kan også trænes til at finde "underlig" data - altså data, som kunne pege på potentielle problemer med detektoren, ved at sammenligne detaljerne i dataen med det, som netværket har lært at genkende.
Med disse netværk kan vi derfor gå dybere i detaljerne med data-analysen, end vi har kunnet førhen, og samtidigt hjælpe os under afprøvningen af detektoren, når vi optager data ved at fungere som et "quality assurance"-værktøj.
Kontakt
Troels Petersen, Lektor
E-mail: petersen@nbi.ku.dk