Mentre gli algoritmi di ottimizzazione Bayesiani classici modellano la loss come una funzione black box da essere minimizzata, FABOLAS tiene conto di come varia la loss (e il costo computazionale) al variare della dimensione del dataset (ad esempio usare porzioni piu' piccole nei primi passaggi).
In questo modo si aggiunge un grado di liberta' in piu', sfruttando anche la dimensione del dataset come variabile per ottimizzare piu' rapidamente.
Dunque ci deve essere un nuovo input alla funzione black box f, cioe' la dimensione del sottoinsieme considerato (rappresentata in forma relativa cioe' s = N_sub / N). Se s e' 1 allora si considera tutto il dataset per intero. L'obiettivo e' minimizzare la loss f (x , s=1).
Valutare f per s piu' piccoli ovviamente risulta meno costoso, ma la struttura di correlazione rispetto a valori sempre piu' grandi e' inizialmente sconosciuta, anche se sappiamo che esiste. La sfida e' trovare una strategia che bilanci il costo delle valutazioni con il vantaggio informativo, e quindi quali configurazioni saranno le migliori su tutto il dataset.
Trattiamo s ∈ [0,1] come una variabile ambientale che puo' essere cambiata liberamente durante l'ottimizzazione, ma e' settata = 1 durante il periodo di evaluation. In FABOLAS esiste una regola ben fondata (principled rule) per selezionare automaticamente la prossima coppia (x, s) da valutare (x configurazione di iperparametri).
In poche parole, mentre l’ottimizzazione bayesiana classica valuterebbe sempre le configurazioni sul dataset completo, FABOLAS fa qualcosa di più furbo: usa un criterio chiamato ES (Expected Information Gain per Second) per stimare quanto possiamo imparare sul comportamento del modello sull’intero dataset anche valutandolo solo su una porzione più piccola (cioè a un certo s<1).
Una dimostrazione del funzionamento su questo approccio e' riportato nel paper nei confronti di MNIST. Hanno valutato 400 configurazioni di una SVM (Support Vector Machine) su sottoinsiemi del dataset MNIST (N = 50000). Sono state usate diverse dimensioni relative dei sottoinsiemi, cioe' s ∈ { 1/512 , 1/256 , 1/128 , ... , 1}. Viene mostrato che gia' usando 1 / 128 di dimensione relativa, si riesce gia a trovare qualche configurazione ragionevole, senza cadere in eventuali trappole di 'falsi' minimi locali
Per trasformare le intuizioni ottenute dall’esempio illustrativo (quello sull’SVM e MNIST) in un modello formale che descriva sia la loss che il costo al variare della dimensione del sottoinsieme di dati, gli autori estendono il modello GP (Gaussian Process) aggiungendo una nuova dimensione di input, cioè il parametro s∈[0,1], che rappresenta la dimensione relativa del dataset usato.
Grazie a questa estensione: il modello surrogato (GP) è in grado di fare previsioni su s=1 (cioè sull’intero dataset) senza dover realmente eseguire valutazioni costose su tutto il dataset. Per modellare questa dipendenza, viene usato un kernel fattorizzato, ovvero una funzione di covarianza composta da due parti:
- Un kernel stazionario classico per gli iperparametri x (es. RBF o Matérn kernel), che cattura la similarità tra diverse configurazioni.
- Una funzione di covarianza di rango finito (o "degenere") su s, progettata appositamente per catturare il comportamento della loss e del costo in base alla dimensione del dataset.
La funzione di kernel usata in FABOLAS è definita come:
Questa espressione definisce il kernel (funzione di covarianza) tra due input estesi:
- una configurazione di iperparametri ( x ) e dimensione relativa ( s ),
- un'altra configurazione ($ x_0 $) e dimensione relativa (
$s_0$ ).
La formula è composta da due parti principali:
- È un kernel Matérn 5/2, una funzione standard stazionaria usata nei Gaussian Processes.
- Misura quanto sono simili le due configurazioni di iperparametri ($ x $) e (
$x_0 $ ). - È particolarmente utile per modellare funzioni relativamente lisce, ma non troppo.
Questa parte modella la dipendenza dalla dimensione relativa del dataset ( s ).
- (
$\phi(s)$ ): vettore di basi (feature map), ad esempio ($[1, s, s^2, \log s]$ ), che rappresenta ( s ) in uno spazio finito. - (
$\Sigma_\phi$ ): matrice di covarianza tra le basi, appresa durante il training. - (
$\phi^T(s)$ ): trasposta del vettore ($\phi(s)$ ), usata per ottenere un prodotto scalare.
Permette di modellare quanto sono correlati i valori della funzione tra diverse porzioni del dataset.
Il kernel è fattorizzato in due componenti:
- Una parte che misura la similarità tra configurazioni ( x ).
- Una parte che misura la similarità tra dimensioni relative ( s ).
Questo consente al modello GP di generalizzare su entrambe le dimensioni, e fare previsioni anche per dimensioni del dataset mai valutate direttamente.
Una possibile scelta per il vettore (
Questa base consente al modello di catturare sia comportamenti lineari che non lineari in ( s ).
Ogni scelta della funzione base
Questo garantisce flessibilità: possiamo scegliere
FABOLAS usa lo stesso schema di kernel, ma con funzioni base
- La loss
$f(x, s)$ - Il costo computazionale
$c(x, s)$
-
Funzione base:
$$ \phi_f(s) = \begin{bmatrix} 1 \ (1 - s)^2 \end{bmatrix} $$
-
Motivazione: La loss tende a diminuire all’aumentare dei dati. Questa scelta impone al modello una predizione monotona, con un minimo in
$s = 1$ . -
Interpretazione: Questo equivale a una regressione lineare bayesiana con funzioni base
$\phi_f$ e prior gaussiani sui pesi.
-
Modellano il logaritmo del costo, per:
- Ottenere solo valori positivi
- Modellare complessità del tipo
$\mathcal{O}(s^\alpha)$ per qualunque$\alpha$
-
Funzione base:
$$ \phi_c(s) = \begin{bmatrix} 1 \ s \end{bmatrix} $$
-
Anche questa è una regressione lineare bayesiana, ma applicata a
$\log c$ .
- Negli allegati (supplementary material, Sezione B), mostrano che i kernel scelti si adattano bene ai dati reali di loss e costo sull’esempio con SVM.
- Considerano anche la possibilità di modellare il rumore eteroschedastico (varianza che cambia con
$s$ ) introdotto dal sottocampionamento, discusso nella Sezione C.
| Aspetto | Loss |
Costo |
|---|---|---|
| Funzione base |
||
| Obiettivo | Comportamento decrescente | Crescita polinomiale |
| Modellazione | Regressione lineare bayesiana | Regressione bayesiana su |
| Proprietà chiave | Minimo in |
Predizioni sempre positive |
FABOLAS seleziona ogni nuova coppia
-
$p_{s=1}^{\text{min}}(x \mid D)$ è la probabilità che$x$ sia ottimale su tutto il dataset ($s=1$ ), dato il dataset corrente$D$ . -
$c(x, s)$ è il costo atteso per valutare$f(x, s)$ . -
$c_{\text{overhead}}$ è un costo fisso di sistema. - L’integrale calcola il guadagno informativo atteso su
$p_{s=1}^{\text{min}}$ a seguito della valutazione di$f(x, s)$ .
L'obiettivo è massimizzare il guadagno informativo sulla configurazione ottimale per il dataset completo, per unità di costo.
-
Inizializza i dati
$D_0$ con un design iniziale (che vedremo meglio dopo) -
Per ogni iterazione
$t = 1, 2, \dots$ :-
Fitta i modelli Gaussian Process (GP) su
$D_{t-1}$ :- Uno per la funzione obiettivo
$f(x, s)$ - Uno per il costo computazionale
$c(x, s)$
- Uno per la funzione obiettivo
-
Scegli la nuova coppia
$(x_t, s_t)$ massimizzando la funzione di acquisizione (Equation 7). -
Valuta:
-
$y_t \sim f(x_t, s_t) + \mathcal{N}(0, \sigma^2)$ (loss osservata) -
$z_t \sim c(x_t, s_t) + \mathcal{N}(0, \sigma_c^2)$ (costo osservato) -
Aggiorna il dataset:
$D_t = D_{t-1} \cup {(x_t, s_t, y_t, z_t)}$
-
-
Seleziona il candidato ottimale (incumbent)
$\hat{x}_t$ tra tutti gli$x_1, \dots, x_t$
in base alla predizione della loss su tutto il dataset ($s = 1$ ).
-
-
Ripeti.
Nell'ottimizzazione bayesiana, è comune iniziare con un initial design:
- Una serie di punti selezionati casualmente o tramite Latin Hypercube Sampling,
- Serve a fornire una buona base per il modello GP.
FABOLAS modifica l'approccio classico per sfruttare valutazioni più rapide:
- Si selezionano
$k = 10$ punti casuali$x_1, \dots, x_k \in \mathcal{X}$ . - Ciascuno viene valutato su diversi sottoinsiemi del dataset, con
$s \in \left{ \frac{1}{64}, \frac{1}{32}, \frac{1}{16}, \frac{1}{8} \right}$ . - Questo aiuta a:
- Catturare la dipendenza della loss da
$s$ , - Ridurre il costo computazionale iniziale.
- Catturare la dipendenza della loss da
Se il costo
- Il costo totale di
$k$ punti valutati su 4 subset piccoli è molto inferiore a quello di$k \cdot 8$ valutazioni a$s = 1$ .
Questo è rilevante perché il tempo iniziale speso per l'initial design viene incluso nel tempo totale per valutare FABOLAS.