Skip to Main Content
texto

Riassunto dell’ottimizzazione bayesiana: Metodologia efficace per l’esplorazione degli iperparametri nei modelli di deep learning

L’ottimizzazione bayesiana è una metodologia efficace per trovare i valori migliori degli iperparametri per migliorare i modelli di deep learning. Scopri come applicarlo ai modelli di apprendimento dell’IA per ottenere le migliori prestazioni.
A blue and purple toned abstract wave image overlayed with geometric block pattern that resembles a mathematical graph.

Indicazioni chiave 

Questo articolo mostra come l’ottimizzazione bayesiana sia il modo più efficace per esaminare gli iperparametri e migliorare le prestazioni del modello. L’ottimizzazione degli iperparametri nel deep learning può essere fatta in molti modi: ricerca manuale, ricerca a griglia, ricerca casuale e ottimizzazione bayesiana.  

Attenzione! Questo articolo è destinato a: 

  • Persone che hanno una conoscenza di base del funzionamento degli algoritmi di deep learning e di tecniche come la regolarizzazione.
  • Persone che hanno una conoscenza di base di Python e TensorFlow
     

L’obiettivo di questo post non è quello di fornirti una conoscenza approfondita dell’ottimizzazione bayesiana, ma piuttosto di darti una conoscenza di base dell’ottimizzazione bayesiana in modo da poterla applicare senza problemi all’ottimizzazione degli iperparametri nei modelli di deep learning. Di conseguenza, abbiamo cercato di evitare il più possibile riferimenti alla matematica al di fuori del deep learning quando spieghiamo i principi generali dell’Ottimizzazione Bayesiana, ma tieni presente che alcuni elementi matematici possono apparire a supporto delle spiegazioni.

Introduzione

L’ottimizzazione dell’iperparametro si riferisce al problema di esplorare il valore ottimale di un iperparametro, un valore che deve essere impostato in anticipo per eseguire l’apprendimento. In questo contesto, il valore ottimale di un iperparametro si riferisce al valore dell’iperparametro che determina le migliori prestazioni generalizzate del modello di apprendimento addestrato.

Ad esempio, quando si addestra un modello di deep learning, il tasso di apprendimento, la dimensione del minibatch, il coefficiente di regolarizzazione L2, ecc. sono iperparametri tipici. Naturalmente, questi iperparametri sono strettamente legati all’algoritmo di apprendimento o alla regolarizzazione e, in alcuni casi, anche i fattori che determinano la struttura di un modello di deep learning (ad esempio, il numero di strati, la dimensione del filtro di convoluzione e così via) possono essere considerati iperparametri e aggiunti come oggetti di esplorazione.

 

Ricerca manuale

Se hai addestrato un modello di deep learning almeno una volta, avrai sicuramente sperimentato molti tentativi ed errori nel determinare i valori di questi iperparametri chiave. Ad esempio, quando completiamo un’implementazione del modello AlexNet, di solito iniziamo a prendere gli iperparametri introdotti nell’articolo originale di AlexNet e li applichiamo all’apprendimento. Tuttavia, nella maggior parte delle situazioni, il dataset utilizzato nell’articolo originale di AlexNet e il dataset che vuoi utilizzare sono diversi, quindi i valori degli iperparametri introdotti nell’articolo originale sono raramente la soluzione perfetta al problema che stai cercando di risolvere.

Quando ci si trova di fronte a questa situazione, di solito ci si affida all’intuito o al know-how popolare per selezionare i valori degli iperparametri candidati da provare successivamente, eseguire l’apprendimento con essi e registrare i risultati delle prestazioni rispetto al set di validazione. Dopo aver ripetuto questo processo alcune volte, probabilmente avrai scelto i valori degli iperparametri che si sono comportati meglio rispetto al set di validazione tra tutti i tentativi fatti fino a quel momento per addestrare il modello di deep learning per l’invio finale. Questo metodo di ricerca dei valori ottimali degli iperparametri è noto come ricerca manuale.

Sebbene la ricerca manuale sia il metodo più intuitivo per l’ottimizzazione degli iperparametri, essa presenta alcuni problemi. Il primo è che il processo di ricerca dell’iperparametro “ottimale” è in qualche modo basato sulla fortuna. A titolo di esempio, descriviamo il processo di ricerca manuale per trovare il tasso di apprendimento ottimale per un modello di deep learning. È molto probabile che ci sia un limite di tempo per questo processo e probabilmente diventerai molto impaziente, pensando:

