Trening av kunstig intelligens

Nå som vi har dekket viktigheten av å velge riktig treningsdata og arkitektur, er det på tide å se hvordan alt henger sammen. Det siste trinnet er prosessen med å trene AI-en. Du bygde bygningen, du kjøpte møblene, og nå er det på tide å sette det i stand. I dette kapittelet vil vi diskutere flere relevante emner angående trening av AI. I sammenheng med GA-er vil vi forklare viktigheten av treningsfunksjoner og også relatere dette bredere til forsterkningslæring. Deretter vil vi se på forskjellen mellom veiledet og uveiledet læring.

Selv om det er noen forskjeller mellom disse to konseptene, har de blitt gruppert sammen siden AI-en lærer av å samhandle med et miljø. Treningsfunksjoner er fremtredende i GA, ettersom løsningene må rangeres på en eller annen måte slik at foreldrene kan velges. Det er derfor viktig å vurdere hva som er den mest effektive treningsfunksjonen.

La oss et øyeblikk late som om Google Maps brukte en AI for å finne den korteste veien. Hva ville fitnessfunksjonen være? Ville det være den korteste avstanden? Minst mulig drivstofforbruk? Minst mulig tid å komme til destinasjonen? Det er alltid avveininger – det er ganske enkelt å beregne avstanden, men hvis du vil beregne tiden du trenger, må du vurdere maksimalhastigheten på hver vei, trafikklys, veitrafikk, veisperringer osv. Dette kan ta lengre tid for systemet å score løsningene og bremse utviklingsprosessen. Det er imidlertid viktig å ha en passende fitnessfunksjon, da den bestemmer resultatene du får. Svarene for raskeste vei og drivstoffeffektivitet kan til og med være forskjellige.

Hvis du for eksempel trener en sjakk-AI og forteller den at antallet brikker på brettet er kondisjonsfunksjonen, kan du bli satt i sjakkmatt til tross for at du ikke har mistet noen brikker. Derfor må det vurderes nøye hvilken kondisjonsfunksjon som skal brukes.

Forsterkningslæring er på noen måter relatert til dette, ettersom det inkluderer treningsfunksjoner. Det er fremtredende i simulert læring – der AI-en er i et simulert miljø og prøver å oppnå et mål. Konseptet med forsterkningslæring er at AI-en blir belønnet for å gjøre det rette og straffet for å gjøre det gale. Hvis for eksempel AI-en er en bil i et racingspill, får den flere poeng for å nå målstreken raskere, og den kan også miste poeng for å kjøre i feil retning. På denne måten beholdes de bedre løsningene i hver neste generasjon, og de verste reproduseres ikke. Igjen bør funksjonen som brukes til å score AI-en være nøye utformet.

AI-en bør få nok rom til å finne ut av ting, siden den kan finne en bedre løsning enn du forventer, men hvis du er for streng med treningsfunksjonen, vil den finne løsningen du ønsker, som du kan finne selv. I samme eksempel fra racingspillet, hvis du gir den poeng for å kjøre tett rundt svingene, er du streng og lar den ikke eksperimentere. Det kan være slik at det å kjøre langt fra ett sving og opprettholde farten er mer effektivt i sammenheng med hele løpet.

GA-er, kondisjonsfunksjoner og forsterkningslæring er alle relaterte siden de bruker interaksjoner med et miljø for å trene AI-en ved å fortelle den hva som scores høyere som et resultat. Det andre paradigmet er ikke å fortelle AI-en om den gjør det bra, men heller bare trene den på en mengde data og se hva som skjer.

Til tross for navnet er det ingen mennesker som direkte overvåker opplæringsprosessen i veiledet læring. Forskjellen kommer fra typen data som mates til AI-en. Veiledet læring er når dataene er merket (vanligvis av mennesker). Dette betyr at noen har gitt de «riktige svarene», omtrent som å lese til en eksamen ved å bruke løsningene på tidligere eksamensspørsmål. Dette er fordelaktig når det er et klart resultat som forventes, og det produserer AI-modeller som er mer forutsigbare og mindre volatile (har mindre variasjon i nøyaktighet og konsistens).

Uovervåket læring er når dataene ikke er merket, og AI-en skanner etter mønstre i selve dataene i stedet for å koble sammen dataene og merkelappene. Dette er nyttig når forventningene er mer subjektive, som i skriftlig engelsk – det finnes mange måter å si det samme på, og ingen av dem er iboende feil. I dette tilfellet er det upraktisk å merke dataene, og det er mer effektivt å la AI-en oppdage mønstre på egenhånd.

Nå som vi vet at forskjellen mellom veiledet og uveiledet læring er typen data som gis til AI-en, la oss se på bruksområdene til begge. I avanserte modeller som LLM-er (ChatGPT) brukes begge for å gi AI-en mer kapasitet, men hva er hver av dem nyttig for?

Skillet er viktig, ettersom begge læringstypene har spesielle trekk. Veiledet læring kan være dyrt, ettersom det krever at dataene merkes – dette er en intensiv prosess på grunn av mengden data som trengs for å trene en kompleks modell. Det har den fordelen at AI-en vil kjenne til forventet utdata, ettersom det er godt definert og tydelig strukturert. Uveiledet læring, derimot, kan bruke alle data du gir den og prøve å konstruere mønstre ut fra disse. Den er derfor mindre eksplisitt og strukturert i resultatene, men er lettere å trene, ettersom den ikke krever spesielle data. Den er god til å finne små nyanser og mønstre som ellers ikke er åpenbare.