Ricerca quasi casuale

Questa unità si concentra sulla ricerca quasi casuale.

Perché utilizzare la ricerca quasi casuale?

La ricerca quasi casuale (basata su sequenze a bassa discrepanza) è la nostra preferenza rispetto agli strumenti di ottimizzazione black box più sofisticati se utilizzata nell'ambito di un processo di ottimizzazione iterativo finalizzato a massimizzare le informazioni sul problema di ottimizzazione (la cosiddetta "fase di esplorazione"). L'ottimizzazione bayesiana e strumenti simili sono più adatti alla fase di sfruttamento. La ricerca quasi casuale basata su sequenze con scarsa discrepanza spostate in modo casuale può essere considerata una "ricerca a griglia con jitter e rimescolamento", poiché esplora in modo uniforme, ma casuale, un determinato spazio di ricerca e distribuisce i punti di ricerca più della ricerca casuale.

I vantaggi della ricerca quasi casuale rispetto a strumenti di ottimizzazione blackbox più sofisticati (ad es. ottimizzazione bayesiana, algoritmi evolutivi) includono:

  • Il campionamento dello spazio di ricerca in modo non adattivo consente di modificare lo scopo della regolazione nell'analisi post hoc senza eseguire nuovamente gli esperimenti. Ad esempio, in genere vogliamo trovare la prova migliore in termini di errore di convalida raggiunto in qualsiasi momento dell'addestramento. Tuttavia, la natura non adattiva della ricerca quasi casuale consente di trovare la prova migliore in base all'errore di convalida finale, all'errore di addestramento o a qualche metrica di valutazione alternativa senza dover eseguire nuovamente gli esperimenti.
  • La ricerca quasi casuale si comporta in modo coerente e statisticamente riproducibile. Dovrebbe essere possibile riprodurre uno studio di sei mesi fa anche se l'implementazione dell'algoritmo di ricerca cambia, purché mantenga le stesse proprietà di uniformità. Se utilizzi un software di ottimizzazione bayesiana sofisticato, l'implementazione potrebbe cambiare in modo significativo tra le versioni, rendendo molto più difficile riprodurre una vecchia ricerca. Non è sempre possibile eseguire il rollback a una vecchia implementazione (ad es. se lo strumento di ottimizzazione viene eseguito come servizio).
  • L'esplorazione uniforme dello spazio di ricerca semplifica il ragionamento sui risultati e su ciò che potrebbero suggerire in merito allo spazio di ricerca. Ad esempio, se il punto migliore nell'esplorazione della ricerca quasi casuale si trova al confine dello spazio di ricerca, questo è un buon (ma non infallibile) segno che i limiti dello spazio di ricerca devono essere modificati. Tuttavia, un algoritmo di ottimizzazione black box adattivo potrebbe aver trascurato la parte centrale dello spazio di ricerca a causa di alcuni test iniziali sfortunati, anche se contiene punti ugualmente validi, poiché è esattamente questo tipo di non uniformità che un buon algoritmo di ottimizzazione deve impiegare per velocizzare la ricerca.
  • Eseguire un numero diverso di prove in parallelo o in sequenza non produce risultati statisticamente diversi quando si utilizza la ricerca quasi casuale (o altri algoritmi di ricerca non adattivi), a differenza degli algoritmi adattivi.
  • Gli algoritmi di ricerca più sofisticati potrebbero non gestire sempre correttamente i punti non realizzabili, in particolare se non sono progettati tenendo conto dell'ottimizzazione di iperparametri delle reti neurali.
  • La ricerca quasi casuale è semplice e funziona particolarmente bene quando vengono eseguiti molti esperimenti di ottimizzazione in parallelo. Anecdotally1, è molto difficile per un algoritmo adattivo battere una ricerca quasi casuale con il doppio del budget, soprattutto quando è necessario eseguire molti trial in parallelo (e quindi ci sono pochissime possibilità di utilizzare i risultati dei trial precedenti quando si lanciano nuovi trial). Senza esperienza nell'ottimizzazione bayesiana e in altri metodi di ottimizzazione blackbox avanzati, potresti non ottenere i vantaggi che, in linea di principio, sono in grado di offrire. È difficile eseguire il benchmarking di algoritmi di ottimizzazione black box avanzati in condizioni di ottimizzazione del deep learning realistiche. Si tratta di un'area di ricerca molto attiva e gli algoritmi più sofisticati presentano delle insidie per gli utenti inesperti. Gli esperti di questi metodi sono in grado di ottenere buoni risultati, ma in condizioni di elevato parallelismo lo spazio di ricerca e il budget tendono a essere molto più importanti.

