Skip to main content
Overview

AutoML

November 28, 2021
4 min read

Data Engineering

  • Data Cleansing, Preprocessing
  • Feature Engineering
  • Selezione dell’algoritmo ML
    • DL: Selezione del Backbone Model
  • Impostazione degli iperparametri
    • DL: Loss, Optimizer, Learning rate, batch size

La selezione dell’architettura del modello e degli iperparametri viene normalmente fatta da persone, incorporando il feedback dai cicli train/evaluate. L’obiettivo di AutoML è rimuovere le persone da questo processo e automatizzarlo.

Definizione

Questo formalizza quanto descritto spiegando l’obiettivo di AutoML. Dati iperparametri, algoritmi ML e dati, HPO (Hyperparameter Optimization = AutoML) mira a trovare la configurazione degli iperparametri che minimizza la loss.

Una prospettiva diversa sui modelli leggeri

  • Alleggerire modelli esistenti
    • Pruning, Tensor decomposition
  • Trovare modelli leggeri tramite ricerca
    • NAS (Neural Architecture Search), AutoML

AutoML è una tecnica per trovare modelli leggeri.

Configurazione del modello DL

Tipo

  • Categorico
    • Optimizer: Adam, SGD, AdamW …
    • Modulo: Conv, BottleNeck, InvertedResidual
  • Continuo
    • learning rate, parametro di regolarizzazione, …
  • Intero
    • Batch size, epoch

Configurazione condizionale

Lo spazio di ricerca cambia in base alla configurazione.

  • Tipi e spazio di ricerca dei parametri dell’optimizer cambiano a seconda dell’optimizer.
  • Il sample del modulo (Vanilla conv, BottleNeck, InvertedResidual) determina parametri e spazio di ricerca specifici del modulo.

Pipeline AutoML

Simile alla definizione di HPO descritta prima. L’aggiunta è la funzione obiettivo ff. La definizione di ff può variare. Si potrebbe voler solo ridurre la dimensione del modello, solo migliorarne le prestazioni, o una combinazione di obiettivi.

Si esegue un’ottimizzazione blackbox per massimizzare questi obiettivi e trovare una nuova configurazione λ\lambda.

Bayesian Optimization (BO)

Struttura l’ottimizzazione blackbox come mostrato sopra.

  • Surrogate function: un modello di regressione che predice f(λ)f(\lambda). Se riesce a predire con accuratezza, può determinare meglio quale λ\lambda provare dopo.
  • Acquisition function: determina il prossimo λ\lambda da provare.

Il processo dal diagramma, in ordine:

  1. Campionare λ\lambda (x) (osservazione)
  2. Addestrare il modello DL con quella configurazione
  3. Calcolare l’obiettivo. Corrisponde all’osservazione (x) nel diagramma.
  4. Aggiornare il surrogate model. Rappresentato dalla linea continua e dalla regione viola nel diagramma. Es.: modello GP (Gaussian Process), media posteriore, varianza posteriore (incertezza)
  5. Aggiornare l’acquisition function. Rappresentata dalla regione verde nel diagramma. Osserva il trend del surrogate model e predice il miglior λ\lambda successivo.

BO con GPR

Gaussian Process Regression

Un metodo per modellare l’incertezza. Nel grafico BO, solo due punti del surrogate model sono noti; tutto il resto è incerto. Usando GP, si possono ottenere intervalli per i valori oltre quei due punti noti.

Task di regressione standard Set di dati di addestramento: (X,Y)(X,Y) Set di dati di test: (X,Y)(X_*,Y_*) Yf(X)+eY\approx f(X) + e

Idea dei GP

  • Il valore YY_* in una posizione specifica potrebbe essere correlato ai già noti X,Y,XX, Y, X_*?
    • Indipendentemente dalla relazione positiva o negativa
  • Esprimiamo la stima di YY_* da X,Y,XX, Y, X_* tramite una funzione kernel KK.

Definizione informale di GP

  • f(x)f(x): definita come variabile casuale per l’input x = distribuzione delle funzioni possibili per l’input x
    • Distribuzione delle variabili casuali: distribuzione Gaussiana multivariata

Espandendo la definizione di f(x)f(x) in termini GP:

  • Si definisce una distribuzione di funzioni. Si assume che questa distribuzione segua una distribuzione Gaussiana multivariata.
    • = la funzione ff segue un processo Gaussiano.

La formula sopra formalizza quanto appena spiegato.

Qui si applicano le Gaussian Identities: la marginale e la condizionale di una Gaussiana seguono anch’esse una Gaussiana.

Questo si può visualizzare come mostrato sopra. Guardando la Gaussiana originale da qualsiasi lato condizionale, quella condizionale segue anch’essa una Gaussiana.

Quello che il GP ci dice è che dati X,X,fX_*, X, f, possiamo conoscere media e distribuzione di ff_*.

Surrogate Model

Usando i concetti organizzati sopra, guardiamo il surrogate model in maggior dettaglio.

  • def: un modello che predice l’obiettivo f(λ)f(\lambda)
    • Usa gli f(λ)f(\lambda) osservati per predire l’obiettivo f(λ)f(\lambda_*) per un nuovo λ\lambda_*
  • Si addestra il surrogate model e lo si usa come criterio per selezionare il prossimo buon λ\lambda
  • Surrogate model rappresentativi
    • Modello GPR (Gaussian Process Regression)
      • media: valore ff predetto, varianza: incertezza

All’aumentare dei dati osservati, l’incertezza diminuisce e le predizioni si adattano alla funzione vera.

Acquisition Function

  • def: una funzione che usa l’output del surrogate model per determinare quale λ\lambda provare dopo
  • La formula è costruita per bilanciare appropriatamente exploration e exploitation. Il bilanciamento tra i due viene determinato euristicamente.
    • Exploration: esplorare regioni incerte
    • Exploitation: esplorare le regioni migliori note
  • Il punto massimo dell’acquisition function aggiornata viene provato all’iterazione successiva

Il grafico superiore è il surrogate model; quello inferiore è l’acquisition function. I valori dell’acquisition function diventano molto piccoli in certi punti e grandi nelle vicinanze di quei valori. Dalla prospettiva dell’exploitation, i punti già noti non necessitano di esplorazione, e le vicinanze dei valori noti offrono i migliori punti di esplorazione. Così viene costruita l’acquisition function.

Es.: Upper Confidence Bound (UCB)

  • μ\mu: media posteriore (= Exploitation)
  • σ\sigma: varianza posteriore (= Exploration)
  • κ\kappa: parametro di bilanciamento

BO con TPE

Problemi dei GP:

  • Complessità: O(N3)O(N^3)
  • Difficile da applicare quando parametri condizionali, continui/discreti sono mescolati Il secondo problema causa la maggior parte delle difficoltà nella pratica, e TPE è ampiamente usato al giorno d’oggi.

Differenza tra TPE (Tree-structured Parzen Estimator) e GPR:

  • GPR: calcola p(fλ)p(f|\lambda) (distribuzione posteriore)
  • TPE: calcola p(λf)p(\lambda|f) (likelihood), p(λ)p(\lambda) (prior)
Loading comments...