5. Modellen är en funktion

När ni tränade en modell att känna igen olika föremål i Teachable Machine förändrades modellen. Vad är det egentligen som händer när en modell tränas?

Svaret är enklare än det låter: det är inte själva tekniken som förändras, utan de tal som modellen räknar med. En modell består av tal, och träning innebär att talen justeras.

För att se hur det går till lånar vi några verktyg från matematiken: funktioner, räta linjer och regression. Målet är inte avancerade beräkningar, utan att lösa ett enkelt problem och se hur en modell tränas i liten skala.

Hur lång tid tar det att cykla hem?

Sex elever har mätt hur lång tid det tar för dem att cykla hem från skolan:

Sträcka (km)123456
Tid (min)61013182127

Konstruerade värden.

En ny elev bor 4,5 km bort. Hur lång tid tar det för hen att cykla hem? Ingen har cyklat exakt den sträckan, så svaret går inte att slå upp. Vi behöver en modell som kan förutsäga tiden för sträckor som saknas i datan.

DataSex elevers cykeltid hem från skolan
Sex mätpunkter med sträcka i kilometer på x-axeln och tid i minuter på y-axeln: 1 km tog 6 minuter, 2 km 10 minuter, 3 km 13 minuter, 4 km 18 minuter, 5 km 21 minuter och 6 km 27 minuter.05101520253001234567Sträcka (km)Tid (min)

Varje punkt är en elev. Vilken form verkar punkterna följa?

Funktioner som modell

En funktion tar emot ett värde och lämnar ett annat. Det gör den till ett sätt att beskriva ett system: xx är indata, yy är utdata och funktionen är bearbetningen däremellan.

FunktionFunktionen som ett system
  1. Indata

    Ett värde x som skickas in.

  2. Bearbetning

    Funktionen räknar fram ett nytt värde.

  3. Utdata

    Värdet y som funktionen lämnar.

En funktion tar emot indata, bearbetar den och lämnar utdata. Samma beskrivning passar många olika system.

För cyklarna är sträckan indata och tiden utdata. Modellen vi söker är alltså en funktion som räknar om en sträcka till en tid. Punkterna i diagrammet ligger ungefär längs en rät linje, så vi väljer modellen

tid=k⋅stra¨cka+m\text{tid} = k \cdot \text{sträcka} + m
Repetition: den räta linjen

En rät linje skrivs y=kx+my = kx + m. Talet kk anger hur brant linjen lutar och talet mm var den skär yy-axeln.

Nu återstår att bestämma kk och mm. Talen i en modell som bestäms utifrån data kallas modellens parametrar. Vår modell har två parametrar.

Två beslut

Människan har valt vilken sorts funktion modellen ska vara, i det här fallet en rät linje. Värdena på parametrarna ska däremot bestämmas utifrån datan. Det är den delen som kallas träning.

Hur bra är modellen?

Vi börjar med en gissning. Anta att det tar 2 minuter per kilometer, plus 8 minuter för att låsa upp cykeln och komma iväg. Som linje blir det k=2k = 2 och m=8m = 8. Bläddra igenom stegen för att se hur gissningen passar datan.

Steg för stegFrån datapunkter till fel
Tre steg i samma diagram. Först visas sex mätpunkter för cykeltid mot sträcka. Sedan läggs linjen y = 2x + 8 till. Till sist visas streckade linjer mellan varje punkt och linjen, som markerar modellens fel.05101520253001234567Sträcka (km)Tid (min)

Datapunkterna: sex elevers sträcka och tid hem.

Modellens fel för en elev är skillnaden mellan den verkliga tiden och den tid modellen gissar:

fel=verkligt va¨rde−fo¨rutsagt va¨rde\text{fel} = \text{verkligt värde} - \text{förutsagt värde}
Sträcka (km)123456
Verklig tid (min)61013182127
Gissning, 2x+82x + 8101214161820
Fel−4−2−1+2+3+7

För att få ett enda mått på hur bra modellen är räknar vi medelvärdet av felens storlek, utan att bry oss om plus eller minus. Det kallas medelfel.

medelfel=4+2+1+2+3+76=196≈3,2 min\text{medelfel} = \frac{4 + 2 + 1 + 2 + 3 + 7}{6} = \frac{19}{6} \approx 3{,}2 \text{ min}

Titta också på felen i tabellen. För de korta sträckorna gissar modellen för lång tid, och för de långa sträckorna för kort. Linjen lutar alltså för lite. Felen visar inte bara att modellen missar, utan också hur den behöver ändras.

