Few shot learning

Čo je few shot learning?

Few shot learning je technika strojového učenia, pri ktorej sa model dokáže naučiť rozpoznávať nové vzory alebo kategórie len z niekoľkých tréningových príkladov. Na rozdiel od tradičných prístupov, ktoré vyžadujú tisíce až milióny vzoriek, few shot learning pracuje typicky s 1 až 10 príkladmi na triedu. Táto schopnosť rýchlej adaptácie na nové úlohy s minimom dát robí z few shot learningu kľúčovú techniku pre scenáre, kde je zber veľkého množstva anotovaných dát nákladný alebo nepraktický.

Základné princípy umožňujú few shot learningu „učiť sa“

Few shot learning využíva prístup nazývaný meta-learning, teda učenie sa učiť. Model sa najprv trénuje na veľkom množstve podobných úloh, aby si osvojil všeobecné schopnosti rozpoznávania vzorov. Pri stretnutí s novou úlohou potom dokáže využiť tieto naučené stratégie a rýchlo sa adaptovať.

Pri few‑shot learningu ide hlavne o to, že model sa učí pracovať s novými príkladmi z veľmi malého množstva dát – podobne ako človek z pár ukážok.

  • V prvom prístupe si model vytvára „vzorové príklady“ (prototypy) pre jednotlivé triedy a pri novom vstupe sa pozerá, ku ktorému vzoru je najviac podobný.
  • V druhom prístupe sa model počas tréningu učí tak, aby sa vedel rýchlo prispôsobiť novej úlohe – stačí mu pár nových príkladov a niekoľko krokov doladenia, aby začal dávať použiteľné výsledky.

Typy few shot learningu

Terminológia few shot learningu rozlišuje niekoľko variant podľa počtu dostupných príkladov:

  • Zero-shot learning predstavuje extrémny prípad, kde model klasifikuje objekty bez jediného tréningového príkladu danej triedy. Spolieha sa len na popis alebo atribúty.
  • One-shot learning pracuje s jedným príkladom na triedu, zatiaľ čo few shot learning využíva typicky 2 až 10 príkladov.

V kontexte veľkých jazykových modelov sa termín few shot používa odlišne – označuje techniku promptingu, kde sa modelu poskytnú príklady požadovaného vstupu a výstupu priamo v prompte, bez aktualizácie váh modelu.

Vieš, že
Vieš, že…

…termín „shot“ v kontexte few shot learningu nepochádza z fotografovania, ale označuje počet príkladov z každej triedy, ktoré model dostane počas adaptácie na novú úlohu?

Využitie few shot learningu v praxi

Few shot learning sa využíva najmä tam, kde je málo označených príkladov alebo ich tvorba je drahá či pomalá.

V medicínskej diagnostike umožňuje rozpoznávať zriedkavé ochorenia, pre ktoré existuje len obmedzený počet zdokumentovaných prípadov. V robotike pomáha pri rýchlom učení manipulácie s novými objektmi.

Rozpoznávanie tváre využíva few shot learning na identifikáciu osôb z niekoľkých fotografií. V spracovaní prirodzeného jazyka sa technika uplatňuje pri klasifikácii textov v nových doménach alebo jazykoch s obmedzenými tréningovými dátami.

Napriek svojim výhodám nie je few shot learning „zázračným riešením“ pre každú situáciu. ​Výkon modelu klesá pri úlohách, ktoré sú veľmi odlišné od tých, na ktorých bol pôvodne natrénovaný. Kvalita pár dostupných príkladov zásadne ovplyvňuje presnosť výsledkov.

Zdroje a odkazy

Použité zdroje:

  • Wang et al. (2020) – survey o few‑shot learningu, Generalizing from a Few Examples: A Survey on Few-shot Learning, https://arxiv.org/abs/1904.05046

Odporúčané zdroje:

  • Hugging Face – dokumentácia k few‑shot / prompting prístupom, Transformers – Text generation strategies (vrátane few‑shot promptingu): https://huggingface.co/docs/transformers/main/en/generation_strategies

Uvedené informácie sú orientačné a môžu sa líšiť v závislosti od verzie, implementácie a prostredia.