Ho bisogno di far funzionare rapidamente questo modello di deep learning e il mio professore o il mio capo continuano ad insistere e io non ho tempo… Sono nei guai :’(

unluck-in-manual-search-process.gif
Esempio di risultati sfortunati di una ricerca manuale del tasso di apprendimento

Supponiamo di avere un tempo limitato per addestrare un modello di deep learning e di misurare le sue prestazioni applicando 9 diversi valori di tasso di apprendimento in sequenza: 0,01, 0,05, 0,03, 0,02, 0,025, 0,0225, 0,0275, 0,015, 0,04, e il risultato è quello in alto nella figura precedente, quindi scegli 0,0025
come valore finale del tasso di apprendimento. Questo processo di esplorazione è stato probabilmente un’attenta applicazione della tua intuizione ad ogni sessione di apprendimento, ed è molto difficile per chiunque negare che i risultati di un processo così minuzioso siano i migliori possibili.

Tuttavia, cosa succederebbe se “la funzione di prestazione di generalizzazione (sconosciuta) come funzione del tasso di apprendimento” assomigliasse effettivamente alla seconda immagine qui sopra? Sebbene 0,0025 non fosse il valore ottimale del tasso di apprendimento (i valori ottimali sono compresi tra 0,003 e 0,0035), possiamo ipotizzare che l’impazienza e l’errore nel processo di esplorazione manuale esistente abbiano portato a risultati deludenti. Potremmo averti fatto notare involontariamente un errore che hai commesso in passato, ma non è del tutto colpa tua. Lo svantaggio di una ricerca manuale basata sulla soggettività e sull’intuizione è che è relativamente difficile garantire che i valori ottimali degli iperparametri trovati siano “effettivamente” ottimali, come mostrato nell’esempio precedente.

Il secondo problema della ricerca manuale è che diventa più complicata quando si vogliono esplorare più tipi di iperparametri contemporaneamente. L’esempio migliore è la relazione tra il tasso di apprendimento e il coefficiente di regolarizzazione L2.

L(W)=1Ni=1NLi(f(xi,W),yi)+λR(W)L(W)=1N∑i=1NLi(f(xi,W),yi)+λ⋅R(W)

Il secondo termine della funzione di perdita di cui sopra è il termine di regolarizzazione L2: cambiando il valore di λ, il coefficiente di regolarizzazione L2, (nell’intero spazio dei parametri W del modello di deep learning) cambierà anche la forma delle funzioni di perdita L(W). Per questo motivo, possiamo supporre che anche il valore del tasso di apprendimento ottimale per ottenere prestazioni ottimali cambierà in modo naturale.

Poiché alcuni di questi iperparametri hanno un’influenza reciproca, diventa molto difficile applicare l’intuizione esistente a ciascun iperparametro quando se ne esplora più di uno alla volta.

 

Ricerca a griglia vs. ricerca casuale

Rispetto alla ricerca manuale, la ricerca a griglia e la ricerca casuale sono metodi relativamente sistematici per eseguire l’ottimizzazione degli iperparametri.

La ricerca a griglia seleziona i valori degli iperparametri candidati a intervalli regolari all’interno di un intervallo specifico da esplorare, registra le prestazioni misurate per ciascuno di essi e poi seleziona il valore dell’iperparametro che ha mostrato le prestazioni migliori. Sebbene questo metodo richieda ancora l’intervento umano per decidere quanti intervalli cercare, quale lunghezza impostare per gli intervalli e così via, ha il vantaggio di un’esplorazione più uniforme e vasta rispetto alla ricerca manuale. Tuttavia, il compromesso è che con questo metodo il tempo di esplorazione complessivo aumenta esponenzialmente con l’aumentare del numero di iperparametri dell’obiettivo di esplorazione.

grid-search-process.gif
Esempio di processo di ricerca a griglia per il tasso di apprendimento

D’altra parte, la ricerca casuale è sostanzialmente simile alla ricerca a griglia, ma si differenzia per il fatto che utilizza un campionamento casuale per selezionare i valori degli iperparametri candidati all’interno dell’intervallo esplorato. La ricerca casuale è nota per trovare i valori ottimali degli iperparametri più velocemente rispetto alla ricerca a griglia, in quanto riduce significativamente il numero di ripetizioni inutili, pur essendo in grado di esplorare probabilisticamente i valori che si trovano tra le griglie designate.

random-search-process.gif
Esempio di processo di ricerca casuale per il tasso di apprendimento
(Risultato dell’esecuzione della funzione random.random di Python 10 volte negli intervalli 
[0.01,0.05 | ; random.seed=0)

Tuttavia, potrebbe essere difficile scrollarsi di dosso la sensazione che anche la ricerca casuale “sembra ancora un po’ un’esplorazione inutile”. Questo perché, sia nella ricerca a griglia che nella ricerca casuale, il processo di selezione dei valori iperparametrici candidati da provare successivamente non riflette alcuna conoscenza preventiva delle prestazioni dei valori iperparametrici durante le indagini precedenti. Nella ricerca manuale, invece, le conoscenze pregresse vengono applicate implicitamente in ogni momento.

grid-search-vs-random-search.avif
Esempio di confronto tra i risultati della ricerca a griglia e della ricerca casuale
[Bergstra e Bengio (2012)].

L’ottimizzazione bayesiana è una metodologia che ti permette di eseguire sistematicamente l’intero processo di esplorazione, riflettendo al tempo stesso una conoscenza preventiva sufficiente per studiare efficacemente e ogni volta i nuovi valori degli iperparametri.

 

Ottimizzazione bayesiana

In sostanza, l’ottimizzazione bayesiana mira a trovare la soluzione ottimale  
x data una funzione obbiettivo sconosciuta f che massimizza la funzione  
f(x) dato qualche valore di input x. In genere si ipotizza che non si conosca esplicitamente l’espressione della funzione obiettivo (cioè la funzione black-box) e che ci voglia molto tempo per calcolare il valore di una funzione f(x). In questa situazione, l’obiettivo principale è quello di trovare in modo rapido ed efficiente la soluzione ottimale che massimizza f(x), xesaminando sequenzialmente i valori della funzione per il minor numero possibile di valori di input candidati.

Per l’ottimizzazione bayesiana ci sono due elementi essenziali. In primo luogo, un modello surrogato effettua una stima probabilistica della forma di una funzione obiettivo sconosciuta sulla base dei valori di ingresso e dei punti di valore della funzione (x1,f(x1)),...,(xt,f(xt)) che sono stati analizzati finora. Quindi la funzione di acquisizione raccomanda il prossimo “più probabile che sia utile per trovare l’input ottimale x,” candidati per l’input xt+1, sulla base della stima probabilistica corrente della funzione obiettivo.

bayesian-optimization-algorithm.avif
Pseudo-codice per gli algoritmi di ottimizzazione bayesiana

 

Modello surrogato

Il modello che effettua una stima probabilistica della forma approssimativa della funzione obiettivo sconosciuta, sulla base dei valori di ingresso e dei punti di valore della funzione (x1,f(x1)),...,(xt,f(xt)) esaminati finora, è chiamato modello surrogato. Il modello probabilistico più utilizzato come modello surrogato è il Processo gaussiano (GP).

 

Processi gaussiani

A differenza dei modelli di probabilità ordinari (che esprimono distribuzioni di probabilità su una variabile qualsiasi), i Processi gaussiani (Gaussian Processes, GP) rappresentano distribuzioni di probabilità su un insieme di funzioni e sono caratterizzati dal fatto che la distribuzione congiunta tra i loro componenti segue una distribuzione gaussiana. Il GP utilizza una funzione media μ e una funzione di covarianza k per esprimere la distribuzione di probabilità delle funzioni.

f(x)GP(μ(x),k(x,x)).f(x)∼GP(μ(x),k(x,x′)).

Per comprendere e utilizzare correttamente il GP, è necessario avere una conoscenza di base della probabilità bayesiana ed essere in grado di comprendere formule stocastiche/algebriche lineari complesse. Questo post non entrerà nel dettaglio, ma si concentrerà sulle caratteristiche operative dei GP e su come possono essere utilizzati per l’ottimizzazione degli iperparametri.

Dati i punti di valore della funzione di input analizzati finora (x1,f(x1)),...,(xt,f(xt)), il GP effettua una stima probabilistica della funzione obiettivo come mostrato nella figura seguente.

bayesian-optimization-procedure-example.avif
Esempio di ottimizzazione bayesiana con GP
(linea nera tratteggiata: funzione obiettivo effettiva, linea solida nera: funzione media stimata, ombreggiatura blu: deviazione standard stimata, punti neri: valore di input e punti di valore della funzione studiati fino ad oggi, linea solida verde in basso: funzione di acquisizione) [Brochu et al. (2010)]

Nella figura precedente, se consideriamo l’asse orizzontale come il valore di ingresso 
x e l’asse verticale come il valore della funzione f(x), allora la linea solida nera è stimata in base ai punti (x1,f(x1)),...,(xt,f(xt)) esaminati finora per mostrare la “media” di x in ogni posizione μμ(x), mentre la linea ombreggiata blu corrisponde alla “deviazione standard” in ogni posizione σσ(x). Per μ μ(x), la forma è determinata dal fatto che passa necessariamente per i punti (x1,f(x1)),...,(xt,f(xt)) che sono stati studiati finora, con σ(x) che è più piccolo per le posizioni più vicine ai punti studiati e σ σ(x) che è più grande per le posizioni più lontane. La naturale implicazione di ciò è che più x è lontano dal punto analizzato, maggiore è l’“incertezza” del valore medio stimato per quel punto.

Nella figura precedente, quando è t=2 poiché ci sono solo due punti di valore di input analizzati, possiamo osservare che σ(x) è grande nella maggior parte delle aree che si trovano almeno a una certa distanza da questi due punti. Nel frattempo, quando il numero di punti analizzati aumenta gradualmente fino a t=3 t=4, la dimensione delle aree con σ σ(x) grande diminuisce gradualmente e la stima della funzione obiettivo effettiva viene gradualmente compressa. Questo dimostra che all’aumentare del numero di punti analizzati, l’incertezza sulla stima della funzione obiettivo diminuisce e possiamo ipotizzare che, man mano che questa tendenza si rafforza, la probabilità di trovare il valore di input X che massimizza il numeratore della funzione obiettivo continuerà ad aumentare.

 

Modelli surrogati diversi da GP

Oltre al GP, è possibile utilizzare come modello surrogato qualsiasi modello in grado di coprire l’incertezza nella stima della funzione obiettivo in base ai valori di ingresso e ai punti di valore della funzione studiati finora. Tra i modelli surrogati comunemente utilizzati, oltre al GP, ci sono i TPE (Tree-structured Parzen Estimators) e le reti neurali profonde.

Nello stesso contesto di GP, anche se non hai una conoscenza approfondita di questi modelli surrogati, se comprendi il contesto più ampio dell’ottimizzazione bayesiana, sarai comunque in grado di eseguire l’ottimizzazione bayesiana utilizzando le relative librerie.

 

Funzione di acquisizione

In base alle stime probabilistiche del modello surrogato sulla funzione obiettivo, la funzione che raccomanda i valori di input candidati xt+1
da indagare successivamente è chiamata funzione di acquisizione. Si è detto che la selezione di xt+1 è in definitiva “la più utile” per trovare il valore ottimale di ingresso x alla funzione obiettivo. Pensiamo a cosa intendiamo per “utile” in questo contesto. A scopo illustrativo, abbiamo riportato la figura che mostra la situazione a t=2 durante il processo di stima della funzione obiettivo utilizzando GP.

bayesian-optimization-procedure-example-teq2.avif
Che cosa succede quando t=2 durante l’ottimizzazione bayesiana con GP?

Dato che finora sono stati analizzati solo i punti (x,f(x)), è plausibile prevedere che il vero valore ottimale dell’ input x∗ si trovi più probabilmente vicino al punto con il valore della funzione più grande (quello a destra nella figura). Naturalmente, una strategia ragionevole da provare sarebbe quella di testare l’area intorno al punto con il valore della funzione più grande tra i punti analizzati finora. Questo è ufficialmente chiamato “sfruttamento”.

Questa volta pensiamo alla cosa da una prospettiva diversa. Intuitivamente, si può pensare che per l’area che si trova tra i due punti studiati finora e che ha una grande deviazione standard (=incertezza) Σ Σ(X), sarà molto difficile garantire che il valore medio stimato della funzione in questa parte sia simile al valore effettivo della funzione target. Da questo punto di vista, è plausibile pensare che esista la possibilità che il valore ottimale dell’input X esista in quest’area incerta, e che dovremmo esplorarla ulteriormente”, ed è quindi una strategia ragionevole tentare di avvicinarsi al punto con la deviazione standard maggiore rispetto alla funzione obiettivo stimata finora. Questo è ufficialmente chiamato “sfruttamento”.

Sebbene le strategie di esplorazione e sfruttamento siano approcci ugualmente importanti per trovare efficacemente il valore ottimale dell’input x, il problema è che la natura delle due strategie è un compromesso. Pertanto, regolare correttamente l’intensità relativa del compromesso esplorazione/sfruttamento è fondamentale per individuare con successo l’input ottimale per l’effettiva funzione obiettivo.

 

Miglioramento previsto (EI)

La funzione di miglioramento previsto (expected improvement, EI) è progettata per includere alcuni aspetti delle strategie di esplorazione e di sfruttamento ed è più spesso utilizzata come funzione di acquisizione. In base alla funzione obiettivo stimata fino a quel momento, per ogni input candidato x, tenendo conto della Probabilità di Miglioramento (PI) di produrre un valore di funzione f(x1),...,f(xt) maggiore dell’output massimo f(x+)=maxif(xi) dei punti esaminati fino a quel momento e dell’entità della differenza tra quel valore di funzione e F(X+), l’EI emette un numero che rappresenta l’“utilità” di quel valore di input x. Diamo un’occhiata alla figura sottostante per capire il concetto di PI.

probability-of-improvement-in-gaussian-process-example.avif
Esempio di visualizzazione della probabilità di ricavare un valore di funzione superiore al valore massimo della funzione f(x+) (PI) quando si utilizza il GP (linea verticale tratteggiata: distribuzioni di probabilità per ciascuno dei valori di funzione f(x1), f(x2) e f(x3) ai valori di input x1, x2 e x3, rispettivamente, ombreggiatura verde: aree nella distribuzione di probabilità di f(x3) in cui il suo valore è maggiore di f(x+)) [Brochu et al. (2010)]

 

Nella figura precedente, il valore più grande della funzione f(x+) dei punti analizzati finora si è verificato nel punto all’estrema destra. In questo caso, per il valore di ingresso candidato x3, che si trova più a destra, la distribuzione di probabilità di 
f(x3) (lungo l’asse verticale) basata sulla stima probabilistica può essere rappresentata come una distribuzione gaussiana obliqua, come mostrato nella figura.

Nel frattempo, l’area della distribuzione di probabilità di f(x3) che corrisponde a valori maggiori di f(x+) è ombreggiata di verde nella figura. La dimensione maggiore di quest’area indica che è più probabile che f(x3) sia più grande di f(x+), il che porta a concludere che l’assunzione di x3 come prossimo valore di input ha maggiori probabilità di produrre un valore della funzione più grande rispetto ai punti esistenti e che per trovare l’input ottimale x∗ alla funzione obiettivo, x3 è il candidato “più utile”.

Il valore PI calcolato per il valore di ingresso x3 viene poi ponderato per la funzione f(x3), dalla differenza tra la media μ μ(x3) e f
(x+),f(x3)−f(x+), per calcolare infine il valore EI per x3. È importante trovare un punto che abbia una maggiore probabilità di ottenere un valore della funzione più grande rispetto ai punti esistenti, ma se questa probabilità esiste, è anche importante considerare quanto sia effettivamente più grande, e questo calcolo ha lo scopo di rifletterlo.

Come riferimento, la formula dell’EI quando si utilizza il GP può essere riassunta ed espressa come segue (dopo un lungo processo di derivazione). Nella formula seguente,  
Φ e ϕϕ indicano rispettivamente la funzione di distribuzione cumulativa (CDF) e la funzione di distribuzione di probabilità (PDF) della distribuzione normale standard, mentre ξ è un parametro che controlla la forza relativa tra esplorazione e sfruttamento. Più grande è ξi s, più forte è l’esplorazione, mentre più piccolo è, più forte è lo sfruttamento.

Per la situazione a t=4 nel processo di stima della funzione obiettivo utilizzando il GP di cui sopra, il risultato del calcolo del valore di EI per ogni valore di ingresso x, EI(
x) utilizzando la formula EI di cui sopra, è mostrato come la linea solida verde nella parte inferiore della figura sottostante.

bayesian-optimization-procedure-example-teq4.avif
Che cosa succede quando t=4 durante l’ottimizzazione bayesiana con GP?

Infatti, possiamo osservare contemporaneamente nella figura che il valore EI è grande (strategia di sfruttamento) intorno al punto x+, che ha il valore della funzione più grande tra i punti studiati finora, e che il valore EI è grande anche intorno al punto con la deviazione standard σσ(x) più grande sulla funzione obiettivo stimata finora (strategia di esplorazione).

EI(x)=E[max(f(x)−f(x+),0)]={(μ(x)−f(x+)−ξ)Φ(Z)+σ(x)ϕ(Z) ifσ(x)>00ifσ(x)=0

 

Funzioni di acquisizione diverse da EI

La probabilità di miglioramento (PI) è una funzione di acquisizione proposta prima dell’EI, che riflette solo la probabilità di ottenere un valore della funzione superiore al valore massimo della funzione dei punti studiati fino a quel momento tra le considerazioni dell’EI. Altre funzioni di acquisizione comunemente utilizzate sono l’Upper Confidence Bound (UCB) e l’Entropy Search (ES).

 

Eseguire l’ottimizzazione bayesiana per esplorare gli iperparametri dei modelli di deep learning

Finora abbiamo trattato gli elementi essenziali dell’ottimizzazione bayesiana e il loro funzionamento. Ora, visualizzeremo in modo più dettagliato uno scenario in cui l’ottimizzazione bayesiana viene applicata quando si esplorano gli iperparametri di un modello di deep learning. Per comodità, in questa sede si parlerà solo del tasso di apprendimento come iperparametro da esplorare.

bayesian-optimization-process.gif
Esempio di ottimizzazione bayesiana (GP, EI) per il tasso di apprendimento
(risultati dei primi 3 (n=3) round sull’intervallo [0.01,0.09], per un totale di 11 (N=11) punti;
in alto: risultati della stima stocastica di GP della funzione obiettivo f(x), in basso: risultati del calcolo della funzione EI per la stima stocastica;
utilizzando la libreria bayesian-optimization, random_seed=1)
  1. Definisce il valore di ingresso, la funzione obiettivo e altre impostazioni.
    1. Valore di input x: valore di apprendimento Funzione obiettivo f(x)
    2. Risultati delle prestazioni (ad esempio, accuratezza) su un set di convalida per un modello di deep learning appreso applicando un tasso di apprendimento stabilito
    3. Intervalli di destinazione del valore di input x esplorati: (a,b).
    4. Numero di punti del valore di input e del valore della funzione da analizzare per primi: n
    5. Numero massimo di punti del valore di input e del valore della funzione da analizzare fino all’ultimo round: N
  2. All’interno dell’intervallo di esplorazione impostato (a,b), i valori di n
    input inizialmente selezionati vengono campionati e scelti in modo casuale.
  3. Dopo aver addestrato il modello di deep learning impostando i valori del tasso di apprendimento per ciascuno degli n input selezionati x1,x2,...,xn, calcola i risultati delle prestazioni del modello appreso utilizzando il set di validazione. Ognuno di questi viene considerato come un valore di funzione f(x1),f(x2),...,f(xn). n valori di input vengono campionati e selezionati in modo casuale.
  4. La stima probabilistica viene eseguita utilizzando il modello surrogato sull’insieme dei punti dei valori di input e dei valori delle funzioni (x1,f(x1)),(x2,f(x2)),...,(xn,f(xn)).
  5. Fino a raggiungere un totale di NN valori di input ispezionati e punti di valore della funzione, il processo seguente viene ripetuto per t=n,n + 1,...,N − 1.
    1. In base ai risultati della stima probabilistica del Modello Surrogato per l’insieme (x1,f(x1)),(x2,f(x2)),...,(xt,f(xt)) dei punti di valore di input e di valore della funzione esistenti, calcola il valore di EI all’interno dell’intervallo di input (a,b) e seleziona il punto con il valore più grande come prossimo candidato al valore di input xt+1.
    2. Dopo aver addestrato il modello di deep learning con il seguente valore di input candidato xt +1 come valore di tasso di apprendimento, usa il set di validazione per calcolare il risultato delle prestazioni del modello appreso e consideralo come il valore  f(xt +1).
    3. Aggiungi i nuovi punti (xt+1, f(xt+1)) alla collezione esistente di punti del valore di input e del valore della funzione ed esegui nuovamente la stima probabilistica con il modello surrogato sulla collezione aggiornata di punti.
  6. In base ai risultati della funzione obiettivo stimati in modo probabilistico su un totale di N punti di valore di input e di valore della funzione, seleziona la soluzione ottimale che massimizza la funzione media μ μ(x),x. In seguito, se esegui l’apprendimento su un modello di deep learning utilizzando quel valore  x come tasso di apprendimento, otterrai un modello con prestazioni di generalizzazione massimizzate.

     

Conclusioni

L’ottimizzazione dell’iperparametro nel deep learning si riferisce al problema di esplorare il valore ottimale di un iperparametro, un valore che deve essere impostato in anticipo per eseguire l’apprendimento su un modello di deep learning. Gli iperparametri tipici per l’addestramento dei modelli di deep learning includono il tasso di apprendimento, la dimensione del minibatch e il coefficiente di regolarizzazione L2.

Il metodo più semplice e intuitivo per l’ottimizzazione degli iperparametri è la ricerca manuale comunemente utilizzata, che prevede la selezione soggettiva dei valori degli iperparametri candidati da provare in ogni round, l��apprendimento con essi e la registrazione dei risultati delle prestazioni rispetto a un set di validazione. Questo metodo presenta uno svantaggio: è relativamente difficile trovare i valori ottimali dell’iperparametro a causa dei pregiudizi impliciti dello sperimentatore nel processo di ricerca dell’iperparametro ottimale. Sebbene la ricerca a griglia e la ricerca casuale possano compensare le carenze della ricerca manuale, sono limitate in quanto non riflettono le conoscenze pregresse acquisite durante la ricerca degli iperparametri.

L’ottimizzazione bayesiana è una metodologia di ottimizzazione degli iperparametri che può rendere più sistematico l’intero processo di esplorazione, riflettendo comunque una sufficiente conoscenza preliminare quando si studiano ogni volta nuovi valori degli iperparametri. Un modello surrogato, uno dei due componenti dell’ottimizzazione bayesiana, effettua una stima probabilistica di una funzione obiettivo sconosciuta sulla base dei valori di input e dei punti di valore della funzione esaminati finora. Un esempio tipico è il processo gaussiano (GP). Nel frattempo, la funzione di acquisizione raccomanda il prossimo valore di input candidato che ha maggiori probabilità di essere utile per trovare il valore di input ottimale in base alla stima probabilistica corrente della funzione obiettivo. Un esempio tipico è il Miglioramento Previsto (EI).

Utilizzare l’ottimizzazione bayesiana per l’ottimizzazione degli iperparametri dei modelli di deep learning applicando gli iperparametri per esplorare i valori ottimali come valore di input dell’ottimizzazione bayesiana e utilizzando i risultati delle prestazioni dell’insieme di convalida di un modello di deep learning appreso applicando specifici valori degli iperparametri come valore della funzione obiettivo.

*Nella prossima parte, basandoci sulle conoscenze acquisite finora, esploreremo la soluzione ottimale di una semplice funzione di esempio utilizzando bayesian-optimization, una libreria Python per l’ottimizzazione bayesiana del mondo reale, per poi esplorare gli iperparametri ottimali di un modello di deep learning del mondo reale.

 

Riferimenti

 

 

 

EI(x)=E[max(f(x)f(x+),0)]={(μ(x)f(x+)ξ)Φ(Z)+σ(x)ϕ(Z)ifσ(x)>00ifσ(x)=0EI(x)=E[max(f(x)f(x+),0)]={(μ(x)f(x+)ξ)Φ(Z)+σ(x)ϕ(Z)ifσ(x)>00ifσ(x)=0EI(x)=E[max(f(x)f(x+),0)]={(μ(x)f(x+)ξ)Φ(Z)+σ(x)ϕ(Z)ifσ(x)>00ifσ(x)=0EI(x)=E[max(f(x)f(x+),0)]={(μ(x)f(x+)ξ)Φ(Z)+σ(x)ϕ(Z)ifσ(x)>00ifσ(x)=0

Ultima modifica il01/01/2025

Risorse correlate