ModellJustera linjen tills felet blir så litet som möjligt
Sex mätpunkter som visar cykeltid mot sträcka. En justerbar rät linje med streckade avstånd från varje punkt till linjen. Medelfelet visas under diagrammet.05101520253001234567Sträcka (km)Tid (min)
Modell: y = 2x + 8 Medelfel: 3,17 min

De streckade linjerna visar felet för varje punkt. Ändra k och m och se hur medelfelet förändras.

Utmaning: träna modellen själv

Använd reglagen och försök få medelfelet under 1 minut. Skriv ned de värden på kk och mm du hittade. Jämför med en klasskamrat: hittade ni samma linje? Vad hände med medelfelet när du bara ändrade mm?

Träning är att justera parametrarna

När du drog i reglagen gjorde du samma sak som en dator gör när den tränar en modell: du ändrade parametrarna lite, kontrollerade felet och ändrade igen. Datorn gör likadant, men den räknar ut åt vilket håll varje parameter ska ändras och upprepar stegen tusentals gånger på en bråkdel av en sekund.

För cykeldatan hamnar en bra modell ungefär vid

tid=4⋅stra¨cka+2\text{tid} = 4 \cdot \text{sträcka} + 2

med ett medelfel på ungefär en halv minut. Nu kan vi svara på frågan från början: den nya eleven, som bor 4,5 km bort, behöver ungefär 4⋅4,5+2=204 \cdot 4{,}5 + 2 = 20 minuter för att cykla hem.

TräningTräning som en upprepad process
  1. Gissa

    Välj startvärden på parametrarna, exempelvis k = 2 och m = 8.

  2. Kontrollera

    Mät felet mot träningsdatan.

  3. Ändra

    Justera parametrarna lite i den riktning som minskar felet.

  4. Upprepa

    Kontrollera igen och fortsätt tills felet slutar minska.

Stegen upprepas tills felet inte längre blir mindre. De parametrar som gav minst fel blir den tränade modellen.

Regression: att förutsäga ett tal

När en modell förutsäger ett tal kallas metoden regression. Att använda modellen på ny indata kallas prediktion. Cykelmodellen är en regression med en indata, sträckan, och en utdata, tiden.

IndataUtdata
Sträcka hemCykeltid i minuter
Tidigare mätningar av väderMorgondagens temperatur
Utetemperatur och tid på dygnetElförbrukning i ett område
Bostadens storlek, läge och skickFörsäljningspris
Vald väg, trafik och tid på dygnetRestid i en kartapp

Modellen i Teachable Machine gjorde något annat. Den valde en kategori, till exempel penna eller suddgummi, och gjorde alltså en klassificering.

RegressionKlassificering
UtdataEtt talEn kategori
ExempelCykeltid i minuterPenna eller suddgummi
Fel mäts somAvståndet till det verkliga värdetOm kategorin blev rätt

Båda är exempel på övervakad inlärning: träningsdatan innehåller det rätta svaret, här den verkliga cykeltiden.

Begränsningar hos regression

En modell är ett verktyg. Den kan vara mycket användbar, men bara om man vet när den går att lita på.

Modellen gäller där datan finns

Vad förutsäger cykelmodellen för en sträcka på 40 km?

4⋅40+2=162 minuter4 \cdot 40 + 2 = 162 \text{ minuter}

Svaret går att räkna ut, men det är inte säkert att det stämmer. Ingen i träningsdatan cyklade längre än 6 km. På en lång sträcka blir man trött, tar pauser och cyklar kanske på helt andra vägar. Modellen har aldrig sett sådana exempel.

ExtrapoleringHur långt räcker modellen?
Cykeldatan mellan 1 och 6 km ligger i ett skuggat fält. Modellens linje fortsätter streckad ut till 40 km, där den förutsäger 162 minuter. En prickad kurva visar hur den verkliga tiden kan bli längre på långa sträckor.data03060901201501802100510152025303540Sträcka (km)Tid (min)verkligheten?modellen: 162 min

Den heldragna linjen bygger på data. Den streckade delen är en gissning långt utanför datan. Den prickade kurvan är ett tänkt exempel på hur trötthet och pauser kan göra verkligheten annorlunda.

Att använda en modell utanför det område där den har data kallas extrapolering. Samma problem uppstår när en modell som har tränats på sommarens elförbrukning ska förutsäga förbrukningen en kall vinterdag. En modell fungerar bäst på indata som liknar träningsdatan, och förmågan att fungera på nya exempel, generaliseringen, har gränser.

