Datamaskiner med ymse programvare og programmeringsspråk er nødvendig for å lære om maskinlæring og kunstig intelligens. Øyvind Sigmundsson Skøyen, doktorgradsstudent, forklarer Jakob, August, Magnus og Jørgen hvordan de skal programmere spillet "Snake" slik at slangen bare spiser og aldri dør. Foto: Elisabeth Kirkeng Andersen

Programmerer seg fram til forståelse av kunstig intelligens og maskinlæring

Fire elever fra Ullern videregående fikk over to dager i mars spesialundervisning på Fysisk institutt ved Universitetet i Oslo. Jakob, August, Jørgen og Magnus brukte mye av tiden på å programmere og lære slangen i spillet “Snake” til å få belønning og unngå døden, for å forstå mer av kunstig intelligens, nevrale nettverk og maskinlæring

Fakta

Nevrale nettverk:

Et nevralt nettverk er en samlebetegnelse for datastrukturer, med tilhørende algoritmer, som er inspirert av måten nervecellene i en hjerne er organisert på. Nevrale nettverk er blant nøkkelkonseptene innen maskinlæring og kunstig intelligens.

Maskinlæring:

Maskinlæring er en spesialisering innen kunstig intelligens hvor man bruker statistiske metoder for å la datamaskiner finne mønstre i store datamengder. Maskinen «lærer» i stedet for å bli programmert.

Kunstig intelligens:

Kunstig intelligens er informasjonsteknologi som justerer sin egen aktivitet og derfor tilsynelatende framstår som intelligent. En datamaskin som er i stand til å løse oppgaver uten å få instruksjoner fra et menneske på hvordan den skal gjøre det, har kunstig intelligens.

Kilde: Store Norske Leksikon, les mer her.

På Universitetet i Oslo samarbeider toppforskerne professor Anders Malthe-Sørenssen og professor Marianne Fyhn om en utplassering av åtte elever fra Ullern videregående skole hvert vårsemester.

Marianne Fyhn og forskningsruppen hennes er noen av verdens fremste hjerneforskere. De fire biologielevene Chiara, Eline, Tora og Eilin fikk i år prøve seg som rottetrenere og lære om hvordan forskning på rottene kan gi uvurderlig kunnskap om hjernen.

Les mer om hva elevene fikk lære i denne artikkelen om utplasseringen fra 2019: “Rottetrening, hjerneaktivitet og tverrfaglighet”.

Anders Malthe-Sørenssen leder “Center for Computing in Science Education” og har parallelt med Marianne elevene Magnus Trandokken, August Natvik, Jørgen Hamsund og Jakob Weidel på utplassering.

– Jeg har tre doktorgradsstudenter som underviser gutta. Elevene skal få en bedre forståelse av hva kunstig intelligens er. Vi ønsker å avmystifisere begrepet for dem, og så får de et innblikk i hva maskinlæring, nevrale nettverk og programmering er, sier Malthe-Sørenssen.

Se forklaring for maskinlæring, nevrale nettverk og kunstig intelligens i faktaboksen.

Han og studentene hans prøver ut et nytt undervisningsopplegg på Ullern-elevene, og er det vellykket kan flere nyte godt av det. Mye av det Malthe-Sørenssen og forskningsgruppen hans jobber med er nettopp å forbedre undervisningen innen avansert matte, fysikk og programmering.

 

Øyvind Sigmundsson Skøyen (i mitden) er en av doktorgradsstudentene som underviser gutta fra Ullern i dag. Her bistår han Jakob Weidel som går første året med studiespesialisering på Ullern videregående skole. Helt til høyre sitter August Natvik som er russ i år. Foto: Elisabeth Kirkeng Andersen.

Snake skal ikke dø

Jakob, Magnus, August og Jørgen programmerer spillet “Snake” i programmeringsspråket “Python”. Dette er et programmeringsspråk som er tilgjengelig for alle, såkalt “open source”. Du kan laste det ned her.

“Snake” er et spill som går ut på å få en slange til å leve så lenge som mulig. Den lever i et kvadrat der den spiser godsaker slik at halen vokser. Hensikten med spillet er å få slangen til å unngå å kræsje i seg selv ettersom den vokser. Da dør den. Men det er ikke lett. Prøv selv her.

