3. När maskinen lär sig från exempel
En dator kan följa mycket långa och komplicerade instruktioner. Det svåra är ofta inte att få datorn att följa reglerna, utan att skriva regler för allt som kan hända.
I regelrobotaktiviteten såg vi vad som händer när reglerna inte räcker till. I den här lektionen jämför vi därför två sätt att bygga ett system: människor kan skriva regler som systemet ska följa, eller låta en modell utvecklas med hjälp av många exempel.
Två sätt att bygga ett system
Samma uppgift kan ibland lösas med skrivna regler eller med en tränad modell. Ett skräppostfilter är ett tydligt exempel:
- Ta emot ett nytt mejl
Indata: avsändare, rubrik och innehåll
- Bearbeta mejlet
- Sortera mejlet
Utdata: skräppost eller vanlig e-post
Båda systemen tar emot ett mejl och sorterar det. Skillnaden ligger i hur metoden mellan indata och utdata har skapats.
I ett regelstyrt filter kan en människa exempelvis skriva regeln:
OM mejlet innehåller ordet "gratis"
SÅ sortera det som skräppost
Regeln är enkel att läsa, men den passar inte alltid. Ett vanligt mejl kan innehålla ordet gratis, och ett skräppostmeddelande kan undvika ordet helt. Fler situationer kräver då fler regler.
Ett annat sätt är att samla många mejl som människor redan har märkt som skräppost eller vanlig e-post. Dessa exempel kallas träningsdata. Under träningen söker en algoritm efter mönster i exemplen och förändrar en modell så att den blir bättre på den bestämda uppgiften.
| Regelstyrt system | Tränad modell |
|---|---|
| Människor formulerar reglerna | Människor samlar och väljer exempel |
| Systemet följer reglerna direkt | En algoritm utvecklar modellen från exemplen |
| Passar när reglerna går att skriva tydligt | Passar när användbara mönster är svåra att beskriva som regler |
| Nya situationer kan kräva nya regler | Modellen bedömer nya exempel med hjälp av mönster från träningen |
Det ena sättet är inte alltid bättre än det andra. Vilken metod som passar beror på uppgiften, vilken data som finns och hur viktigt det är att kunna följa varje steg i systemets beslut.
En tränad modell har utvecklat mönster från sina exempel. Det betyder inte att den förstår uppgiften på samma sätt som en människa eller att dess svar alltid är korrekta.
Träning och användning är olika saker
Det är viktigt att skilja på när en modell tränas och när den används.
- Samla träningsdata
Många mejl är redan märkta som skräppost eller vanlig e-post.
- Träna modellen
En träningsalgoritm använder exemplen för att förändra modellen.
- Spara den tränade modellen
Modellen är resultatet av träningen.
- Använd modellen
Ett nytt mejl blir indata och modellen lämnar sin bedömning som utdata.
De första stegen utvecklar modellen. Först därefter kan den färdiga modellen användas för att bedöma ny indata.
När den färdiga modellen bedömer ett nytt mejl använder den det som formats under träningen. Den fortsätter inte automatiskt att tränas varje gång någon använder den.
Vad kan tränade modeller göra?
Tränade modeller kan utvecklas för olika slags uppgifter:
| Uppgift | Vad modellen gör | Exempel |
|---|---|---|
| Klassificera | Väljer en kategori | Sorterar ett mejl som skräppost eller vanlig e-post |
| Förutsäga | Uppskattar ett värde eller resultat | Uppskattar en byggnads kommande energianvändning |
| Generera | Skapar nytt innehåll | Skapar text, bilder eller ljud |
Generativ AI är alltså en typ av tränad modell. Skillnaden är att dess uppgift är att skapa innehåll i stället för att exempelvis välja en kategori. En språkmodell som ChatGPT har tränats på stora mängder text och används för att generera ny text.
Regler och modeller kan samarbeta
Regelstyrda system och tränade modeller behöver inte ersätta varandra. De kan användas för olika delar av samma system.
En språkmodell kan exempelvis tolka en fråga och formulera ett svar, men använda en regelstyrd miniräknare när en exakt beräkning behövs. Den tränade modellen hanterar språket, medan miniräknaren följer bestämda matematiska regler.
Det viktiga är därför inte att välja en metod för alla problem, utan att kunna se vilka delar som bygger på skrivna regler och vilka delar som har formats genom träning.
Hur förändras modellen?
Vi har hittills beskrivit träningen utifrån: systemet får exempel och modellen förändras. I nästa lektion får du själv träna och testa en bildmodell. Därefter undersöker vi hur en dator kan förändra en modell så att den blir bättre på en uppgift.
Sammanfattning
- I ett regelstyrt system formulerar människor reglerna som systemet följer.
- När situationerna varierar kan regler saknas, krocka eller bli väldigt många.
- En tränad modell utvecklas med hjälp av exempel som kallas träningsdata.
- Att träna en modell och att använda den färdiga modellen är två olika delar av processen.
- Tränade modeller kan bland annat klassificera, förutsäga och generera.
- Regelstyrda delar och tränade modeller kan kombineras i samma system.