Modellen blir aldrig bättre än datan

Modellen lär sig bara det som finns i datan. Tänk dig att alla sex eleverna hade varit tävlingscyklister. Modellen skulle då passa sin egen data bra, men förutsäga alldeles för korta tider för en vanlig elev. Inget i modellen avslöjar det.

DatakvalitetEn modell tränad på fel elever
Steg ett visar sex tävlingscyklister och en linje som passar dem. I steg två visas sex vanliga elever, som alla ligger långt ovanför linjen.05101520253001234567Sträcka (km)Tid (min)
Vanliga elever Tävlingscyklister

Modellen tränas bara på tävlingscyklister och passar dem bra. Medelfel: 0,1 min

Samma sak händer om datan innehåller fel. Tänk dig att någon glömde att stoppa tidtagningen och rapporterade 35 minuter för 3 km. En enda felaktig punkt räcker för att dra linjen åt fel håll.

DatakvalitetEn felmätning drar med sig linjen
Steg ett visar cykeldatan med linjen y = 4x + 2. I steg två läggs en felaktig mätpunkt till vid 3 km och 35 minuter. I steg tre har linjen tränats om med felmätningen och ligger högre och flackare, så felet för de korrekta punkterna ökar.051015202530354001234567Sträcka (km)Tid (min)
Korrekta mätningar Felmätning

Modellen tränad på korrekta mätningar. Medelfel: 0,5 min

Skit in, skit ut

Inom programmering finns ett gammalt uttryck för det här: garbage in, garbage out, eller på svenska skit in, skit ut. Ett system som får dålig indata ger dåliga resultat, hur avancerat det än är.

Därför är datakvalitet och val av data lika viktiga som själva modellen. Du såg samma sak i Teachable Machine, där modellen kunde lära sig bakgrunden i stället för föremålet.

Formen måste passa verkligheten

Vi valde en rät linje eftersom punkterna såg ut att ligga längs en. Många samband ser inte ut så. En krukväxt växer snabbt i början och sedan allt långsammare. Antalet resenärer på en buss har toppar på morgonen och på eftermiddagen. För sådana samband behövs modeller som kan böja sig, men principen är densamma: välj en form, mät felet och justera parametrarna.

Det går också att göra fel åt andra hållet. En kurva som är så böjlig att den går genom varje punkt passar träningsdatan perfekt, men den följer då slumpen i mätningarna i stället för det verkliga sambandet. För nya mätningar blir förutsägelserna sämre. Det kallas överanpassning.

Tre diagram med samma tio mätpunkter för en växt som växer allt långsammare. Till vänster en rak linje som är för stel, i mitten en mjuk kurva som följer sambandet och till höger en slingrig kurva som går genom varje punkt.

Samma data med tre modeller. Bara den mittersta går att lita på för nya mätningar.

Ett samband är inte en orsak

En glasstrut hålls upp på en strandpromenad en solig dag.

Under sommaren säljs det mer glass, och det sker också fler drunkningsolyckor. Kurvorna följer varandra nästan perfekt.

DiagramGlassförsäljning och drunkningsolyckor under ett år
Två diagram med samma månader. Glassförsäljningen och antalet drunkningsolyckor är låga på vintern, stiger under våren, når en topp i juli och sjunker under hösten.Såld glassDrunkningsolyckorjanfebmaraprmajjunjulaugsepoktnovdec

Konstruerade värden som visar ett typiskt årsmönster.

En regressionsmodell skulle kunna förutsäga antalet drunkningsolyckor ganska bra utifrån glassförsäljningen. Det betyder inte att glass orsakar drunkning. Båda beror på något tredje: varmt väder, då fler både äter glass och badar.

En modell hittar samband i data, men den kan inte avgöra vad som orsakar vad. Att förbjuda glass skulle inte minska antalet drunkningsolyckor.

Fler märkliga samband

På webbplatsen Spurious Correlations har Tyler Vigen samlat hundratals dataserier som följer varandra nästan perfekt utan att ha något med varandra att göra. Hitta ditt favoritexempel och försök förklara varför sambandet inte kan vara en orsak.

Parametrarna går att tolka, ibland

I cykelmodellen betyder parametrarna något i verkligheten. k=4k = 4 innebär att varje extra kilometer tar ungefär 4 minuter, vilket motsvarar 15 km/h. m=2m = 2 är tid som inte beror på sträckan, till exempel att låsa upp cykeln.

Stora AI-modeller har miljontals eller miljarder parametrar, och de tränas i serverhallar fulla av datorer.

