Hiperparametrii în Machine / Deep Learning

în practica Machine și Deep learning, parametrii modelului sunt proprietățile datelor de antrenament care vor învăța singuri în timpul antrenamentului de către clasificator sau alt model ML. De exemplu, greutăți și prejudecăți, sau puncte divizate în arborele de decizie.

Hiperparametrii modelului sunt în schimb proprietăți care guvernează întregul proces de instruire. Acestea includ variabile care determină structura rețelei (de exemplu, numărul de unități ascunse) și variabilele care determină modul în care este instruită rețeaua (de exemplu, rata de învățare). Hiperparametrele modelului sunt setate înainte de antrenament (înainte de optimizarea greutăților și a părtinirii).

de exemplu, iată câteva variabile de configurare încorporate în model:

  • rata de învățare
  • Numărul de epoci
  • straturi ascunse
  • unități ascunse
  • activări funcțiile

Hiperparametrii sunt importanți deoarece controlează direct comportamentul algo-ului de antrenament, având un impact important asupra performanței modelului în curs de antrenament.

alegerea hiperparametrilor adecvați joacă un rol cheie în succesul arhitecturilor de rețea neuronală, având în vedere impactul asupra modelului învățat. De exemplu, dacă rata de învățare este prea mică, modelul va rata modelele importante din date; invers, dacă este mare, poate avea coliziuni.

alegerea hiperparametrilor buni oferă două beneficii principale:

  • căutare eficientă în spațiul posibilelor hiperparametre; și
  • gestionarea mai ușoară a unui set mare de experimente pentru reglarea hiperparametrilor.

Hiperparametrii pot fi împărțiți aproximativ în 2 categorii:

1. Optimizator hiperparametrii,
2. Hiperparametrii specifici modelului

sunt legați mai mult de procesul de optimizare și instruire.

1.1. Rata de învățare:

dacă rata de învățare a modelului este mult prea mică decât valorile optime, va dura mult mai mult timp (sute sau mii) de epoci pentru a ajunge la o stare ideală. Pe de altă parte, dacă rata de învățare este mult mai mare decât valoarea optimă, atunci ar depăși starea ideală și algoritmul ar putea să nu convergă. O rată rezonabilă de învățare inițială = 0,001.

important să se ia în considerare faptul că:
A) Modelul va avea sute și mii de parametri, fiecare cu propria curbă de eroare. Și rata de învățare trebuie să păstorească toate acestea
B) curbele de eroare nu sunt curate u-forme; în schimb, ele tind să aibă forme mai complexe, cu minime locale.

1.2. Dimensiune Mini-Lot:

dimensiunea lotului are un efect asupra cerințelor de resurse ale procesului de instruire, viteza și numărul de iterații într-un mod non-banal.

Din punct de vedere istoric, a existat o dezbatere pentru a face instruire stocastică în care să potriviți un singur exemplu al setului de date cu modelul și, folosind un singur exemplu, efectuați o trecere înainte, calculați eroarea/backpropagate& setați valori ajustate pentru toți hiperparametrii. Și apoi faceți acest lucru din nou pentru fiecare exemplu din setul de date.

sau, poate mai bine să alimentați toate datele la pasul de antrenament și să calculați gradientul folosind eroarea generată uitându-vă la toate exemplele din setul de date. Aceasta se numește antrenament în lot.

tehnica frecvent utilizată astăzi este de a seta o dimensiune mini-lot. Antrenamentul Stochastic este atunci când dimensiunea minibatch =1, iar antrenamentul în lot este atunci când dimensiunea mini-lot = Numărul de exemple din setul de antrenament. Valori inițiale recomandate pentru experimentare: 1, 2, 4, 8, 16, 32, 64, 128, 256.

o dimensiune mai mare mini-lot permite boost-uri de calcul care utilizează multiplicarea matricei în calculele de formare . Cu toate acestea, vine în detrimentul de a avea nevoie de mai multă memorie pentru procesul de instruire. O dimensiune mai mică a mini-lotului induce mai mult zgomot în calculele erorilor , adesea mai utile în prevenirea opririi procesului de antrenament la minimele locale. O valoare justă pentru dimensiunea mini-lotului = 32.

deci, în timp ce impulsul computațional ne determină să creștem dimensiunea mini-lotului, acest beneficiu algoritmic practic stimulează să-l micșoreze.

1.3. Numărul de epoci:

pentru a alege numărul corect de epoci pentru etapa de antrenament, metrica la care ar trebui să fim atenți este eroarea de validare.

modul manual intuitiv este de a avea modelul de tren pentru cât mai multe număr de iterații, atâta timp cât eroare de validare continuă să scadă.

există o tehnică care poate fi utilizată numită oprire timpurie pentru a determina când să opriți formarea modelului; este vorba despre oprirea procesului de instruire în cazul în care eroarea de validare nu s-a îmbunătățit în ultimele 10 sau 20 de epoci.

2. Hiperparametrii modelului

sunt mai implicați în structura modelului:

2.1. Numărul de unități ascunse:

Numărul de unități ascunse este unul dintre hiperparametrii mai misterioși. Să ne amintim că rețelele neuronale sunt aproximatori universali ai funcțiilor și , pentru a învăța să aproximeze o funcție (sau o sarcină de predicție), trebuie să aibă suficientă capacitate pentru a învăța funcția. Numărul de unități ascunse este principala măsură a capacității de învățare a modelului.