Detto questo, se le tue risorse di calcolo consentono di eseguire in parallelo solo un numero limitato di prove e puoi permetterti di eseguire molte prove in sequenza, l'ottimizzazione bayesiana diventa molto più interessante, anche se rende più difficile interpretare i risultati dell'ottimizzazione.

Vizier open source ha un'implementazione della ricerca quasi casuale. Imposta algorithm="QUASI_RANDOM_SEARCH" in questo esempio di utilizzo di Vizier. Esiste un'implementazione alternativa in questo esempio di sweep degli iperparametri. Entrambe le implementazioni generano una sequenza Halton per un determinato spazio di ricerca (destinata a implementare una sequenza Halton spostata e rimescolata come consigliato in Iperparametri critici: niente casuale, niente crittografia.

Se non è disponibile un algoritmo di ricerca quasi casuale basato su una sequenza a bassa discrepanza, è possibile sostituire la ricerca pseudo casuale uniforme, anche se è probabile che sia leggermente meno efficiente. In 1-2 dimensioni, anche la ricerca in tabella è accettabile, anche se non in dimensioni superiori. (vedi Bergstra e Bengio, 2012).

Quanti tentativi sono necessari per ottenere buoni risultati con la ricerca quasi casuale?

Non è possibile determinare quante prove sono necessarie per ottenere risultati con la ricerca quasi casuale in generale, ma puoi esaminare esempi specifici. Come mostrato nella Figura 3, il numero di prove in uno studio può avere un impatto sostanziale sui risultati:

Box plot del tasso di errore di convalida (asse y) rispetto al budget di ottimizzazione (asse x),
          dove il budget di ottimizzazione è il numero di prove. Il tasso medio di errore di convalida è generalmente diminuito con l'aumento del budget di ottimizzazione.

Figura 3: ResNet-50 ottimizzato su ImageNet con 100 prove. Utilizzando il bootstrap, sono stati simulati diversi importi di budget di ottimizzazione. Vengono tracciati i box plot dei migliori rendimenti per ogni budget di prova.

 

Tieni presente quanto segue sulla Figura 3:

  • Gli intervalli interquartile quando sono stati campionati 6 esperimenti sono molto più ampi rispetto a quando sono stati campionati 20 esperimenti.
  • Anche con 20 prove, la differenza tra gli studi particolarmente fortunati e sfortunati è probabilmente maggiore della variazione tipica tra le riallenamenti di questo modello su diversi seed casuali, con iperparametri fissi, che per questo carico di lavoro potrebbe essere di circa +/- 0,1% su un tasso di errore di convalida di circa il 23%.


  1. Ben Recht e Kevin Jamieson hanno sottolineato quanto sia efficace la ricerca random con un budget doppio come linea di base (il documento Hyperband presenta argomenti simili), ma è certamente possibile trovare spazi di ricerca e problemi in cui le tecniche di ottimizzazione bayesiana di ultima generazione superano la ricerca random con un budget doppio. Tuttavia, in base alla nostra esperienza, superare la ricerca casuale con un budget doppio diventa molto più difficile in regime di parallelismo elevato, poiché l'ottimizzazione bayesiana non ha la possibilità di osservare i risultati dei test precedenti.