–Elevene skal programmere slangen slik at den skal lære av seg selv hvor det er lurt å gå for å spise mat, samtidig som den skal unngå å støte borti den voksende halen. Dette er en fin måte å forstå litt av kunstig intelligens og maskinlæring”, sier Malthe-Sørenssen.

Det er de tre doktorgradsstudentene Sebastian Winther-Larsen, Øyvind Sigmundsson Skøyen og Even Marius Nordhagen som underviser elevene.

Øyvind har akkurat avsluttet sin økt med å vise elevene programmering av slangen, og overlater stafettpinnen til Even.

“Hva vet dere om maskinlæring fra før av?”

“Jeg har sette litt på You Tube”, svarer Jakob.

“Jeg kan teorien, men har ikke prøvd det ut selv”, sier Magnus.

Even forklarer dem at han skal først snakke litt teoretisk om maskinlæring og nevrale nettverk, og så skal de selv implementere et nevralt nettverk for Snake.

–Regresjon som vi bruker mye i matematikk er en enkel form for maskinlæring. Her gjelder det å lage en funksjon som gir oss den beste linja mellom disse punktene. Da bruker vi noe som heter minste kvadraters metode, sier Even.

Espen Marius Nordhagen (til høyre) forklarer elevene fra Ullern at regresjon er en enkel form for maskinlæring. August Natvik følger nøye med. Foto: Elisabeth Kirkeng Andersen.

Videre forklarer Even av maskinlæring brukes i analyser av bilder. En datamaskin kan læres til å kjenne igjen og se forskjell på ulike objekter i et bilde. Dette kan for eksempel være biler, sykler og mennesker. Og så kan datamaskinen læres opp til å lage bilder selv, av for eksempel mennesker, dette kalles generative modeller. Stemmegjenkjenning som Siri til iPhone bruker, er også basert på maskinlæring, det samme er selvkjørende biler og busser.

–For å forstå kunstig intelligens, må dere vite hva et nevralt nettverk er. Dette er inspirert av biologi og hjerneforskning og hvordan mennesker lærer og husker. Et nevralt nettverk er en forenkling av hjernen, for den er mye mer kompleks, forklarer Even.

– Hva er egentlig forskjellen på maskinlæring og kunstig intelligens, spør Jørgen.

Even forklarer at regresjon er maskinlæring, men ikke kunstig intelligens.

–Dersom du har et nevralt nettverk med flere lag, såkalt dypt nevralt nettverk, da får du kunstig intelligens. Da vil du observere at noe skjer med dataene du får ut av det dype nevrale nettverket, det vil være noe du ikke forstår eller kan modellere, men det stemmer med virkeligheten som den skal beskrive, sier Even.

 

Lært masse nytt

Magnus, August og Jørgen går alle i tredjeklasse og har studiespesialisering i realfag med ulike kombinasjoner av matte, fysikk, teknologi og forskningslære, samt programmering og modellering.

Etter videregående skal de alle tre i militæret, og etter det virker det fristende med NTNU for både Jørgen og Magnus.

–Linjen industriell økonomi ved NTNU virker veldig fin. Kanskje jeg kombinerer den med entreprenørskapslinja som de også har på NTNU, da kan jeg starte eget firma etter endt utdannelse. Ellers så vurderer jeg en karriere i forsvaret, sier Magnus.

Gutta er enig om at utplasseringen her på fysikk er vanskelig, men morsom og lærerik.

–De er veldig gode på lære bort.  Det er vanskelig da vi har om ting vi ikke har lært før, og alt ukjent er jo vanskelig, sier Jørgen.

Jakob Weidel går i førsteklasse på Ullern og har studiespesialisering, og tenker å ta mange av de samme fagene som de andre gutta har tatt. Han ble spurt om å delta på utplasseringen etter at han har bistått Tom Werner Halvårsrød, systemansvarlig på Ullern, med å programmere XL-ark som nå brukes på skolen.

–Jeg har laget en del apper og satt opp en del hjemmesider og brukt ulike typer programmeringsspråk. Jeg har aldri brukt Python før, så det er morsomt å lære det, sier Jakob.

Anders Malthe-Sørenssen er professor ved “Center for Computing in Science Education” ved Universitetet i Oslo. Han og forskningsgruppen hans er engasjert i mange forskningsområder, deriblant bedre undervisning innen fysikk og bedre forståelse av hvordan hjernen fungerer gjennom avanserte matematiske modeller. Foto: Elisabeth Kirkeng Andersen.

