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:

JämförelseSamma mejl – två sätt att bearbeta det
  1. Ta emot ett nytt mejl

    Indata: avsändare, rubrik och innehåll

  2. Bearbeta mejlet
    • Regelstyrt systemFöljer regler som människor har skrivit.
    • Tränad modellAnvänder mönster som utvecklats från tidigare exempel.
  3. 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 systemTränad modell
Människor formulerar reglernaMänniskor samlar och väljer exempel
Systemet följer reglerna direktEn algoritm utvecklar modellen från exemplen
Passar när reglerna går att skriva tydligtPassar när användbara mönster är svåra att beskriva som regler
Nya situationer kan kräva nya reglerModellen 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.

Tränad betyder inte att systemet förstår

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.

ProcessFrån exempel till färdig modell
  1. Samla träningsdata

    Många mejl är redan märkta som skräppost eller vanlig e-post.

  2. Träna modellen

    En träningsalgoritm använder exemplen för att förändra modellen.

  3. Spara den tränade modellen

    Modellen är resultatet av träningen.

  4. 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:

UppgiftVad modellen görExempel
KlassificeraVäljer en kategoriSorterar ett mejl som skräppost eller vanlig e-post
FörutsägaUppskattar ett värde eller resultatUppskattar en byggnads kommande energianvändning
GenereraSkapar nytt innehållSkapar 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.