Leter du etter en måte å trene en kraftig AI for dine spesifikke applikasjoner? Prøv å overføre læring!
Hvis du er interessert i å trene din egen AI-modell for naturlig språkbehandling (NLP) eller datasyn, bør du gjøre deg kjent med overføringslæring og hvordan du bruker forhåndstrente modeller.
Uten overføringslæring vil opplæring av en effektiv og pålitelig modell ofte være en ressurskrevende innsats, som krever mye penger, tid og ekspertise, med ChatGPT-utvikler OpenAI anslått å ha brukt millioner på å trene GPT-3, GPT-3.5 og GPT-4. Med kraften til overføringslæring kan du trene din egen modell like kraftig som den nyeste GPT-modellen med lite ressurser i løpet av kort tid.
Hva er AI Transfer Learning?
Overføringslæring er ideen om å ta en forhåndstrent modell som BERT eller en av de forskjellige GPT-modeller og trene den på et tilpasset datasett for å jobbe med oppgaver det ikke nødvendigvis var opplært til å takle.
Du kan for eksempel ta en forhåndstrent modell for å klassifisere ulike kattearter og trene den til å klassifisere hunder. Gjennom overføringslæring bør trening av hundeklassifiseringsmodellen ta betydelig mindre tid og ressurser for å bli like pålitelig som den opprinnelige katteklassifiseringsmodellen.
Dette fungerer siden katter og hunder deler mange egenskaper den forhåndstrente modellen allerede kan identifisere. Siden katteklassifiseringsmodellen kan identifisere de forskjellige egenskapene til en katt, for eksempel å ha fire ben, pelsfrakker og fremtredende snuter, kan hundeklassifiseringsmodellen hoppe over all trening for å identifisere disse egenskapene og arve dem fra originalen modell. Etter å ha arvet alle disse nevrale nettverkene, kuttet du av de siste lagene i den trente modellen som brukes til å identifisere de mer spesifikke egenskapene til en katt og erstatte dem med et datasett spesifikt for hunder.
Hvilke AI-modeller kan du bruke for overføringslæring?
For å bruke overføringslæring trenger du en forhåndsopplært modell. En forhåndstrent modell er vanligvis kjent som en AI-modell trent med det formål å få generell kunnskap om et bestemt emne eller ide. Disse typene forhåndstrente modeller er med hensikt laget for at folk skal finjustere og lage mer applikasjonsspesifikke modeller. Noen av de mest populære ferdigtrente modellene er for NLP, som BERT og GPT, og datasyn, som VGG19 og Inceptionv3.
Selv om de er populære, er disse lett finjusterbare modellene ikke de eneste du kan bruke til overføringslæring. Du kan også bruke modeller som er trent på oppgaver som er mer spesifikke enn generell objekt- eller språkgjenkjenning. Så lenge modellen har utviklet nevrale nettverk som gjelder modellen du prøver å trene, kan du bruke omtrent hvilken som helst modell for overføringslæring.
Du kan få offentlig tilgjengelige forhåndstrente modeller fra steder som TensorFlow Hub, Hugging Face og OpenAI-modellmarkedet.
Fordeler med å bruke AI Transfer Learning
Overføringslæring gir flere fordeler fremfor å trene en AI-modell fra bunnen av.
- Redusert treningstid: Når man trener en modell fra bunnen av, blir en stor del av opplæringsprosessen brukt på generell grunnleggende kunnskap. Gjennom overføringslæring arver modellen din automatisk all denne grunnleggende kunnskapen, og dermed reduseres treningstiden betydelig.
- Mindre ressursbehov: Siden all grunnleggende kunnskap allerede er der, er alt du trenger å gjøre å videreutdanne modellen for spesifikasjonene til applikasjonen din. Dette krever ofte bare et relativt lite datasett som kan behandles med mindre datakraft.
- Forbedret ytelse: Med mindre du bruker millioner av dollar på å bygge modellen fra bunnen av, kan du ikke forvente en like god eller pålitelig modell som en stor språkmodell (LLM) fra et gigantisk teknologiselskap. Ved å bruke overføringslæring kan du utnytte de kraftige egenskapene til disse ferdigtrente LLM-ene, for eksempel GPT, for å forbedre modellens ytelse.
Å trene en AI-modell fra bunnen av er mulig, men du trenger større ressurser for å gjøre det.
Hvordan fungerer overføringslæring?
I hovedsak er det tre stadier når det gjelder overføring av læring.
- Velge en forhåndsopplært modell: En forhåndstrent modell gjennomgår innledende opplæring ved å bruke et betydelig datasett fra en kildeoppgave, for eksempel ImageNet, eller en stor tekstsamling. Denne innledende opplæringsfasen gjør det mulig for modellen å tilegne seg kunnskap om generelle funksjoner og mønstre som finnes i datasettet. Hvor mye tid og ressurser du sparer på overføringslæring vil avhenge av likhetene mellom den ferdigtrente modellen og modellen du prøver å bygge.
- Funksjonsekstraksjon: Når en forhåndstrent modell er valgt for finjustering, fryses de første lagene til den forhåndstrente modellen (nærmest inngangen); dette betyr at vektene deres holdes faste under finjusteringen. Frysing av disse lagene beholder den generelle kunnskapen som ble lært under før-treningsfasen og forhindrer dem fra å bli sterkt påvirket av målmodellens oppgavespesifikke datasett. For modeller som er fullt trent for spesifikke bruksområder, fjernes eller avlæres de siste lagene av modellene for at målmodellen skal trenes i andre spesifikke applikasjoner.
- Finjustering: Etter at den forhåndstrente modellen har blitt frosset og de øverste lagene er fjernet, mates et nytt datasett til læringsalgoritmen, som deretter brukes til å trene opp den nye modellen og spesifikke applikasjoner.
Det er mer enn de tre stadiene, men denne skissen beskriver omtrent hvordan læringsprosessen for AI-overføring fungerer, med litt finjustering.
Begrensninger for AI Transfer Learning
Selv om overføringslæring er et verdifullt konsept for å trene effektive og pålitelige modeller, er det ganske mange begrensninger du trenger å vite når du bruker overføringslæring for å trene en modell.
- Oppgavemismatch: Når du velger en basismodell for overføringslæring, må den være så relevant som mulig for problemene den nye modellen skal løse. Å bruke en modell som klassifiserer katter for å lage en hundeklassifiserende modell er mer sannsynlig å gi bedre resultater enn å bruke en bilklassifiserende modell for å lage en modell for planter. Jo mer relevant basismodellen er for modellen du prøver å bygge, jo mer tid og ressurser vil du spare gjennom hele overføringslæringsprosessen.
- Datasettbias: Selv om forhåndstrente modeller ofte trenes i store datasett, er det fortsatt en mulighet for at de utviklet en spesiell skjevhet under treningen. Bruk av den svært partiske grunnmodellen vil også føre til at modellen arver sine skjevheter, og dermed redusere modellens nøyaktighet og pålitelighet. Dessverre er opprinnelsen til disse skjevhetene vanskelig å finne på grunn av black-box natur dyp læring.
- Overmontering: En av hovedfordelene med overføringslæring er at du kan bruke et relativt lite datasett til å trene en modell videre. Trening av modellen på et datasett som er for lite kan imidlertid føre til overtilpasning, noe som reduserer modellens pålitelighet betydelig når den leveres med nye data.
Så selv om overføringslæring er en hendig AI-læringsteknikk, finnes det begrensninger, og det er ikke en sølvkule.
Bør du bruke overføringslæring?
Helt siden tilgjengeligheten av forhåndstrente modeller har overføringslæring alltid blitt brukt til å lage mer spesialiserte modeller. Det er egentlig ingen grunn til å ikke bruke overføringslæring hvis det allerede er en forhåndsopplært modell som er relevant for problemene modellen din skal løse.
Selv om det er mulig å trene en enkel maskinlæringsmodell fra bunnen av, vil det kreves å gjøre det på en dyplæringsmodell masse data, tid og ferdigheter, noe som ikke gir mening hvis du kan bruke en eksisterende modell som ligner på den du planlegger å bruke tog. Så hvis du vil bruke mindre tid og penger på å trene en modell, prøv å trene modellen din gjennom overføringslæring.