Ce este Hiperparametri?

Setările alese de om înainte de antrenare (rată de învățare, număr de epoci, mărimea rețelei), care nu sunt învățate din date.

Denumire completă

Hyperparameters – hiperparametri

Ce înseamnă Hiperparametri

Hiperparametrii sunt „butoanele de reglaj” ale unei antrenări: valori pe care le alege omul (sau un program de căutare automată) înainte ca modelul să înceapă să învețe. Exemple: rata de învățare, mărimea batch-ului, numărul de epoci, numărul de straturi și de neuroni, procentul de dropout, adâncimea maximă a unui arbore de decizie sau valoarea lui k în k-NN.

Prefixul „hiper” îi deosebește de parametri, adică ponderile pe care modelul le învață singur din date. Un model lingvistic mare are miliarde de parametri, dar doar câteva zeci de hiperparametri importanți.

Cum funcționează

Hiperparametrii buni se găsesc prin încercări: se antrenează mai multe variante și se compară rezultatele pe setul de validare. Metodele clasice sunt grid search (încerci toate combinațiile dintr-o listă), random search (încerci combinații aleatorii, adesea mai eficient) și metode mai inteligente, care aleg următoarea încercare pe baza rezultatelor anterioare.

Pentru modelele foarte mari, fiecare încercare costă mult, așa că cercetătorii testează pe modele mici și extrapolează.

Pe înțelesul tuturor

Când gătești o prăjitură, temperatura cuptorului, timpul de coacere și mărimea tăvii sunt hiperparametri: le alegi tu înainte. Ce se întâmplă cu aluatul în cuptor sunt parametrii, care se „formează” singuri, în funcție de alegerile tale.

Exemplu

Antrenezi un clasificator de e-mailuri și încerci trei rate de învățare (0,01, 0,001, 0,0001) și două mărimi de batch (32 și 128): 6 combinații. Pe setul de validare, combinația 0,001 cu 32 dă acuratețe de 94%, celelalte între 88% și 93%. O alegi pe aceasta și abia apoi verifici rezultatul final pe setul de test.

De reținut

  • Hiperparametrii se aleg înainte de antrenare; parametrii se învață în timpul ei.
  • Se reglează comparând rezultatele pe setul de validare, nu pe cel de test.
  • Aceeași arhitectură poate da rezultate foarte diferite cu hiperparametri diferiți.

Nu confunda

  • Hiperparametri vs. parametri: „un model cu 7 miliarde de parametri” se referă la ponderi, nu la hiperparametri. Temperatura folosită la generarea textului este și ea o setare aleasă de utilizator, dar ține de folosire, nu de antrenare.

Termeni înrudiți

  • Parametri (ponderi): Numerele învățate de un model în timpul antrenării, în care este stocat tot ce „știe” acesta; modelele mari au miliarde.
  • Rată de învățare (learning rate): Hiperparametrul care stabilește cât de mari sunt pașii de corectare a ponderilor în timpul antrenării.
  • Batch: Un grup de exemple pe care modelul le procesează împreună înainte de a-și actualiza ponderile.
  • Set de validare și set de test: Părți din date păstrate deoparte: setul de validare ajută la reglarea modelului, iar setul de test dă verdictul final pe date nevăzute.
  • Epocă (epoch): O trecere completă a modelului prin toate datele de antrenare; antrenarea durează de obicei mai multe epoci.
  • k-NN (cei mai apropiați k vecini): Metodă care clasifică un exemplu nou după categoria majoritară a celor mai asemănători k exemple cunoscute.