Iperparametri in Machine / Deep Learning

Nella pratica di machine e deep learning, i parametri del modello sono le proprietà dei dati di allenamento che impareranno da soli durante l’allenamento dal classificatore o da un altro modello ML. Ad esempio, pesi e pregiudizi o punti divisi nell’albero delle decisioni.

Gli iperparametri del modello sono invece proprietà che governano l’intero processo di allenamento. Includono variabili che determinano la struttura della rete (ad esempio, il numero di unità nascoste) e le variabili che determinano il modo in cui la rete viene addestrata (ad esempio, il tasso di apprendimento). Gli iperparametri del modello vengono impostati prima dell’allenamento (prima di ottimizzare i pesi e il bias).

Per esempio, ecco qualche modello integrato variabili di configurazione :

  • velocità di Apprendimento
  • Numero di Epoche
  • Livelli Nascosti
  • Unità Nascoste
  • Attivazioni Funzioni

Hyperparameters sono importanti in quanto direttamente controllare il comportamento di formazione algo, avere impatto sulle prestazioni del modello nell’ambito della formazione.

La scelta di iperparametri appropriati gioca un ruolo chiave nel successo delle architetture di rete neurale, dato l’impatto sul modello appreso. Ad esempio, se il tasso di apprendimento è troppo basso, il modello mancherà i modelli importanti nei dati; al contrario, se è alto, potrebbe avere collisioni.

La scelta di buoni iperparametri offre due vantaggi principali:

  • Ricerca efficiente nello spazio di possibili iperparametri; e
  • Gestione più semplice di un ampio set di esperimenti per la messa a punto degli iperparametri.

Gli iperparametri possono essere suddivisi approssimativamente in 2 categorie:

1. Ottimizzatore iperparametri,
2. Iperparametri specifici del modello

Sono correlati più al processo di ottimizzazione e formazione.

1.1. Tasso di apprendimento:

Se il tasso di apprendimento del modello è troppo inferiore ai valori ottimali, ci vorrà molto più tempo (centinaia o migliaia) di epoche per raggiungere uno stato ideale. D’altra parte, se il tasso di apprendimento è molto più grande del valore ottimale, allora supererebbe lo stato ideale e l’algoritmo potrebbe non convergere. Un ragionevole tasso di apprendimento iniziale = 0,001.

e ‘ Importante considerare che:
a) il modello dovrà avere centinaia e migliaia di parametri, ognuno con il suo errore in curva. E il tasso di apprendimento deve pascere tutti loro
b) le curve di errore non sono forme a u pulite; invece, tendono ad avere forme più complesse con minimi locali.

1.2. Dimensione del Mini-lotto:

La dimensione del batch ha un effetto sui requisiti delle risorse del processo di formazione, sulla velocità e sul numero di iterazioni in modo non banale.

Storicamente, c’è stato un dibattito per fare un allenamento stocastico in cui si adatta un singolo esempio del set di dati al modello e, usando un solo esempio, eseguire un forward pass, calcolare l’errore/backpropagate& impostare valori regolati per tutti gli iperparametri. E poi fallo di nuovo per ogni esempio nel set di dati.

O, forse meglio alimentare l’intero dato alla fase di allenamento e calcolare il gradiente usando l’errore generato guardando tutti gli esempi nel set di dati. Questo è chiamato allenamento batch.

tecnica Comunemente usata oggi è quello di impostare un mini-dimensioni del lotto. L’allenamento stocastico è quando la dimensione del minibatch =1 e l’allenamento in batch è quando la dimensione del mini-batch = Numero di esempi nel set di allenamento. Valori di partenza consigliati per la sperimentazione: 1, 2, 4, 8, 16, 32, 64, 128, 256.

Una dimensione mini-batch più grande consente potenziamenti computazionali che utilizzano la moltiplicazione della matrice nei calcoli di allenamento . Tuttavia, viene a scapito di aver bisogno di più memoria per il processo di formazione. Una dimensione del mini-batch più piccola induce più rumore nei calcoli degli errori, spesso più utile per impedire che il processo di allenamento si fermi ai minimi locali. Un fair value per la dimensione del mini-lotto= 32.

Quindi, mentre la spinta computazionale ci spinge ad aumentare la dimensione del mini-batch, questo pratico vantaggio algoritmico incentiva a renderlo effettivamente più piccolo.

1.3. Numero di epoche:

Per scegliere il giusto numero di epoche per la fase di allenamento, la metrica a cui prestare attenzione è l’errore di convalida.

L’intuitivo metodo manuale è quello di avere il modello di treno per un numero di numero di iterazioni, come lungo come errore di convalida continua a diminuire.

Esiste una tecnica che può essere utilizzata denominata Arresto anticipato per determinare quando interrompere l’allenamento del modello; si tratta di interrompere il processo di allenamento nel caso in cui l’errore di convalida non sia migliorato negli ultimi 10 o 20 epoche.

2. Iperparametri del modello

Sono più coinvolti nella struttura del modello:

2.1. Numero di unità nascoste:

Il numero di unità nascoste è uno degli iperparametri più misteriosi. Ricordiamo che le reti neurali sono approssimatori di funzioni universali , e per loro di imparare ad approssimare una funzione (o un compito di previsione), hanno bisogno di avere abbastanza ‘capacità ‘ per imparare la funzione. Il numero di unità nascoste è la misura principale della capacità di apprendimento del modello.

