peň Čo je transferové vzdelávanie? - Spojte sa.AI
Spojte sa s nami
Masterclass AI:

AI 101

Čo je transferové vzdelávanie?

mm
Aktualizované on

Čo je transferové vzdelávanie?

Pri precvičovaní strojového učenia môže tréning modelu trvať dlho. Vytvorenie architektúry modelu od začiatku, trénovanie modelu a následné ladenie modelu je obrovské množstvo času a úsilia. Oveľa efektívnejší spôsob, ako trénovať model strojového učenia, je použiť architektúru, ktorá už bola definovaná, prípadne s váhami, ktoré už boli vypočítané. Toto je hlavná myšlienka prenos učenia, pričom sa vezme model, ktorý už bol použitý, a prepracuje sa na novú úlohu.

Predtým, ako sa ponoríme do rôznych spôsobov, ako sa dá použiť učenie s prenosom, poďme na chvíľu pochopiť, prečo je učenie s prenosom taká silná a užitočná technika.

Riešenie problému hlbokého učenia

Keď sa pokúšate vyriešiť problém s hlbokým učením, ako je vytváranie klasifikátora obrázkov, musíte vytvoriť architektúru modelu a potom model trénovať na svojich údajoch. Tréning klasifikátora modelu zahŕňa úpravu váh siete, čo je proces, ktorý môže trvať hodiny alebo dokonca dni v závislosti od zložitosti modelu aj súboru údajov. Čas školenia sa bude škálovať v súlade s veľkosťou súboru údajov a zložitosťou architektúry modelu.

Ak model nedosahuje presnosť potrebnú pre danú úlohu, bude pravdepodobne potrebné vykonať úpravu modelu a potom bude potrebné model preškoliť. To znamená viac hodín školenia, kým sa nenájde optimálna architektúra, dĺžka školenia a oddiel množiny údajov. Keď zvážite, koľko premenných musí byť navzájom zarovnaných, aby bol klasifikátor užitočný, dáva zmysel, že inžinieri strojového učenia vždy hľadajú jednoduchšie a efektívnejšie spôsoby trénovania a implementácie modelov. Z tohto dôvodu bola vytvorená technika prenosového učenia.

Po navrhnutí a otestovaní modelu, ak sa model ukázal ako užitočný, je možné ho uložiť a neskôr znova použiť pre podobné problémy.

Typy transferového učenia

Vo všeobecnosti sú dve rôzne druhy prenosového učenia: vývoj modelu od začiatku a použitie vopred trénovaného modelu.

Keď vytvoríte model od začiatku, budete musieť vytvoriť architektúru modelu schopnú interpretovať vaše tréningové údaje a extrahovať z nich vzory. Po prvom natrénovaní modelu budete pravdepodobne musieť v ňom vykonať zmeny, aby ste z modelu získali optimálny výkon. Potom môžete uložiť architektúru modelu a použiť ju ako východiskový bod pre model, ktorý sa použije pri podobnej úlohe.

V druhej podmienke – použitie predtrénovaného modelu – stačí vybrať predtrénovaný model na použitie. Mnohé univerzity a výskumné tímy sprístupnia špecifikácie svojho modelu na všeobecné použitie. Architektúru modelu je možné stiahnuť spolu so závažiami.

Pri vykonávaní prenosového učenia sa môže pre danú úlohu použiť celá architektúra modelu a váhy, alebo len určité časti/vrstvy modelu. Použitie iba niektorých predtrénovaných modelov a trénovanie zvyšku modelu sa označuje ako jemné ladenie.

Doladenie siete

Doladenie siete popisuje proces trénovania len niektorých vrstiev v sieti. Ak je nová množina trénovacích údajov podobná množine údajov použitej na trénovanie pôvodného modelu, možno použiť mnohé z rovnakých váh.

Počet vrstiev v sieti, ktoré by sa mali rozmraziť a preškoliť, by sa mal meniť v súlade s veľkosťou nového súboru údajov. Ak je množina údajov, na ktorej sa trénuje, malá, je lepšie ponechať väčšinu vrstiev tak, ako sú, a trénovať len posledných niekoľko vrstiev. Toto má zabrániť preťaženiu siete. Alternatívne je možné konečné vrstvy vopred natrénovanej siete odstrániť a pridať nové vrstvy, ktoré sa potom natrénujú. Na rozdiel od toho, ak je súbor údajov veľký súbor údajov, potenciálne väčší ako pôvodný súbor údajov, celá sieť by sa mala preškoliť. Ak chcete používať sieť ako extraktor pevných funkciíVäčšinu siete je možné použiť na extrakciu funkcií, zatiaľ čo len posledná vrstva siete môže byť rozmrazená a trénovaná.

Keď dolaďujete sieť, nezabudnite, že predchádzajúce vrstvy siete ConvNet obsahujú informácie predstavujúce všeobecnejšie vlastnosti obrázkov. Sú to funkcie ako hrany a farby. Na rozdiel od toho, neskoršie vrstvy ConvNet obsahujú detaily, ktoré sú špecifickejšie pre jednotlivé triedy uložené v súbore údajov, na ktorých bol model pôvodne trénovaný. Ak trénujete model na množine údajov, ktorá sa značne líši od pôvodnej množiny údajov, pravdepodobne budete chcieť použiť počiatočné vrstvy modelu na extrahovanie funkcií a jednoducho pretrénovať zvyšok modelu.

Príklady prenosu učenia

Najbežnejšie aplikácie prenosového učenia sú pravdepodobne tie, ktoré používajú obrazové dáta ako vstupy. Často ide o predikčné/klasifikačné úlohy. Cesta Konvolučné neurónové siete Interpretácia obrazových údajov sa hodí na opätovné použitie aspektov modelov, pretože konvolučné vrstvy často rozlišujú veľmi podobné prvky. Jedným z príkladov bežného problému učenia sa prenosu je úloha ImageNet 1000, masívny súbor údajov plný 1000 XNUMX rôznych tried objektov. Spoločnosti, ktoré vyvíjajú modely, ktoré dosahujú vysoký výkon v tomto súbore údajov, často vydávajú svoje modely na základe licencií, ktoré umožňujú ostatným ich opätovné použitie. Niektoré z modelov, ktoré sú výsledkom tohto procesu, zahŕňajú Model Microsoft ResNet, Google Inception Model a Model Oxford VGG skupinu.

Bloger a programátor so špecializáciou v Strojové učenie a Deep Learning témy. Daniel dúfa, že pomôže ostatným využívať silu AI pre sociálne dobro.