Fundamentele AI
Ce este Meta-Învățarea?
Ce este Meta-Învățarea?
Una dintre cele mai rapide domenii de cercetare în învățarea mașinilor este domeniul meta-învățării. Meta-învățarea, în contextul învățării mașinilor, este utilizarea algoritmilor de învățare a mașinilor pentru a asista la antrenarea și optimizarea altor modele de învățare a mașinilor. Pe măsură ce meta-învățarea devine din ce în ce mai populară și se dezvoltă mai multe tehnici de meta-învățare, este benefic să avem o înțelegere a ceea ce este meta-învățarea și să avem o idee despre modurile în care poate fi aplicată. Să examinăm ideile din spatele meta-învățării, tipurile de meta-învățare, precum și unele dintre modurile în care meta-învățarea poate fi utilizată.
Termenul de meta-învățare a fost inventat de Donald Maudsley pentru a descrie un proces prin care oamenii încep să modeleze ceea ce învață, devenind “din ce în ce mai controlați de obiceiurile de percepție, anchetă, învățare și creștere pe care le-au internalizat”. Mai târziu, oamenii de știință cognitivi și psihologii au descris meta-învățarea ca “învățarea cum să înveți”.
Pentru versiunea de învățare a mașinilor a meta-învățării, ideea generală de “învățarea cum să înveți” este aplicată sistemelor de inteligență artificială. În sensul IA, meta-învățarea este capacitatea unei mașini inteligente artificiale de a învăța cum să efectueze diverse sarcini complexe, luând principiile pe care le-a folosit pentru a învăța o sarcină și aplicându-le la alte sarcini. Sistemele de inteligență artificială trebuie de obicei să fie antrenate pentru a îndeplini o sarcin prin stăpânirea multor sub-sarcini mici. Acest antrenament poate dura mult timp și agenții de inteligență artificială nu transferă ușor cunoștințele învățate în timpul unei sarcini la alta. Crearea de modele și tehnici de meta-învățare poate ajuta la inteligența artificială să învețe să generalizeze metodele de învățare și să dobândească noi abilități mai repede.
Tipuri de Meta-Învățare
Meta-Învățare Optimizator
Meta-învățarea este adesea utilizată pentru a optimiza performanța unei rețele neuronale existente. Metodele de meta-învățare a optimizatorului funcționează de obicei prin reglarea hiperparametrilor unei alte rețele neuronale pentru a îmbunătăți performanța rețelei neuronale de bază. Rezultatul este că rețeaua țintă ar trebui să devină mai bună la efectuarea sarcinii pentru care este antrenată. Un exemplu de meta-învățare a optimizatorului este utilizarea unei rețele pentru a îmbunătăți rezultatele coborârii gradientului.
Meta-Învățare cu Puține Exemple
O abordare de meta-învățare cu puține exemple este una în care o rețea neuronală profundă este proiectată care poate generaliza din seturile de antrenament la seturi de date nevizualizate. Un exemplu de clasificare cu puține exemple este similar unei sarcini de clasificare normale, dar în schimb, mostrele de date sunt seturi de date întregi. Modelul este antrenat pe multe sarcini de învățare/dataseturi diferite și apoi este optimizat pentru performanță maximă pe multiplele sarcini de antrenament și date nevizualizate. În această abordare, o mostră de antrenament unică este împărțită în multiple clase. Acest lucru înseamnă că fiecare mostră de antrenament/set de date ar putea fi alcătuit din două clase, pentru un total de 4 exemple. În acest caz, sarcina de antrenament totală ar putea fi descrisă ca o sarcină de clasificare cu 4 exemple și 2 clase.
În învățarea cu puține exemple, ideea este că mostrele de antrenament individuale sunt minimalistice și că rețeaua poate învăța să identifice obiecte după ce a văzut doar câteva imagini. Acest lucru este asemănător cu modul în care un copil învață să distingă obiecte după ce a văzut doar câteva imagini. Această abordare a fost utilizată pentru a crea tehnici precum modele generative cu o singură imagine și rețele neuronale augmentate cu memorie.
Meta-Învățare Bazată pe Metrică
Meta-învățarea bazată pe metrică este utilizarea rețelelor neuronale pentru a determina dacă o metrică este utilizată eficient și dacă rețeaua sau rețelele ating metrica țintă. Meta-învățarea bazată pe metrică este similară cu învățarea cu puține exemple, deoarece doar câteva exemple sunt utilizate pentru a antrena rețeaua și a o face să învețe spațiul metric. Aceeași metrică este utilizată în întregul domeniu și dacă rețelele se abat de la metrică, sunt considerate a fi în eroare.
Meta-Învățare a Modelului Recurent
Meta-învățarea modelului recurent este aplicarea tehnicilor de meta-învățare la rețelele neuronale recurente și rețelele neuronale cu memorie pe termen lung similare. Această tehnică funcționează prin antrenarea modelului RNN/LSTM pentru a învăța secvențial un set de date și apoi utilizarea acestui model antrenat ca bază pentru un alt învățător. Meta-învățătorul preia algoritmul de optimizare specific utilizat pentru a antrena modelul inițial. Parametrizarea moștenită a meta-învățătorului îi permite să se initializeze rapid și să converge, dar să poată fi actualizat și pentru noi scenarii.
Cum Funcționează Meta-Învățarea?
Modul exact în care se desfășoară meta-învățarea variază în funcție de model și de natura sarcinii. Cu toate acestea, în general, o sarcină de meta-învățare implică copierea parametrilor primului model în parametrii celui de-al doilea model/optimizator.
Există două procese de antrenament în meta-învățare. Modelul de meta-învățare este de obicei antrenat după mai multe etape de antrenament pe modelul de bază. După etapele de antrenament înainte, înapoi și optimizare care antrenează modelul de bază, se efectuează o trecere de antrenament înainte pentru modelul de optimizare. De exemplu, după trei sau patru etape de antrenament pe modelul de bază, se calculează o pierdere meta. După ce se calculează pierderea meta, se calculează gradientul pentru fiecare meta-parametru. După aceea, se actualizează meta-parametrii din optimizator.
O posibilitate de calculare a pierderii meta este de a finaliza trecerea de antrenament înainte a modelului inițial și apoi de a combina pierderile care au fost deja calculate. Optimizatorul meta ar putea fi chiar un alt meta-învățător, deși la un moment dat trebuie să se utilizeze un optimizator discret, cum ar fi ADAM sau SGD.
Modelele de învățare profundă pot avea sute de mii sau chiar milioane de parametri. Crearea unui meta-învățător care are un set complet nou de parametri ar fi computațional scump, și din acest motiv, se utilizează o tactică numită partajarea coordonatelor. Partajarea coordonatelor implică proiectarea meta-învățătorului/optimizatorului astfel încât să învețe un singur parametru din modelul de bază și apoi să cloneze acel parametru în locul tuturor celorlalte parametri. Rezultatul este că parametrii pe care îi posedă optimizatorul nu depind de parametrii modelului.