Långa rader av serverskåp i en stor datorhall.

Serverhallen vid forskningscentret CERN i Schweiz.

I en så stor modell betyder inget enskilt tal något som en människa kan förstå, och det går därför inte att läsa ut varför modellen gav ett visst svar. Förmågan att förklara hur ett system kommer fram till sina resultat kallas transparens. Den blir särskilt viktig när en modell används för beslut som påverkar människor, till exempel vem som ska få ett lån.

Exempel och tillämpningar

Väderprognoser

Satellitbild av Skandinavien en vinterdag med snötäckt land och molnsystem över Norska havet och Östersjön.

Skandinavien fotograferat av NASA:s satellit Terra den 27 februari 2021.

En väderprognos förutsäger tal: temperatur, nederbörd och vindstyrka för de kommande dagarna. Indata är mätningar från väderstationer, satelliter, flygplan och väderballonger. Principen känns igen från cykelmodellen: modellen tar emot data och lämnar ett förutsagt tal, och förutsägelserna jämförs hela tiden med hur vädret faktiskt blev.

Fördjupning: simulering och tränade modeller

De flesta väderprognoser bygger i grunden på en simulering. Atmosfären delas in i ett rutnät, och fysikens lagar för hur luft, värme och fukt rör sig används för att räkna fram vädret steg för steg in i framtiden. En simulering är alltså regelstyrd: reglerna är naturlagar som människor har formulerat.

Ett block av luft ovanför marken, uppdelat i rutor i tre lager. En markerad ruta har värden för temperatur, lufttryck, fukt och vind, och pilar på ovansidan visar vind mellan rutorna.

Varje ruta påverkar sina grannar. Simuleringen räknar ut hur, ett tidssteg i taget.

Simuleringen blir ändå inte perfekt. Därför justeras resultatet ofta med modeller som har tränats på hur tidigare prognoser stämde med det väder som faktiskt blev. Den delen är regression i ordets rätta bemärkelse.

Under senare år har det också kommit vädermodeller som tränats direkt på flera decenniers vädermätningar, utan att räkna med fysikens ekvationer. Det europeiska vädercentret ECMWF tog en sådan modell i drift i februari 2025, som ett komplement till den fysikbaserade simuleringen.1 Den tränade modellen kräver ungefär tusen gånger mindre energi per prognos.

Många indata samtidigt

Cykeltiden beror inte bara på sträckan. Backar, trafikljus och vind påverkar också. Verkliga modeller har därför nästan alltid flera indata, och varje indata får då en egen parameter:

y=w1x1+w2x2+w3x3+my = w_1 x_1 + w_2 x_2 + w_3 x_3 + m

Varje indata xx multipliceras med sin parameter ww, och resultaten summeras. Parametrarna kallas då ofta vikter, eftersom de bestämmer hur mycket varje indata väger. Träningen fungerar på samma sätt som för cykelmodellen: vikterna justeras tills felet blir så litet som möjligt.

Fyra indata, sträcka, antal trafikljus, tid på dygnet och trafikläge, leder med var sin vikt in i en summa som ger en förutsagd restid.

En modell med fyra indata. Varje pil har en egen vikt som bestäms under träningen.

En kartapp som förutsäger restid kan till exempel väga samman sträckan, antalet trafikljus, tiden på dygnet och hur trafiken ser ut just nu. En elleverantör som ska förutsäga morgondagens förbrukning väger samman temperatur, veckodag och förbrukningen samma dag förra året.

Sammanfattning

  • En modell som förutsäger ett tal kan vara en funktion, exempelvis den räta linjen y=kx+my = kx + m.
  • Talen i modellen, här kk och mm, kallas parametrar.
  • Modellens fel är skillnaden mellan verkligt och förutsagt värde. Medelfelet sammanfattar hur bra modellen passar datan.
  • Träning innebär att parametrarna justeras stegvis så att felet minskar: ändra, kontrollera, ändra igen.
  • Regression förutsäger ett tal, medan klassificering väljer en kategori.
  • En modell är mest pålitlig för indata som liknar träningsdatan och blir aldrig bättre än datan den tränats på.
  • Formen måste passa sambandet. En för stel modell missar sambandet, en för böjlig överanpassar.
  • En modell hittar samband, inte orsaker.
  • Små modeller går att tolka. Stora modeller med miljontals parametrar saknar ofta transparens.

Källor

Footnotes

  1. ECMWF, ECMWF’s AI forecasts become operational, 25 februari 2025, ECMWF. ↩