Per una funzione semplice, potrebbe essere necessario un minor numero di unità nascoste. Più complessa è la funzione, maggiore è la capacità di apprendimento di cui il modello avrà bisogno.

Un numero leggermente maggiore di unità quindi il numero ottimale non è un problema, ma un numero molto più grande porterà al sovralimentazione (cioè se si fornisce un modello con troppa capacità, potrebbe tendere al sovralimentazione, cercando di “memorizzare” il set di dati, quindi influenzando la capacità di generalizzare)

2.2. Primo livello nascosto:

Un’altra euristica che coinvolge il primo livello nascosto è che l’impostazione del numero di unità nascoste più grande del numero di input tende a consentire risultati migliori in numero di attività, secondo l’osservazione empirica.

2.3. Numero di livelli:

È spesso il caso che la rete neurale a 3 strati sovraperformerà una rete a 2 strati. Ma andare ancora più in profondità raramente aiuta molto di più. (le eccezioni sono le reti neurali convoluzionali, dove più sono profonde, migliori sono le loro prestazioni).

Tecniche di ottimizzazione degli iperparametri

Il processo di ricerca degli iperparametri più ottimali nell’apprendimento automatico è chiamato ottimizzazione degli iperparametri.

Algoritmi comuni includono:

  • Ricerca griglia
  • Ricerca casuale
  • Ottimizzazione bayesiana

Ricerca griglia

La ricerca griglia è una tecnica tradizionale per l’implementazione di iperparametri. Si tratta in qualche modo di forza bruta tutte le combinazioni. La ricerca della griglia richiede la creazionedue set di iperparametri:

  1. Tasso di apprendimento
  2. Numero di livelli

Ricerca griglia allena l’algoritmo per tutte le combinazioni utilizzando i due set di iperparametri (tasso di apprendimento e numero di livelli) e misura le prestazioni utilizzando la tecnica di validazione incrociata. Questa tecnica di convalida garantisce che il modello addestrato riceva la maggior parte dei modelli dal set di dati (uno dei metodi migliori per eseguire la convalida utilizzando “K-Fold Cross Validation” che aiuta a fornire ampi dati per la formazione del modello e ampi dati per le convalide).

Il metodo di ricerca della griglia è un algoritmo più semplice da usare, ma soffre se i dati hanno uno spazio dimensionale elevato chiamato la maledizione della dimensionalità.

Ricerca casuale

Campiona casualmente lo spazio di ricerca e valuta i set da una distribuzione di probabilità specificata. Invece di provare a controllare tutti i 100.000 campioni, ad esempio, possiamo controllare 1.000 parametri casuali.

Lo svantaggio dell’utilizzo dell’algoritmo di ricerca casuale, tuttavia, è che non utilizza le informazioni degli esperimenti precedenti per selezionare il set successivo. Inoltre, è difficile prevedere il prossimo degli esperimenti.

Bayesiano Ottimizzazione

Hyperparameter impostazione ottimizza le prestazioni del modello su un set di convalida. ML algos richiede spesso la messa a punto degli iperparametri del modello. Sfortunatamente, quella sintonizzazione è spesso chiamata “funzione nera” perché non può essere scritta in una formula (le derivate della funzione sono sconosciute).

Un modo più accattivante per ottimizzare& la messa a punto degli iperparametri comporta l’attivazione di un approccio automatizzato di ottimizzazione del modello, ad esempio utilizzando l’ottimizzazione bayesiana. Il modello utilizzato per approssimare la funzione obiettivo è chiamato modello surrogato. Un modello surrogato popolare per l’ottimizzazione bayesiana è il processo gaussiano (GP). L’ottimizzazione bayesiana in genere funziona assumendo che la funzione sconosciuta sia stata campionata da un processo gaussiano (GP) e mantiene una distribuzione posteriore per questa funzione man mano che vengono fatte osservazioni.

Ci sono due scelte principali da fare quando si esegue l’ottimizzazione bayesiana:

  1. Selezionare prior su funzioni che esprimeranno ipotesi sulla funzione ottimizzata. Per questo, scegliamo il processo gaussiano prima;
  2. Successivamente, dobbiamo scegliere una funzione di acquisizione che viene utilizzata per costruire una funzione di utilità dal modello posteriore, permettendoci di determinare il punto successivo da valutare.

Processo gaussiano

Un processo gaussiano definisce la distribuzione precedente sulle funzioni che può essere convertita in una funzione posteriore dopo aver visto alcuni dati. Il processo gaussiano utilizza la matrice di covarianza per garantire che i valori siano vicini tra loro. La matrice di covarianza insieme a una funzione media µ per produrre il valore atteso ƒ(x) definisce un processo gaussiano.

1. Il processo gaussiano verrà utilizzato come precedente per l’inferenza bayesiana;

2. Il calcolo del posteriore consente di utilizzarlo per fare previsioni per casi di test invisibili.

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. Popolari funzioni di acquisizione sono:

  • Massima Probabilità di Miglioramento (MPI)
  • Miglioramento Previsto (EI)
  • Superiore di Confidenza Associato (UCB)

Il Previsto Miglioramento (EI) è un popolare e definito come:

EI(x)=𝔼

dove ƒ(x ) è l’attuale set ottimale di hyperparameters. La massimizzazione degli iperparametri migliorerà ƒ.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.