Hyperparametre i maskine / dyb læring

i praksis med maskine og dyb læring er modelparametre egenskaberne ved træningsdata, der lærer alene under træning af klassificeringsenheden eller anden ML-model. For eksempel vægte og fordomme eller opdelte punkter i beslutningstræet.

Model Hyperparametre er i stedet egenskaber, der styrer hele træningsprocessen. De inkluderer variabler, der bestemmer netværksstrukturen (for eksempel antal skjulte enheder) og de variabler, der bestemmer, hvordan netværket trænes (for eksempel læringshastighed). Model hyperparametre er indstillet før træning (før optimering af vægte og bias).

for eksempel er her nogle model indbyggede konfigurationsvariabler :

  • læringshastighed
  • Antal epoker
  • skjulte lag
  • skjulte enheder
  • aktiveringsfunktioner

Hyperparametre er vigtige, da de direkte styrer træningens algo-opførsel og har vigtig indflydelse på ydeevnen af modellen under træning.

valg af passende hyperparametre spiller en nøglerolle i succesen med neurale netværksarkitekturer i betragtning af virkningen på den lærte model. For eksempel, hvis læringshastigheden er for lav, vil modellen gå glip af de vigtige mønstre i dataene; omvendt, hvis den er høj, kan den have kollisioner.

valg af gode hyperparametre giver to hovedfordele:

  • effektiv søgning på tværs af mulige hyperparametre; og
  • lettere styring af et stort sæt eksperimenter til hyperparameterindstilling.

Hyperparametre kan groft opdeles i 2 kategorier:

1. Optimering af hyperparametre,
2. Model specifikke hyperparametre

de er mere relateret til optimerings-og træningsprocessen.

1.1. Læringshastighed:

Hvis modelindlæringshastigheden er alt for mindre end optimale værdier, vil det tage meget længere tid (hundreder eller tusinder) af epoker at nå en ideel tilstand. På den anden side, hvis læringshastigheden er meget større end optimal værdi, ville den overskride den ideelle tilstand, og algoritmen konvergerer muligvis ikke. En rimelig start læring sats = 0.001.

vigtigt at overveje, at:
a) modellen vil have hundreder og tusinder af parametre hver med sin egen fejlkurve. B) fejlkurver er ikke rene u-former; i stedet har de en tendens til at have mere komplekse former med lokale minima.

1.2. Mini-Batch Størrelse:

batchstørrelse har en effekt på ressourcekravene i træningsprocessen, hastigheden og antallet af iterationer på en ikke-triviel måde.

historisk har der været en debat om at lave stokastisk træning, hvor du passer et enkelt eksempel på datasættet til modellen og kun bruger et eksempel til at udføre et fremadpas, beregne fejlen/backpropagate & Indstil justerede værdier for alle hyperparametre. Og så gør dette igen for hvert eksempel i datasættet.

eller måske bedre at fodre hele dataene til træningstrinnet og beregne gradienten ved hjælp af den fejl, der genereres ved at se på alle eksemplerne i datasættet. Dette kaldes batch træning.

almindeligt anvendt teknik i dag er at indstille en mini-batch størrelse. Stokastisk træning er , når minibatch Størrelse =1, og Batchtræning er, når mini-batchstørrelsen = antal eksempler i træningssættet. Anbefalede startværdier til eksperimentering: 1, 2, 4, 8, 16, 32, 64, 128, 256.

en større mini-batch størrelse tillader beregningsmæssige boosts, der udnytter matricen multiplikation i uddannelse beregninger . Det kommer dog på bekostning af at have brug for mere hukommelse til træningsprocessen. En mindre mini-batchstørrelse inducerer mere støj ved fejlberegninger, ofte mere nyttigt til at forhindre, at træningsprocessen stopper ved lokale minima. En dagsværdi for mini-batchstørrelse= 32.

så mens computational boost driver os til at øge mini-batchstørrelsen, tilskynder denne praktiske algoritmiske fordel til faktisk at gøre den mindre.

1.3. Antal epoker:

for at vælge det rigtige antal epoker til træningstrinnet er den metriske, vi skal være opmærksomme på, Valideringsfejlen.

den intuitive manuelle måde er at have modeltoget til så mange antal iterationer, så længe valideringsfejlen fortsætter med at falde.

der er en teknik, der kan bruges ved navn Early stop for at bestemme, hvornår man skal stoppe med at træne modellen; det handler om at stoppe træningsprocessen, hvis valideringsfejlen ikke er forbedret i de sidste 10 eller 20 epoker.

2. Model Hyperparametre

de er mere involveret i modelens struktur:

2.1. Antal skjulte enheder:

antal skjulte enheder er en af de mere mystiske hyperparametre. Lad os huske, at neurale netværk er universelle funktion tilnærmere , og for at de kan lære at tilnærme en funktion (eller en forudsigelsesopgave), skal de have tilstrækkelig ‘kapacitet’ til at lære funktionen. Antallet af skjulte enheder er det vigtigste mål for modellens læringskapacitet.

