stub Kas yra perkėlimo mokymasis? - Vienykitės.AI
Susisiekti su mumis
AI meistriškumo klasė:

AI 101 m

Kas yra perkėlimo mokymasis?

mm
Atnaujinta on

Kas yra perkėlimo mokymasis?

Praktikuojant mašininį mokymąsi, modelio mokymas gali užtrukti ilgai. Modelio architektūros kūrimas nuo nulio, modelio apmokymas ir modelio koregavimas yra didžiulis laiko ir pastangų kiekis. Daug efektyvesnis būdas mokyti mašininio mokymosi modelį yra naudoti jau apibrėžtą architektūrą, galbūt su jau apskaičiuotais svoriais. Tai yra pagrindinė idėja perduoti mokymąsi, paimdami jau naudotą modelį ir pritaikydami jį naujai užduočiai.

Prieš gilindamiesi į skirtingus mokymosi perkėlimo būdus, skirkime šiek tiek laiko ir supraskime, kodėl mokymasis perkėlimo yra tokia galinga ir naudinga technika.

Gilaus mokymosi problemos sprendimas

Kai bandote išspręsti gilaus mokymosi problemą, pvz., kurti vaizdų klasifikatorių, turite sukurti modelio architektūrą ir tada parengti modelį pagal savo duomenis. Modelio klasifikatoriaus mokymas apima tinklo svorių koregavimą, o tai gali užtrukti valandas ar net dienas, priklausomai nuo modelio ir duomenų rinkinio sudėtingumo. Mokymo laikas bus keičiamas atsižvelgiant į duomenų rinkinio dydį ir modelio architektūros sudėtingumą.

Jei modelis nepasiekia reikiamo tikslumo, reikalingo užduočiai atlikti, greičiausiai reikės pakoreguoti modelį, o tada modelį reikės iš naujo apmokyti. Tai reiškia daugiau valandų mokymo, kol bus rasta optimali architektūra, mokymo trukmė ir duomenų rinkinio skaidinys. Kai svarstote, kiek kintamųjų turi būti suderinti vienas su kitu, kad klasifikatorius būtų naudingas, prasminga, kad mašininio mokymosi inžinieriai visada ieško paprastesnių ir efektyvesnių modelių mokymo ir diegimo būdų. Dėl šios priežasties buvo sukurta perkėlimo mokymosi technika.

Sukūrus ir išbandžius modelį, jei modelis pasirodė naudingas, jį galima išsaugoti ir vėliau panaudoti panašioms problemoms spręsti.

Mokymosi perkėlimo tipai

Apskritai yra du skirtingi perkėlimo mokymosi rūšys: modelio kūrimas nuo nulio ir iš anksto apmokyto modelio naudojimas.

Kai kuriate modelį nuo nulio, turėsite sukurti modelio architektūrą, galinčią interpretuoti jūsų treniruočių duomenis ir iš jų išgauti šablonus. Kai modelis bus apmokytas pirmą kartą, tikriausiai turėsite jį pakeisti, kad modelio našumas būtų optimalus. Tada galite išsaugoti modelio architektūrą ir naudoti ją kaip atspirties tašką modeliui, kuris bus naudojamas atliekant panašią užduotį.

Antroje sąlygoje – naudojant iš anksto apmokytą modelį – tereikia pasirinkti iš anksto paruoštą modelį. Daugelis universitetų ir mokslinių tyrimų grupių savo modelio specifikacijas pateiks bendram naudojimui. Modelio architektūrą galima atsisiųsti kartu su svoriais.

Atliekant perkėlimo mokymąsi, atliekamai užduočiai gali būti naudojama visa modelio architektūra ir svoriai arba gali būti naudojamos tik tam tikros modelio dalys / sluoksniai. Naudojant tik dalį iš anksto paruošto modelio ir mokant likusią modelio dalį, vadinama koregavimu.

Tinklo tobulinimas

Tikslus tinklo derinimas apibūdina tik kai kurių tinklo sluoksnių mokymo procesą. Jei naujas mokymo duomenų rinkinys labai panašus į duomenų rinkinį, naudotą treniruoti pradinį modelį, galima naudoti daug tų pačių svorių.

Tinklo sluoksnių, kurie turėtų būti atjungti ir perkvalifikuoti, skaičius turėtų padidėti pagal naujo duomenų rinkinio dydį. Jei apmokomas duomenų rinkinys yra mažas, daugumą sluoksnių geriau laikyti tokius, kokie jie yra, ir mokyti tik kelis paskutinius sluoksnius. Taip siekiama išvengti tinklo perpildymo. Arba galima pašalinti paskutinius iš anksto paruošto tinklo sluoksnius ir pridėti naujų sluoksnių, kurie vėliau apmokomi. Priešingai, jei duomenų rinkinys yra didelis duomenų rinkinys, galbūt didesnis nei pradinis duomenų rinkinys, visas tinklas turėtų būti apmokytas iš naujo. Norėdami naudoti tinklą kaip fiksuotų funkcijų ištraukėjas, didžioji tinklo dalis gali būti naudojama funkcijoms išgauti, o tik paskutinis tinklo sluoksnis gali būti atblokuotas ir apmokytas.

Kai tiksliai derinate tinklą, tiesiog atminkite, kad ankstesniuose ConvNet sluoksniuose yra informacija, atspindinti bendresnes vaizdų savybes. Tai yra tokios savybės kaip kraštai ir spalvos. Priešingai, vėlesniuose „ConvNet“ sluoksniuose yra detalės, labiau būdingos atskiroms klasėms, esančioms duomenų rinkinyje, pagal kurį modelis buvo iš pradžių apmokytas. Jei treniruojate modelį su duomenų rinkiniu, kuris labai skiriasi nuo pradinio duomenų rinkinio, tikriausiai norėsite naudoti pradinius modelio sluoksnius funkcijoms išgauti ir tiesiog perkvalifikuoti likusią modelio dalį.

Mokymosi pavyzdžių perkėlimas

Labiausiai paplitusios mokymosi perkėlimo programos yra tos, kurios naudoja vaizdo duomenis kaip įvestis. Tai dažnai yra numatymo/klasifikavimo užduotys. Būdas Konvoliuciniai neuroniniai tinklai Vaizdo duomenų interpretavimas leidžia pakartotinai naudoti modelių aspektus, nes konvoliuciniai sluoksniai dažnai išskiria labai panašias savybes. Vienas įprastos perdavimo mokymosi problemos pavyzdžių yra „ImageNet 1000“ užduotis, didžiulis duomenų rinkinys, kuriame yra 1000 skirtingų klasių objektų. Įmonės, kuriančios modelius, kurie pasiekia didelį šio duomenų rinkinio našumą, dažnai išleidžia savo modelius pagal licencijas, leidžiančias kitiems juos pakartotinai naudoti. Kai kurie modeliai, sukurti dėl šio proceso, apima „Microsoft ResNet“ modelis, „Google“ pradžios modelis ir Oksfordo VGG modelis grupė.

Tinklaraštininkas ir programuotojas, turintis specialybių Mašininis mokymasis ir Gilus mokymasis temomis. Danielis tikisi padėti kitiems panaudoti AI galią socialinei gerovei.