Selv om treningsdata er viktige for den endelige funksjonaliteten til en AI-modell, er det ikke den eneste faktoren. For at disse dataene skal være nyttige, er det avgjørende å ha en passende arkitektur å basere modellen på. Tenk på arkitekturen som et skjelett, bare en haug med bein som må kobles sammen av muskler.
Det finnes mange typer arkitekturer som kan brukes til forskjellige formål. Noen AI-modeller er smale, kjent som kunstig smal intelligens (ANI), og er optimalisert for ett veldig spesifikt formål, som sjakk-AI-er, mens andre kalles kunstig generell intelligens (AGI) og forsøker å etterligne menneskelig forståelse på alle felt. AGI er ikke oppnådd ennå, og det er mange debatter om definisjoner og bevissthet.
Store språkmodeller (LLM-er) som ChatGPT er et forsøk på å lage AGI og er betydelig mer avanserte enn teknologien var for noen år siden. Når det er sagt, finnes det for begge kategorier mange forskjellige arkitekturer, hver med sine superkrefter, begrensninger og spesifikke brukstilfeller der disse avveiningene gir mening. For å gi en grunnleggende forståelse av hva som er mulig, vil vi bare diskutere to av disse – genetiske algoritmer og nevrale nettverk.
Genetiske algoritmer (GA-er) er én type AI-arkitektur, litt annerledes enn det du sannsynligvis er vant til å se i mainstream-verdenen. For å utvide forståelsen av ulike typer AI skal vi se på hva de er nyttige til og hvordan de fungerer. Dette er en svært spesialisert type arkitektur som ikke er bredt nyttig for mange forskjellige typer oppgaver, men som er svært effektiv for bestemte problemer.
Vanligvis brukes GA-er i optimaliseringsproblemer der det er flere variabler enn det som kan brutalt tvinges frem. Det er en elegant lettvektsløsning for å teste mulige løsninger på strengt definerte problemer. Alt dette kan høres litt abstrakt ut, så la oss undersøke det mest populære eksemplet – problemet med den reisende selgeren.
Diagram over potensielt scenario
Så hvordan fungerer de? I dette eksemplet er hver løsning 7 bokstaver lang og inneholder hver bokstav nøyaktig én gang. Tenk på dette som DNA-et som genetikken er basert på, plasseringen av hver bokstav er en egenskap ved løsningen. Hver løsning er et medlem av populasjonen.
I utgangspunktet genereres en tilfeldig populasjon med alle typer løsninger, hvorav noen er ineffektive og andre er raskere. En fitnessfunksjon er et rangeringssystem som brukes til å sammenligne kvaliteten på løsninger. I dette eksemplet er fitnessfunksjonen bare avstanden til banen, der kortere avstand er bedre. Dette betyr at løsninger med kortere totalavstand vil bli rangert bedre og brukt til å produsere neste generasjon. Med 3 noder, hvis løsningen er ABC, er avstanden AB + AC, der AB er avstanden fra A til B.
Når populasjonen er generert, bør den sorteres etter fitnessfunksjonen. Deretter kan neste generasjon produseres fra foreldrene til den nåværende generasjonen. Selv om høyere rangerte løsninger har større sannsynlighet for å reprodusere seg, er det en viss tilfeldighet for å unngå for tidlig konvergens og lokale maksima. Dette emnet er for nyansert til å gå dypere inn i innenfor rammen av dette kurset, men ekstra ressurser kan finnes for nysgjerrige elever.
Reproduksjon gjøres ved å ta de to foreldrene og kombinere dem for å variere avkommet. Selv om det finnes mange forskjellige måter å kombinere genetikken på, er den generelle ideen at den nye populasjonen i gjennomsnitt er bedre siden de minst effektive løsningene fra hver generasjon fjernes. Ved å kjøre algoritmen i flere generasjoner kan du holde oversikt over de beste løsningene til én er god nok til formålet, da det aldri er noen garanti for at det er den best mulige løsningen.
Det finnes et stort antall forskjellige strukturer for nevrale nettverk, inkludert transformatorarkitekturen – dette er hva de fleste LLM-er som ChatGPT er basert på. I dette kapittelet vil vi diskutere den brede ideen om et nevralt nettverk snarere enn detaljene som utgjør mer avanserte arkitekturer.
For å utvikle en intuisjon for hvordan NN-er fungerer, vil vi bruke et visuelt eksempel på en AI for bildegjenkjenning.
Potensiell representasjon av nevralt nettverk https://www.sciencelearn.org.nz/images/5156-neural-network-diagram
I dette eksemplet er nodene sirklene og pilene er forbindelsene. Vekten av forbindelsene og nodene påvirker begge resultatene. Vi vil forstå hvor disse verdiene kommer fra i kapittel 4 – trening av AI.
Bilde med rutenett https://www.photoshopessentials.com/photo-effects/photo-strips/
Kapasitetene avhenger av størrelsen på det nevrale nettverket, ettersom det bare kan ta så mange input som det har noder. Tenk på det som et puslespill: hvis hver node kunne fortelle deg hvor en brikke skal være, ville du trenge like mange noder som du har brikker. Dette er imidlertid forenklet, og i realiteten er det fordelaktig å ha flere noder for nøyaktighet og nyanser. Selv om vi lærte at treningsdata er viktig i forrige kapittel, er størrelsen på det nevrale nettverket også en flaskehals for ytelse. Hvis du hadde én node, uansett hvor mye data du matet den med og hvor gode dataene dine er, ville alt du ville gjort være å oppdatere én verdi, og til slutt ville ikke AI-en din være nyttig.
Med forståelsen fra dette kapittelet burde det være klart at arkitekturen til en AI-modell vil direkte påvirke hva den er i stand til. Nevrale nettverk er mer allsidige ettersom inndataene kan være fleksible hvis hjernens størrelse (antall parametere) er tilstrekkelig. Genetiske algoritmer er bruksspesifikke på grunn av den tvungne input og output, men har absolutt sine styrker når de brukes i riktig kontekst. Det er langt flere arkitekturer å utforske, noen veldig avanserte og noen mer grunnleggende. Generelt er grunnleggende modeller raskere å kjøre og foretrekkes for veldefinerte forventninger. Avanserte modeller er dyre å trene og krever toppmoderne maskinvare for å kjøre, men produserer fantastiske resultater hvis de er konstruert effektivt. Sørg alltid for å analysere hvilken arkitektur som er egnet, da det vil avgjøre resultatene. Stockfish er en god sjakk-AI, bedre enn noe menneske i historien, mens ChatGPT fortsatt gjør ulovlige trekk gjennom spillene sine. Begge er AI, men de er trent med forskjellige intensjoner.