for en simpel funktion kan det have brug for færre antal skjulte enheder. Jo mere kompleks funktionen er, desto mere læringskapacitet har modellen brug for.

lidt mere antal enheder så optimalt antal er ikke et problem, men et meget større antal vil føre til overmontering (dvs.hvis du giver en model med for meget kapacitet, kan det have en tendens til at overfit, forsøger at “huske” datasættet og påvirker derfor kapaciteten til at generalisere)

2.2. Første skjulte lag:

en anden heuristik, der involverer det første skjulte lag, er, at Indstilling af antallet af skjulte enheder, der er større end antallet af input, har tendens til at muliggøre bedre resultater i antallet af opgaver ifølge empirisk observation.

2.3. Antal lag:

det er ofte tilfældet, at 3-lags neuralt Net vil overgå et 2-lags. Men at gå endnu dybere hjælper sjældent meget mere. (undtagelse er indviklede neurale netværk, hvor jo dybere de er, jo bedre udfører de).

Hyperparameteroptimeringsteknikker

processen med at finde mest optimale hyperparametre i maskinindlæring kaldes hyperparameteroptimering.

almindelige algoritmer inkluderer:

  • Gittersøgning
  • tilfældig søgning
  • Bayesian optimering

Gittersøgning

Gittersøgning er en traditionel teknik til implementering af hyperparametre. Det handler noget om brute force alle kombinationer. Gittersøgning kræver oprettelseto sæt hyperparametre:

  1. læringshastighed
  2. Antal Lag

Gittersøgning træner algoritmen for alle kombinationer ved hjælp af de to sæt hyperparametre (læringshastighed og antal lag) og måler ydeevnen ved hjælp af krydsvalideringsteknik. Denne valideringsteknik sikrer, at den trænede model får de fleste mønstre fra datasættet (en af de bedste metoder til at udføre validering ved hjælp af “K-Fold Cross Validation”, som hjælper med at give rigelig data til træning af modellen og rigelig data til valideringer).Gittersøgningsmetoden er en enklere algoritme at bruge, men den lider, hvis data har et højt dimensionelt rum kaldet dimensionalitetens forbandelse.

tilfældig søgning

prøver tilfældigt søgeområdet og evaluerer sæt fra en specificeret sandsynlighedsfordeling. I stedet for at forsøge at kontrollere alle 100.000 prøver, kan vi for eksempel kontrollere 1.000 tilfældige parametre.

ulempen ved at bruge den tilfældige søgealgoritme er imidlertid, at den ikke bruger information fra tidligere eksperimenter til at vælge det næste sæt. Desuden er det vanskeligt at forudsige det næste af eksperimenter.

Bayesian optimering

hyperparameter indstilling maksimerer ydeevnen af modellen på et valideringssæt. ML algos kræver ofte finjustering af model hyperparametre. Desværre kaldes denne indstilling ofte ‘sort funktion’, fordi den ikke kan skrives i en formel (derivater af funktionen er ukendte).

en mere tiltalende måde at optimere& finjustere hyperparametre indebærer aktivering af automatiseret model tuning tilgang-for eksempel ved hjælp af Bayesian optimering. Modellen, der bruges til at tilnærme den objektive funktion, kaldes surrogatmodel. En populær surrogatmodel til Bayesian optimering er Gaussian process (GP). Bayesian optimering fungerer typisk ved at antage, at den ukendte funktion blev samplet fra en Gaussisk proces (GP) og opretholder en posterior fordeling for denne funktion, når observationer foretages.

Der er to store valg, der skal foretages, når du udfører Bayesian optimering:

  1. Vælg forudgående over funktioner, der vil udtrykke antagelser om den funktion, der optimeres. Til dette vælger vi Gaussian Process prior;
  2. Dernæst skal vi vælge en anskaffelsesfunktion, der bruges til at konstruere en hjælpefunktion fra modellen posterior, så vi kan bestemme det næste punkt, der skal evalueres.

Gaussisk proces

en Gaussisk proces definerer den forudgående fordeling over funktioner, der kan konverteres til en posterior over funktioner, når vi har set nogle data. Den gaussiske proces bruger Kovariansmatrice for at sikre, at værdier, der er tæt på hinanden. Kovariansmatricen sammen med en middelværdi-funktion til at udsende den forventede værdi-definerer en Gaussisk proces.

1. Gaussisk proces vil blive brugt som en forudgående for bayesisk slutning;

2. Beregning af den bageste gør det muligt at bruge den til at forudsige usynlige testsager.

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. Populære erhvervelsesfunktioner er

  • maksimal sandsynlighed for forbedring (MPI)
  • forventet forbedring (EI)
  • Upper Confidence Bound (UCB)

den forventede forbedring (EI) er en populær og defineret som:

EI(ei)=larp

hvor LARP(H ) er det aktuelle optimale sæt hyperparametre. Maksimering af hyperparametrene vil blive bedre for Kristian.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.