pentru o funcție simplă, ar putea avea nevoie de un număr mai mic de unități ascunse. Cu cât funcția este mai complexă, cu atât va avea nevoie de mai multă capacitate de învățare a modelului.

un număr puțin mai mare de unități atunci numărul optim nu este o problemă, dar un număr mult mai mare va duce la supra-echipare (adică dacă oferiți un model cu prea multă capacitate, acesta ar putea tinde să se suprapună, încercând să „memoreze” setul de date, afectând astfel capacitatea de generalizare)

2.2. Primul strat ascuns:

o altă euristică care implică primul strat ascuns este că setarea numărului de unități ascunse mai mare decât numărul de intrări tinde să permită rezultate mai bune în numărul de sarcini, conform observației empirice.

2.3. Numărul de straturi:

este adesea cazul în care rețeaua neuronală cu 3 straturi va depăși una cu 2 straturi. Dar a merge și mai adânc rareori ajută mult mai mult. (excepție sunt rețelele neuronale convoluționale, unde cu cât sunt mai profunde, cu atât funcționează mai bine).

tehnici de optimizare a Hiperparametrilor

procesul de găsire a celor mai optime hiperparametre în învățarea automată se numește optimizare a hiperparametrilor.

algoritmii comuni includ:

  • căutare grilă
  • căutare aleatorie
  • optimizare Bayesiană

căutare grilă

căutarea grilă este o tehnică tradițională pentru implementarea hiperparametrilor. Este oarecum despre forța brută toate combinațiile. Căutare grilă necesită creareadouă seturi de hiperparametri:

  1. rata de învățare
  2. Numărul de straturi

căutarea în rețea antrenează algoritmul pentru toate combinațiile folosind cele două seturi de hiperparametri (rata de învățare și numărul de straturi) și măsoară performanța folosind tehnica de validare încrucișată. Această tehnică de validare asigură că modelul instruit obține majoritatea modelelor din setul de date (una dintre cele mai bune metode de efectuare a validării utilizând „validarea încrucișată K-Fold” care ajută la furnizarea de date ample pentru instruirea modelului și date ample pentru validări).

metoda de căutare în rețea este un algoritm mai simplu de utilizat, dar suferă dacă datele au un spațiu dimensional ridicat numit blestemul dimensionalității.

căutare aleatorie

eșantionează aleatoriu spațiul de căutare și evaluează seturile dintr-o distribuție de probabilitate specificată. În loc să încercăm să verificăm toate cele 100.000 de eșantioane, de exemplu, putem verifica 1.000 de parametri aleatori.

dezavantajul utilizării algoritmului de căutare aleatorie este totuși că nu folosește informații din experimentele anterioare pentru a selecta următorul set. Mai mult, este dificil să se prevadă următorul experiment.

optimizarea bayesiană

setarea hiperparametrului maximizează performanța modelului pe un set de validare. ML algos necesită frecvent reglarea fină a hiperparametrilor modelului. Din păcate, această reglare este adesea numită ‘funcție neagră’, deoarece nu poate fi scrisă într-o formulă (derivatele funcției sunt necunoscute).

o modalitate mai atrăgătoare de a optimiza& hiperparametrii cu reglaj fin implică activarea abordării automate de reglare a modelului-de exemplu, prin utilizarea optimizării Bayesiene. Modelul utilizat pentru aproximarea funcției obiective se numește model surogat. Un model surogat popular pentru optimizarea Bayesiană este procesul Gaussian (GP). Optimizarea bayesiană funcționează de obicei presupunând că funcția necunoscută a fost eșantionată dintr-un proces Gaussian (GP) și menține o distribuție posterioară pentru această funcție pe măsură ce se fac observații.

există două opțiuni majore care trebuie făcute atunci când se efectuează optimizarea Bayesiană:

  1. selectați funcțiile anterioare care vor exprima presupuneri despre Funcția optimizată. Pentru aceasta, alegem procesul Gaussian anterior;
  2. apoi, trebuie să alegem o funcție de achiziție care este utilizată pentru a construi o funcție de utilitate din modelul posterior, permițându-ne să determinăm următorul punct de evaluat.

procesul Gaussian

un proces Gaussian definește distribuția anterioară asupra funcțiilor care poate fi transformată într-o funcție posterioară după ce am văzut unele date. Procesul Gaussian folosește matricea de covarianță pentru a se asigura că valorile sunt apropiate. Matricea de covarianță, împreună cu o funcție medie de a genera valoarea așteptată de la X(X), definește un proces Gaussian.

1. Procesul Gaussian va fi folosit ca prior pentru inferența Bayesiană;

2. Calculul posterior îi permite să fie folosit pentru a face predicții pentru cazuri de testare nevăzute.

Acquisition Function

Introducing sampling data into the search space is done by acquisition functions. It helps to maximize the acquisition function to determine the next sampling point. Funcțiile de achiziție populare sunt

  • probabilitatea maximă de îmbunătățire (MPI)
  • îmbunătățirea așteptată (EI)
  • limita superioară de încredere (UCB)

îmbunătățirea așteptată (EI) este una populară și este definită ca:

EI(x)=hectolitric

unde, în prezent, numărul total de hiperparametre este egal cu numărul maxim de parametri. Maximizarea hiperparametrilor se va îmbunătăți la ora de vârf.

Lasă un răspuns

Adresa ta de email nu va fi publicată.