Letar du efter ett sätt att träna en kraftfull AI för dina specifika applikationer? Prova att överföra lärande!
Om du är intresserad av att träna din egen AI-modell för naturlig språkbehandling (NLP) eller datorseende, bör du bekanta dig med överföringsinlärning och hur du använder förtränade modeller.
Utan överföringslärande kommer utbildning av en effektiv och tillförlitlig modell ofta vara en resurskrävande strävan, som kräver massor av pengar, tid och expertis, med ChatGPT-utvecklaren OpenAI som uppskattas ha spenderat miljoner på att träna GPT-3, GPT-3.5 och GPT-4. Med kraften i transfer learning kan du träna din egen modell lika kraftfull som den senaste GPT-modellen med små resurser på kort tid.
Vad är AI Transfer Learning?
Transfer learning är idén att ta en förutbildad modell som BERT eller en av de olika GPT-modeller och träna den på en anpassad datauppsättning för att arbeta med uppgifter som den inte nödvändigtvis var tränad för att ta itu med.
Du kan till exempel ta en förtränad modell för att klassificera olika kattarter och träna den att klassificera hundar. Genom överföringsinlärning bör träning av din hundklassificeringsmodell ta betydligt mindre tid och resurser för att bli lika pålitlig som den ursprungliga kattklassificeringsmodellen.
Detta fungerar eftersom katter och hundar delar många egenskaper som den förtränade modellen redan kan identifiera. Eftersom kattklassificeringsmodellen kan identifiera de olika egenskaperna hos en katt, som att ha fyra ben, pälsrockar och framträdande nosar, den hundklassificerande modellen kan hoppa över all träning för att identifiera dessa egenskaper och ärva dem från originalet modell. Efter att ha ärvt alla dessa neurala nätverk skär du sedan av de sista lagren av den tränade modellen som används för att identifiera de mer specifika egenskaperna hos en katt och ersätta dem med en datauppsättning som är specifik för hundar.
Vilka AI-modeller kan du använda för överföringsinlärning?
För att använda transfer learning behöver du en förutbildad modell. En förtränad modell är allmänt känd som en AI-modell utbildad i syfte att få allmän kunskap om ett visst ämne eller idé. Dessa typer av förtränade modeller är avsiktligt gjorda för att människor ska kunna finjustera och göra mer applikationsspecifika modeller. Några av de mest populära förtränade modellerna är för NLP, som BERT och GPT, och datorseende, som VGG19 och Inceptionv3.
Även om de är populära, är dessa lätt inställbara modeller inte de enda du kan använda för överföringsinlärning. Du kan också använda modeller som tränats på uppgifter som är mer specifika än allmänt objekt- eller språkigenkänning. Så länge som modellen har utvecklat neurala nätverk som är tillämpliga på modellen du försöker träna, kan du använda nästan vilken modell som helst för överföringsinlärning.
Du kan få allmänt tillgängliga förtränade modeller från platser som TensorFlow Hub, Hugging Face och OpenAI-modellmarknaden.
Fördelar med att använda AI Transfer Learning
Transferinlärning ger flera fördelar jämfört med att träna en AI-modell från grunden.
- Reducerad träningstid: När man tränar en modell från grunden läggs en stor del av utbildningsprocessen på allmän grundkunskap. Genom överföringsinlärning ärver din modell automatiskt all denna grundläggande kunskap, vilket avsevärt minskar träningstiden.
- Mindre resursbehov: Eftersom all grundläggande kunskap redan finns där, är allt du behöver göra att vidareutbilda modellen för detaljerna i din applikation. Detta kräver ofta bara en relativt liten datamängd som kan bearbetas med mindre datorkraft.
- Förbättrad prestanda: Om du inte spenderar miljontals dollar på att bygga din modell från grunden, kan du inte förvänta dig en modell som är lika bra eller pålitlig som en stor språkmodell (LLM) från ett gigantiskt teknikföretag. Genom att använda överföringsinlärning kan du dra nytta av de kraftfulla funktionerna hos dessa förutbildade LLM: er, såsom GPT, för att förbättra din modells prestanda.
Att träna en AI-modell från grunden är möjligt, men du behöver större resurser för att göra det.
Hur fungerar överföringslärande?
I huvudsak finns det tre steg när det kommer till överföring av lärande.
- Välja en förutbildad modell: En förtränad modell genomgår inledande träning med hjälp av en betydande datauppsättning från en källuppgift, som ImageNet, eller en stor samling text. Denna inledande utbildningsfas gör det möjligt för modellen att förvärva kunskap om allmänna egenskaper och mönster som finns i datamängden. Mängden tid och resurser du sparar från transfer learning kommer att bero på likheterna mellan den förtränade modellen och modellen du försöker bygga.
- Särdragsextraktion: När en förtränad modell har valts för finjustering, fryses de första lagren av den förtränade modellen (närmast ingången); detta innebär att deras vikter hålls fasta under finjusteringen. Frysning av dessa lager behåller den allmänna kunskap som lärts under förträningsfasen och förhindrar att de påverkas kraftigt av målmodellens uppgiftsspecifika datauppsättning. För modeller som är fullt utbildade för specifika tillämpningar, tas de sista lagren av modellerna bort eller avlärda för att målmodellen ska tränas i andra specifika tillämpningar.
- Finjustering: Efter att den förtränade modellen har frysts och de översta lagren tagits bort, matas en ny datauppsättning till inlärningsalgoritmen, som sedan används för att träna den nya modellen och detaljerna för dess tillämpning.
Det finns mer än de tre stegen, men den här beskrivningen beskriver ungefär hur AI-överföringsprocessen fungerar, med viss finjustering.
Begränsningar för AI Transfer Learning
Även om överföringsinlärning är ett värdefullt koncept för att träna effektiva och pålitliga modeller, finns det en hel del begränsningar som du behöver känna till när du använder överföringsinlärning för att träna en modell.
- Uppgiften matchar inte: När man väljer en basmodell för transfer learning måste den vara så relevant som möjligt för de problem som den nya modellen kommer att lösa. Att använda en modell som klassificerar katter för att skapa en hundklassificerande modell är mer sannolikt att ge bättre resultat än att använda en bilklassificerande modell för att skapa en modell för växter. Ju mer relevant basmodellen är för modellen du försöker bygga, desto mer tid och resurser sparar du under hela överföringsprocessen.
- Datauppsättningsbias: Även om förtränade modeller ofta tränas i stora datamängder, finns det fortfarande en möjlighet att de utvecklat en viss fördom under sin träning. Att använda den mycket partiska basmodellen skulle också få modellen att ärva sina fördomar, vilket minskar din modells noggrannhet och tillförlitlighet. Tyvärr är ursprunget till dessa fördomar svårt att fastställa på grund av black-box karaktär av djupinlärning.
- Överanpassning: En av de främsta fördelarna med transfer learning är att du kan använda en relativt liten datauppsättning för att träna en modell vidare. Men att träna modellen på en datauppsättning som är för liten kan orsaka överanpassning, vilket avsevärt minskar modellens tillförlitlighet när den förses med ny data.
Så även om överföringsinlärning är en praktisk AI-inlärningsteknik, finns det begränsningar, och det är inte en kul kula.
Ska du använda Transfer Learning?
Ända sedan tillgången till förtränade modeller har transfer learning alltid använts för att göra mer specialiserade modeller. Det finns egentligen ingen anledning att inte använda transfer learning om det redan finns en förutbildad modell som är relevant för de problem som din modell kommer att lösa.
Även om det är möjligt att träna en enkel maskininlärningsmodell från början, kommer det att krävas att göra det på en djupinlärningsmodell massor av data, tid och skicklighet, vilket inte är meningsfullt om du kan återanvända en befintlig modell som liknar den du planerar att tåg. Så om du vill lägga mindre tid och pengar på att träna en modell, försök att träna din modell genom överföringsinlärning.