Nevrale nettverk og forskning på hjernen

Malthe-Sørenssen og Fyhn sine forskningsrupper samarbeider innen et felt i biologien og fysikken som omhandler forskning på hvordan hjernen fungerer og nevrale nettverk i prosjektene “DigiBrain” og “CINPLA”. CINPLA er en forkortelse for “Centre for Integrative Neuroplasticity”.

–Vi her på fysisk institutt lager modeller av nevrale nettverk. Så sammenligner vi modellene våre med det Marianne finner ut av om hvordan hjernen fungerer fra studier på rotter og mus. Så langt ser vi at våre modeller gir et godt bilde av hva som skjer i hjernen, men vi er langt fra ferdige, sier Malthe-Sørenssen.

Han forklarer at han og studentene hans ikke har elevene fra Ullern på utplassering på grunn av rekruttering. De har over 1000 søkere hvert år.

–Vi er opptatt av at vi skal bidra med kompetanseheving i skolen innen programmering. Det er en av våre ansatte som har utviklet det nye faget og læreplanen for programmering og modellering som skal implementeres i videregående skole høsten 2020. Da skal programmering inn i flere fag, men særlig matte, sier Malthe-Sørenssen.

Han synes det er fint å bidra til økt kompetanse i nærskolene til Fysisk institutt ved Universitetet i Oslo.

 

Hva er utplassering?
Oslo Cancer Cluster og Ullern videregående skole har et aktivt skolefaglig samarbeid. Samarbeidet gjør at elever på skolen blant annet får mulighet til å delta på utplasseringer hos ulike bedrifter og forskningsgrupper ved Oslo universitetssykehus og Universitetet i Oslo, samt øvrige medlemmer av Oslo Cancer Cluster.

På utplassering får elevene lære om ulike fagområder direkte fra ledende fagfolk, og de får muligheten til å gjøre praktisk laboratoriearbeid. Hensikten med utplasseringene er å gi elevene et innblikk i den praktiske arbeidshverdagen til ulike yrkesgrupper og hva ulike utdannelser kan føre til av karrieremuligheter.

 

 


Programmet elevene har hatt på utplassering hos Marianne Fyhn, laboratoriegruppen og Anders Malthe-Sørenssen, beregningsgruppen:

Mandag 9. mars
9:00 Møtes i kantinen i Kristine Bonnevies hus (Marianne)
9.15-10.30 CINPLArommet – Felles introduksjon
-Marianne om utfordringer ved å studere og forstå hjernefunksjon,

 

-Anders om beregninger og anvendelser (nevro, geo og friksjon),

 

Litt om hva dere møter i laboratoriet:
-Guro om geneditering og CRISPR for å kunne manipulere hjernecellefunksjon.

-Kristian om måling og manipulering av hjernecelleaktivitet: elektroder og imaging for å måle aktivitet. Optogenetikk for å manipulere aktiviteten med laser.

Laboratoriegruppen Beregningsgruppen
10.30-12 Transfektering av celler med CRISPR-GFP (Guro) Enten: Tutorial om nevrale nettverk, eller være med lab gruppen.
12-13 Lunsj på CCSE/CINPLA/Campus
13-15 Dyreavdelingen: Trene mus på løpejul under mikroskop (Kristian). Trene rotter i hukommelsesoppgave (Sarah). Se på hjerneaktivitet fra rotte (Dejana). Trene et nevralt nettverk til en enkel navigasjons-oppgave: Oppsett og trening av enkelt nettverk, visualisering av resultater
Tirsdag 10. mars
9-11.30 Dyreavdelingen: Trene/teste rotter.

 

Trene et nevralt nettverk til en mer avansert navigasjons-oppgave: Oppsett og trening av nettverk med flere lag.
12-13 Lunsj
13-14 Se på effekt av CRISPR på celler under lysmikroskop. Se på hjernesnitt i mikroskop for å se etter elektrodespor og hjerneområder. Utvidelse av nevral modell – flere lag i nettverket eller evolusjonære algoritmer.
14.15-15 Oppsummering og presentasjon av resultater. Oppsummering og demonstrasjon av resultater.