AI 101
Co je Meta-Učení?

Co je Meta-Učení?
Jedním z nejrychleji rostoucích oblastí výzkumu v oblasti strojového učení je oblast meta-učení. Meta-učení, ve kontextu strojového učení, je použití algoritmů strojového učení pro pomoc při školení a optimalizaci jiných modelů strojového učení. Jak meta-učení získává na popularitě a vyvíjí se stále více meta-učících technik, je prospěšné mít pochopení toho, co je meta-učení a mít smysl pro různé způsoby, jak jej lze aplikovat. Podívejme se na myšlenky za meta-učením, typy meta-učení, jakož i některé způsoby, jak meta-učení lze použít.
Pojem meta-učení byl zaveden Donaldem Maudsleym, aby popsal proces, kterým lidé začínají formovat to, co se učí, stávají se „stále více ovládajícími zvyky vnímání, dotazování, učení a růstu, které si internalizovali”. Později by kognitivní vědci a psychologové popsali meta-učení jako „učení, jak se učit“.
Pro strojové učení verze meta-učení je obecná myšlenka „učení, jak se učit“ aplikována na systémy umělé inteligence. V smyslu umělé inteligence je meta-učení schopnost umělých inteligentních strojů učit se, jak provádět různé složité úkoly, přičemž principy, které použily k učení jednoho úkolu, aplikují na jiné úkoly. Systémy umělé inteligence obvykle musí být školeny, aby dosáhly úkolu prostřednictvím zvládnutí mnoha malých podúkolů. Toto školení může trvat dlouho a agenti umělé inteligence snadno nepřevádějí znalosti získané během jednoho úkolu na jiný úkol. Vytvoření modelů a technik meta-učení může pomoci umělé inteligenci naučit se generalizovat metody učení a získat nové dovednosti rychleji.
Typy Meta-Učení
Optimalizační Meta-Učení
Meta-učení je často používáno k optimalizaci výkonu již existující neuronové sítě. Metody optimalizačního meta-učení obvykle fungují tak, že upravují hyperparametry jiné neuronové sítě, aby se zlepšil výkon základní neuronové sítě. Výsledkem je, že cílová síť by se měla stát lepší při provádění úkolu, na který je školená. Jedním z příkladů meta-učícího optimalizátoru je použití sítě pro zlepšení gradientního sestupu výsledků.
Few-Shots Meta-Učení
Přístup few-shots meta-učení je takový, že je navržen hluboký neuronový model, který je schopen generalizovat z trénovacích dat na neviditelná data. Příkladem few-shots klasifikace je podobný normální klasifikační úkolu, ale místo toho jsou datové vzorky celé datové sady. Model je školen na mnoha různých učících úkolech/datových sadách a poté je optimalizován pro maximální výkon na mnoha trénovacích úkolech a neviditelných datech. V tomto přístupu je jeden trénovací vzorek rozdělen do více tříd. To znamená, že každý trénovací vzorek/datová sada by mohla potenciálně sestávat ze dvou tříd, celkem 4-shots. V tomto případě by celkový trénovací úkol mohl být popsán jako 4-shots 2-třídní klasifikační úkol. Při few-shots učení je myšlenka taková, že jednotlivé trénovací vzorky jsou minimalistické a že síť může naučit rozpoznávat objekty po shlédnutí pouze několika obrázků. To je podobné tomu, jak dítě naučí rozpoznávat objekty po shlédnutí pouze několika obrázků. Tento přístup byl použit pro vytvoření technik, jako jsou one-shot generativní modely a paměťově posílené neuronové sítě. Metrické Meta-Učení Metrické založené meta-učení je využití neuronových sítí k určení, zda je metrika používána účinně a zda síť nebo sítě dosahují cílové metriky. Metrické meta-učení je podobné few-shots učení v tom, že jsou použity pouze několik příkladů k trénování sítě a naučení metrického prostoru. Stejná metrika je použita napříč různými doménami a pokud se sítě odchylují od metriky, jsou považovány za selhání. Recurrent Model Meta-Učení Recurrent model meta-učení je aplikace meta-učících technik na rekurentní neuronové sítě a podobné sítě s dlouhými krátkodobými paměťmi. Tato technika funguje tak, že trénuje model RNN/LSTM, aby se naučil sekvenčně učit datovou sadu, a poté používá tento trénovaný model jako základ pro dalšího učitele. Meta-učitel přebírá specifický optimalizační algoritmus, který byl použit k trénování počátečního modelu. Děděná parametrizace meta-učitele umožňuje rychlou inicializaci a konvergenci, ale stále umožňuje aktualizaci pro nové scénáře. Způsob, jakým se meta-učení provádí, se liší v závislosti na modelu a povaze úkolu. Obecně však meta-učící úkol zahrnuje kopírování parametrů první sítě do parametrů druhé sítě/optimalizátoru. <p Existují dva trénovací procesy v meta-učení. Model meta-učení je obvykle trénován po několika krocích trénování základní model. Po forward, backward a optimalizačních krocích, které trénují základní model, je proveden forward trénovací průchod pro optimalizační model. Například po třech nebo čtyřech krocích trénování základního modelu je vypočten meta-ztráta. Po vypočtení meta-ztráty jsou vypočteny gradienty pro každý meta-parametr. Poté jsou aktualizovány meta-parametry v optimalizátoru. Jedním z možných způsobů výpočtu meta-ztráty je dokončení forward trénovacího průchodu počátečního modelu a poté kombinace ztrát, které již byly vypočteny. Meta-optimalizátor by mohl být dokonce další meta-učitel, i když v určitém okamžiku musí být použit diskretní optimalizátor, jako je ADAM nebo SGD. Mnohé hluboké učící modely mohou mít stovky tisíc nebo dokonce miliony parametrů. Vytvoření meta-učitele, který má zcela novou sadu parametrů, by bylo výpočetně nákladné, a z tohoto důvodu se obvykle používá taktika nazývaná sdílení souřadnic. Sdílení souřadnic zahrnuje navržení meta-učitele/optimalizátoru tak, aby se naučil jeden parametr z základního modelu a poté pouze zkopíroval tento parametr místo všech ostatních parametrů. Výsledkem je, že parametry, které optimalizátor possui, nezávisejí na parametrech modelu.Jak Meta-Učení Pracuje?












