Leder du efter en måde at træne en kraftfuld AI til dine specifikke applikationer? Prøv at overføre læring!
Hvis du er interesseret i at træne din egen AI-model til naturlig sprogbehandling (NLP) eller computersyn, bør du sætte dig ind i overførselslæring og hvordan du bruger fortrænede modeller.
Uden overførselslæring vil træning af en effektiv og pålidelig model ofte være en ressourcekrævende bestræbelse, som kræver masser af penge, tid og ekspertise, hvor ChatGPT-udvikleren OpenAI anslås at have brugt millioner på at træne GPT-3, GPT-3.5 og GPT-4. Med kraften i overførselslæring kan du træne din egen model lige så kraftfuld som den seneste GPT-model med få ressourcer på kort tid.
Hvad er AI Transfer Learning?
Transfer learning er ideen om at tage en præ-trænet model som BERT eller en af de forskellige GPT-modeller og træne det på et brugerdefineret datasæt til at arbejde på opgaver, det ikke nødvendigvis var trænet til at tackle.
For eksempel kan du tage en fortrænet model til at klassificere forskellige kattearter og træne den til at klassificere hunde. Gennem overførselslæring bør træning af din hundeklassificeringsmodel tage betydeligt mindre tid og ressourcer for at blive lige så pålidelig som den originale katklassificeringsmodel.
Dette virker, da katte og hunde deler mange egenskaber, som den fortrænede model allerede kan identificere. Da katteklassificeringsmodellen kan identificere de forskellige træk ved en kat, såsom at have fire ben, pels og fremtrædende tryner, kan den hundeklassificerende model springe al træning over for at identificere disse egenskaber og arve dem fra originalen model. Efter at have arvet alle disse neurale netværk, afskærer du derefter de sidste lag af den trænede model, der bruges til at identificere de mere specifikke træk ved en kat og erstatte dem med et datasæt specifikt for hunde.
Hvilke AI-modeller kan du bruge til overførselslæring?
For at bruge overførselslæring skal du have en foruddannet model. En præ-trænet model er almindeligvis kendt som en AI-model, der er trænet med det formål at opnå generel viden om et bestemt emne eller en ide. Disse typer af præ-trænede modeller er bevidst lavet for folk at finjustere og lave mere applikationsspecifikke modeller. Nogle af de mest populære præ-trænede modeller er til NLP, f.eks BERT og GPT, og computersyn, såsom VGG19 og Inceptionv3.
Selvom de er populære, er disse let finjusterbare modeller ikke de eneste, du kan bruge til overførselslæring. Du kan også bruge modeller, der er trænet i opgaver, der er mere specifikke end generel genkendelse af objekter eller sprog. Så længe modellen har udviklet neurale netværk, der er relevante for den model, du forsøger at træne, kan du bruge næsten enhver model til overførselslæring.
Du kan få offentligt tilgængelige fortrænede modeller fra steder som TensorFlow Hub, Hugging Face og OpenAI-modelmarkedspladsen.
Fordele ved at bruge AI Transfer Learning
Overførselslæring giver flere fordele i forhold til at træne en AI-model fra bunden.
- Reduceret træningstid: Når man træner en model fra bunden, bruges en stor del af træningsprocessen på generel grundlæggende viden. Gennem transfer learning arver din model automatisk al denne grundlæggende viden, hvilket reducerer træningstiden markant.
- Mindre ressourcebehov: Da al den grundlæggende viden allerede er der, er det eneste, du skal gøre, at videreuddanne modellen til de specifikke specifikationer af din applikation. Dette kræver ofte kun et relativt lille datasæt, der kan behandles med mindre computerkraft.
- Forbedret ydeevne: Medmindre du bruger millioner af dollars på at bygge din model fra bunden, kan du ikke forvente en model lige så god eller pålidelig som en stor sprogmodel (LLM) fra en gigantisk teknologivirksomhed. Ved at bruge overførselslæring kan du udnytte de kraftfulde egenskaber i disse forudtrænede LLM'er, såsom GPT, til at forbedre din models ydeevne.
Det er muligt at træne en AI-model fra bunden, men du har brug for større ressourcer til at gøre det.
Hvordan fungerer overførselslæring?
I bund og grund er der tre stadier, når det kommer til overførsel af læring.
- Valg af en præ-trænet model: En præ-trænet model gennemgår indledende træning ved hjælp af et betydeligt datasæt fra en kildeopgave, såsom ImageNet, eller en stor samling af tekst. Denne indledende træningsfase gør det muligt for modellen at opnå viden om generelle funktioner og mønstre, der findes i datasættet. Mængden af tid og ressourcer, du sparer på overførselslæring, vil afhænge af lighederne mellem den fortrænede model og den model, du forsøger at bygge.
- Funktionsudvinding: Når først en fortrænet model er valgt til finjustering, fryses de indledende lag af den fortrænede model (tættest på inputtet); det betyder, at deres vægt holdes fast under finjustering. Fastfrysning af disse lag bevarer den generelle viden, der er lært under fortræningsfasen, og forhindrer dem i at blive stærkt påvirket af målmodellens opgavespecifikke datasæt. For modeller, der er fuldt trænet til specifikke applikationer, fjernes eller aflæres de sidste lag af modellerne for, at målmodellen skal trænes i andre specifikke applikationer.
- Finjustering: Efter at den fortrænede model er blevet frosset og de øverste lag er fjernet, føres et nyt datasæt til indlæringsalgoritmen, som derefter bruges til at træne den nye model og dens applikations detaljer.
Der er mere i det end de tre faser, men denne oversigt beskriver nogenlunde, hvordan AI-overførselslæringsprocessen fungerer, med nogle finjusteringer.
Begrænsninger for AI Transfer Learning
Selvom transfer learning er et værdifuldt koncept i træning af effektive og pålidelige modeller, er der en del begrænsninger, som du skal kende til, når du bruger transfer learning til at træne en model.
- Opgavemismatch: Når man vælger en basismodel for transfer learning, skal den være så relevant som muligt for de problemer, den nye model vil løse. Brug af en model, der klassificerer katte til at skabe en hundeklassificeringsmodel, vil med større sandsynlighed give bedre resultater end at bruge en bilklassificerende model til at skabe en model for planter. Jo mere relevant basismodellen er for den model, du forsøger at bygge, jo mere tid og ressourcer sparer du under overførselslæringsprocessen.
- Datasæt Bias: Selvom præ-trænede modeller ofte trænes i store datasæt, er der stadig en mulighed for, at de udviklede en særlig bias under deres træning. Brug af den stærkt partiske basismodel vil også få modellen til at arve sine skævheder, hvilket reducerer din models nøjagtighed og pålidelighed. Desværre er oprindelsen af disse skævheder svær at udpege på grund af black-box karakter af dyb læring.
- Overpasning: En af de vigtigste fordele ved transfer learning er, at du kan bruge et relativt lille datasæt til at træne en model yderligere. Men træning af modellen på et datasæt, der er for lille, kan forårsage overtilpasning, hvilket væsentligt reducerer modellens pålidelighed, når den forsynes med nye data.
Så selvom overførselslæring er en praktisk AI-læringsteknik, eksisterer der begrænsninger, og det er ikke en sølvkugle.
Skal du bruge Transfer Learning?
Lige siden tilgængeligheden af præ-trænede modeller, har transfer learning altid været brugt til at lave mere specialiserede modeller. Der er virkelig ingen grund til ikke at bruge transfer learning, hvis der allerede er en præ-trænet model, der er relevant for de problemer, din model vil løse.
Selvom det er muligt at træne en simpel machine learning-model fra bunden, vil det kræve at gøre det på en deep learning-model masser af data, tid og færdigheder, hvilket ikke giver mening, hvis du kan genbruge en eksisterende model, der ligner den, du planlægger at tog. Så hvis du vil bruge mindre tid og penge på at træne en model, så prøv at træne din model gennem transfer learning.